120 lines
3.5 KiB
Markdown
120 lines
3.5 KiB
Markdown
|
# Instructions for building Deluge.app
|
||
|
|
||
|
## 1. Compiler
|
||
|
|
||
|
- To build deluge and the gtk osx modules, you must use `gcc`
|
||
|
- This has been successfully working with :
|
||
|
- gcc 4.2.1 - Xcode 4.1 - Mac OSX Lion (10.7.2)
|
||
|
- llvm-gcc 4.2.1 - Xcode 4.3.1 (With Command line utilities) - Mac OSX Lion (10.7.3)
|
||
|
- Check your version of gcc using `gcc -v`
|
||
|
|
||
|
## 2. GTK-OSX [jhbuild][1] environment
|
||
|
|
||
|
Quick how-to *(from the full [GTK-OSX building][2] instructions)*
|
||
|
|
||
|
1. Create a dedicated user account and use it for all the next steps:
|
||
|
|
||
|
*Note*: I'm using `gtk` login with `/opt/gtk` as home an jhbuild prefix
|
||
|
|
||
|
sudo su - gtk
|
||
|
cat << EOF > ~/.profile
|
||
|
export PATH=~/.local/bin:~/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/git/bin
|
||
|
EOF
|
||
|
. ~/.profile
|
||
|
|
||
|
2. Download and run the [gtk-osx-build-setup][3] script to install jhbuild:
|
||
|
|
||
|
curl -O https://raw.github.com/jralls/gtk-osx-build/master/gtk-osx-build-setup.sh
|
||
|
sh gtk-osx-build-setup.sh
|
||
|
|
||
|
3. Link or copy deluge osx jhbuildrc-custom:
|
||
|
|
||
|
*Note*: This setup builds only for `x86_64` arch to `/opt/gtk`
|
||
|
prefix, feel free to edit
|
||
|
|
||
|
ln -sf deluge/osx/jhbuildrc-custom ~/.jhbuildrc-custom
|
||
|
|
||
|
4. Build jhbuild and its modulesets: *(takes a while...)*
|
||
|
|
||
|
jhbuild bootstrap && jhbuild
|
||
|
|
||
|
|
||
|
*Note*: If you encounter an error while building `glib` like:
|
||
|
|
||
|
gconvert.c:65:2: error: #error GNU libiconv not in use but included iconv.h is from libiconv
|
||
|
|
||
|
Start a shell from jhbuild (#4), edit the file `vim glib/gconvert.c +65`
|
||
|
to delete the section raising error, which is irrelevant. *(Lion
|
||
|
iconv.h looks like gnu one, but it is not)*
|
||
|
Then exit the shell and resume build (#1)
|
||
|
|
||
|
5. Build the deluge moduleset: *(takes a while...)*
|
||
|
|
||
|
*Note*: This jhbuild moduleset *should* build and install all deluge
|
||
|
dependencies not available in gtk-osx
|
||
|
|
||
|
jhbuild -m deluge/osx/deluge.modules build deluge
|
||
|
|
||
|
## 3. Build Deluge.app
|
||
|
|
||
|
1. Always do your custom build operations under a jhbuild shell:
|
||
|
|
||
|
jhbuild shell
|
||
|
|
||
|
2. Cleanup:
|
||
|
|
||
|
python setup.py clean -a
|
||
|
|
||
|
3. Build and install:
|
||
|
|
||
|
python setup.py py2app
|
||
|
python setup.py install
|
||
|
|
||
|
4. Build app to `deluge/osx/app/Deluge.app`:
|
||
|
|
||
|
cd osx
|
||
|
./make-app.sh
|
||
|
|
||
|
You *should* have now a working Deluge.app
|
||
|
|
||
|
i386 Notes:
|
||
|
|
||
|
- Uncomment the relevant sections of :
|
||
|
- jhbuildrc-custom
|
||
|
- deluge.modules
|
||
|
- setup.cfg
|
||
|
- deluge egg has to be named without the -macosx-10.6-intel suffix
|
||
|
- To build for i386 under a x64 arch libtorrent python bindings have to be
|
||
|
patched manually to set correct arch see macports package patch
|
||
|
|
||
|
## Issues
|
||
|
|
||
|
If Deluge.app doesn't work or crash the first thing to do is to check OSX
|
||
|
Console for logs and/or crash reports. Alternatively, you can enable python
|
||
|
log by uncommenting the end of script `Deluge.app/Contents/MacOS/Deluge`
|
||
|
|
||
|
Recent jhbuild issues:
|
||
|
|
||
|
- Some jhbuild modules fails to build, freetype and gtk-mac-integration,
|
||
|
strangely configure is not called before build/install.
|
||
|
- If that happens, just force rebuild with something like:
|
||
|
|
||
|
jhbuild build -cf gtk-mac-integration-python
|
||
|
|
||
|
- Interrupt while building with ctrl-C and wipe to start over if configure missing
|
||
|
|
||
|
### Known issues
|
||
|
|
||
|
- **i386**: libtorrent crash
|
||
|
- **i18n**: English only for now
|
||
|
- **Magnet URLs**: Not currently supported by GTK-OSX
|
||
|
|
||
|
## Reference
|
||
|
|
||
|
[1]:http://live.gnome.org/Jhbuild
|
||
|
[2]:http://live.gnome.org/GTK%2B/OSX/Building
|
||
|
[3]:http://github.com/jralls/gtk-osx-build
|
||
|
[4]:http://winswitch.org/dev/macosx.html
|
||
|
[5]:http://mail.python.org/pipermail/pythonmac-sig/
|
||
|
[6]:https://github.com/jralls/gtk-mac-integration
|