diff options
Diffstat (limited to 'packaging/macosx')
-rw-r--r-- | packaging/macosx/README | 77 | ||||
-rwxr-xr-x | packaging/macosx/make-package.sh | 11 |
2 files changed, 6 insertions, 82 deletions
diff --git a/packaging/macosx/README b/packaging/macosx/README deleted file mode 100644 index b996413c5..000000000 --- a/packaging/macosx/README +++ /dev/null @@ -1,77 +0,0 @@ -Creating a Subsurface bundle -============================ - -(we now have a small shell script that should automate this process; - look for make-package.sh) - -After you build Subsurface and install it on your Mac - -make install-macosx - -you need gtk-mac-bundler (this has been tested with version 0.7.3); run - - $ gtk-mac-bundler subsurface.bundle - -This should install an almost self-contained Subsurface application under -./staging/Subsurface.app - -Sadly because of the way gettext accesses the gtk20.mo file, this fails -for localized use - so I ended up building MacPorts with --prefix /Applications/Subsurface.app/Contents/Resources -And then things work correctly IFF the app gets installed with that path. - -What a pain. - -Worse, gtk-mac-bundler 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: - -cd packaging/macosx/staging/Subsurface.app/Contents -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: - -for i in Resources/lib/*.dylib; do install_name_tool -id "@executable_path/../$i" $i; done - -Next you should sign your binaries if you plan to use them 10.8 (or later). - -Then you can use git://github.com/dirkhh/yoursway-create-dmg.git to create -a DMG (use the readlink-fix branch - unless this has been pulled into the -main project by the time you read this). - -Here is roughly how I run this to create the official DMG - -~/yoursway-create-dmg/create-dmg --background ./Subsurface-Background.png \ - --window-size 500 300 --icon-size 96 \ - --volname "Subsurface-${VERSION}" --app-drop-link 380 205 \ - --volicon ~/subsurface/packaging/macosx/Subsurface.icns \ - --icon "Subsurface" 110 205 ./Subsurface-${VERSION}.dmg ./staging - -The --volicon doesn't appear to work for me even though it does create the -correct file in the DMG. I'm leaving it in here to remind me to -investigate this issue. - -Caveats -------- - -* You need (at least with MacPorts) to build pango like this: - - $ sudo port install pango +builtin_modules +no_x11 +quartz - -Without the builtin modules the installed application fails to find the -modules and doesn't render any text. - -Also note the comment above about the -prefix - -* It seems that gtk-mac-bundler expects the charset.alias file to be - in the ${prefix}/lib folder which it isn't with the current version of - MacPorts. The following fixes that: - - $ sudo cp /usr/lib/charset.alias /opt/local/lib - -* libdivecomputer needs to be configured with - --with-prefix=/Applications/Subsurface.app/Contents/Resources - as well. diff --git a/packaging/macosx/make-package.sh b/packaging/macosx/make-package.sh index e820b1588..c4dc71b2e 100755 --- a/packaging/macosx/make-package.sh +++ b/packaging/macosx/make-package.sh @@ -16,29 +16,30 @@ DMGCREATE=../yoursway-create-dmg/create-dmg # for the naming of volume and dmg we don't need the "always 3 digits" # darwin version - the 'regular' version that has 2 digits for releases # is better -VERSION=$(./scripts/get-version linux) +VERSION=$(cd ../subsurface; ./scripts/get-version linux) # first build and install Subsurface and then clean up the staging area rm -rf ./Subsurface.app make -j8 -make mac-deploy +make install install_name_tool -change /Users/hohndel/src/marble/install/libssrfmarblewidget.0.19.2.dylib @executable_path/../Frameworks/libssrfmarblewidget.0.19.2.dylib Subsurface.app/Contents/MacOS/Subsurface +install_name_tool -change /Users/hohndel/src/libgit2/build/libgit2.22.dylib @executable_path/../Frameworks/libgit2.22.dylib Subsurface.app/Contents/MacOS/Subsurface # copy things into staging so we can create a nice DMG rm -rf ./staging mkdir ./staging cp -a ./Subsurface.app ./staging -sh ./packaging/macosx/sign +sh ../subsurface/packaging/macosx/sign if [ -f ./Subsurface-$VERSION.dmg ]; then rm ./Subsurface-$VERSION.dmg.bak mv ./Subsurface-$VERSION.dmg ./Subsurface-$VERSION.dmg.bak fi -$DMGCREATE --background ./packaging/macosx/DMG-Background.png \ +$DMGCREATE --background ../subsurface/packaging/macosx/DMG-Background.png \ --window-size 500 300 --icon-size 96 --volname Subsurface-$VERSION \ --app-drop-link 380 205 \ - --volicon ~/src/subsurface/packaging/macosx/Subsurface.icns \ + --volicon ../subsurface/packaging/macosx/Subsurface.icns \ --icon "Subsurface" 110 205 ./Subsurface-$VERSION.dmg ./staging |