<?xml version="1.0"?>
<!DOCTYPE moduleset SYSTEM "moduleset.dtd">
<?xml-stylesheet type="text/xsl" href="moduleset.xsl"?>
<moduleset>
  <!-- Please format this file using the following command:
       tidy -config ../tidy.conf -m gtk-osx.modules; sed -i "" '/^ *$/d' gtk-osx.modules
       You can get 'tidy' here: https://github.com/htacg/tidy-html5 -->
  <repository name="git.gnome.org"
              default="yes"
              href="https://gitlab.gnome.org/GNOME"
              type="git" />
  <repository name="github"
              href="https://github.com/"
              type="git" />
  <repository name="freedesktop"
              href="https://gitlab.freedesktop.org/"
              type="git" />
  <repository name="nongnu"
              href="https://git.savannah.nongnu.org/git/"
              type="git" />
  <repository name="hicolor"
              href="https://icon-theme.freedesktop.org/releases/"
              type="tarball" />
  <repository name="github-tarball"
              href="https://github.com/"
              type="tarball" />
  <repository name="system"
              type="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-gstreamer.modules: Gstreamer Library and modules.
         - 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-gstreamer.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="gtk-mac-integration" />
      <dep package="adwaita-icon-theme" />
    </dependencies>
    <after>
      <dep package="meta-gtk-osx-bootstrap" />
    </after>
  </metamodule>
  <autotools id="libffi"
             autogen-sh="autoreconf"
             autogenargs="--disable-multi-os-directory --disable-docs">
    <branch module="libffi/libffi"
            repo="github"
            tag="v3.4.7" />
  </autotools>
  <autotools id="libpcre2"
             autogen-sh="configure"
             autogenargs="--enable-pcre2-16 --enable-pcre2-32 --enable-jit">
    <branch module="PCRE2Project/pcre2/"
            revision="release/pcre2-10.45"
            repo="github" />
  </autotools>
  <meson id="glib-no-introspection"
         mesonargs="-Dlibmount=disabled">
    <branch module="glib"
            tag="glib-2-83" />
    <dependencies>
      <dep package="libffi" />
      <dep package="libpcre2" />
    </dependencies>
  </meson>
  <meson id="glib"
         mesonargs="-Dlibmount=disabled">
    <branch tag="glib-2-83" />
    <dependencies>
      <dep package="gobject-introspection" />
    </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='-DFT_DISABLE_HARFBUZZ=ON -DBUILD_SHARED_LIBS=true -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_NAME_DIR="${JHBUILD_PREFIX}/lib"'>
    <branch module="freetype/freetype2"
            repo="nongnu"
            revision="VER-2-13-3" />
    <dependencies>
      <dep package="zlib" />
    </dependencies>
  </cmake>
  <autotools id="icu"
             autogen-sh="source/configure"
             autogenargs="--enable-rpath"
             makeargs='CFLAGS="$CFLAGS -DU_CHARSET_IS_UTF8=1 -DU_USING_ICU_NAMESPACE=0"'>
    <branch module="unicode-org/icu/releases/download/release-76-1/icu4c-76_1-src.tgz"
            version="76.1"

            checkoutdir="icu"
            repo="github-tarball" />
  </autotools>
  <meson id="harfbuzz-no-cairo"
         mesonargs="-Dcoretext=enabled -Dfreetype=enabled -Ddocs=disabled -Dbenchmark=disabled -Dintrospection=disabled -Dtests=disabled">
    <branch module="harfbuzz/harfbuzz"
            repo="github"
            tag="10.2.0" />
    <dependencies>
      <dep package="glib-no-introspection" />
      <dep package="freetype-no-harfbuzz" />
    </dependencies>
    <after>
      <dep package="icu" />
      <dep package="icu55" />
    </after>
  </meson>
  <cmake id="freetype"
         cmakeargs='-DFT_REQUIRE_HARFBUZZ=ON -DBUILD_SHARED_LIBS=true -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_NAME_DIR="${JHBUILD_PREFIX}/lib"'>
    <branch module="freetype/freetype2"
            repo="nongnu"
            revision="VER-2-13-3" />
    <dependencies>
      <dep package="harfbuzz-no-cairo" />
      <dep package="zlib" />
    </dependencies>
  </cmake>
  <meson id="fontconfig"
         mesonargs="-Ddoc=disabled -Ddefault-fonts-dirs=/System/Library/Fonts -Dadditional-fonts-dirs=/Library/Fonts">
    <branch module="fontconfig/fontconfig"
            repo="freedesktop"
            tag="2.16.0" />
    <dependencies>
      <dep package="freetype" />
    </dependencies>
  </meson>
  <meson id="pixman"
         mesonargs="-Dgtk=disabled -Dmmx=disabled -Da64-neon=disabled">
    <branch module="pixman/pixman"
            repo="freedesktop"
            revision="pixman-0.44.2" />
    <after>
      <dep package="meta-gtk-osx-bootstrap" />
    </after>
  </meson>
  <!-- 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"
          mesonargs="-Dfontconfig=enabled -Dfreetype=enabled">
    <branch module="cairo/cairo"
            repo="freedesktop"
            tag="1.18.2" />
    <dependencies>
      <dep package="pixman" />
      <dep package="meta-gtk-osx-bootstrap" />
      <dep package="fontconfig" />
    </dependencies>
  </meson>
  <meson id="gobject-introspection">
    <branch module="gobject-introspection"
            tag="1.82.0" />
    <dependencies>
      <dep package="glib-no-introspection" />
      <dep package="cairo" />
    </dependencies>
    <after>
      <!-- Mandatory if MAC_OS_X_MIN_REQURED != macOS Version. -->
      <dep package='python3' />
    </after>
  </meson>
  <!-- This harfbuzz doesn't really need cairo, but if Pango is going
       to use introspection it requires harfbuzz to have
       introspection, and gobject-introspection needs cairo. -->
  <meson id="harfbuzz"
         mesonargs="-Dcoretext=enabled -Dfreetype=enabled -Ddocs=disabled -Dbenchmark=disabled">
    <branch module="harfbuzz/harfbuzz"
            repo="github"
            tag="10.2.0" />
    <dependencies>
      <dep package="gobject-introspection" />
      <dep package="cairo" />
      <dep package="fontconfig" />
    </dependencies>
  </meson>
  <meson id="fribidi"
         mesonargs="-Ddocs=false">
    <branch module="fribidi/fribidi"
            repo="github"
            tag="v1.0.13" />
    <dependencies>
      <!--dep package="c2man" /-->
    </dependencies>
  </meson>
  <meson id="pango"
         mesonargs="-Dfontconfig=enabled">
    <branch tag="1.56.1" />
    <dependencies>
      <dep package="glib" />
      <dep package="cairo" />
      <dep package="harfbuzz" />
      <dep package="fribidi" />
      <dep package="gobject-introspection" />
      <dep package="meta-gtk-osx-bootstrap" />
    </dependencies>
  </meson>
<!-- ATK is retired and archived. There are only housekeeping commits since tagging 3.38.0 so we might as well use master. -->
  <meson id="atk">
    <branch />
    <after>
      <dep package="glib" />
      <dep package="meta-gtk-osx-bootstrap" />
      <dep package="gobject-introspection" />
    </after>
  </meson>
  <meson id="gdk-pixbuf"
         mesonargs="-Drelocatable=true -Dman=false">
    <!-- gdk-pixbuf is releasing from master -->
    <branch tag="2.42.10" />
    <dependencies>
      <dep package="pango" />
      <dep package="gobject-introspection" />
    </dependencies>
  </meson>
  <meson id="libepoxy">
    <branch module="anholt/libepoxy"
            repo="github"
            revision="1.5.10" />
  </meson>
  <autotools id="hicolor-icon-theme">
    <branch module="hicolor-icon-theme-0.17.tar.xz"
            version="0.17"
            repo="hicolor" />
  </autotools>
  <meson id="gtk+-3.0"
         mesonargs="-Dx11_backend=false">
    <branch module="gtk"
            checkoutdir="gtk+-3.0"
            revision="gtk-3-24" />
    <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>
  <meson id="graphene"
         mesonargs="-Dtests=false">
    <branch module="ebassi/graphene"
            repo="github"
            revision="1.10.8" />
    <dependencies>
      <dep package="glib" />
      <dep package="gobject-introspection" />
    </dependencies>
  </meson>
  <!-- SASS is required to build Gtk4 from git, not needed for
       tarballs.  sassc versions are tied to specific libsass versions
       and 3.6.2 is the last release so we're stuck with libsass 3.6.5
       unless Gtk4 migrates to Dart-Sass.-->
 <autotools id="libsass"
             autogen-sh="autoreconf"
             autogenargs="--disable-tests --disable-static">
    <branch module="sass/libsass"
            repo="github"
            revision="3.6.6"/>
  </autotools>
  <autotools id="sassc"
             autogen-sh="autoreconf">
    <branch module="sass/sassc"
            repo="github"
            revision="3.6.2"/>
    <dependencies>
      <dep package="libsass"/>
    </dependencies>
  </autotools>
  <meson id="gtk-4"
         mesonargs="-Dx11-backend=false -Dmedia-gstreamer=disabled">
    <branch module="gtk"
            checkoutdir="gtk-4.0"
            revision="gtk-4-16" />
    <dependencies>
      <dep package="glib"/>
      <dep package="pango"/>
      <dep package="atk"/>
      <dep package="gdk-pixbuf"/>
      <dep package="graphene"/>
      <dep package="libepoxy"/>
      <dep package="sassc"/>
    </dependencies>
    <after>
      <dep package="meta-gtk-osx-bootstrap" />
    </after>
  </meson>
  <autotools id="gtk-mac-integration"
             autogenargs="--disable-python">
    <!-- gtk-mac-integration releases from master" -->
    <branch />
    <dependencies>
      <dep package="gtk+-3.0" />
    </dependencies>
  </autotools>
  <autotools id="libxml2">
   <branch module="libxml2"
            revision="2.13"/>
  </autotools>
  <meson id="librsvg"
         mesonargs="-Dintrospection=disabled -Ddocs=disabled">
      <branch module="librsvg"
              branch="librsvg-2.59" />
    <dependencies>
      <dep package="libxml2" />
      <dep package="cairo" />
      <dep package="pango" />
      <dep package="harfbuzz" />
      <dep package="freetype" />
    </dependencies>
  </meson>
  <meson id="adwaita-icon-theme">
    <branch branch="gnome-47" />
    <dependencies>
      <dep package="librsvg" />
    </dependencies>
  </meson>
  <!-- Null metamodule, provided so as not to break modules that use it. -->
  <metamodule id="meta-gtk-osx-freetype" />
</moduleset>