deluge/trac_wiki_export/wiki_dir/Development%2FPackaging%2FOSX
2024-07-06 16:22:30 +01:00

86 lines
3.9 KiB
Plaintext

= 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 twisted[tls] chardet mako pyxdg setproctitle pillow py2app cython
pip install rencode
pip install setuptools==19.2
}}}
- ''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)]
- ''Note3:'' Due to bug in setuptools require version 19.2 [https://github.com/pypa/setuptools/issues/517 (setuptools 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
}}}
- ''Note:'' In setup.cfg need to remove 'dev' line and set arch to 'x86_64'.
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:
{{{
jhbuild shell
cd osx
./make-app
}}}
* Fix for pango_module_version error [https://github.com/jralls/gtk-mac-bundler/commit/5a348d5a9405c958ee0e85fb0af58a8dc0dd999c on github]
1. Optionally create dmg image:
{{{
hdiutil create -format UDBZ -srcfolder Deluge.app -volname deluge-1.3.13-osx-x64-0 deluge-1.3.13-osx-x64-0.dmg
}}}
== Old Semi-Automated Guide ==
[[Include(http://git.deluge-torrent.org/deluge/plain/osx/README.rst?h=1.3-stable, text/x-rst)]]