summaryrefslogtreecommitdiffstats
path: root/packaging/macos/modulesets/gtk-osx.modules
blob: f1f6b5fa0599aede89761e1babdff7021a9f097a (plain)
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
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
<?xml version="1.0"?><!--*- mode: nxml; indent-tabs-mode: nil -*-->
<!DOCTYPE moduleset SYSTEM "moduleset.dtd">
<?xml-stylesheet type="text/xsl" href="moduleset.xsl"?>
<moduleset>
  <repository type="tarball" name="ftp.gnome.org" default="yes"
              href="http://ftp.gnome.org/pub/GNOME/sources/"/>
  <repository type="tarball" name="cairographics"
              href="https://www.cairographics.org/"/>
  <repository type="tarball" name="cairographics-temp"
              href="https://gitlab.freedesktop.org/cairo/cairo/-/archive/"/>
  <repository type="tarball" name="ftp.gnu.org"
              href="https://ftp.gnu.org/gnu/"/>
  <repository type="tarball" name="xorg"
              href="https://www.x.org/releases/"/>
  <repository type="tarball" name="fontconfig"
	      href="http://www.freedesktop.org/software/fontconfig/release/"/>
  <repository type="tarball" name="hicolor"
              href="https://icon-theme.freedesktop.org/releases/"/>
  <repository type="git" name="github" href="https://github.com/"/>
  <repository type="tarball" name="github-tarball" href="https://github.com/"/>
  <repository type="tarball" name="sourceforge"
              href="http://downloads.sourceforge.net/sourceforge/"/>
  <repository type="system" name="system"/>

  <!-- This module set works a bit differently than for example the
       GNOME ones do. It's split up in seperate pieces:

       - gtk-osx-bootstrap: contains bootstrap-like modules that you
         don't want to rebuild all the time.

       - gtk-osx.modules: contains the core GTK+ stack. This does not
         have a hard dependency on the bootstrap modules, in order to
         make it easy to rebuild the whole core stack without redoing
         the bootstrap parts. They have a soft, "after", depencency.

       - gtk-osx-python.modules: Python bindings for Gtk.
       - gtk-osx-gtkmm.modules: C++ wrappers for Gtk.
       - gtk-osx-network.modules: The network/crypto stack and WebKit.
       - gtk-osx-random.modules: "random stuff", has apps for testing GTK+.
  -->

  <include href="gtk-osx-bootstrap.modules"/>
  <include href="gtk-osx-gtkmm.modules"/>
  <include href="gtk-osx-network.modules"/>
  <include href="gtk-osx-python.modules"/>
  <include href="gtk-osx-random.modules"/>

  <!-- Dummy meson module to shut up a jhbuild warning. -->
  <systemmodule id="meson">
    <branch repo="system"/>
  </systemmodule>

  <metamodule id="meta-gtk-osx-gtk3">
    <dependencies>
      <dep package="gtk+-3.0"/>
      <dep package="adwaita-icon-theme"/>
    </dependencies>
    <after>
      <dep package="meta-gtk-osx-bootstrap"/>
    </after>
  </metamodule>

  <autotools id="libffi" autogenargs="--disable-builddir"
             autogen-sh="configure">
    <branch module="libffi/libffi/releases/download/v3.3/libffi-3.3.tar.gz"
            repo="github-tarball" version="3.3"
            hash="sha256:72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056"/>
  </autotools>

  <autotools id="libpcre" autogen-sh="configure"
             autogenargs="--enable-unicode-properties --enable-newline-is-any --enable-jit">
    <branch repo="sourceforge" version="8.45"
            module="pcre/pcre-8.45.tar.bz2"
            hash="sha256:4dae6fdcd2bb0bb6c37b5f97c33c2be954da743985369cddac3546e3218bffb8"/>
  </autotools>
  
  <meson id="glib" mesonargs="-Dlibmount=disabled">
    <branch module="glib/2.72/glib-2.72.1.tar.xz"  version="2.72.1"
            hash="sha256:c07e57147b254cef92ce80a0378dc0c02a4358e7de4702e9f403069781095fe2">
    </branch>
    <dependencies>
      <dep package="libffi"/>
      <dep package="libpcre"/>
    </dependencies>
  </meson>

  <!-- To build Freetype *with* harfbuzz requires harfbuzz to be built
       with freetype so we first have to build it *without* harfbuzz,
       then build harfbuzz without cairo because cairo requires
       harfbuzz. -->
  <cmake id="freetype-no-harfbuzz" cmakeargs="-DCMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_BZip2=TRUE -D BUILD_SHARED_LIBS=true -D CMAKE_BUILD_TYPE=Release">
    <branch module="freetype/freetype-2.11.1.tar.gz" version="2.11.1"
            repo="sourceforge"
            hash="sha256:f8db94d307e9c54961b39a1cc799a67d46681480696ed72ecf78d4473770f09b"/>
    <dependencies>
      <dep package="zlib"/>
    </dependencies>
  </cmake>

  <meson id="harfbuzz-no-cairo" mesonargs="-Dcoretext=enabled -Ddocs=disabled -Dbenchmark=disabled -Dintrospection=disabled">
    <branch repo="github-tarball" version="2.9.1"
            module="harfbuzz/harfbuzz/releases/download/2.9.1/harfbuzz-2.9.1.tar.xz"
            hash="sha256:0edcc980f526a338452180e701d6aba6323aef457b6686976a7d17ccbddc51cf">
    </branch>
    <dependencies>
      <dep package="glib"/>
      <dep package="freetype-no-harfbuzz"/>
      <dep package="icu"/>
    </dependencies>
  </meson>

  <cmake id="freetype" cmakeargs="-DCMAKE_DISABLE_FIND_PACKAGE_BZip2=TRUE -D BUILD_SHARED_LIBS=true -D CMAKE_BUILD_TYPE=Release">
    <branch module="freetype/freetype-2.11.1.tar.gz" version="2.11.1"
            repo="sourceforge"/>
    <dependencies>
      <dep package="harfbuzz-no-cairo"/>
      <dep package="zlib"/>
    </dependencies>
  </cmake>

 <autotools id="fontconfig" autogen-sh="configure"
             autogenargs="--disable-docs --with-default-fonts=/System/Library/Fonts --with-add-fonts=/Library/Fonts">
    <branch repo="fontconfig" version="2.14.0"
            module="fontconfig-2.14.0.tar.xz"
            hash="sha256:dcbeb84c9c74bbfdb133d535fe1c7bedc9f2221a8daf3914b984c44c520e9bac"/>
    <dependencies>
      <dep package="freetype"/>
    </dependencies>
  </autotools>

  <autotools id="pixman" autogenargs="--disable-gtk --disable-mmx"
             autogen-sh="configure">
    <branch version="0.40.0" module="releases/pixman-0.40.0.tar.gz"
            repo="cairographics"
            hash="sha512:063776e132f5d59a6d3f94497da41d6fc1c7dca0d269149c78247f0e0d7f520a25208d908cf5e421d1564889a91da44267b12d61c0bd7934cd54261729a7de5f">
    </branch>
    <after>
      <dep package="meta-gtk-osx-bootstrap"/>
    </after>
  </autotools>

  <!-- cairo doesn't really need fontconfig, but if Pango finds
       freetype it insists that it has to have fontconfig too and that
       they are both built into cairo. -->
  <meson id="cairo">
    <branch module="1.17.6/cairo-1.17.6.tar.bz2"  version="1.17.6"
            repo="cairographics-temp"
            hash="sha256:90496d135c9ef7612c98f8ee358390cdec0825534573778a896ea021155599d2">
      <patch file="cairo-pixman_dithering.patch" strip="1"/> <!-- Inkscape: packaging/cario.patch -->
      <patch file="cairo-color_mgmt_perf.patch" strip="1"/> <!-- https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/290 -->
      <patch file="cairo-snapshot_leak.patch" strip="1"/> <!-- https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/316 -->
    </branch>
    <dependencies>
      <dep package="pixman"/>
      <dep package="meta-gtk-osx-bootstrap"/>
      <dep package="harfbuzz-no-cairo"/>
      <dep package="fontconfig"/>
    </dependencies>
  </meson>

  <meson id="gobject-introspection">
    <branch module="gobject-introspection/1.72/gobject-introspection-1.72.0.tar.xz"
            version="1.72.0"
            hash="sha256:02fe8e590861d88f83060dd39cda5ccaa60b2da1d21d0f95499301b186beaabc">
    </branch>
    <dependencies>
      <dep package="glib"/>
      <dep package="cairo"/>
    </dependencies>
    <after>
      <dep package='python3'/>
    </after>
  </meson>

  <!--
    harfbuzz 4.1.0 breaks the following tests for Inkscape:
        351 - render_test-glyph-y-pos (Failed)
        352 - render_text-glyphs-combining (Failed)
        353 - render_text-glyphs-vertical (Failed)
        356 - render_test-rtl-vertical (Failed)

    harfbuzz 3.4.0 breaks the following tests for Inkscape:
        351 - render_test-glyph-y-pos (Failed)
        353 - render_text-glyphs-vertical (Failed)
        356 - render_test-rtl-vertical (Failed)
  -->
  <meson id="harfbuzz" mesonargs="-Dcoretext=enabled -Ddocs=disabled -Dbenchmark=disabled">
    <branch repo="github-tarball" version="2.9.1"
            module="harfbuzz/harfbuzz/releases/download/2.9.1/harfbuzz-2.9.1.tar.xz"
            hash="sha256:0edcc980f526a338452180e701d6aba6323aef457b6686976a7d17ccbddc51cf" 
>
    </branch>
    <dependencies>
      <dep package="gobject-introspection"/>
      <dep package="cairo"/>
      <!-- no longer required as of https://github.com/harfbuzz/harfbuzz/releases/tag/2.8.1
      <dep package="fontconfig"/>
      -->
    </dependencies>
  </meson>

  <meson id="fribidi" mesonargs="-Ddocs=false">
    <branch module="fribidi/fribidi/releases/download/v1.0.11/fribidi-1.0.11.tar.xz"
            repo="github-tarball" version="1.0.11"
            hash="sha256:30f93e9c63ee627d1a2cedcf59ac34d45bf30240982f99e44c6e015466b4e73d"/>
    <dependencies>
      <!--dep package="c2man"/ -->
    </dependencies>
  </meson>

  <meson id="pango" mesonargs="-Dfontconfig=enabled">
    <branch version="1.50.6" module="pango/1.50/pango-1.50.6.tar.xz"
            hash="sha256:a998bcf36881c3ac20495d40bceb304f4eaa9175bd2967c85656434cbdafe86a">
      <patch file="pango-coretext-fix-clang-build-failure.patch" strip="1"/>
    </branch>
    <dependencies>
      <dep package="glib"/>
      <dep package="cairo"/>
      <dep package="harfbuzz"/>
      <dep package="fribidi"/>
    </dependencies>
    <after>
      <dep package="gobject-introspection"/>
      <dep package="meta-gtk-osx-bootstrap"/>
    </after>
  </meson>
  
  <meson id="atk">
    <branch module="atk/2.36/atk-2.36.0.tar.xz" version="2.36.0"
            hash="sha256:fb76247e369402be23f1f5c65d38a9639c1164d934e40f6a9cf3c9e96b652788"/>
    <dependencies>
    </dependencies>
    <after>
      <dep package="glib"/>
      <dep package="meta-gtk-osx-bootstrap"/>
      <dep package="gobject-introspection"/>
    </after>
  </meson>

  <!--
    relocatability breaks two tests in Inkscape
      - <symbol> geometric properties (SVG 2.0 feature)
      - .otf font with compressed SVG glyphs
  <meson id="gdk-pixbuf" mesonargs="-Drelocatable=true -Dman=false">
  -->
  <meson id="gdk-pixbuf" mesonargs="-Dman=false">

    <branch module="gdk-pixbuf/2.42/gdk-pixbuf-2.42.8.tar.xz" version="2.42.8"
            hash="sha256:84acea3acb2411b29134b32015a5b1aaa62844b19c4b1ef8b8971c6b0759f4c6">
      <patch file="gdk-pixbuf-loader-name.patch" strip="1"/>
    </branch>
    <after>
      <dep package="pango"/>
      <dep package="gobject-introspection"/>
    </after>
  </meson>

  <autotools id="hicolor-icon-theme">
    <branch module="hicolor-icon-theme-0.17.tar.xz" version="0.17"
            repo="hicolor"/>
  </autotools>

  <autotools id="xorg-util-macros">
    <branch repo="xorg" version="1.19.3"
            module="individual/util/util-macros-1.19.3.tar.bz2"
            hash="sha256:0f812e6e9d2786ba8f54b960ee563c0663ddbe2434bf24ff193f5feab1f31971"/>
  </autotools>

  <meson id="libepoxy">
    <branch repo="github-tarball" version="1.5.4"
            hash="sha256:0bd2cc681dfeffdef739cb29913f8c3caa47a88a451fd2bc6e606c02997289d2"
            module="anholt/libepoxy/releases/download/1.5.4/libepoxy-1.5.4.tar.xz"/>
    <dependencies>
      <dep package="xorg-util-macros"/>
    </dependencies>
  </meson>

  <!-- gtk3 is in maintenance mode with 3.24 the final release series. -->
  <meson id="gtk+-3.0" mesonargs="-Dx11_backend=false">
    <branch module="gtk+/3.24/gtk+-3.24.34.tar.xz" version="3.24.34"
            hash="sha256:dbc69f90ddc821b8d1441f00374dc1da4323a2eafa9078e61edbe5eeefa852ec">
      <patch file="gtk-3.24.33-remove-gtk4-update-icon-cache-dependency.patch" strip="1"/>
      <patch file="gtk-3.24.33-quartz-window-transient-for.patch" strip="1"/>
    </branch>
    <dependencies>
      <dep package="glib"/>
      <dep package="pango"/>
      <dep package="atk"/>
      <dep package="gdk-pixbuf"/>
      <dep package="gobject-introspection"/>
      <dep package="libepoxy"/>
      <dep package="hicolor-icon-theme"/>
    </dependencies>
    <after>
      <dep package="meta-gtk-osx-bootstrap"/>
    </after>
  </meson>

  <autotools id="libcroco" autogenargs="--disable-Bsymbolic"
             autogen-sh="configure">
    <branch module="libcroco/0.6/libcroco-0.6.13.tar.xz" version="0.6.13"
            hash="sha256:767ec234ae7aa684695b3a735548224888132e063f92db585759b422570621d4"/>
  </autotools>

  <autotools id="librsvg" autogen-sh="autoreconf"
             autogenargs="--disable-Bsymbolic">
    <branch module="librsvg/2.54/librsvg-2.54.0.tar.xz" version="2.54.0"
            hash="sha256:baf8ebc147f146b4261bb3d0cd0fac944bf8dbb4b1f2347d23341f974dcc3085"/>
    <dependencies>
      <dep package="cairo"/>
      <dep package="pango"/>
      <dep package="harfbuzz"/>
      <dep package="freetype"/>
      <dep package="rust"/>
      <dep package="docutils"/>
      <dep package="gidocgen"/>
    </dependencies>
    <after>
      <!-- Circular dependency if we depend on meta-gtk-osx or meta-gtk-osx-gtk3 -->
      <dep package="gtk+-3.0"/>
    </after>
  </autotools>

  <autotools id="adwaita-icon-theme" autogen-sh="configure">
    <branch module="adwaita-icon-theme/42/adwaita-icon-theme-42.0.tar.xz"
            version="42.0"
            hash="sha256:5e85b5adc8dee666900fcaf271ba717f7dcb9d0a03d96dae08f9cbd27e18b1e0"/>
    <dependencies>
      <dep package="librsvg"/>
    </dependencies>
  </autotools>

  <!-- Null metamodule, provided so as not to break modules that use it. -->
  <metamodule id="meta-gtk-osx-freetype" />

</moduleset>