diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2012-10-20 21:06:35 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2012-10-20 21:06:35 -0700 |
commit | e6454f177302b2fd078e717b8132891629a7fe96 (patch) | |
tree | 20bcc572f80c3d97baf8f87169fa857bf5054f5e /packaging/macosx | |
parent | 3afa7c4651f37f612518df68d1170c275a58448c (diff) | |
download | subsurface-e6454f177302b2fd078e717b8132891629a7fe96.tar.gz |
Finally a fully working Mac dmg
The Makefile change simply gets us the same setup with make install-macosx
that we are getting from the gtk-mac-bundler - with the launcher script
and subsurface installed as subsurface-bin.
The changes in the README are what make the difference for getting a
working dmg - there are a bunch of .so files that are part of gtk that
didn't have their dependency load paths updated - and those made the
application either crash or at least not display its own icon correctly.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'packaging/macosx')
-rw-r--r-- | packaging/macosx/README | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/packaging/macosx/README b/packaging/macosx/README index 241057fca..c2c6caaef 100644 --- a/packaging/macosx/README +++ b/packaging/macosx/README @@ -15,6 +15,20 @@ And then things work correctly IFF the app gets installed with that path. What a pain. +Worse, gtk-mac-bundler misses fails to catch the .so files that +are part of the gdk-pixbuf loader infrastructure. So we need to +manually adjust the load paths in them: + +for i in Resources/lib/gdk-pixbuf-2.0/2.10.0/loaders/* ; do \ + ~/gtk-mac-bundler/bundler/run-install-name-tool-change.sh $i \ + /Applications/Subsurface.app/Contents/Resources Resources change ; \ +done + +Finally, you need to change the IDs of the libraries: + +cd packagin/macosx/staging/Subsurface.app/Contents +for i in Resources/lib/*.dylib; do install_name_tool -id "@executable_path/../$i" $i; done + You still need to manually build a DMG if you want to easily distribute this. hdiutil create -volname Subsurface -srcfolder staging Subsurface-<version>.dmg |