aboutsummaryrefslogtreecommitdiffstats
path: root/packaging/macosx/subsurface.bundle
blob: 13e5c546f80a3e369b5dd80e2486e500a07e905b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
<?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>