[Packaging] Updates to osx scripts

* bundle_contents now appends 'Contents' without adding it twice.
 * Remove reference to non-existent gdk-pixbuf.loaders
 * Separate libtorrent in new module.
 * Update lib versions for bundle file.
This commit is contained in:
Calum Lind 2015-09-18 16:54:07 +01:00
parent 7fccfa0651
commit f834ff6ec5
10 changed files with 80 additions and 78 deletions

45
osx/libtorrent.modules Normal file
View File

@ -0,0 +1,45 @@
<?xml version="1.0"?>
<!DOCTYPE moduleset SYSTEM "moduleset.dtd">
<?xml-stylesheet type="text/xsl" href="moduleset.xsl"?>
<moduleset>
<repository type="tarball" name="sourceforge"
href="http://downloads.sourceforge.net/sourceforge/"/>
<repository type="tarball" name="libtorrent"
href="https://github.com/arvidn/libtorrent/archive/"/>
<repository type="tarball" name="openssl"
href="http://www.openssl.org/source/"/>
<metamodule id="libtorrent">
<dependencies>
<dep package="openssl"/>
<dep package="boost"/>
<dep package="libtorrent"/>
</dependencies>
</metamodule>
<autotools id="libtorrent" autogen-sh="autotools.sh"
autogen-template="%(srcdir)s/%(autogen-sh)s --prefix=%(prefix)s --with-boost-libdir=%(libdir)s --with-openssl=%(prefix)s --with-libiconv-prefix=%(libdir)s %(autogenargs)s "
autogenargs="--enable-python-binding ">
<branch repo="libtorrent" version="1.0.6" module="RC_1_0.zip"/>
</autotools>
<!-- openssl libdir is a relative path to prefix! -->
<autotools id="openssl" autogen-sh="Configure"
autogen-template="%(srcdir)s/%(autogen-sh)s --prefix=%(prefix)s --libdir=lib darwin64-x86_64-cc shared"
makeinstallargs="install_sw">
<!--%(autogenargs)s"
autogenargs="darwin-i386-cc shared">
<!--autogenargs="darwin64-x86_64-cc shared">
Look into problem with autogenargs introducing extra darwin64-x86_64-cc -->
<branch repo="openssl" version="1.0.2d" module="openssl-1.0.2d.tar.gz"/>
</autotools>
<autotools id="boost" autogen-sh="bootstrap.sh"
autogen-template="%(srcdir)s/%(autogen-sh)s --prefix=%(prefix)s --libdir=%(libdir)s --with-python=%(prefix)s/bin/python --with-icu=%(prefix)s --with-libraries=system,python"
supports-non-srcdir-builds="false"
makeargs="|| ./b2"
makeinstallargs="|| ./b2 install">
<branch repo="sourceforge" version="1.59.0" module="boost/boost_1_59_0.tar.bz2"/>
</autotools>
</moduleset>

7
packaging/osx/deluge Executable file → Normal file
View File

@ -11,7 +11,7 @@ fi
tmp=`dirname "$full_path"` tmp=`dirname "$full_path"`
tmp=`dirname "$tmp"` tmp=`dirname "$tmp"`
bundle=`dirname "$tmp"` bundle=`dirname "$tmp"`
bundle_contents="$bundle"/Contents bundle_contents=${bundle%"/Contents"}"/Contents"
bundle_macos="$bundle_contents"/MacOS bundle_macos="$bundle_contents"/MacOS
bundle_res="$bundle_contents"/Resources bundle_res="$bundle_contents"/Resources
bundle_lib="$bundle_res"/lib bundle_lib="$bundle_res"/lib
@ -24,16 +24,15 @@ export XDG_DATA_DIRS="$bundle_data"
export GTK_DATA_PREFIX="$bundle_res" export GTK_DATA_PREFIX="$bundle_res"
export GTK_EXE_PREFIX="$bundle_res" export GTK_EXE_PREFIX="$bundle_res"
export GTK_PATH="$bundle_res" export GTK_PATH="$bundle_res"
export GTK2_RC_FILES="$bundle_etc/gtk-2.0/gtkrc" export GTK2_RC_FILES="$bundle_etc/gtk-2.0/gtkrc"
export GTK_IM_MODULE_FILE="$bundle_etc/gtk-2.0/gtk.immodules" export GTK_IM_MODULE_FILE="$bundle_etc/gtk-2.0/gtk.immodules"
export GDK_PIXBUF_MODULE_FILE="$bundle_etc/gtk-2.0/gdk-pixbuf.loaders" export GDK_PIXBUF_MODULE_FILE="$bundle_lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
export PANGO_RC_FILE="$bundle_etc/pango/pangorc" export PANGO_RC_FILE="$bundle_etc/pango/pangorc"
export PANGO_LIBDIR="$bundle_lib" export PANGO_LIBDIR="$bundle_lib"
export PANGO_SYSCONFDIR="$bundle_etc" export PANGO_SYSCONFDIR="$bundle_etc"
#Set $PYTHON to point inside the bundle #Set $PYTHON to point inside the bundle
export PYTHON="$bundle_macos/Deluge-python" export PYTHON="$bundle_macos/python"
export PYTHONHOME="$bundle_res" export PYTHONHOME="$bundle_res"
#Add the bundle's python modules #Add the bundle's python modules
PYTHONPATH="$bundle_lib:$PYTHONPATH" PYTHONPATH="$bundle_lib:$PYTHONPATH"

View File

@ -11,7 +11,7 @@ fi
tmp=`dirname "$full_path"` tmp=`dirname "$full_path"`
tmp=`dirname "$tmp"` tmp=`dirname "$tmp"`
bundle=`dirname "$tmp"` bundle=`dirname "$tmp"`
bundle_contents="$bundle"/Contents bundle_contents=${bundle%"/Contents"}"/Contents"
bundle_macos="$bundle_contents"/MacOS bundle_macos="$bundle_contents"/MacOS
bundle_res="$bundle_contents"/Resources bundle_res="$bundle_contents"/Resources
bundle_lib="$bundle_res"/lib bundle_lib="$bundle_res"/lib
@ -23,7 +23,7 @@ export XDG_CONFIG_DIRS="$bundle_etc"/xdg
export XDG_DATA_DIRS="$bundle_data" export XDG_DATA_DIRS="$bundle_data"
#Set $PYTHON to point inside the bundle #Set $PYTHON to point inside the bundle
export PYTHON="$bundle_macos/Deluge-python" export PYTHON="$bundle_macos/python"
export PYTHONHOME="$bundle_res" export PYTHONHOME="$bundle_res"
#Add the bundle's python modules #Add the bundle's python modules
PYTHONPATH="$bundle_lib:$PYTHONPATH" PYTHONPATH="$bundle_lib:$PYTHONPATH"

View File

@ -11,7 +11,7 @@ fi
tmp=`dirname "$full_path"` tmp=`dirname "$full_path"`
tmp=`dirname "$tmp"` tmp=`dirname "$tmp"`
bundle=`dirname "$tmp"` bundle=`dirname "$tmp"`
bundle_contents="$bundle"/Contents bundle_contents=${bundle%"/Contents"}"/Contents"
bundle_macos="$bundle_contents"/MacOS bundle_macos="$bundle_contents"/MacOS
bundle_res="$bundle_contents"/Resources bundle_res="$bundle_contents"/Resources
bundle_lib="$bundle_res"/lib bundle_lib="$bundle_res"/lib
@ -23,7 +23,7 @@ export XDG_CONFIG_DIRS="$bundle_etc"/xdg
export XDG_DATA_DIRS="$bundle_data" export XDG_DATA_DIRS="$bundle_data"
#Set $PYTHON to point inside the bundle #Set $PYTHON to point inside the bundle
export PYTHON="$bundle_macos/Deluge-python" export PYTHON="$bundle_macos/python"
export PYTHONHOME="$bundle_res" export PYTHONHOME="$bundle_res"
#Add the bundle's python modules #Add the bundle's python modules
PYTHONPATH="$bundle_lib:$PYTHONPATH" PYTHONPATH="$bundle_lib:$PYTHONPATH"

View File

@ -11,20 +11,21 @@
<binary dest="${bundle}/Contents/MacOS/deluged-bin">${prefix}/bin/deluged</binary> <binary dest="${bundle}/Contents/MacOS/deluged-bin">${prefix}/bin/deluged</binary>
<binary dest="${bundle}/Contents/MacOS/deluge-web-bin">${prefix}/bin/deluge-web</binary> <binary dest="${bundle}/Contents/MacOS/deluge-web-bin">${prefix}/bin/deluge-web</binary>
<binary dest="${bundle}/Contents/MacOS/deluge-console-bin">${prefix}/bin/deluge-console</binary> <binary dest="${bundle}/Contents/MacOS/deluge-console-bin">${prefix}/bin/deluge-console</binary>
<binary dest="${bundle}/Contents/MacOS/Deluge-python">${prefix}/bin/python</binary> <binary dest="${bundle}/Contents/MacOS">${prefix}/bin/python</binary>
<!-- not used: binary>${prefix}/lib/${gtkdir}/modules/*.so</binary--> <!-- not used: binary>${prefix}/lib/${gtkdir}/modules/*.so</binary-->
<binary>${prefix}/lib/gdk-pixbuf-2.0/2.10.0/loaders/*.so</binary> <binary>${prefix}/lib/gdk-pixbuf-2.0/2.10.0/loaders/*.so</binary>
<binary>${prefix}/lib/libpyglib-2.0-python.0.dylib</binary> <binary>${prefix}/lib/libpyglib-2.0-python.0.dylib</binary>
<binary>${prefix}/lib/libgtk-quartz-2.0.0.dylib</binary> <binary>${prefix}/lib/libgtk-quartz-2.0.0.dylib</binary>
<binary>${prefix}/lib/libglade-2.0.0.0.7.dylib</binary> <binary>${prefix}/lib/libglade-2.0.0.dylib</binary>
<binary>${prefix}/lib/libgtkmacintegration.2.dylib</binary> <binary>${prefix}/lib/libgtkmacintegration-gtk2.2.dylib</binary>
<binary>${prefix}/lib/librsvg-2.2.dylib</binary> <binary>${prefix}/lib/librsvg-2.2.dylib</binary>
<binary>${prefix}/lib/pango/1.8.0/modules/pango*.so</binary> <binary>${prefix}/lib/pango/1.8.0/modules/pango*.so</binary>
<binary>${prefix}/lib/libboost_system.dylib</binary> <binary>${prefix}/lib/libboost_system.dylib</binary>
<binary>${prefix}/lib/libboost_python.dylib</binary> <binary>${prefix}/lib/libboost_python.dylib</binary>
<binary>${prefix}/lib/libtorrent-rasterbar.7.dylib</binary> <binary>${prefix}/lib/libtorrent-rasterbar.8.dylib</binary>
<binary>${prefix}/lib/libssl.1.0.1.dylib</binary> <binary>${prefix}/lib/libssl.1.0.0.dylib</binary>
<data dest="${bundle}/Contents/Resources/"> <data dest="${bundle}/Contents/Resources/">
${project}/../dist/deluge.app/Contents/Resources/ ${project}/../dist/deluge.app/Contents/Resources/
</data> </data>

View File

@ -2,16 +2,10 @@
<!DOCTYPE moduleset SYSTEM "moduleset.dtd"> <!DOCTYPE moduleset SYSTEM "moduleset.dtd">
<?xml-stylesheet type="text/xsl" href="moduleset.xsl"?> <?xml-stylesheet type="text/xsl" href="moduleset.xsl"?>
<moduleset> <moduleset>
<repository type="tarball" name="sourceforge"
href="http://downloads.sourceforge.net/sourceforge/"/>
<repository type="git" name="git.gnome" <repository type="git" name="git.gnome"
href="git://git.gnome.org"/> href="git://git.gnome.org"/>
<repository type="svn" name="svn.libtorrent"
href="https://libtorrent.svn.sourceforge.net/svnroot/"/>
<repository type="tarball" name="pypi" <repository type="tarball" name="pypi"
href="http://pypi.python.org/packages/source/"/> href="http://pypi.python.org/packages/source/"/>
<repository type="tarball" name="libtorrent"
href="http://libtorrent.googlecode.com/files/"/>
<metamodule id="deluge"> <metamodule id="deluge">
<dependencies> <dependencies>
@ -21,51 +15,6 @@
</dependencies> </dependencies>
</metamodule> </metamodule>
<autotools id="libtorrent" autogen-sh="configure"
autogen-template="%(srcdir)s/%(autogen-sh)s --prefix=%(prefix)s --with-boost-libdir=%(libdir)s --with-openssl=%(prefix)s %(autogenargs)s"
autogenargs="--enable-python-binding">
<branch repo="libtorrent" version="0.16.8"
module="libtorrent-rasterbar-0.16.8.tar.gz"
hash="sha1:483689787cb64e7cf4abefda4058b912ec406709"/>
<dependencies>
<dep package="openssl"/>
<dep package="boost"/>
</dependencies>
</autotools>
<!-- This will use the latest 0.16 code but will require manually running ./configure in jhbuild process -->
<autotools id="libtorrent_RC16" autogen-sh="autotools.sh"
autogen-template="%(srcdir)s/%(autogen-sh)s --prefix=%(prefix)s --with-boost-libdir=%(libdir)s --with-openssl=%(prefix)s %(autogenargs)s"
autogenargs="--enable-python-binding">
<branch repo="svn.libtorrent" revision="RC_0_16" checkoutdir="libtorrent_RC_0_16"/>
<dependencies>
<dep package="openssl"/>
<dep package="boost"/>
</dependencies>
</autotools>
<repository type="tarball" name="openssl"
href="http://www.openssl.org/source/"/>
<autotools id="openssl" autogen-sh="Configure"
autogen-template="%(srcdir)s/%(autogen-sh)s --prefix=%(prefix)s --libdir=%(libdir)s -L%(libdir)s %(autogenargs)s"
autogenargs="darwin-i386-cc zlib no-krb5 shared">
<!--autogenargs="darwin64-x86_64-cc zlib no-krb5 shared">-->
<branch repo="openssl" version="1.0.1e"
module="openssl-1.0.1e.tar.gz"
hash="md5:66bf6f10f060d561929de96f9dfe5b8c"/>
</autotools>
<autotools id="boost" autogen-sh="bootstrap.sh"
autogen-template="%(srcdir)s/%(autogen-sh)s --prefix=%(prefix)s --libdir=%(libdir)s --with-python=%(prefix)s/bin/python --with-icu=%(prefix)s --with-libraries=system,python"
supports-non-srcdir-builds="false"
makeargs="|| ./b2 architecture=x86 address-model=32 link=shared threading=multi variant=release"
makeinstallargs="|| ./b2 install">
<branch repo="sourceforge" version="1.53"
module="boost/boost_1_53_0.tar.bz2"
hash="md5:a00d22605d5dbcfb4c9936a9b35bc4c2"/>
</autotools>
<autotools id="gtk-mac-bundler" autogen-template="echo no configure"> <autotools id="gtk-mac-bundler" autogen-template="echo no configure">
<branch repo="git.gnome" module="gtk-mac-bundler"/> <branch repo="git.gnome" module="gtk-mac-bundler"/>
</autotools> </autotools>

View File

@ -11,7 +11,7 @@ fi
tmp=`dirname "$full_path"` tmp=`dirname "$full_path"`
tmp=`dirname "$tmp"` tmp=`dirname "$tmp"`
bundle=`dirname "$tmp"` bundle=`dirname "$tmp"`
bundle_contents="$bundle"/Contents bundle_contents=${bundle%"/Contents"}"/Contents"
bundle_macos="$bundle_contents"/MacOS bundle_macos="$bundle_contents"/MacOS
bundle_res="$bundle_contents"/Resources bundle_res="$bundle_contents"/Resources
bundle_lib="$bundle_res"/lib bundle_lib="$bundle_res"/lib
@ -23,7 +23,7 @@ export XDG_CONFIG_DIRS="$bundle_etc"/xdg
export XDG_DATA_DIRS="$bundle_data" export XDG_DATA_DIRS="$bundle_data"
#Set $PYTHON to point inside the bundle #Set $PYTHON to point inside the bundle
export PYTHON="$bundle_macos/Deluge-python" export PYTHON="$bundle_macos/python"
export PYTHONHOME="$bundle_res" export PYTHONHOME="$bundle_res"
#Add the bundle's python modules #Add the bundle's python modules
PYTHONPATH="$bundle_lib:$PYTHONPATH" PYTHONPATH="$bundle_lib:$PYTHONPATH"

View File

@ -1,24 +1,32 @@
# -*- mode: python -*- # -*- mode: python -*-
prefix = "/opt/gtk"
checkoutroot = os.path.expanduser("~/Source/gtk")
#setup_sdk(target="10.6", sdk_version="10.6", architectures=["x86_64"])
setup_sdk(target="10.6", sdk_version="10.6", architectures=["i386"])
_gtk_osx_use_jhbuild_python = True _gtk_osx_use_jhbuild_python = True
skip.append("libiconv") # Lion issues #skip.append("libiconv") # Lion issues
branches["python"] = "http://www.python.org/ftp/python/2.7.10/Python-2.7.10.tar.xz"
modules = [ modules = [
"python", "python",
"meta-gtk-osx-bootstrap", "meta-gtk-osx-bootstrap",
"meta-gtk-osx-core", "libglade",
"librsvg", "libglade",
"meta-gtk-osx-python", "meta-gtk-osx-python",
"meta-gtk-osx-themes", "meta-gtk-osx-themes",
"gtk-quartz-engine", "gtk-quartz-engine",
] ]
# Can be usefull when tweaking modulesets to avoid jhbuild overwriting: build_policy = "updated-deps"
#nonetwork=True
# For default operation, set architecture and SDK for the native machine:
_target = None;
if _osx_version >= 7.0:
_target = "10.7"
elif _osx_version >= 6.0:
_target = "10.6"
elif _osx_version >= 5.0:
_target = "10.5"
elif _osx_version >= 4.0:
_target = "10.4"
setup_sdk(target=_target, sdk_version="native", architectures=[_default_arch])
#setup_sdk(target="10.6", sdk_version="10.6", architectures=["x86_64"])
#setup_sdk(target="10.6", sdk_version="10.6", architectures=["i386"])

0
packaging/osx/make-app Executable file → Normal file
View File

View File

@ -268,7 +268,7 @@ cmdclass = {
# Data files to be installed to the system. # Data files to be installed to the system.
_data_files = [] _data_files = []
if not windows_check(): if not windows_check() or not osx_check():
_data_files = [ _data_files = [
('share/icons/hicolor/scalable/apps', ['deluge/ui/data/icons/scalable/apps/deluge.svg']), ('share/icons/hicolor/scalable/apps', ['deluge/ui/data/icons/scalable/apps/deluge.svg']),
('share/icons/hicolor/128x128/apps', ['deluge/ui/data/icons/hicolor/128x128/apps/deluge.png']), ('share/icons/hicolor/128x128/apps', ['deluge/ui/data/icons/hicolor/128x128/apps/deluge.png']),