diff --git a/Makefile b/Makefile index c32e9495e..dd325d7d7 100644 --- a/Makefile +++ b/Makefile @@ -259,7 +259,7 @@ uemis-downloader.o: uemis-downloader.c dive.h uemis.h $(OSSUPPORT).o: $(OSSUPPORT).c display-gtk.h $(CC) $(CFLAGS) $(OSSUPPORT_CFLAGS) -c $(OSSUPPORT).c -share/locale/%.UTF-8/LC_MESSAGES/subsurface.mo: po/%.po +share/locale/%.UTF-8/LC_MESSAGES/subsurface.mo: po/%.po po/%.aliases mkdir -p $(dir $@) msgfmt -c -o $@ po/$*.po @-if test -s po/$*.aliases; then \ diff --git a/packaging/macosx/README b/packaging/macosx/README index a1a7cdad5..241057fca 100644 --- a/packaging/macosx/README +++ b/packaging/macosx/README @@ -5,9 +5,20 @@ install gtk-mac-bundler (this has been tested with version 0.7.0) and run $ gtk-mac-bundler subsurface.bundle -This should install a self-contained Subsurface application under /Applications/Subsurface.app +This should install a 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 +-prefix /Applications/Subsurface.app/Contents/Resources +And then things work correctly IFF the app gets installed with that path. + +What a pain. + You still need to manually build a DMG if you want to easily distribute this. + hdiutil create -volname Subsurface -srcfolder staging Subsurface-.dmg + Caveats ------- @@ -16,6 +27,7 @@ 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. +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 @@ -24,4 +36,5 @@ Without the builtin modules the installed application fails to find the modules $ 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) diff --git a/packaging/macosx/subsurface.bundle b/packaging/macosx/subsurface.bundle index bff9c962e..7cbeb9ee0 100644 --- a/packaging/macosx/subsurface.bundle +++ b/packaging/macosx/subsurface.bundle @@ -12,13 +12,13 @@ defined by jhbuild, so it you are not using jhbuild you can either define your own or just hardcode the path here. --> - /opt/local + /Applications/Subsurface.app/Contents/Resources - /Applications + ./staging @@ -82,14 +82,18 @@ want to copy in to the bundle. The "dest" attribute is optional, as usual. Bundler will find all translations of that library/program under the indicated directory and copy them.--> + + ${prefix}/share/locale + ${prefix}/share/locale +