diff options
Diffstat (limited to 'packaging/macosx/README')
-rw-r--r-- | packaging/macosx/README | 45 |
1 files changed, 32 insertions, 13 deletions
diff --git a/packaging/macosx/README b/packaging/macosx/README index 47d49661c..b996413c5 100644 --- a/packaging/macosx/README +++ b/packaging/macosx/README @@ -4,23 +4,27 @@ Creating a Subsurface bundle (we now have a small shell script that should automate this process; look for make-package.sh) -install gtk-mac-bundler (this has been tested with version 0.7.0) and run +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 a self-contained Subsurface application under +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 - in that case you need to rebuild MacPorts with +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 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: +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 \ @@ -32,10 +36,23 @@ 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 -You still need to manually build a DMG if you want to easily distribute this. +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 -cd ../../.. -hdiutil create -volname Subsurface -srcfolder staging Subsurface-<version>.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 ------- @@ -44,7 +61,9 @@ Caveats $ 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. +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 @@ -53,6 +72,6 @@ Also note the comment above about the -prefix $ sudo cp /usr/lib/charset.alias /opt/local/lib -* libdivecomputer needs to be configured with --with-prefix=/opt/local - (or /Applications/Subsurface.app/Contents/Resources for localized builds) - +* libdivecomputer needs to be configured with + --with-prefix=/Applications/Subsurface.app/Contents/Resources + as well. |