= Deluge.app for OSX = == Manual Steps (Tested on Yosemite VM) == 1. Install XCode 1. Jhbuild install and update Python: {{{ wget https://git.gnome.org/browse/gtk-osx/plain/gtk-osx-build-setup.sh sh gtk-osx-build-setup.sh export PATH=~/.local/bin:~/gtk/inst/bin:$PATH jhbuild build bootstrap jhbuild build python }}} * Uncomment `_gtk_osx_use_jhbuild_python = True` in `.jhbuildrc-custom`. 1. [https://wiki.gnome.org/Projects/GTK+/OSX/Building GTK OSX Build]: {{{ jhbuild build meta-gtk-osx-bootstrap }}} 1. [https://wiki.gnome.org/Projects/GTK+/OSX/Python PyGTK] (Includes `meta-gtk-osx-core`) {{{ jhbuild build libglade jhbuild build meta-gtk-osx-python }}} * A [https://git.gnome.org/browse/pygobject/commit/?h=pygobject-2-28&id=42d01f060c5d764baa881d13c103d68897163a49 pygobject patch] to apply to fix annoying console warnings. 1. GTK OSX Themes: {{{ jhbuild build meta-gtk-osx-themes jhbuild build gtk-quartz-engine }}} * ''Note:'' [https://www.xpra.org/trac/attachment/ticket/533/quartz-style-fix.patch Quartz patch] if build error: `'height' is uninitialized`. 1. [https://wiki.gnome.org/Projects/GTK%2B/OSX/Bundling Bundler] for Packaging Deluge. {{{ wget http://ftp.gnome.org/pub/gnome/sources/gtk-mac-bundler/0.7/gtk-mac-bundler-0.7.4.tar.xz tar xf gtk-mac-bundler-0.7.4.tar.xz cd gtk-mac-bundler-0.7.4 make install }}} 1. Build libtorrent and deps using [https://gist.github.com/cas--/d1df3758d6e794c0ca4e libtorrent.modules]: {{{ wget http://git.deluge-torrent.org/deluge/plain/osx/libtorrent.modules?h=1.3-stable jhbuild -m libtorrent.modules build meta_libtorrent }}} - OpenSSL requires "Skip Module (2)" when install stage fails as unable to use DESTDIR path. See [https://github.com/elelay/gpodder-osx-bundle/blob/master/modulesets/patches/openssl-respect-destdir.patch patch]. - ''Note on potential OpenSSL Error:'' 'libcrypto is a fat file' is due to mixing arch types (i386, x64) in build process. 1. Install Deluge dependencies using [https://pip.pypa.io/en/latest/installing/ pip]: {{{ jhbuild shell wget https://bootstrap.pypa.io/get-pip.py python get-pip.py pip install cython pip install twisted[tls] chardet mako pyxdg setproctitle pillow py2app rencode }}} - Note1: pygame for Notifications plugin need installed separately. - Note2: rencode requires cython before attempting pip install. [https://github.com/aresch/rencode/issues/11 (rencode issue)] 1. Install and package Deluge: a. If using release tarball download required `setup.cfg` and `osx` directory from git, run commands in deluge source directory: {{{ wget --content-disposition http://git.deluge-torrent.org/deluge/plain/setup.cfg?h=1.3-stable wget -rnd -np -e robots=off --reject "index.html*" --content-disposition http://git.deluge-torrent.org/deluge/plain/osx/?h=1.3-stable -P osx }}} a. Build and install Deluge using py2app: {{{ jhbuild shell python setup.py py2app python setup.py install }}} * For error `dyld_find() got an unexpected keyword argument 'loader'` either uninstall `pillow` or [https://bitbucket.org/ronaldoussoren/macholib/pull-requests/10/ patch MachOGraph.py] a. Package Deluge into app in `osx/app/` using gtk-mac-bundler script: {{{ cd osx ./make-app }}} 1. Optionally create a dmg image: {{{ hdiutil create -format UDBZ -srcfolder Deluge.app deluge-installer.dmg }}} == Old Semi-Automated Guide == [[Include(http://git.deluge-torrent.org/deluge/plain/osx/README.rst?h=1.3-stable, text/x-rst)]]