Fix setup to create bundle for MacOS X
This commit is contained in:
1 parent
5a6e6689dc
commit
4ea0f7fdb4
3 files changed
+36
-3
No files matched your search
+25
-3
@@ -1,14 +1,36 @@
|
||||
#!/bin/sh
|
||||
|
||||
VERSION=`python -c "import os; execfile(os.path.join('tryton', 'version.py')); print VERSION"`
|
||||
GTK_INST_DIR=~/gtk/inst
|
||||
GTK_VERSION=2.10.0
|
||||
PANGO_VERSION=1.6.0
|
||||
|
||||
for i in dist/tryton.app/Contents/Resources/share/pixmaps/tryton/*.svg; do
|
||||
rsvg-convert $i -o ${i/svg/png};
|
||||
mkdir -p dist/tryton.app/Contents/Resources/lib/pango/${PANGO_VERSION}/modules
|
||||
cp -r ${GTK_INST_DIR}/lib/pango/${PANGO_VERSION}/modules/*.so dist/tryton.app/Contents/Resources/lib/pango/${PANGO_VERSION}/modules/
|
||||
|
||||
pango-querymodules | sed -e "s#${GTK_INST_DIR}#@executable_path/../Resources#" >dist/tryton.app/Contents/Resources/pango.modules
|
||||
echo -e "[Pango]\nModuleFiles=./pango.modules\n" >dist/tryton.app/Contents/Resources/pangorc
|
||||
|
||||
mkdir -p dist/tryton.app/Contents/Resources/lib/gtk-2.0/${GTK_VERSION}/loaders/
|
||||
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/
|
||||
|
||||
gdk-pixbuf-query-loaders | sed -e "s#${GTK_INST_DIR}#@executable_path/../Resources#" >dist/tryton.app/Contents/Resources/gdk-pixbuf.loaders
|
||||
|
||||
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
|
||||
libs="`otool -L $library 2>/dev/null | fgrep compatibility | cut -d\( -f1 | grep ${GTK_INST_DIR} | sort | uniq`"
|
||||
for lib in $libs; do
|
||||
fixed=`echo $lib | sed -e s,\${GTK_INST_DIR}/lib,@executable_path/../Frameworks,`
|
||||
install_name_tool -change $lib $fixed $library
|
||||
done
|
||||
done
|
||||
rm -f dist/tryton.app/Contents/Resources/share/pixmaps/tryton/*.svg
|
||||
|
||||
|
||||
for i in CHANGELOG COPYRIGHT LICENSE README TODO; do
|
||||
cp ${i} dist/${i}.txt
|
||||
done
|
||||
|
||||
if [[ -e tryton-${VERSION}.dmg ]]; then
|
||||
rm tryton-${VERSION}.dmg
|
||||
fi
|
||||
|
||||
hdiutil create tryton-${VERSION}.dmg -volname "Tryton Client ${VERSION}" -fs HFS+ -srcfolder dist
|
||||
@@ -88,6 +88,7 @@ elif os.name == 'mac' \
|
||||
'includes': 'pygtk, gtk, glib, cairo, pango, pangocairo, atk, ' \
|
||||
'gobject, gio, gtk.keysyms',
|
||||
'resources': 'tryton/plugins',
|
||||
'frameworks': 'librsvg-2.2.dylib',
|
||||
'plist': {
|
||||
'CFBundleIdentifier': 'org.tryton',
|
||||
},
|
||||
|
||||
@@ -15,6 +15,16 @@ if os.name == 'nt':
|
||||
os.environ['PATH'] = os.path.join(os.getcwd(), os.path.dirname(sys.argv[0]),
|
||||
'GTK\\lib') + ';' + os.environ['PATH']
|
||||
|
||||
elif os.name == 'mac' or \
|
||||
(hasattr(os, 'uname') and os.uname()[0] == 'Darwin'):
|
||||
resources = os.path.join(os.path.dirname(sys.argv[0]), '..', 'Resources')
|
||||
pixbuf_loader = os.path.join(resources, 'gdk-pixbuf.loaders')
|
||||
if os.path.isfile(pixbuf_loader):
|
||||
os.environ['GDK_PIXBUF_MODULE_FILE'] = pixbuf_loader
|
||||
pangorc = os.path.join(resources, 'pangorc')
|
||||
if os.path.isfile(pangorc):
|
||||
os.environ['PANGO_RC_FILE'] = pangorc
|
||||
|
||||
import pygtk
|
||||
pygtk.require('2.0')
|
||||
import gtk
|
||||
|
||||
Reference in new issue
Block a user