tryton

changeset 1281:2b9610ac9107

Fix setup to create bundle for MacOS X
author Cédric Krier <ced@b2ck.com>
date Sat, 11 Apr 2009 18:58:39 +0200
parents 0e964294340d
children 25dd6cd7a518
files setup-bundle.sh setup.py tryton/client.py
diffstat 3 files changed, 36 insertions(+), 3 deletions(-) [+]
line diff
     1.1 --- a/setup-bundle.sh	Sat Apr 11 18:58:00 2009 +0200
     1.2 +++ b/setup-bundle.sh	Sat Apr 11 18:58:39 2009 +0200
     1.3 @@ -1,14 +1,36 @@
     1.4  #!/bin/sh
     1.5  
     1.6  VERSION=`python -c "import os; execfile(os.path.join('tryton', 'version.py')); print VERSION"`
     1.7 +GTK_INST_DIR=~/gtk/inst
     1.8 +GTK_VERSION=2.10.0
     1.9 +PANGO_VERSION=1.6.0
    1.10  
    1.11 -for i in dist/tryton.app/Contents/Resources/share/pixmaps/tryton/*.svg; do
    1.12 -    rsvg-convert $i -o ${i/svg/png};
    1.13 +mkdir -p dist/tryton.app/Contents/Resources/lib/pango/${PANGO_VERSION}/modules
    1.14 +cp -r ${GTK_INST_DIR}/lib/pango/${PANGO_VERSION}/modules/*.so dist/tryton.app/Contents/Resources/lib/pango/${PANGO_VERSION}/modules/
    1.15 +
    1.16 +pango-querymodules | sed -e "s#${GTK_INST_DIR}#@executable_path/../Resources#" >dist/tryton.app/Contents/Resources/pango.modules
    1.17 +echo -e "[Pango]\nModuleFiles=./pango.modules\n" >dist/tryton.app/Contents/Resources/pangorc
    1.18 +
    1.19 +mkdir -p dist/tryton.app/Contents/Resources/lib/gtk-2.0/${GTK_VERSION}/loaders/
    1.20 +cp -r ${GTK_INST_DIR}/lib/gtk-2.0/${GTK_VERSION}/loaders/*.so dist/tryton.app/Contents/Resources/lib/gtk-2.0/${GTK_VERSION}/loaders/
    1.21 +
    1.22 +gdk-pixbuf-query-loaders | sed -e "s#${GTK_INST_DIR}#@executable_path/../Resources#" >dist/tryton.app/Contents/Resources/gdk-pixbuf.loaders
    1.23 +
    1.24 +for library in dist/tryton.app/Contents/Resources/lib/gtk-2.0/${GTK_VERSION}/loaders/*.so dist/tryton.app/Contents/Resources/lib/pango/${PANGO_VERSION}/modules/*.so; do
    1.25 +    libs="`otool -L $library 2>/dev/null | fgrep compatibility | cut -d\( -f1 | grep ${GTK_INST_DIR} | sort | uniq`"
    1.26 +    for lib in $libs; do
    1.27 +        fixed=`echo $lib | sed -e s,\${GTK_INST_DIR}/lib,@executable_path/../Frameworks,`
    1.28 +        install_name_tool -change $lib $fixed $library
    1.29 +    done
    1.30  done
    1.31 -rm -f dist/tryton.app/Contents/Resources/share/pixmaps/tryton/*.svg
    1.32 +
    1.33  
    1.34  for i in CHANGELOG COPYRIGHT LICENSE README TODO; do
    1.35      cp ${i} dist/${i}.txt
    1.36  done
    1.37  
    1.38 +if [[ -e tryton-${VERSION}.dmg ]]; then
    1.39 +    rm tryton-${VERSION}.dmg
    1.40 +fi
    1.41 +
    1.42  hdiutil create tryton-${VERSION}.dmg -volname "Tryton Client ${VERSION}" -fs HFS+ -srcfolder dist
     2.1 --- a/setup.py	Sat Apr 11 18:58:00 2009 +0200
     2.2 +++ b/setup.py	Sat Apr 11 18:58:39 2009 +0200
     2.3 @@ -88,6 +88,7 @@
     2.4              'includes': 'pygtk, gtk, glib, cairo, pango, pangocairo, atk, ' \
     2.5                      'gobject, gio, gtk.keysyms',
     2.6              'resources': 'tryton/plugins',
     2.7 +            'frameworks': 'librsvg-2.2.dylib',
     2.8              'plist': {
     2.9                  'CFBundleIdentifier': 'org.tryton',
    2.10              },
     3.1 --- a/tryton/client.py	Sat Apr 11 18:58:00 2009 +0200
     3.2 +++ b/tryton/client.py	Sat Apr 11 18:58:39 2009 +0200
     3.3 @@ -15,6 +15,16 @@
     3.4      os.environ['PATH'] = os.path.join(os.getcwd(), os.path.dirname(sys.argv[0]),
     3.5                                        'GTK\\lib') + ';' + os.environ['PATH']
     3.6  
     3.7 +elif os.name == 'mac' or \
     3.8 +        (hasattr(os, 'uname') and os.uname()[0] == 'Darwin'):
     3.9 +    resources = os.path.join(os.path.dirname(sys.argv[0]), '..', 'Resources')
    3.10 +    pixbuf_loader = os.path.join(resources, 'gdk-pixbuf.loaders')
    3.11 +    if os.path.isfile(pixbuf_loader):
    3.12 +        os.environ['GDK_PIXBUF_MODULE_FILE'] = pixbuf_loader
    3.13 +    pangorc = os.path.join(resources, 'pangorc')
    3.14 +    if os.path.isfile(pangorc):
    3.15 +        os.environ['PANGO_RC_FILE'] = pangorc
    3.16 +
    3.17  import pygtk
    3.18  pygtk.require('2.0')
    3.19  import gtk