<?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 --> <!-- XSLT files --> <data> ${prefix}/xslt </data> <!-- Copy in the themes data. You may want to trim this to save space in your bundle. --> <data> ${prefix}/share/themes </data> <!-- Copy the mime.cache --> <data> ${prefix}/share/mime/mime.cache </data> <!-- Copy the jpeg library that is missed by the dependency generation --> <data> ${prefix}/lib/libjpeg.9.dylib </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>