mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-01 14:40:28 +00:00
f481622156
It turns out that we need aliases for all the languages. And more fiddling when creating the dmg. And a specialized MacPorts build with the install path as prefix. What this basically means is that our app will be correctly localized iff run as /Applications/Subsurface.app Otherwise the gtk default texts (on buttons for example) may or may not be translated. One remaining issue is that apparently Gtk's Mac integration triggers on the untranslated name Help the Menu tree in order to work. Yet we can't easily tell the app not to translate that word as the translations are done internally in gtk - we'd basicall have to build special subsurface.mo files for Mac that don't contain a translation of the word "Help" for this to work. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
142 lines
5.3 KiB
XML
142 lines
5.3 KiB
XML
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
|
|
<app-bundle>
|
|
|
|
<meta>
|
|
<!-- Where to pick up the GTK+ installation, icon themes,
|
|
etc. Note that "${env:JHBUILD_PREFIX}" is evaluated to the
|
|
value of the environment variable JHBUILD_PREFIX. You can
|
|
define additional prefixes and refer to them in paths
|
|
throughout this file on the form "${prefix:name}". This is
|
|
useful for installing certain libraries or even the
|
|
application itself separately. Note that JHBUILD_PREFIX is
|
|
defined by jhbuild, so it you are not using jhbuild you can
|
|
either define your own or just hardcode the path here.
|
|
-->
|
|
<prefix name="default">/Applications/Subsurface.app/Contents/Resources</prefix>
|
|
|
|
<!-- The project directory is the default location of the created
|
|
app. If you leave out the path, the current directory is
|
|
used. Note the usage of an environment variable here again.
|
|
-->
|
|
<destination overwrite="yes">./staging</destination>
|
|
|
|
<image>
|
|
<!-- Not implemented yet (DMG image). -->
|
|
</image>
|
|
|
|
<!-- Comment this out to keep the install names in binaries -->
|
|
<run-install-name-tool/>
|
|
|
|
<!-- Optionally specify a launcher script to use. If the
|
|
application sets up everything needed itself, like
|
|
environment variable, linker paths, etc, a launcher script is
|
|
not needed. If the source path is left out, the default
|
|
script will be used.
|
|
-->
|
|
<launcher-script>${project}/subsurface.sh</launcher-script >
|
|
|
|
<!-- Not implemented: Optional runtime, could be python or mono
|
|
for example.
|
|
-->
|
|
<!-- runtime copy="yes">/usr/bin/python</runtime -->
|
|
<!-- Indicate the active gtk version to use. This is needed only
|
|
for gtk+-3.0 projects. -->
|
|
<gtk>gtk+-2.0</gtk>
|
|
</meta>
|
|
|
|
<!-- The special macro "${project}" refers to the directory where
|
|
this bundle file is located. The application name and bundle
|
|
identifier are taken from the plist file.
|
|
-->
|
|
<plist>${project}/Info.plist</plist>
|
|
|
|
<main-binary dest="${bundle}/Contents/MacOS">${project}/../../subsurface</main-binary>
|
|
|
|
<!-- Copy in GTK+ modules. Note the ${gtkdir} macro, which expands
|
|
to the correct library subdirectory for the specified gtk
|
|
version.
|
|
-->
|
|
<binary>
|
|
${prefix}/lib/${gtkdir}/modules/*.so
|
|
</binary>
|
|
|
|
<!-- Copy in GTK+ theme engines and print backends. Note the use of the
|
|
"${pkg:module:variable}" macro, which evaluates to a pkg-config
|
|
variable in the specified module. Note that any libraries that
|
|
binaries link to are also copied in automatically. Note also
|
|
the included ${gtk} macro, which gets the correct package name
|
|
to get. -->
|
|
<binary>
|
|
${prefix}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/engines/*.so
|
|
</binary>
|
|
<binary>
|
|
${prefix}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/printbackends/*.so
|
|
</binary>
|
|
|
|
<!-- Starting with 2.24, gdk-pixbuf installs into its own directory. -->
|
|
<data>
|
|
${prefix}/lib/gdk-pixbuf-2.0/2.10.0/loaders/*.so
|
|
</data>
|
|
|
|
<!-- Translation filenames, one for each program or library that you
|
|
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.-->
|
|
<translations name="subsurface">
|
|
${prefix}/share/locale
|
|
</translations>
|
|
<translations name="gtk20">
|
|
${prefix}/share/locale
|
|
</translations>
|
|
|
|
<!--
|
|
<data dest="${bundle}/Contents/Resources/share/locale">
|
|
${project}/Subsurface.app/Contents/Resources/share/locale
|
|
</data>
|
|
-->
|
|
<!-- Data to copy in, usually Glade/UI files, images, sounds files
|
|
etc. The destination inside the bundle can be specified if the
|
|
files should end up at a different location, by using the
|
|
"dest" property. The destination must then start with the macro
|
|
"${bundle}", which refers to the bundle root directory.
|
|
-->
|
|
<!-- data
|
|
${prefix}/share/gtk-demo
|
|
</data -->
|
|
|
|
<!-- Copy in the themes data. You may want to trim this to save space
|
|
in your bundle. -->
|
|
<data>
|
|
${prefix}/share/themes
|
|
</data>
|
|
|
|
<!-- Copy icons. Note that the .icns file is an Apple format which
|
|
contains up to 4 sizes of icon. You can use
|
|
/Developer/Applications/Utilities/Icon Composer.app to import
|
|
artwork and create the file. -->
|
|
<data dest="${bundle}/Contents/Resources">
|
|
${project}/Subsurface.icns
|
|
</data>
|
|
|
|
<!-- This is where theme commands go. You can copy them in from your
|
|
theme of choice if they provide and example, or you can just
|
|
change the source path. -->
|
|
|
|
<data dest="${bundle}/Contents/Resources/etc/${gtkdir}/gtkrc">
|
|
${prefix}/share/themes/Mac/gtk-2.0-key/gtkrc
|
|
</data>
|
|
|
|
<!-- Icon themes to copy. The "icons" property can be either of
|
|
"auto", "all", or "none". All or none should be
|
|
self-explanatory, while auto means that the script will try to
|
|
figure out which icons are needed. This is done by getting all
|
|
the strings from all copied binaries, and matching them against
|
|
icon names. To be safe, you should use "all". "none" is useful
|
|
if you want just the index.theme file but no icons, mostly
|
|
needed for the "hicolor" base theme.
|
|
>
|
|
<icon-theme icons="auto">
|
|
Tango
|
|
</icon-theme -->
|
|
|
|
</app-bundle>
|