diff options
Diffstat (limited to 'zenmap/install_scripts/macosx/zenmap.bundle')
-rw-r--r-- | zenmap/install_scripts/macosx/zenmap.bundle | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/zenmap/install_scripts/macosx/zenmap.bundle b/zenmap/install_scripts/macosx/zenmap.bundle new file mode 100644 index 0000000..dff4c31 --- /dev/null +++ b/zenmap/install_scripts/macosx/zenmap.bundle @@ -0,0 +1,144 @@ +<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> +<!DOCTYPE app-bundle [ +<!ENTITY PYVER "3.10"> +<!ENTITY pyreqs SYSTEM "pyreqs.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">${env:JHBUILD_PREFIX}</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">${env:ZENMAP_DIST_DIR}</destination> + + <!-- Comment this out to keep the install names in binaries. --> + <run-install-name-tool/> + + <!-- REMOVED: A launcher script is pretty much mandatory here so that we can + set $PYTHON to point to the python in the bundle. + <launcher-script>${project}/launcher.sh</launcher-script> + --> + + <!-- Indicate the active gtk version to use. This is needed only + for gtk+-3.0 projects. --> + <gtk>gtk+-3.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> + +<!-- See examples/python-launcher.bundle for info on entitlements if needed --> +<!-- NEW! --> + <!-- Build gramps-launcher with: + gcc -L$PREFIX/lib `python-config -\-cflags -\-ldflags` \ + -o $PREFIX/bin/python-launcher \ + path/to/gtk-mac-bundler/examples/python-launcher.c + with the obvious substitution. + --> + <main-binary> + ${prefix}/bin/zenmap-launcher + </main-binary> + + <!-- We need to pack our own Python to avoid compatibility problems. --> + <binary dest="${bundle}/Contents/MacOS"> + ${prefix}/bin/python3 + </binary> + <!-- Copy in GTK+ modules. 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. + --> +<!-- PNG is built-in --> + <binary> + ${prefix}/lib/gdk-pixbuf-2.0/${pkg:gdk-pixbuf-2.0:gdk_pixbuf_binary_version}/loaders/libpixbufloader-gif.so + </binary> + +<!-- Copy in the quartz input method. The rest aren't used on MacOS. --> + <binary> + ${prefix}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/immodules/im-quartz.so + </binary> + +<!-- And the print backends --> + <binary> + ${prefix}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/printbackends/*.so + </binary> + + <!-- Python modules other than tnese are grabbed with get_deps.py --> + <binary> + ${prefix}/lib/python&PYVER;/site-packages/gi/*.so + </binary> + <binary> + ${prefix}/lib/python&PYVER;/site-packages/cairo/*.so + </binary> + +&pyreqs; + + <binary> + ${prefix}/lib/libgtkmacintegration-gtk3.dylib + </binary> + + <gir> ${prefix}/share/gir-1.0/Atk-1.0.gir </gir> + <gir> ${prefix}/share/gir-1.0/GLib-2.0.gir </gir> + <gir> ${prefix}/share/gir-1.0/GModule-2.0.gir </gir> + <gir> ${prefix}/share/gir-1.0/GObject-2.0.gir </gir> + <gir> ${prefix}/share/gir-1.0/Gdk-3.0.gir </gir> + <gir> ${prefix}/share/gir-1.0/GdkPixbuf-2.0.gir </gir> + <gir> ${prefix}/share/gir-1.0/Gio-2.0.gir </gir> + <gir> ${prefix}/share/gir-1.0/Gtk-3.0.gir </gir> + <gir> ${prefix}/share/gir-1.0/HarfBuzz-0.0.gir </gir> + <gir> ${prefix}/share/gir-1.0/Pango-1.0.gir </gir> + <gir> ${prefix}/share/gir-1.0/PangoCairo-1.0.gir </gir> + <gir> ${prefix}/share/gir-1.0/PangoOT-1.0.gir </gir> + <gir> ${prefix}/share/gir-1.0/cairo-1.0.gir </gir> + <gir> ${prefix}/share/gir-1.0/freetype2-2.0.gir </gir> + + <!-- This python file sets up all of the environment variables + needed to run your program. The example contains those + necessary for running a basic Gtk program. --> + <data dest="${bundle}/Contents/Resources"> + ${project}/zenmap_launcher.py + </data> + + <data> + ${prefix}/share/glib-2.0/schemas + </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}/zenmap.icns + </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="none"> + Tango + </icon-theme --> + +</app-bundle> |