summaryrefslogtreecommitdiffstats
path: root/packaging/macosx/README
diff options
context:
space:
mode:
Diffstat (limited to 'packaging/macosx/README')
-rw-r--r--packaging/macosx/README45
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.