summaryrefslogtreecommitdiffstats
path: root/build-aux/osx/build/modulesets
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 14:32:59 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 14:32:59 +0000
commitadb934701975f6b0214475d1a8d0d1ce727b9d4d (patch)
tree5688c745d10b64c8856586864ec416a6bdae881d /build-aux/osx/build/modulesets
parentInitial commit. (diff)
downloadgedit-adb934701975f6b0214475d1a8d0d1ce727b9d4d.tar.xz
gedit-adb934701975f6b0214475d1a8d0d1ce727b9d4d.zip
Adding upstream version 3.38.1.upstream/3.38.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--build-aux/osx/build/modulesets/bootstrap.modules249
-rw-r--r--build-aux/osx/build/modulesets/gedit.modules553
-rw-r--r--build-aux/osx/build/modulesets/patches/berkeleydb-nonsrctree/atomic.patch20
-rw-r--r--build-aux/osx/build/modulesets/patches/berkeleydb/atomic.patch20
-rw-r--r--build-aux/osx/build/modulesets/patches/enchant/enchant-applespell.patch368
-rw-r--r--build-aux/osx/build/modulesets/patches/enchant/enchant-gsize.patch97
-rw-r--r--build-aux/osx/build/modulesets/patches/enchant/enchant-relocatable.patch40
-rw-r--r--build-aux/osx/build/modulesets/patches/gettext-runtime/gettext-bug33999-stpncpy.patch63
-rw-r--r--build-aux/osx/build/modulesets/patches/gettext-tools/gettext-bug33999-stpncpy.patch63
-rw-r--r--build-aux/osx/build/modulesets/patches/glib/0001-Bug-724590-GSlice-slab_stack-corruption.patch28
-rw-r--r--build-aux/osx/build/modulesets/patches/gobject-introspection/girscanner-objc.patch20
-rw-r--r--build-aux/osx/build/modulesets/patches/gtk+/0006-Bug-658722-Drag-and-Drop-sometimes-stops-working.patch274
-rw-r--r--build-aux/osx/build/modulesets/patches/gtk+/0008-Implement-GtkDragSourceOwner-pasteboardChangedOwner.patch39
-rw-r--r--build-aux/osx/build/modulesets/patches/gtk+/gtk+-2-m4-creation.patch5
-rw-r--r--build-aux/osx/build/modulesets/patches/gtk-mac-integration/0001-Fix-unhandled-exception-from-attempting-to-access-me.patch39
-rw-r--r--build-aux/osx/build/modulesets/patches/itstool/itstool.use-correct-libxml.patch28
-rw-r--r--build-aux/osx/build/modulesets/patches/libgcrypt/libgcrypt-build-clang.patch97
-rw-r--r--build-aux/osx/build/modulesets/patches/libxml2/libxml2-Bug-686118-pthreads_once_init.patch33
-rw-r--r--build-aux/osx/build/modulesets/patches/readline/readline62-00146
-rw-r--r--build-aux/osx/build/modulesets/patches/readline/readline62-00257
-rw-r--r--build-aux/osx/build/modulesets/patches/readline/readline62-00376
-rw-r--r--build-aux/osx/build/modulesets/patches/readline/readline62-004108
-rw-r--r--build-aux/osx/build/modulesets/patches/shared-mime-info/0001-Bug-70255-Build-fails-with-glib-2.38.patch42
23 files changed, 2365 insertions, 0 deletions
diff --git a/build-aux/osx/build/modulesets/bootstrap.modules b/build-aux/osx/build/modulesets/bootstrap.modules
new file mode 100644
index 0000000..e6dfdc5
--- /dev/null
+++ b/build-aux/osx/build/modulesets/bootstrap.modules
@@ -0,0 +1,249 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!DOCTYPE moduleset SYSTEM "moduleset.dtd">
+<moduleset><repository type="tarball" name="apache.org" href="http://archive.apache.org/dist/"/>
+ <repository type="tarball" name="cmake" href="http://www.cmake.org/files/"/>
+ <repository type="tarball" name="cpan" href="http://search.cpan.org/CPAN/"/>
+ <repository type="tarball" name="ftp.gnome.org" default="yes" href="ftp://ftp.gnome.org/pub/gnome/sources/"/>
+ <repository type="tarball" name="ftp.gnu.org" href="ftp://ftp.gnu.org/gnu/"/>
+ <repository type="tarball" name="intltool" href="http://launchpad.net/intltool/trunk/"/>
+
+ <repository type="tarball" name="itstool.org" href="http://files.itstool.org/itstool/"/>
+ <repository type="tarball" name="oracle" href="http://download.oracle.com/"/>
+
+ <repository type="tarball" name="pkgconfig" href="http://pkgconfig.freedesktop.org/releases/"/>
+ <repository type="tarball" name="python" href="http://www.python.org/ftp/python/"/>
+ <repository type="tarball" name="sourceforge" href="http://downloads.sourceforge.net/sourceforge/"/>
+ <repository type="tarball" name="tukaani.org" href="http://tukaani.org/"/>
+ <repository type="tarball" name="xmlsoft.org" href="ftp://xmlsoft.org/libxml2/"/>
+ <autotools id="berkeleydb-nonsrctree" autogen-sh="configure" autogen-template="%(srcdir)s/dist/%(autogen-sh)s --prefix %(prefix)s --libdir %(libdir)s %(autogenargs)s">
+
+ <branch module="berkeley-db/db-4.8.30.NC.tar.gz" version="4.8.30" repo="oracle">
+ <patch file="berkeleydb-nonsrctree/atomic.patch" strip="1"/>
+ </branch>
+ </autotools>
+
+ <autotools id="berkeleydb" autogen-sh="configure" supports-non-srcdir-builds="no" makeargs="-C build_unix" autogen-template="cd build_unix; ../dist/%(autogen-sh)s --prefix %(prefix)s --libdir %(libdir)s %(autogenargs)s" makeinstallargs="-C build_unix install">
+
+ <branch module="berkeley-db/db-4.8.30.NC.tar.gz" version="4.8.30" repo="oracle">
+ <patch file="berkeleydb/atomic.patch" strip="1"/>
+ </branch>
+ </autotools>
+
+ <autotools id="readline" autogen-sh="configure">
+ <branch repo="ftp.gnu.org" module="readline/readline-6.2.tar.gz" version="6.2">
+ <patch file="readline/readline62-001" strip="0"/>
+ <patch file="readline/readline62-002" strip="0"/>
+ <patch file="readline/readline62-003" strip="0"/>
+ <patch file="readline/readline62-004" strip="0"/>
+ </branch>
+ </autotools>
+
+ <autotools id="gettext-runtime" autogen-sh="configure" autogenargs="--without-emacs --disable-java --disable-native-java --disable-libasprintf --disable-csharp">
+ <branch repo="ftp.gnu.org" source-subdir="gettext-runtime" module="gettext/gettext-0.18.1.1.tar.gz" version="0.18.1.1" size="15139737" md5sum="3dd55b952826d2b32f51308f2f91aa89">
+ <patch file="gettext-runtime/gettext-bug33999-stpncpy.patch" strip="1"/>
+ </branch>
+ </autotools>
+
+ <autotools id="python" autogenargs="--enable-shared" autogen-sh="configure">
+ <branch repo="python" module="2.7.6/Python-2.7.6.tar.xz" version="2.7.6">
+ </branch>
+ <dependencies>
+ <dep package="gettext-runtime"/>
+ <dep package="readline"/>
+ </dependencies>
+ <after>
+ <dep package="berkeleydb"/>
+ <dep package="berkeleydb-nonsrctree"/>
+ </after>
+ </autotools>
+
+ <autotools id="itstool" autogen-sh="autoreconf">
+ <branch repo="itstool.org" module="itstool-2.0.2.tar.bz2" version="2.0.2" hash="sha256:bf909fb59b11a646681a8534d5700fec99be83bb2c57badf8c1844512227033a" size="96748">
+ <patch file="itstool/itstool.use-correct-libxml.patch" strip="1"/>
+ </branch>
+ </autotools>
+
+ <autotools id="yelp-xsl" autogen-sh="configure">
+ <branch module="yelp-xsl/3.12/yelp-xsl-3.12.0.tar.xz" version="3.12.0" hash="sha256:dd0b8af338b1cdae50444273d7c761e3f511224421487311103edc95a4493656" repo="ftp.gnome.org"/>
+ <dependencies>
+ <dep package="libxslt"/>
+ <dep package="libxml2"/>
+ <dep package="intltool"/>
+ <dep package="itstool"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="libxml2" autogen-sh="configure" autogenargs="--with-python">
+ <branch version="2.9.0" module="libxml2-2.9.0.tar.gz" repo="xmlsoft.org">
+ <patch file="libxml2/libxml2-Bug-686118-pthreads_once_init.patch" strip="1"/>
+ </branch>
+ <dependencies>
+ <dep package="python"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="apr">
+ <branch repo="apache.org" module="apr/apr-1.4.5.tar.bz2" version="1.4.5"/>
+ </autotools>
+
+ <autotools id="yelp-tools" autogen-sh="configure">
+ <branch module="yelp-tools/3.13/yelp-tools-3.13.3.tar.xz" version="3.13.3" hash="sha256:20067061736e3d4ec05fc364a71d8e5d06b230528b6b7a16cb41e03c9bf3b8c6" repo="ftp.gnome.org"/>
+ <dependencies>
+ <dep package="libxslt"/>
+ <dep package="libxml2"/>
+ <dep package="intltool"/>
+ <dep package="yelp-xsl"/>
+ <dep package="itstool"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="libxslt" autogen-sh="configure">
+ <branch version="1.1.27" module="libxslt-1.1.27.tar.gz" repo="xmlsoft.org"/>
+ <dependencies>
+ <dep package="libxml2"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="apr-util" autogenargs="--with-apr=$PREFIX/bin/apr-1-config">
+ <branch repo="apache.org" module="apr/apr-util-1.3.12.tar.bz2" version="1.3.12"/>
+ <dependencies>
+ <dep package="apr"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="intltool" autogen-sh="configure">
+ <branch repo="intltool" module="0.50.2/+download/intltool-0.50.2.tar.gz" version="0.50.2" hash="md5:23fbd879118253cb99aeac067da5f591"/>
+ <dependencies>
+ <dep package="gnome-common"/>
+ <dep package="perl-xml-parser"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="gnome-common">
+ <branch module="gnome-common/3.12/gnome-common-3.12.0.tar.xz" version="3.12.0" hash="sha256:18712bc2df6b2dd88a11b9f7f874096d1c0c6e7ebc9cfc0686ef963bd590e1d8" repo="ftp.gnome.org"/>
+ </autotools>
+ <autotools id="gtk-doc" autogenargs="--disable-scrollkeeper --with-xml-catalog=$JHBUILD_PREFIX/etc/xml/catalog" makeargs="-k -i" makeinstallargs="-k -i install" autogen-sh="configure">
+ <branch version="1.21" module="gtk-doc/1.21/gtk-doc-1.21.tar.xz" hash="sha256:5d934d012ee08edd1585544792efa80da271652587ba5b843d2cea8e8b80ee3e" repo="ftp.gnome.org"/>
+ <dependencies>
+ <dep package="libxslt"/>
+ <dep package="yelp-tools"/>
+ </dependencies>
+ </autotools>
+<autotools id="gtk-osx-docbook" autogen-sh="configure" supports-non-srcdir-builds="no">
+ <branch repo="sourceforge" module="gtk-osx/gtk-osx-docbook-1.1.tar.gz" version="1.1"/>
+ </autotools>
+
+ <perl id="perl-xml-simple">
+ <branch repo="cpan" module="authors/id/G/GR/GRANTM/XML-Simple-2.20.tar.gz" version="2.20" size="75993" md5sum="4d10964e123b76eca36678464daa63cd"/>
+ <dependencies>
+ <dep package="perl-xml-parser"/>
+ </dependencies>
+ </perl>
+
+ <perl id="perl-xml-parser" makeargs="EXPATLIBPATH=${prefix}/lib EXPATINCPATH=${prefix}/include">
+ <branch repo="cpan" module="authors/id/T/TO/TODDR/XML-Parser-2.41.tar.gz" version="2.41"/>
+ <dependencies>
+ <dep package="expat"/>
+ </dependencies>
+ </perl>
+
+ <autotools id="expat" autogen-sh="configure">
+ <branch module="expat/expat-2.1.0.tar.gz" version="2.1.0" repo="sourceforge"/>
+ </autotools>
+
+ <autotools id="flex" autogen-sh="configure">
+ <branch repo="sourceforge" module="flex/flex-2.5.37.tar.bz2" version="2.5.37"/>
+ </autotools>
+
+ <autotools id="bison" autogen-sh="configure">
+ <branch repo="ftp.gnu.org" module="bison/bison-2.6.3.tar.bz2" version="2.6.3"/>
+ </autotools>
+
+ <autotools id="pkg-config" autogen-sh="configure">
+ <branch repo="pkgconfig" module="pkg-config-0.25.tar.gz" version="0.25"/>
+ </autotools>
+
+ <autotools id="automake-1.13" autogen-sh="configure">
+ <branch repo="ftp.gnu.org" module="automake/automake-1.13.1.tar.xz" version="1.13.1"/>
+ </autotools>
+
+<autotools id="automake-1.12" autogen-sh="configure">
+ <branch repo="ftp.gnu.org" module="automake/automake-1.12.6.tar.xz" version="1.12.6"/>
+ </autotools>
+
+ <autotools id="automake-1.11" autogen-sh="configure">
+ <branch repo="ftp.gnu.org" module="automake/automake-1.11.6.tar.xz" version="1.11.6"/>
+ </autotools>
+
+ <autotools id="automake-1.10" autogen-sh="configure">
+ <branch repo="ftp.gnu.org" module="automake/automake-1.10.3.tar.bz2" version="1.10.3" size="957505" md5sum="b8e67fb458da396bc35555af7ef2b49f"/>
+ </autotools>
+
+ <autotools id="libtool" autogen-sh="configure">
+ <branch repo="ftp.gnu.org" module="libtool/libtool-2.4.2.tar.gz" version="2.4.2"/>
+ </autotools>
+
+ <autotools id="autoconf" autogen-sh="configure">
+ <branch repo="ftp.gnu.org" module="autoconf/autoconf-2.69.tar.xz" version="2.69"/>
+ <dependencies>
+ <dep package="m4"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="m4" autogen-sh="configure">
+ <branch repo="ftp.gnu.org" module="m4/m4-1.4.16.tar.bz2" version="1.4.16"/>
+ </autotools>
+
+ <autotools id="cmake" autogen-sh="bootstrap" autogen-template="%(srcdir)s/%(autogen-sh)s --prefix=%(prefix)s %(autogenargs)s">
+ <branch repo="cmake" module="v2.8/cmake-2.8.12.tar.gz" version="2.8.12"/>
+ </autotools>
+
+ <autotools id="gettext-tools" autogen-sh="configure" autogenargs="--without-emacs --disable-java --disable-native-java --disable-libasprintf --disable-csharp --with-included-glib">
+ <branch repo="ftp.gnu.org" source-subdir="gettext-tools" module="gettext/gettext-0.18.1.1.tar.gz" version="0.18.1.1" size="15139737" md5sum="3dd55b952826d2b32f51308f2f91aa89">
+ <patch file="gettext-tools/gettext-bug33999-stpncpy.patch" strip="1"/>
+ </branch>
+ </autotools>
+
+ <autotools id="subversion">
+ <branch repo="apache.org" module="subversion/subversion-1.5.9.tar.bz2" version="1.5.9"/>
+ <dependencies>
+ <dep package="apr-util"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="make">
+ <branch repo="ftp.gnu.org" module="make/make-3.82.tar.gz" version="3.82"/>
+ </autotools>
+
+ <autotools id="xz" autogen-sh="configure">
+ <branch repo="tukaani.org" module="xz/xz-5.0.4.tar.bz2" version="5.0.4"/>
+ </autotools>
+
+ <metamodule id="meta-bootstrap">
+ <dependencies>
+ <dep package="xz"/>
+ <dep package="make"/> <!-- Needed for Tiger, skipped otherwise -->
+ <dep package="subversion"/> <!-- Needed for Tiger, skipped otherwise -->
+ <dep package="gettext-tools"/> <!-- Needed for 64-bit -->
+ <dep package="cmake"/>
+ <dep package="m4"/> <!-- Can be skipped for Leopard and later -->
+ <dep package="autoconf"/>
+ <dep package="libtool"/>
+ <dep package="automake-1.10"/>
+ <dep package="automake-1.11"/>
+ <dep package="automake-1.12"/>
+ <dep package="automake-1.13"/>
+ <dep package="pkg-config"/>
+ <dep package="bison"/> <!-- included for Tiger, skipped otherwise -->
+ <dep package="flex"/> <!-- included for Tiger, skipped otherwise -->
+ <dep package="expat"/>
+ <dep package="perl-xml-parser"/>
+ <dep package="perl-xml-simple"/>
+ <dep package="gtk-osx-docbook"/>
+ <dep package="gtk-doc"/>
+ <dep package="gnome-common"/>
+ <dep package="intltool"/>
+ </dependencies>
+ </metamodule>
+
+</moduleset>
diff --git a/build-aux/osx/build/modulesets/gedit.modules b/build-aux/osx/build/modulesets/gedit.modules
new file mode 100644
index 0000000..f8497b9
--- /dev/null
+++ b/build-aux/osx/build/modulesets/gedit.modules
@@ -0,0 +1,553 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!DOCTYPE moduleset SYSTEM "moduleset.dtd">
+<moduleset><repository type="tarball" name="abisource/enchant" href="http://www.abisource.com/downloads/enchant/"/>
+ <repository type="tarball" name="cairographics" href="http://cairographics.org/releases/"/>
+
+ <repository type="tarball" name="cairographics.org" href="http://cairographics.org/releases/"/>
+ <repository type="tarball" name="cups" href="http://ftp.easysw.com/pub/"/>
+
+ <repository type="tarball" name="fontconfig" href="http://www.freedesktop.org/software/fontconfig/release/"/>
+ <repository type="tarball" name="ftp.gnome.org" default="yes" href="ftp://ftp.gnome.org/pub/gnome/sources/"/>
+ <repository type="tarball" name="ftp.gnu.org" href="ftp://ftp.gnu.org/gnu/"/>
+ <repository type="tarball" name="ftp.gnupg.org" href="ftp://ftp.gnupg.org/"/>
+ <repository type="git" name="git.github.com" href="https://github.com/"/>
+
+ <repository type="git" name="git.gnome.org" href="git://git.gnome.org/"/>
+ <repository type="tarball" name="hadess" href="http://freedesktop.org/~hadess/"/>
+ <repository type="tarball" name="harfbuzz" href="http://www.freedesktop.org/software/harfbuzz/release/"/>
+ <repository type="tarball" name="icon-theme" href="http://icon-theme.freedesktop.org/releases/"/>
+ <repository type="tarball" name="iso-codes" href="http://pkg-isocodes.alioth.debian.org/downloads/"/>
+ <repository type="tarball" name="jpeg" href="http://www.ijg.org/files/"/>
+ <repository type="tarball" name="libtiff" href="http://download.osgeo.org/"/>
+ <repository type="tarball" name="oracle" href="http://download.oracle.com/"/>
+ <repository type="tarball" name="python" href="https://www.python.org/ftp/python/"/>
+ <repository type="tarball" name="sourceforge" href="http://downloads.sourceforge.net/sourceforge/"/>
+ <repository type="tarball" name="sourceware.org" href="ftp://sourceware.org/pub/"/>
+
+ <repository type="tarball" name="sqlite" href="http://www.sqlite.org/"/>
+ <repository type="tarball" name="tango.freedesktop.org" href="http://tango.freedesktop.org/releases/"/>
+ <repository type="tarball" name="tarball.github.com" href="https://github.com/"/>
+ <repository type="tarball" name="xmlsoft.org" href="ftp://xmlsoft.org/libxml2/"/>
+ <autotools id="libcroco" autogenargs="--disable-Bsymbolic" autogen-sh="configure">
+ <branch module="libcroco/0.6/libcroco-0.6.8.tar.xz" version="0.6.8" hash="sha256:ea6e1b858c55219cefd7109756bff5bc1a774ba7a55f7d3ccd734d6b871b8570" repo="ftp.gnome.org"/>
+ </autotools>
+
+ <autotools id="libgpg-error" autogen-sh="configure" supports-non-srdir-builds="no">
+ <branch repo="ftp.gnupg.org" version="1.10" module="gcrypt/libgpg-error/libgpg-error-1.10.tar.bz2"/>
+ </autotools>
+
+ <autotools id="libtasn1" supports-non-srcdir-builds="no" autogen-sh="configure">
+ <branch repo="ftp.gnu.org" version="2.14" module="libtasn1/libtasn1-2.14.tar.gz"/>
+ </autotools>
+
+ <autotools id="gnome-icon-theme" autogen-sh="configure">
+ <branch module="gnome-icon-theme/3.12/gnome-icon-theme-3.12.0.tar.xz" version="3.12.0" hash="sha256:359e720b9202d3aba8d477752c4cd11eced368182281d51ffd64c8572b4e503a" repo="ftp.gnome.org"/>
+ <dependencies>
+ <dep package="hicolor-icon-theme"/>
+ <dep package="icon-naming-utils"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="librsvg" autogenargs="--disable-Bsymbolic">
+ <branch module="librsvg/2.40/librsvg-2.40.3.tar.xz" version="2.40.3" hash="sha256:eb2755fe8bf0aa5b439bcf94edc880f08396b4c79fd54c73147df0607c63c98f" repo="ftp.gnome.org"/>
+ <dependencies>
+ <dep package="libcroco"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="pixman" autogenargs="--disable-gtk" autogen-sh="configure">
+ <branch version="0.30.2" module="pixman-0.30.2.tar.gz" repo="cairographics" hash="sha1:59cc9cd91a2394b7c0aa90ffc7c141f06d75f066"/>
+ <after>
+ <dep package="meta-gtk-osx-bootstrap"/>
+ </after>
+ </autotools>
+
+ <autotools id="libxml2" autogen-sh="configure" autogenargs="--with-python">
+ <branch version="2.9.0" module="libxml2-2.9.0.tar.gz" repo="xmlsoft.org">
+ <patch file="libxml2/libxml2-Bug-686118-pthreads_once_init.patch" strip="1"/>
+ </branch>
+ <after>
+ <dep package="python"/>
+ <dep package="python3"/>
+ </after>
+ </autotools>
+
+ <autotools id="libgcrypt" autogen-sh="configure" autogenargs="--disable-asm">
+ <branch repo="ftp.gnupg.org" version="1.5.3" module="gcrypt/libgcrypt/libgcrypt-1.5.3.tar.bz2">
+ <patch file="libgcrypt/libgcrypt-build-clang.patch" strip="1"/>
+ </branch>
+ <dependencies>
+ <dep package="libgpg-error"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="gnutls" autogen-sh="configure" autogenargs="--with-libgcrypt --without-p11-kit">
+ <branch repo="ftp.gnu.org" version="2.12.20" module="gnutls/gnutls-2.12.20.tar.bz2"/>
+ <dependencies>
+ <dep package="libgcrypt"/>
+ <dep package="libtasn1"/>
+ <dep package="zlib"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="berkeleydb-nonsrctree" autogen-sh="configure" autogen-template="%(srcdir)s/dist/%(autogen-sh)s --prefix %(prefix)s --libdir %(libdir)s %(autogenargs)s">
+
+ <branch module="berkeley-db/db-4.8.30.NC.tar.gz" version="4.8.30" repo="oracle">
+ <patch file="berkeleydb-nonsrctree/atomic.patch" strip="1"/>
+ </branch>
+ </autotools>
+
+ <autotools id="berkeleydb" autogen-sh="configure" supports-non-srcdir-builds="no" makeargs="-C build_unix" autogen-template="cd build_unix; ../dist/%(autogen-sh)s --prefix %(prefix)s --libdir %(libdir)s %(autogenargs)s" makeinstallargs="-C build_unix install">
+
+ <branch module="berkeley-db/db-4.8.30.NC.tar.gz" version="4.8.30" repo="oracle">
+ <patch file="berkeleydb/atomic.patch" strip="1"/>
+ </branch>
+ </autotools>
+
+ <autotools id="adwaita-icon-theme" autogen-sh="configure">
+ <branch module="adwaita-icon-theme/3.13/adwaita-icon-theme-3.13.91.tar.xz" version="3.13.91" hash="sha256:d0cf4705d3439c68d344431b62cca5fe6fcf91bd38c745c48b2476d0aa41b8ad" repo="ftp.gnome.org"/>
+ <dependencies>
+ <dep package="hicolor-icon-theme"/>
+ <dep package="icon-naming-utils"/>
+ <dep package="librsvg"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="gnome-themes-standard" autogen-sh="configure" autogenargs="--disable-gtk2-engine">
+ <branch module="gnome-themes-standard/3.13/gnome-themes-standard-3.13.90.tar.xz" version="3.13.90" hash="sha256:76bfbf25cdd6f86fdbf15b085c5bcfbe0abf4715510a917ec023a4d780fb5f53" repo="ftp.gnome.org"/>
+ <dependencies>
+ <dep package="librsvg"/>
+ <dep package="gnome-icon-theme"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="icon-naming-utils" autogen-sh="configure">
+ <branch repo="tango.freedesktop.org" version="0.8.90" module="icon-naming-utils-0.8.90.tar.bz2" hash="md5:dd8108b56130b9eedc4042df634efa66"/>
+ <after>
+ <dep package="meta-gtk-osx-bootstrap"/>
+ </after>
+ </autotools>
+
+ <autotools id="gtk+" autogen-sh="autoreconf" autogenargs="--with-gdktarget=quartz --enable-quartz-relocation --disable-introspection">
+ <branch module="gtk+/2.24/gtk+-2.24.21.tar.xz" version="2.24.21" hash="sha256:302e9216dd19ec4b5b9e2f77275e23758253f7e86b06287284d8e794ef38dce3" repo="ftp.gnome.org">
+ <!--patch file="http://git.gnome.org/browse/gtk-osx/plain/patches/0004-Bug-571582-GtkSelection-implementation-for-quartz.patch" strip="1"/-->
+ <patch file="gtk+/0008-Implement-GtkDragSourceOwner-pasteboardChangedOwner.patch" strip="1"/>
+ <patch file="gtk+/0006-Bug-658722-Drag-and-Drop-sometimes-stops-working.patch" strip="1"/>
+<patch file="gtk+/gtk+-2-m4-creation.patch" strip="1"/>
+ </branch>
+ <dependencies>
+ <dep package="glib"/>
+ <dep package="pango"/>
+ <dep package="atk"/>
+ <dep package="gdk-pixbuf"/>
+ <dep package="gobject-introspection"/>
+ </dependencies>
+ <after>
+ <dep package="meta-gtk-osx-bootstrap"/>
+ </after>
+ </autotools>
+
+ <autotools id="atk" autogen-sh="configure">
+ <branch module="atk/2.13/atk-2.13.90.tar.xz" version="2.13.90" hash="sha256:66a1ddf2ee3e8251012d428740549d7ac176135451927bcc4c332e3ed12dfc47" repo="ftp.gnome.org"/>
+ <dependencies>
+ </dependencies>
+ <after>
+ <dep package="glib"/>
+ <dep package="glib"/>
+ <dep package="meta-gtk-osx-bootstrap"/>
+ </after>
+ </autotools>
+
+ <autotools id="gdk-pixbuf" autogen-sh="configure">
+ <branch module="gdk-pixbuf/2.31/gdk-pixbuf-2.31.1.tar.xz" version="2.31.1" hash="sha256:25a75e3c61dac11e6ff6416ad846951ccafac6486b1c6a1bfb0b213b99db52cd" repo="ftp.gnome.org"/>
+ <after>
+ <dep package="pango"/>
+ </after>
+ </autotools>
+
+ <autotools id="pango" autogen-sh="autoreconf">
+ <branch version="1.36.7" module="pango/1.36/pango-1.36.7.tar.xz" hash="sha256:1f7b527423a1b3044fd9ae7fbe054107b06723ff1c73e0b5f7bf9b84358d404a" repo="ftp.gnome.org">
+ </branch>
+ <dependencies>
+ <dep package="cairo"/>
+ </dependencies>
+ <after>
+ <dep package="gobject-introspection"/>
+ <dep package="meta-gtk-osx-freetype"/>
+ <dep package="glib"/>
+ <dep package="meta-gtk-osx-bootstrap"/>
+ </after>
+ </autotools>
+
+ <autotools id="zlib" autogen-sh="configure" skip-autogen="never" supports-non-srcdir-builds="no">
+ <branch repo="sourceforge" version="1.2.7" module="libpng/zlib-1.2.7.tar.gz"/>
+ </autotools>
+
+ <autotools id="python" autogenargs="--enable-shared" autogen-sh="configure">
+ <branch repo="python" module="2.7.6/Python-2.7.6.tar.xz" version="2.7.6">
+ </branch>
+ <dependencies>
+ <dep package="gettext-runtime"/>
+ <dep package="readline"/>
+ </dependencies>
+ <after>
+ <dep package="berkeleydb"/>
+ <dep package="berkeleydb-nonsrctree"/>
+ </after>
+ </autotools>
+
+ <autotools id="cairo" autogen-sh="configure" autogenargs="--enable-pdf --enable-quartz --enable-xlib=no --without-x">
+ <branch module="cairo-1.12.16.tar.xz" version="1.12.16" repo="cairographics" hash="sha1:4f6e337d5d3edd7ea79d1426f575331552b003ec">
+ </branch>
+ <dependencies>
+ <dep package="pixman"/>
+ </dependencies>
+ <after>
+ <dep package="meta-gtk-osx-bootstrap"/>
+ <dep package="fontconfig"/>
+ <dep package="freetype"/>
+ </after>
+ </autotools>
+
+ <autotools id="libffi" autogenargs="--disable-builddir" autogen-sh="configure">
+ <branch module="libffi/libffi-3.0.13.tar.gz" repo="sourceware.org" version="3.0.13" checkoutdir="atgreen-libffi-873d687"/>
+ </autotools>
+
+<autotools id="libxslt" autogen-sh="configure">
+ <branch version="1.1.27" module="libxslt-1.1.27.tar.gz" repo="xmlsoft.org"/>
+ <dependencies>
+ <dep package="libxml2"/>
+ </dependencies>
+ </autotools>
+
+<autotools id="sqlite" autogenargs="--disable-tcl --enable-threadsafe" autogen-sh="configure">
+ <branch module="sqlite-autoconf-3071401.tar.gz" version="3.7.14" repo="sqlite"/>
+ </autotools>
+
+<autotools id="glib-networking" autogen-sh="configure" autogenargs="--without-ca-certificates set_more_warnings=no">
+ <branch module="glib-networking/2.41/glib-networking-2.41.4.tar.xz" version="2.41.4" hash="sha256:930ad618865dcf81765d0f48cb6f13e22d76203efa59d30604aed0384ce80fd7" repo="ftp.gnome.org"/>
+ <dependencies>
+ <dep package="gnutls"/>
+ <dep package="libgcrypt"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="pygobject3" autogenargs="--with-python=python3">
+ <branch module="pygobject" repo="git.gnome.org"/>
+ <dependencies>
+ <dep package="meta-gtk-osx-gtk3"/>
+ </dependencies>
+ <after>
+ <dep package="python"/>
+ <dep package="python3"/>
+ </after>
+ </autotools>
+
+ <waf id="pycairo-python3" autogen-sh="configure" python-command="python3">
+ <branch module="pycairo-1.10.0.tar.bz2" repo="cairographics.org" version="1.10.0" hash="sha1:b4283aa1cc9aafd12fd72ad371303a486da1d014"/>
+ <dependencies>
+ <dep package="python3"/>
+ <dep package="cairo"/>
+ </dependencies>
+ <after>
+ <dep package="python3"/>
+ <dep package="meta-gtk-osx-gtk3"/>
+ </after>
+ </waf>
+
+ <autotools id="python3" autogenargs="--enable-shared" autogen-sh="configure">
+ <branch repo="python" module="3.3.2/Python-3.3.2.tar.xz" version="3.3.2"/>
+ <dependencies>
+ <dep package="gettext-runtime"/>
+ <dep package="readline"/>
+ </dependencies>
+ <after>
+ <dep package="berkeleydb"/>
+ <dep package="berkeleydb-nonsrctree"/>
+ </after>
+ </autotools>
+
+ <metamodule id="meta-gtk-osx-gtk3-core-themes">
+ <dependencies>
+ <dep package="icon-naming-utils"/>
+ <dep package="gnome-themes-standard"/>
+ <dep package="adwaita-icon-theme"/>
+ </dependencies>
+ </metamodule>
+
+ <autotools id="gtk-mac-integration" autogen-sh="configure" autogenargs="--disable-python">
+ <branch module="gtk-mac-integration/2.0/gtk-mac-integration-2.0.5.tar.xz" version="2.0.5" hash="sha256:6c4ff7501d7ff35e49068052d80fcf76ce494e5953c5f3967e4958b1b0c67b9f" repo="ftp.gnome.org">
+ <patch file="gtk-mac-integration/0001-Fix-unhandled-exception-from-attempting-to-access-me.patch" strip="1"/>
+ </branch>
+ <dependencies>
+ </dependencies>
+ <after>
+ <dep package="gtk+"/>
+ <dep package="gtk+-3.0"/>
+ <dep package="meta-gtk-osx-bootstrap"/>
+ </after>
+ </autotools>
+
+<autotools id="gtk+-3.0" autogenargs="--enable-quartz-backend --enable-quartz-relocation --disable-colord --without-atk-bridge">
+ <branch module="jessevdk/gtk" checkoutdir="gtk+-3.0" repo="git.github.com" revision="wip/app-osx-int"/>
+ <dependencies>
+ <dep package="gobject-introspection"/>
+ <dep package="pango"/>
+ <dep package="gdk-pixbuf"/>
+ <dep package="atk"/>
+ </dependencies>
+ <after>
+ <dep package="meta-gtk-osx-bootstrap"/>
+ </after>
+ </autotools>
+
+ <autotools id="harfbuzz" autogen-sh="configure" autogenargs="--with-coretext">
+ <branch repo="harfbuzz" module="harfbuzz-0.9.26.tar.bz2" version="0.9.26"/>
+ <dependencies>
+ <dep package="freetype"/>
+ <dep package="fontconfig"/>
+ <dep package="glib"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="fontconfig" autogen-sh="autoreconf" autogenargs="--disable-docs">
+ <branch repo="fontconfig" version="2.11.0" module="fontconfig-2.11.0.tar.gz"/>
+ <dependencies>
+ <dep package="freetype"/>
+ </dependencies>
+ </autotools>
+
+<autotools id="freetype" autogen-sh="configure" skip-autogen="never" autogenargs="--without-bzip2">
+ <branch module="freetype/freetype-2.5.2.tar.gz" version="2.5.2" repo="sourceforge">
+ </branch>
+ <dependencies>
+ <dep package="zlib"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="gobject-introspection" autogen-sh="configure">
+ <branch module="gobject-introspection/1.41/gobject-introspection-1.41.91.tar.xz" version="1.41.91" hash="sha256:a1ea708eeaa13dcc5a3078b1ae5aae178f22410023a56c699560f4e068722d9e" repo="ftp.gnome.org">
+ <patch file="gobject-introspection/girscanner-objc.patch" strip="1"/>
+ </branch>
+ <dependencies>
+ <dep package="glib"/>
+ <dep package="cairo"/>
+ </dependencies>
+ <after>
+ <dep package="python"/>
+ </after>
+ </autotools>
+
+ <autotools id="glib" autogen-sh="autoreconf">
+ <branch module="glib/2.41/glib-2.41.4.tar.xz" version="2.41.4" hash="sha256:1661bc4abfd1b0b59ae7abbef9d6a60c32192a7a65122753d5d8cc2db110fbf7" repo="ftp.gnome.org">
+ <patch file="glib/0001-Bug-724590-GSlice-slab_stack-corruption.patch" strip="1"/>
+ </branch>
+ <dependencies>
+ <dep package="libffi"/>
+ </dependencies>
+ <after>
+ <dep package="meta-gtk-osx-bootstrap"/>
+ </after>
+ </autotools>
+
+ <cmake id="libgit2" cmakeargs="-DTHREADSAFE:BOOL=1">
+ <branch repo="tarball.github.com" module="libgit2/libgit2/archive/v${version}.tar.gz" version="0.21.0" hash="ae2afb5729ab6dcf6f690e5d66cb876372eaaedd37dc4fb072ad8da92338e099" checkoutdir="libgit2-${version}">
+ </branch>
+ </cmake>
+
+ <autotools id="hicolor-icon-theme" autogen-sh="configure" supports-non-srcdir-builds="no">
+ <branch module="hicolor-icon-theme-0.11.tar.gz" repo="icon-theme" version="0.11"/>
+
+ </autotools>
+
+ <autotools id="gnome-doc-utils" autogenargs="--disable-scrollkeeper" autogen-sh="configure" supports-non-srcdir-builds="no">
+ <branch module="gnome-doc-utils/0.20/gnome-doc-utils-0.20.10.tar.xz" version="0.20.10" hash="sha256:cb0639ffa9550b6ddf3b62f3b1add92fb92ab4690d351f2353cffe668be8c4a6" repo="ftp.gnome.org"/>
+ <dependencies>
+ <dep package="libxslt"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="gettext-runtime" autogen-sh="configure" autogenargs="--without-emacs --disable-java --disable-native-java --disable-libasprintf --disable-csharp">
+ <branch repo="ftp.gnu.org" source-subdir="gettext-runtime" module="gettext/gettext-0.18.1.1.tar.gz" version="0.18.1.1" size="15139737" md5sum="3dd55b952826d2b32f51308f2f91aa89">
+ <patch file="gettext-runtime/gettext-bug33999-stpncpy.patch" strip="1"/>
+ </branch>
+ </autotools>
+
+ <autotools id="libtiff" autogen-sh="configure" autogenargs="--without-x --without-apple-opengl-framework">
+ <branch version="3.9.5" module="libtiff/tiff-3.9.5.tar.gz" repo="libtiff"/>
+ <dependencies>
+ <dep package="libjpeg"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="libjpeg" autogen-sh="configure">
+ <branch module="jpegsrc.v8d.tar.gz" version="8c" repo="jpeg" checkoutdir="jpeg-8d">
+ </branch>
+ </autotools>
+
+ <autotools id="libpng" autogenargs="--enable-shared" autogen-sh="configure">
+ <branch version="1.5.13" module="libpng/libpng-1.5.13.tar.bz2" repo="sourceforge"/>
+ </autotools>
+
+ <autotools id="cups" autogen-sh="configure" skip-autogen="never" autogenargs="DSOFLAGS=&quot;$LDFLAGS&quot;">
+ <branch module="cups/1.2.12/cups-1.2.12-source.tar.bz2" version="1.2.12" repo="cups" checkoutdir="cups-1.2.12"/>
+ <dependencies>
+ <dep package="libtiff"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="readline" autogen-sh="configure">
+ <branch repo="ftp.gnu.org" module="readline/readline-6.3.tar.gz" version="6.3">
+ </branch>
+ </autotools>
+
+ <autotools id="libsoup" autogen-sh="configure" autogenargs="set_more_warnings=no">
+ <branch module="libsoup/2.46/libsoup-2.46.0.tar.xz" version="2.46.0" hash="sha256:fa3d5574c1a2df521242e2ca624a2b3057121798cab9f8f40525aa186a7b15a3" repo="ftp.gnome.org"/>
+ <dependencies>
+ <dep package="glib"/>
+ <dep package="glib-networking"/>
+ <dep package="sqlite"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="shared-mime-info" autogen-sh="configure" supports-non-srcdir-builds="no">
+ <branch module="shared-mime-info-1.2.tar.xz" version="1.2" repo="hadess">
+ <patch file="shared-mime-info/0001-Bug-70255-Build-fails-with-glib-2.38.patch" strip="1"/>
+ </branch>
+ <dependencies>
+ <dep package="glib"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="iso-codes" autogen-sh="configure">
+ <branch module="iso-codes-3.51.tar.xz" version="3.51" repo="iso-codes"/>
+ </autotools>
+
+ <autotools id="gsettings-desktop-schemas">
+ <branch module="gsettings-desktop-schemas/3.13/gsettings-desktop-schemas-3.13.92.tar.xz" version="3.13.92" hash="sha256:82338a066b48cf39f190ef7a82db46bc6a6a451cbe08d43dca7d03364bf9c034" repo="ftp.gnome.org">
+ </branch>
+ <dependencies>
+ <dep package="meta-gtk-osx-bootstrap"/>
+ <dep package="glib"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="enchant" autogenargs="--disable-myspell --disable-ispell">
+ <branch module="1.6.0/enchant-1.6.0.tar.gz" version="1.6.0" repo="abisource/enchant">
+ <patch file="enchant/enchant-gsize.patch" strip="1"/>
+ <patch file="enchant/enchant-applespell.patch" strip="1"/>
+ <patch file="enchant/enchant-relocatable.patch" strip="1"/>
+ </branch>
+ <dependencies>
+ <dep package="glib"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="gtksourceview3">
+ <branch module="gtksourceview" repo="git.gnome.org"/>
+ <after>
+ <dep package="meta-gtk-osx-bootstrap"/>
+ <dep package="meta-gtk-osx-gtk3"/>
+ </after>
+ </autotools>
+
+ <autotools id="libpeas" autogenargs="PYTHON=python3 --disable-python2 --enable-python3">
+ <branch module="libpeas" repo="git.gnome.org">
+ </branch>
+ <dependencies>
+ <dep package="python3"/>
+ <dep package="meta-gtk-osx-bootstrap"/>
+ <dep package="meta-gtk-osx-gtk3"/>
+ <dep package="pycairo-python3"/>
+ <dep package="pygobject3"/>
+ </dependencies>
+ </autotools>
+
+ <metamodule id="meta-gtk-osx-gtk3">
+ <dependencies>
+ <dep package="gtk+-3.0"/>
+ <dep package="gtk-mac-integration"/>
+ <dep package="meta-gtk-osx-gtk3-core-themes"/>
+ </dependencies>
+ <after>
+ <dep package="meta-gtk-osx-bootstrap"/>
+ </after>
+ </metamodule>
+
+ <metamodule id="meta-gtk-osx-freetype">
+ <dependencies>
+ <dep package="freetype"/>
+ <dep package="fontconfig"/>
+ <dep package="harfbuzz"/>
+ </dependencies>
+ </metamodule>
+
+ <autotools id="vte" autogenargs="--disable-Bsymbolic --disable-vala --disable-gnome-pty-helper">
+ <branch module="jessevdk/vte" repo="git.github.com"/>
+ <dependencies>
+ <dep package="meta-gtk-osx-gtk3"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="libgit2-glib">
+ <branch module="libgit2-glib/0.0/libgit2-glib-0.0.20.tar.xz" version="0.0.20" hash="sha256:f8a10c8d3fcad14eed080dff6b8db0c72866c11a05b9731af31cb7258bcc8d95" repo="ftp.gnome.org"/>
+ <dependencies>
+ <dep package="libgit2"/>
+ <dep package="glib"/>
+ <dep package="gobject-introspection"/>
+ </dependencies>
+ </autotools>
+
+ <metamodule id="meta-gtk-osx-bootstrap">
+ <dependencies>
+ <dep package="readline"/>
+ <dep package="cups"/>
+ <dep package="libpng"/>
+ <dep package="libjpeg"/>
+ <dep package="libtiff"/>
+ <dep package="gettext-runtime"/>
+ <dep package="gnome-doc-utils"/>
+ <dep package="hicolor-icon-theme"/>
+ </dependencies>
+ </metamodule>
+
+ <metamodule id="gedit-deps">
+ <dependencies>
+ <dep package="meta-gtk-osx-bootstrap"/>
+ <dep package="meta-gtk-osx-freetype"/>
+ <dep package="meta-gtk-osx-gtk3"/>
+ <dep package="libpeas"/>
+ <dep package="gtksourceview3"/>
+ <dep package="enchant"/>
+ <dep package="gsettings-desktop-schemas"/>
+ <dep package="iso-codes"/>
+ <dep package="shared-mime-info"/>
+ <dep package="libsoup"/>
+ </dependencies>
+ </metamodule>
+
+ <autotools id="gedit-plugins">
+ <branch module="gedit-plugins" repo="git.gnome.org"/>
+ <dependencies>
+ <dep package="meta-gtk-osx-bootstrap"/>
+ <dep package="gedit"/>
+ <dep package="libgit2-glib"/>
+ <dep package="vte"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="gedit" autogenargs="PYTHON=python3">
+ <branch repo="git.gnome.org" module="gedit"/>
+ <dependencies>
+ <dep package="gedit-deps"/>
+ </dependencies>
+ </autotools>
+
+ <metamodule id="gedit-meta">
+ <dependencies>
+ <dep package="gedit"/>
+ <dep package="gedit-plugins"/>
+ </dependencies>
+ </metamodule>
+
+</moduleset>
diff --git a/build-aux/osx/build/modulesets/patches/berkeleydb-nonsrctree/atomic.patch b/build-aux/osx/build/modulesets/patches/berkeleydb-nonsrctree/atomic.patch
new file mode 100644
index 0000000..398aa1d
--- /dev/null
+++ b/build-aux/osx/build/modulesets/patches/berkeleydb-nonsrctree/atomic.patch
@@ -0,0 +1,20 @@
+--- src/dbinc/atomic.h 2013-03-12 14:07:22.000000000 -0400
++++ src/dbinc/atomic.h.change 2013-03-12 14:06:35.000000000 -0400
+@@ -144,7 +144,7 @@
+ #define atomic_inc(env, p) __atomic_inc(p)
+ #define atomic_dec(env, p) __atomic_dec(p)
+ #define atomic_compare_exchange(env, p, o, n) \
+- __atomic_compare_exchange((p), (o), (n))
++ __atomic_compare_exchange_db((p), (o), (n))
+ static inline int __atomic_inc(db_atomic_t *p)
+ {
+ int temp;
+@@ -176,7 +176,7 @@
+ * http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
+ * which configure could be changed to use.
+ */
+-static inline int __atomic_compare_exchange(
++static inline int __atomic_compare_exchange_db(
+ db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval)
+ {
+ atomic_value_t was;
diff --git a/build-aux/osx/build/modulesets/patches/berkeleydb/atomic.patch b/build-aux/osx/build/modulesets/patches/berkeleydb/atomic.patch
new file mode 100644
index 0000000..398aa1d
--- /dev/null
+++ b/build-aux/osx/build/modulesets/patches/berkeleydb/atomic.patch
@@ -0,0 +1,20 @@
+--- src/dbinc/atomic.h 2013-03-12 14:07:22.000000000 -0400
++++ src/dbinc/atomic.h.change 2013-03-12 14:06:35.000000000 -0400
+@@ -144,7 +144,7 @@
+ #define atomic_inc(env, p) __atomic_inc(p)
+ #define atomic_dec(env, p) __atomic_dec(p)
+ #define atomic_compare_exchange(env, p, o, n) \
+- __atomic_compare_exchange((p), (o), (n))
++ __atomic_compare_exchange_db((p), (o), (n))
+ static inline int __atomic_inc(db_atomic_t *p)
+ {
+ int temp;
+@@ -176,7 +176,7 @@
+ * http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
+ * which configure could be changed to use.
+ */
+-static inline int __atomic_compare_exchange(
++static inline int __atomic_compare_exchange_db(
+ db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval)
+ {
+ atomic_value_t was;
diff --git a/build-aux/osx/build/modulesets/patches/enchant/enchant-applespell.patch b/build-aux/osx/build/modulesets/patches/enchant/enchant-applespell.patch
new file mode 100644
index 0000000..f6f1f65
--- /dev/null
+++ b/build-aux/osx/build/modulesets/patches/enchant/enchant-applespell.patch
@@ -0,0 +1,368 @@
+--- a/configure.in (revision 30591)
++++ b/configure.in (working copy)
+@@ -33,4 +33,5 @@
+ AC_PROG_CC
+ AC_PROG_CPP
++AC_PROG_OBJC
+ AC_PROG_INSTALL
+ AC_PROG_LN_S
+--- a/src/applespell/Makefile.am 2010-04-01 22:53:37.000000000 +0200
++++ b/src/applespell/Makefile.am 2012-01-11 22:42:13.000000000 +0100
+@@ -1,4 +1,13 @@
+-EXTRA_DIST= \
+- applespell_checker.h \
+- applespell_checker.mm \
+- AppleSpell.config
++target_lib = libenchant_applespell.la
++
++INCLUDES=-I$(top_srcdir)/src $(ENCHANT_CFLAGS) $(CC_WARN_CFLAGS) -DXP_TARGET_COCOA -xobjective-c -D_ENCHANT_BUILD=1
++
++applespell_LTLIBRARIES = $(target_lib)
++applespelldir= $(libdir)/enchant
++
++libenchant_applespell_la_LIBADD= $(ENCHANT_LIBS) -lobjc $(top_builddir)/src/libenchant.la
++libenchant_applespell_la_LDFLAGS = -module -avoid-version -no-undefined -framework Cocoa
++libenchant_applespell_la_SOURCES = applespell_provider.m
++libenchant_applespell_la_LIBTOOLFLAGS = --tag=CC
++
++libenchant_applespell_lalibdir=$(libdir)/enchant
+--- a/src/applespell/applespell_provider.m 2012-01-11 22:46:35.000000000 +0100
++++ b/src/applespell/applespell_provider.m 2012-01-11 22:39:17.000000000 +0100
+@@ -0,0 +1,337 @@
++/* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
++/* enchant
++ * Copyright (C) 2004 Remi Payette
++ * Copyright (C) 2004 Francis James Franklin
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2
++ * of the License, or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
++ * 02110-1301, USA.
++ */
++
++#include <glib.h>
++#include <gmodule.h>
++#include <Cocoa/Cocoa.h>
++#include <AvailabilityMacros.h>
++
++#include "enchant-provider.h"
++
++#ifdef __cplusplus
++extern "C"
++{
++#endif
++
++ENCHANT_MODULE_EXPORT (EnchantProvider *)
++init_enchant_provider (void);
++
++ENCHANT_MODULE_EXPORT (void)
++configure_enchant_provider (EnchantProvider *provider, const gchar *module_dir);
++
++#ifdef __cplusplus
++}
++#endif
++
++ENCHANT_PLUGIN_DECLARE("AppleSpell")
++
++typedef struct
++{
++ NSSpellChecker *checker;
++ NSString *language;
++} Dictionary;
++
++static Dictionary *
++dictionary_new (NSSpellChecker *checker,
++ NSString *language)
++{
++ Dictionary *ret;
++
++ ret = g_slice_new (Dictionary);
++
++ ret->checker = checker;
++ ret->language = language;
++
++ return ret;
++}
++
++static void
++dictionary_free (Dictionary *dictionary)
++{
++ [dictionary->language release];
++ g_slice_free (Dictionary, dictionary);
++}
++
++static gchar **
++applespell_dict_suggest (EnchantDict *dict,
++ const gchar * const word,
++ size_t len,
++ size_t *out_n_suggs)
++{
++ NSAutoreleasePool *pool;
++ gchar **ret = NULL;
++ NSString *str;
++ Dictionary *d;
++ NSArray *words;
++ NSRange range;
++ guint i = 0;
++
++ pool = [[NSAutoreleasePool alloc] init];
++
++ d = dict->user_data;
++
++ str = [[NSString alloc] initWithBytes:word length:len encoding:NSUTF8StringEncoding];
++
++ range.location = 0;
++ range.length = [str length];
++
++#if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_5
++ words = [d->checker guessesForWordRange:range
++ inString:str
++ language:d->language
++ inSpellDocumentWithTag:0];
++#else
++ [d->checker setLanguage:d->language];
++ words = [d->checker guessesForWord:str];
++#endif
++
++ *out_n_suggs = [words count];
++
++ ret = g_new0 (gchar *, *out_n_suggs + 1);
++
++ for (i = 0; i < [words count]; ++i)
++ {
++ ret[i] = g_strdup ([[words objectAtIndex:i] UTF8String]);
++ }
++
++ [str release];
++ [pool release];
++
++ return ret;
++}
++
++static gint
++applespell_dict_check (EnchantDict *dict,
++ const gchar * const word,
++ size_t len)
++{
++ NSAutoreleasePool *pool;
++ gint result = 0;
++ NSString *str;
++ Dictionary *d;
++ NSRange range;
++
++ pool = [[NSAutoreleasePool alloc] init];
++
++ d = dict->user_data;
++
++ str = [[NSString alloc] initWithBytes:word length:len encoding:NSUTF8StringEncoding];
++
++ range = [d->checker checkSpellingOfString:str
++ startingAt:0
++ language:d->language
++ wrap:true
++ inSpellDocumentWithTag:0
++ wordCount:NULL];
++
++ result = range.length > 0 ? 1 : 0;
++
++ [str release];
++ [pool release];
++
++ return result;
++}
++
++static EnchantDict *
++applespell_provider_request_dict (EnchantProvider *provider,
++ const char * const tag)
++{
++ NSAutoreleasePool *pool;
++ EnchantDict *dict;
++ NSString *str;
++
++ pool = [[NSAutoreleasePool alloc] init];
++ str = [[NSString alloc] initWithUTF8String:tag];
++
++ dict = g_new0 (EnchantDict, 1);
++
++ dict->check = applespell_dict_check;
++ dict->suggest = applespell_dict_suggest;
++
++ dict->user_data = dictionary_new (provider->user_data,
++ str);
++
++ [str retain];
++
++ [pool release];
++ return dict;
++}
++
++static void
++applespell_provider_dispose_dict (EnchantProvider *provider,
++ EnchantDict *dict)
++{
++ NSAutoreleasePool *pool;
++
++ pool = [[NSAutoreleasePool alloc] init];
++
++ dictionary_free (dict->user_data);
++ g_free (dict);
++
++ [pool release];
++}
++
++#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
++static gchar const *available_languages[] = {
++ "en",
++ "en_GB",
++ "en_AU",
++ "de",
++ "fr",
++ "nl",
++ "pl",
++ NULL
++};
++
++#endif
++
++static gint
++applespell_provider_dictionary_exists (EnchantProvider *provider,
++ const gchar * const tag)
++{
++ NSAutoreleasePool *pool;
++ gint result = 0;
++ NSSpellChecker *checker;
++#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
++ NSArray *languages;
++ guint i;
++#else
++ gchar const **ptr;
++#endif
++
++ pool = [[NSAutoreleasePool alloc] init];
++
++ checker = provider->user_data;
++
++#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
++ languages = [checker availableLanguages];
++
++ for (i = 0; i < [languages count]; ++i)
++ {
++ if (g_strcmp0 (tag, [[languages objectAtIndex:i] UTF8String]) == 0)
++ {
++ result = 1;
++ break;
++ }
++ }
++#else
++ ptr = available_languages;
++
++ while (ptr && *ptr)
++ {
++ if (g_strcmp0 (tag, *ptr) == 0)
++ {
++ result = 1;
++ break;
++ }
++ ++ptr;
++ }
++#endif
++
++ [pool release];
++
++ return result;
++}
++
++static void
++applespell_provider_dispose (EnchantProvider *provider)
++{
++ g_free (provider);
++}
++
++static const gchar *
++applespell_provider_identify (EnchantProvider *provider)
++{
++ return "AppleSpell";
++}
++
++static const gchar *
++applespell_provider_describe (EnchantProvider *provider)
++{
++ return "AppleSpell Provider";
++}
++
++static gchar **
++applespell_provider_list_dicts (EnchantProvider *provider,
++ size_t *out_n_dicts)
++{
++ NSSpellChecker *checker;
++ NSAutoreleasePool *pool;
++ gchar **ret = NULL;
++#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
++ NSArray *languages;
++ guint i = 0;
++#endif
++
++ pool = [[NSAutoreleasePool alloc] init];
++
++ checker = provider->user_data;
++
++#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
++ languages = [checker availableLanguages];
++ *out_n_dicts = [languages count];
++
++ ret = g_new0 (gchar *, *out_n_dicts + 1);
++
++ for (i = 0; i < [languages count]; ++i)
++ {
++ ret[i] = g_strdup ([[languages objectAtIndex:i] UTF8String]);
++ }
++#else
++ ret = g_strdupv ((gchar **)available_languages);
++#endif
++
++ [pool release];
++
++ return ret;
++}
++
++ENCHANT_MODULE_EXPORT (EnchantProvider *)
++init_enchant_provider (void)
++{
++ NSAutoreleasePool *pool;
++ EnchantProvider *provider;
++
++ pool = [[NSAutoreleasePool alloc] init];
++
++ provider = g_new0 (EnchantProvider, 1);
++
++ provider->dispose = applespell_provider_dispose;
++ provider->request_dict = applespell_provider_request_dict;
++ provider->dispose_dict = applespell_provider_dispose_dict;
++ provider->dictionary_exists = applespell_provider_dictionary_exists;
++ provider->identify = applespell_provider_identify;
++ provider->describe = applespell_provider_describe;
++ provider->list_dicts = applespell_provider_list_dicts;
++
++ provider->user_data = [NSSpellChecker sharedSpellChecker];
++
++ [pool release];
++
++ return provider;
++}
++
++ENCHANT_MODULE_EXPORT (void)
++configure_enchant_provider (EnchantProvider *provider,
++ const gchar *module_dir)
++{
++ return;
++}
diff --git a/build-aux/osx/build/modulesets/patches/enchant/enchant-gsize.patch b/build-aux/osx/build/modulesets/patches/enchant/enchant-gsize.patch
new file mode 100644
index 0000000..5bfba14
--- /dev/null
+++ b/build-aux/osx/build/modulesets/patches/enchant/enchant-gsize.patch
@@ -0,0 +1,97 @@
+--- a/src/ispell/ispell_checker.cpp Thu Apr 1 13:53:37 2010
++++ b/src/ispell/ispell_checker.cpp Mon Feb 24 15:35:49 2014
+@@ -162,7 +162,7 @@
+ else
+ {
+ /* convert to 8bit string and null terminate */
+- size_t len_in, len_out, result;
++ gsize len_in, len_out, result;
+ // the 8bit encodings use precomposed forms
+ char *normalizedWord = g_utf8_normalize (utf8Word, length, G_NORMALIZE_NFC);
+ char *In = normalizedWord;
+@@ -172,7 +172,7 @@
+ len_out = sizeof( szWord ) - 1;
+ result = g_iconv(m_translate_in, &In, &len_in, &Out, &len_out);
+ g_free(normalizedWord);
+- if ((size_t)-1 == result)
++ if ((gsize)-1 == result)
+ return false;
+ *Out = '\0';
+ }
+@@ -210,7 +210,7 @@
+ {
+ /* convert to 8bit string and null terminate */
+
+- size_t len_in, len_out, result;
++ gsize len_in, len_out, result;
+ // the 8bit encodings use precomposed forms
+ char *normalizedWord = g_utf8_normalize (utf8Word, length, G_NORMALIZE_NFC);
+ char *In = normalizedWord;
+@@ -219,7 +219,7 @@
+ len_out = sizeof( word8 ) - 1;
+ result = g_iconv(m_translate_in, &In, &len_in, &Out, &len_out);
+ g_free(normalizedWord);
+- if ((size_t)-1 == result)
++ if ((gsize)-1 == result)
+ return NULL;
+ *Out = '\0';
+ }
+@@ -252,13 +252,13 @@
+ {
+ /* convert to 32bit string and null terminate */
+
+- size_t len_in, len_out;
++ gsize len_in, len_out;
+ char *In = m_possibilities[c];
+ char *Out = reinterpret_cast<char *>(utf8Sugg);
+
+ len_in = l;
+ len_out = INPUTWORDLEN + MAXAFFIXLEN;
+- if ((size_t)-1 == g_iconv(m_translate_out, &In, &len_in, &Out, &len_out)) {
++ if ((gsize)-1 == g_iconv(m_translate_out, &In, &len_in, &Out, &len_out)) {
+ *out_n_suggestions = c;
+ return sugg_arr;
+ }
+--- a/src/myspell/myspell_checker.cpp Thu Apr 1 13:53:37 2010
++++ b/src/myspell/myspell_checker.cpp Mon Feb 24 15:37:56 2014
+@@ -159,11 +159,11 @@
+ char *in = normalizedWord;
+ char word8[MAXWORDLEN + 1];
+ char *out = word8;
+- size_t len_in = strlen(in);
+- size_t len_out = sizeof( word8 ) - 1;
+- size_t result = g_iconv(m_translate_in, &in, &len_in, &out, &len_out);
++ gsize len_in = strlen(in);
++ gsize len_out = sizeof( word8 ) - 1;
++ gsize result = g_iconv(m_translate_in, &in, &len_in, &out, &len_out);
+ g_free(normalizedWord);
+- if ((size_t)-1 == result)
++ if ((gsize)-1 == result)
+ return false;
+ *out = '\0';
+ if (myspell->spell(word8))
+@@ -185,11 +185,11 @@
+ char *in = normalizedWord;
+ char word8[MAXWORDLEN + 1];
+ char *out = word8;
+- size_t len_in = strlen(in);
+- size_t len_out = sizeof(word8) - 1;
+- size_t result = g_iconv(m_translate_in, &in, &len_in, &out, &len_out);
++ gsize len_in = strlen(in);
++ gsize len_out = sizeof(word8) - 1;
++ gsize result = g_iconv(m_translate_in, &in, &len_in, &out, &len_out);
+ g_free(normalizedWord);
+- if ((size_t)-1 == result)
++ if ((gsize)-1 == result)
+ return NULL;
+
+ *out = '\0';
+@@ -203,7 +203,7 @@
+ len_out = MAXWORDLEN;
+ char *word = g_new0(char, len_out + 1);
+ out = reinterpret_cast<char *>(word);
+- if ((size_t)-1 == g_iconv(m_translate_out, &in, &len_in, &out, &len_out)) {
++ if ((gsize)-1 == g_iconv(m_translate_out, &in, &len_in, &out, &len_out)) {
+ for (size_t j = i; j < *nsug; j++)
+ free(sugMS[j]);
+ free(sugMS);
diff --git a/build-aux/osx/build/modulesets/patches/enchant/enchant-relocatable.patch b/build-aux/osx/build/modulesets/patches/enchant/enchant-relocatable.patch
new file mode 100644
index 0000000..7e56eb7
--- /dev/null
+++ b/build-aux/osx/build/modulesets/patches/enchant/enchant-relocatable.patch
@@ -0,0 +1,40 @@
+--- a/src/enchant.c 2010-04-01 22:53:37.000000000 +0200
++++ b/src/enchant.c 2014-08-26 21:32:21.000000000 +0200
+@@ -210,6 +210,13 @@
+ char * module_dir = NULL;
+ char * prefix = NULL;
+
++ const char *envdir = g_getenv ("ENCHANT_MODULES_DIR");
++
++ if (envdir != NULL && *envdir != '\0')
++ {
++ module_dirs = enchant_slist_append_unique_path (module_dirs, g_strdup (envdir));
++ }
++
+ {
+ char* user_module_dir;
+
+@@ -239,7 +246,8 @@
+ module_dirs = enchant_slist_append_unique_path (module_dirs, module_dir);
+
+ #if defined(ENCHANT_GLOBAL_MODULE_DIR)
+- module_dirs = enchant_slist_append_unique_path (module_dirs, g_strdup (ENCHANT_GLOBAL_MODULE_DIR));
++ if (envdir == NULL || *envdir == '\0')
++ module_dirs = enchant_slist_append_unique_path (module_dirs, g_strdup (ENCHANT_GLOBAL_MODULE_DIR));
+ #else
+ /* Dynamically locate library and search for modules relative to it. */
+ prefix = enchant_get_prefix_dir();
+@@ -278,6 +286,13 @@
+ if (ordering_dir)
+ conf_dirs = enchant_slist_append_unique_path (conf_dirs, ordering_dir);
+
++ const char *envdir = g_getenv ("ENCHANT_DATA_DIR");
++
++ if (envdir != NULL && *envdir != '\0')
++ {
++ conf_dirs = enchant_slist_append_unique_path (conf_dirs, g_strdup (envdir));
++ }
++
+ /* Dynamically locate library and search for files relative to it. */
+ prefix = enchant_get_prefix_dir();
+ if(prefix)
diff --git a/build-aux/osx/build/modulesets/patches/gettext-runtime/gettext-bug33999-stpncpy.patch b/build-aux/osx/build/modulesets/patches/gettext-runtime/gettext-bug33999-stpncpy.patch
new file mode 100644
index 0000000..eda2932
--- /dev/null
+++ b/build-aux/osx/build/modulesets/patches/gettext-runtime/gettext-bug33999-stpncpy.patch
@@ -0,0 +1,63 @@
+
+--- a/gettext-tools/libgettextpo/string.in.h Sun Apr 25 02:22:40 2010
++++ b/gettext-tools/libgettextpo/string.in.h Tue Oct 4 14:36:31 2011
+@@ -229,6 +229,7 @@
+ #if @GNULIB_STPNCPY@
+ # if @REPLACE_STPNCPY@
+ # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
++# undef stpncpy
+ # define stpncpy rpl_stpncpy
+ # endif
+ _GL_FUNCDECL_RPL (stpncpy, char *,
+
+ Rename module 'memxfrm' to 'amemxfrm'.
+--- a/gettext-tools/gnulib-lib/string.in.h Mon May 24 02:42:47 2010
++++ b/gettext-tools/gnulib-lib/string.in.h Tue Oct 4 14:35:46 2011
+@@ -229,6 +229,7 @@
+ #if @GNULIB_STPNCPY@
+ # if @REPLACE_STPNCPY@
+ # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
++# undef stpncpy
+ # define stpncpy rpl_stpncpy
+ # endif
+ _GL_FUNCDECL_RPL (stpncpy, char *,
+
+--- a/gettext-runtime/gnulib-lib/string.in.h Sun Apr 25 02:20:42 2010
++++ b/gettext-runtime/gnulib-lib/string.in.h Tue Oct 4 14:34:57 2011
+@@ -229,6 +229,7 @@
+ #if @GNULIB_STPNCPY@
+ # if @REPLACE_STPNCPY@
+ # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
++# undef stpncpy
+ # define stpncpy rpl_stpncpy
+ # endif
+ _GL_FUNCDECL_RPL (stpncpy, char *,
+--- a/gettext-tools/configure Sun Jun 6 13:12:20 2010
++++ b/gettext-tools/configure Tue Oct 4 16:29:27 2011
+@@ -40562,6 +40562,16 @@
+
+
+
++ ac_fn_c_check_decl "$LINENO" "stpncpy" "ac_cv_have_decl_stpncpy" "$ac_includes_default"
++if test "x$ac_cv_have_decl_stpncpy" = x""yes; then :
++ ac_have_decl=1
++else
++ ac_have_decl=0
++fi
++
++cat >>confdefs.h <<_ACEOF
++#define HAVE_DECL_STPNCPY $ac_have_decl
++_ACEOF
+
+
+
+@@ -40606,7 +40616,9 @@
+ #include <stdlib.h>
+ #include <string.h> /* for strcpy */
+ /* The stpncpy prototype is missing in <string.h> on AIX 4. */
++#if !HAVE_DECL_STPNCPY
+ extern char *stpncpy (char *dest, const char *src, size_t n);
++#endif
+ int main () {
+ const char *src = "Hello";
+ char dest[10];
diff --git a/build-aux/osx/build/modulesets/patches/gettext-tools/gettext-bug33999-stpncpy.patch b/build-aux/osx/build/modulesets/patches/gettext-tools/gettext-bug33999-stpncpy.patch
new file mode 100644
index 0000000..eda2932
--- /dev/null
+++ b/build-aux/osx/build/modulesets/patches/gettext-tools/gettext-bug33999-stpncpy.patch
@@ -0,0 +1,63 @@
+
+--- a/gettext-tools/libgettextpo/string.in.h Sun Apr 25 02:22:40 2010
++++ b/gettext-tools/libgettextpo/string.in.h Tue Oct 4 14:36:31 2011
+@@ -229,6 +229,7 @@
+ #if @GNULIB_STPNCPY@
+ # if @REPLACE_STPNCPY@
+ # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
++# undef stpncpy
+ # define stpncpy rpl_stpncpy
+ # endif
+ _GL_FUNCDECL_RPL (stpncpy, char *,
+
+ Rename module 'memxfrm' to 'amemxfrm'.
+--- a/gettext-tools/gnulib-lib/string.in.h Mon May 24 02:42:47 2010
++++ b/gettext-tools/gnulib-lib/string.in.h Tue Oct 4 14:35:46 2011
+@@ -229,6 +229,7 @@
+ #if @GNULIB_STPNCPY@
+ # if @REPLACE_STPNCPY@
+ # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
++# undef stpncpy
+ # define stpncpy rpl_stpncpy
+ # endif
+ _GL_FUNCDECL_RPL (stpncpy, char *,
+
+--- a/gettext-runtime/gnulib-lib/string.in.h Sun Apr 25 02:20:42 2010
++++ b/gettext-runtime/gnulib-lib/string.in.h Tue Oct 4 14:34:57 2011
+@@ -229,6 +229,7 @@
+ #if @GNULIB_STPNCPY@
+ # if @REPLACE_STPNCPY@
+ # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
++# undef stpncpy
+ # define stpncpy rpl_stpncpy
+ # endif
+ _GL_FUNCDECL_RPL (stpncpy, char *,
+--- a/gettext-tools/configure Sun Jun 6 13:12:20 2010
++++ b/gettext-tools/configure Tue Oct 4 16:29:27 2011
+@@ -40562,6 +40562,16 @@
+
+
+
++ ac_fn_c_check_decl "$LINENO" "stpncpy" "ac_cv_have_decl_stpncpy" "$ac_includes_default"
++if test "x$ac_cv_have_decl_stpncpy" = x""yes; then :
++ ac_have_decl=1
++else
++ ac_have_decl=0
++fi
++
++cat >>confdefs.h <<_ACEOF
++#define HAVE_DECL_STPNCPY $ac_have_decl
++_ACEOF
+
+
+
+@@ -40606,7 +40616,9 @@
+ #include <stdlib.h>
+ #include <string.h> /* for strcpy */
+ /* The stpncpy prototype is missing in <string.h> on AIX 4. */
++#if !HAVE_DECL_STPNCPY
+ extern char *stpncpy (char *dest, const char *src, size_t n);
++#endif
+ int main () {
+ const char *src = "Hello";
+ char dest[10];
diff --git a/build-aux/osx/build/modulesets/patches/glib/0001-Bug-724590-GSlice-slab_stack-corruption.patch b/build-aux/osx/build/modulesets/patches/glib/0001-Bug-724590-GSlice-slab_stack-corruption.patch
new file mode 100644
index 0000000..0e62201
--- /dev/null
+++ b/build-aux/osx/build/modulesets/patches/glib/0001-Bug-724590-GSlice-slab_stack-corruption.patch
@@ -0,0 +1,28 @@
+From 1b21a85f1914eecc107319cb94e8c8517291599b Mon Sep 17 00:00:00 2001
+From: John Ralls <jralls@ceridwen.us>
+Date: Mon, 17 Feb 2014 15:51:38 -0800
+Subject: [PATCH] Bug 724590 - GSlice slab_stack corruption
+
+Dereference allocation->contention_counters before trying to take the
+address of an element.
+---
+ glib/gslice.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/glib/gslice.c b/glib/gslice.c
+index 0563d80..2c5f4fb 100644
+--- a/glib/gslice.c
++++ b/glib/gslice.c
+@@ -715,7 +715,8 @@ static ChunkLink*
+ magazine_cache_pop_magazine (guint ix,
+ gsize *countp)
+ {
+- g_mutex_lock_a (&allocator->magazine_mutex, &allocator->contention_counters[ix]);
++ guint *counters = allocator->contention_counters;
++ g_mutex_lock_a (&allocator->magazine_mutex, &counters[ix]);
+ if (!allocator->magazines[ix])
+ {
+ guint magazine_threshold = allocator_get_magazine_threshold (allocator, ix);
+--
+1.8.3.rc0
+
diff --git a/build-aux/osx/build/modulesets/patches/gobject-introspection/girscanner-objc.patch b/build-aux/osx/build/modulesets/patches/gobject-introspection/girscanner-objc.patch
new file mode 100644
index 0000000..76d2bee
--- /dev/null
+++ b/build-aux/osx/build/modulesets/patches/gobject-introspection/girscanner-objc.patch
@@ -0,0 +1,20 @@
+diff --git a/giscanner/scannerlexer.l b/giscanner/scannerlexer.l
+index 6a40398..40f1fc0 100644
+--- a/giscanner/scannerlexer.l
++++ b/giscanner/scannerlexer.l
+@@ -108,6 +108,7 @@ stringtext ([^\\\"])|(\\.)
+ "|" { return '|'; }
+ "~" { return '~'; }
+ "!" { return '!'; }
++"@" { return '@'; }
+ "=" { return '='; }
+ "<" { return '<'; }
+ ">" { return '>'; }
+@@ -199,6 +200,7 @@ stringtext ([^\\\"])|(\\.)
+
+ "\""{stringtext}*"\"" { return STRING; }
+ "L\""{stringtext}*"\"" { return STRING; }
++"@\""{stringtext}*"\"" { return STRING; }
+
+ . { if (yytext[0]) fprintf(stderr, "%s:%d: unexpected character `%c'\n", scanner->current_filename, lineno, yytext[0]); }
+
diff --git a/build-aux/osx/build/modulesets/patches/gtk+/0006-Bug-658722-Drag-and-Drop-sometimes-stops-working.patch b/build-aux/osx/build/modulesets/patches/gtk+/0006-Bug-658722-Drag-and-Drop-sometimes-stops-working.patch
new file mode 100644
index 0000000..b0a1ef5
--- /dev/null
+++ b/build-aux/osx/build/modulesets/patches/gtk+/0006-Bug-658722-Drag-and-Drop-sometimes-stops-working.patch
@@ -0,0 +1,274 @@
+From dcd9ab00c64a1df63fd5fa58c2ca25efd9b3e09e Mon Sep 17 00:00:00 2001
+From: John Ralls <jralls@ceridwen.us>
+Date: Sat, 24 Sep 2011 18:14:09 -0700
+Subject: [PATCH 06/15] Bug 658722 - Drag and Drop sometimes stops working
+
+First, rather than assuming that there's already an event queued up if
+_gdk_quartz_drag_source_context isn't NULL, assume that it just didn't get
+cleaned up the last time it ran and abort it.
+
+This naturally requires implementing gdk_quartz_drag_abort(), so remove the
+code from [GdkQuartzNSWindow draggedImage:endedAt:operation:] and move it to
+gdkdnd_quartz.c as static void gdk_quartz_drag_end(). Implement both
+gdk_quartz_drag_drop() and gdk_quartz_drag_abort() by calling
+gdk_quartz_drag_end().
+
+Next, try to get rid of the memory cycle between gtk_drag_source_info.context
+and _gdk_quartz_drag_source_context (which carries the GtkQuartzDragSourceInfo
+struct as qdata). Replace gtk_drag_source_clear_info() by using a
+g_object_set_qdata_full() for context in gtk_drag_get_source_context, calling
+gtk_drag_source_info_destroy() as the destructor. This eliminates the need to
+queue a cleanup idle event. I use g_object_run_dispose() on
+_gtk_quartz_drag_source_context to force the deletion of the info stored as
+qdata, which in turn unrefs the info->context pointer. Ordinarily this gets
+fired off from draggedImage:endedAt:operation:, meaning that the special
+dragging CFRunLoop is complete and NSEvents are again flowing, so queuing a
+cleanup event isn't necessary. The advantage is that it can also be run from
+gdk_drag_abort, so if Gdk thinks there's a drag but CF doesn't all of the
+memory still gets cleaned up.
+---
+ gdk/quartz/GdkQuartzWindow.c | 16 +-------
+ gdk/quartz/gdkdnd-quartz.c | 35 +++++++++++++--
+ gtk/gtkdnd-quartz.c | 96 ++++++++++++++++-------------------------
+ 3 files changed, 69 insertions(+), 78 deletions(-)
+
+diff --git a/gdk/quartz/GdkQuartzWindow.c b/gdk/quartz/GdkQuartzWindow.c
+index dcd7250..20ed80e 100644
+--- a/gdk/quartz/GdkQuartzWindow.c
++++ b/gdk/quartz/GdkQuartzWindow.c
+@@ -560,21 +560,7 @@ update_context_from_dragging_info (id <NSDraggingInfo> sender)
+
+ - (void)draggedImage:(NSImage *)anImage endedAt:(NSPoint)aPoint operation:(NSDragOperation)operation
+ {
+- GdkEvent event;
+-
+- g_assert (_gdk_quartz_drag_source_context != NULL);
+-
+- event.dnd.type = GDK_DROP_FINISHED;
+- event.dnd.window = g_object_ref ([[self contentView] gdkWindow]);
+- event.dnd.send_event = FALSE;
+- event.dnd.context = _gdk_quartz_drag_source_context;
+-
+- (*_gdk_event_func) (&event, _gdk_event_data);
+-
+- g_object_unref (event.dnd.window);
+-
+- g_object_unref (_gdk_quartz_drag_source_context);
+- _gdk_quartz_drag_source_context = NULL;
++ gdk_drag_drop (_gdk_quartz_drag_source_context, (guint32)g_get_real_time());
+ }
+
+ @end
+diff --git a/gdk/quartz/gdkdnd-quartz.c b/gdk/quartz/gdkdnd-quartz.c
+index bb70b71..143a8ed 100644
+--- a/gdk/quartz/gdkdnd-quartz.c
++++ b/gdk/quartz/gdkdnd-quartz.c
+@@ -111,11 +111,20 @@ GdkDragContext *
+ gdk_drag_begin (GdkWindow *window,
+ GList *targets)
+ {
+- g_assert (_gdk_quartz_drag_source_context == NULL);
++ if (_gdk_quartz_drag_source_context != NULL)
++ {
++ /* Something is amiss with the existing drag, so log a message
++ and abort it */
++ g_warning ("Drag begun with existing context; aborting the preexisting drag");
++ gdk_drag_abort (_gdk_quartz_drag_source_context,
++ (guint32)g_get_real_time ());
++ }
++
+
+ /* Create fake context */
+ _gdk_quartz_drag_source_context = gdk_drag_context_new ();
+ _gdk_quartz_drag_source_context->is_source = TRUE;
++ _gdk_quartz_drag_source_context->source_window = window;
+
+ return _gdk_quartz_drag_source_context;
+ }
+@@ -155,20 +164,36 @@ gdk_drag_find_window_for_screen (GdkDragContext *context,
+ /* FIXME: Implement */
+ }
+
++static void
++gdk_quartz_drag_end (GdkDragContext *context)
++{
++ GdkEvent event;
++
++ g_assert (context != NULL);
++ event.dnd.type = GDK_DROP_FINISHED;
++ event.dnd.window = g_object_ref (context->source_window);
++ event.dnd.send_event = FALSE;
++ event.dnd.context = context;
++
++ (*_gdk_event_func) (&event, _gdk_event_data);
++
++ g_object_run_dispose (_gdk_quartz_drag_source_context);
++ _gdk_quartz_drag_source_context = NULL;
++}
++
+ void
+ gdk_drag_drop (GdkDragContext *context,
+ guint32 time)
+ {
+- /* FIXME: Implement */
++ gdk_quartz_drag_end (context);
+ }
+
+ void
+ gdk_drag_abort (GdkDragContext *context,
+ guint32 time)
+ {
+- g_return_if_fail (context != NULL);
+-
+- /* FIXME: Implement */
++ g_warning ("Gdk-quartz-drag-drop, aborting\n");
++ gdk_quartz_drag_end (context);
+ }
+
+ void
+diff --git a/gtk/gtkdnd-quartz.c b/gtk/gtkdnd-quartz.c
+index 5688568..be92a22 100644
+--- a/gtk/gtkdnd-quartz.c
++++ b/gtk/gtkdnd-quartz.c
+@@ -269,6 +269,39 @@ gtk_drag_dest_info_destroy (gpointer data)
+ g_free (info);
+ }
+
++static void
++gtk_drag_source_info_destroy (GtkDragSourceInfo *info)
++{
++ NSPasteboard *pasteboard;
++ NSAutoreleasePool *pool;
++
++ if (info->icon_pixbuf)
++ g_object_unref (info->icon_pixbuf);
++
++ g_signal_emit_by_name (info->widget, "drag-end",
++ info->context);
++
++ if (info->source_widget)
++ g_object_unref (info->source_widget);
++
++ if (info->widget)
++ g_object_unref (info->widget);
++
++ gtk_target_list_unref (info->target_list);
++
++ pool = [[NSAutoreleasePool alloc] init];
++
++ /* Empty the pasteboard, so that it will not accidentally access
++ * info->context after it has been destroyed.
++ */
++ pasteboard = [NSPasteboard pasteboardWithName: NSDragPboard];
++ [pasteboard declareTypes: nil owner: nil];
++
++ [pool release];
++
++ g_free (info);
++}
++
+ static GtkDragDestInfo *
+ gtk_drag_get_dest_info (GdkDragContext *context,
+ gboolean create)
+@@ -308,18 +341,14 @@ gtk_drag_get_source_info (GdkDragContext *context,
+ {
+ info = g_new0 (GtkDragSourceInfo, 1);
+ info->context = context;
+- g_object_set_qdata (G_OBJECT (context), dest_info_quark, info);
++ g_object_ref (info->context);
++ g_object_set_qdata_full (G_OBJECT (context), dest_info_quark,
++ info, gtk_drag_source_info_destroy);
+ }
+
+ return info;
+ }
+
+-static void
+-gtk_drag_clear_source_info (GdkDragContext *context)
+-{
+- g_object_set_qdata (G_OBJECT (context), dest_info_quark, NULL);
+-}
+-
+ GtkWidget *
+ gtk_drag_get_source_widget (GdkDragContext *context)
+ {
+@@ -1089,7 +1118,8 @@ gtk_drag_begin_idle (gpointer arg)
+ [owner release];
+ [types release];
+
+- if ((nswindow = get_toplevel_nswindow (info->source_widget)) == NULL)
++ if (info->source_widget == NULL
++ || (nswindow = get_toplevel_nswindow (info->source_widget)) == NULL)
+ return FALSE;
+
+ /* Ref the context. It's unreffed when the drag has been aborted */
+@@ -1108,7 +1138,6 @@ gtk_drag_begin_idle (gpointer arg)
+ source:nswindow
+ slideBack:YES];
+
+- [info->nsevent release];
+ [drag_image release];
+
+ [pool release];
+@@ -1833,61 +1862,12 @@ gtk_drag_set_default_icon (GdkColormap *colormap,
+ }
+
+ static void
+-gtk_drag_source_info_destroy (GtkDragSourceInfo *info)
+-{
+- NSPasteboard *pasteboard;
+- NSAutoreleasePool *pool;
+-
+- if (info->icon_pixbuf)
+- g_object_unref (info->icon_pixbuf);
+-
+- g_signal_emit_by_name (info->widget, "drag-end",
+- info->context);
+-
+- if (info->source_widget)
+- g_object_unref (info->source_widget);
+-
+- if (info->widget)
+- g_object_unref (info->widget);
+-
+- gtk_target_list_unref (info->target_list);
+-
+- pool = [[NSAutoreleasePool alloc] init];
+-
+- /* Empty the pasteboard, so that it will not accidentally access
+- * info->context after it has been destroyed.
+- */
+- pasteboard = [NSPasteboard pasteboardWithName: NSDragPboard];
+- [pasteboard declareTypes: nil owner: nil];
+-
+- [pool release];
+-
+- gtk_drag_clear_source_info (info->context);
+- g_object_unref (info->context);
+-
+- g_free (info);
+- info = NULL;
+-}
+-
+-static gboolean
+-drag_drop_finished_idle_cb (gpointer data)
+-{
+- gtk_drag_source_info_destroy (data);
+- return FALSE;
+-}
+-
+-static void
+ gtk_drag_drop_finished (GtkDragSourceInfo *info)
+ {
+ if (info->success && info->delete)
+ g_signal_emit_by_name (info->source_widget, "drag-data-delete",
+ info->context);
+
+- /* Workaround for the fact that the NS API blocks until the drag is
+- * over. This way the context is still valid when returning from
+- * drag_begin, even if it will still be quite useless. See bug #501588.
+- */
+- g_idle_add (drag_drop_finished_idle_cb, info);
+ }
+
+ /*************************************************************
diff --git a/build-aux/osx/build/modulesets/patches/gtk+/0008-Implement-GtkDragSourceOwner-pasteboardChangedOwner.patch b/build-aux/osx/build/modulesets/patches/gtk+/0008-Implement-GtkDragSourceOwner-pasteboardChangedOwner.patch
new file mode 100644
index 0000000..5b9153c
--- /dev/null
+++ b/build-aux/osx/build/modulesets/patches/gtk+/0008-Implement-GtkDragSourceOwner-pasteboardChangedOwner.patch
@@ -0,0 +1,39 @@
+From 259563958047ccbf6f61578f2d724fc731218304 Mon Sep 17 00:00:00 2001
+From: John Ralls <jralls@ceridwen.us>
+Date: Sun, 25 Sep 2011 12:03:54 -0700
+Subject: [PATCH 08/15] Implement GtkDragSourceOwner pasteboardChangedOwner:
+
+---
+ gtk/gtkdnd-quartz.c | 11 +++++++++++
+ 1 files changed, 11 insertions(+), 0 deletions(-)
+
+diff --git a/gtk/gtkdnd-quartz.c b/gtk/gtkdnd-quartz.c
+index 084aada..21ce11a 100644
+--- a/gtk/gtkdnd-quartz.c
++++ b/gtk/gtkdnd-quartz.c
+@@ -149,6 +149,8 @@ struct _GtkDragFindData
+ guint target_info;
+ GtkSelectionData selection_data;
+
++ g_return_if_fail(info->source_widget != NULL);
++ g_return_if_fail(info->target_list != NULL);
+ selection_data.selection = GDK_NONE;
+ selection_data.data = NULL;
+ selection_data.length = -1;
+@@ -171,6 +173,15 @@ struct _GtkDragFindData
+ }
+ }
+
++- (void)pasteboardChangedOwner: (NSPasteboard*)sender
++{
++ if (!info) return;
++
++ info->target_list = NULL;
++ info->widget = NULL;
++ info->source_widget = NULL;
++}
++
+ - (id)initWithInfo:(GtkDragSourceInfo *)anInfo
+ {
+ self = [super init];
+
diff --git a/build-aux/osx/build/modulesets/patches/gtk+/gtk+-2-m4-creation.patch b/build-aux/osx/build/modulesets/patches/gtk+/gtk+-2-m4-creation.patch
new file mode 100644
index 0000000..26321b7
--- /dev/null
+++ b/build-aux/osx/build/modulesets/patches/gtk+/gtk+-2-m4-creation.patch
@@ -0,0 +1,5 @@
+diff -uN gtk+-2.24.21/m4/.bogus gtk+-2.24.21.save/m4/.bogus
+--- gtk+-2.24.21/m4/.bogus 2013-10-02 08:01:33.000000000 -0700
++++ gtk+-2.24.21.save/m4/.bogus 2013-10-02 08:03:40.000000000 -0700
+@@ -0,0 +1 @@
++A phony file to enable making a patch to create this directory.
diff --git a/build-aux/osx/build/modulesets/patches/gtk-mac-integration/0001-Fix-unhandled-exception-from-attempting-to-access-me.patch b/build-aux/osx/build/modulesets/patches/gtk-mac-integration/0001-Fix-unhandled-exception-from-attempting-to-access-me.patch
new file mode 100644
index 0000000..87151bb
--- /dev/null
+++ b/build-aux/osx/build/modulesets/patches/gtk-mac-integration/0001-Fix-unhandled-exception-from-attempting-to-access-me.patch
@@ -0,0 +1,39 @@
+From cd3a21ff115cd6c6c11ce39aa62eaf912c78b060 Mon Sep 17 00:00:00 2001
+From: John Ralls <jralls@ceridwen.us>
+Date: Mon, 30 Dec 2013 12:20:26 -0800
+Subject: [PATCH] Fix unhandled exception from attempting to access menu
+ itemAtIndex:-1
+
+---
+ src/cocoa_menu_item.c | 14 +++++++++-----
+ 1 file changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/src/cocoa_menu_item.c b/src/cocoa_menu_item.c
+index 793c254..dd46586 100644
+--- a/src/cocoa_menu_item.c
++++ b/src/cocoa_menu_item.c
+@@ -550,12 +550,16 @@ cocoa_menu_item_add_item (NSMenu* cocoa_menu, GtkWidget* menu_item, int index)
+ /* Clean up adjacent separators: */
+ if ([cocoa_menu numberOfItems] > 0)
+ {
+- if (([cocoa_menu numberOfItems] == index ||
+- [[cocoa_menu itemAtIndex: index] isSeparatorItem]) &&
+- [[cocoa_menu itemAtIndex: index - 1] isSeparatorItem])
++ if (index == 0)
++ {
++ if ([[cocoa_menu itemAtIndex: index] isSeparatorItem])
++ [cocoa_menu removeItemAtIndex: index];
++ }
++ else if (([cocoa_menu numberOfItems] == index ||
++ [[cocoa_menu itemAtIndex: index] isSeparatorItem]) &&
++ [[cocoa_menu itemAtIndex: index - 1] isSeparatorItem])
+ [cocoa_menu removeItemAtIndex: index - 1];
+- if (index == 0 && [[cocoa_menu itemAtIndex: index] isSeparatorItem])
+- [cocoa_menu removeItemAtIndex: index];
++
+ }
+ }
+
+--
+1.8.3.rc0
+
diff --git a/build-aux/osx/build/modulesets/patches/itstool/itstool.use-correct-libxml.patch b/build-aux/osx/build/modulesets/patches/itstool/itstool.use-correct-libxml.patch
new file mode 100644
index 0000000..51a25c0
--- /dev/null
+++ b/build-aux/osx/build/modulesets/patches/itstool/itstool.use-correct-libxml.patch
@@ -0,0 +1,28 @@
+From d6ef86e2fb7bf9ddf888521e2c7dc5b5b7e4b6d8 Mon Sep 17 00:00:00 2001
+From: Michael Catanzaro <mcatanzaro@gnome.org>
+Date: Fri, 10 Jan 2014 23:50:52 -0600
+Subject: [PATCH] build: use $PYTHON when testing for libxml2
+
+/usr/bin/python is a symlink to /usr/bin/python3 on some systems.
+In this case, configure unconditionally checks for the Python 3 version
+of libxml2. Instead, use the version of Python found by AM_PATH_PYTHON.
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index c29efad..dbd0c7f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -14,7 +14,7 @@ AM_PATH_PYTHON([2.6])
+
+ py_module=libxml2
+ AC_MSG_CHECKING(for python module $py_module)
+-echo "import $py_module" | python - &>/dev/null
++echo "import $py_module" | $PYTHON - &>/dev/null
+ if test $? -ne 0; then
+ AC_MSG_RESULT(not found)
+ AC_MSG_ERROR(Python module $py_module is needed to run this package)
+--
+1.8.5.2
+
diff --git a/build-aux/osx/build/modulesets/patches/libgcrypt/libgcrypt-build-clang.patch b/build-aux/osx/build/modulesets/patches/libgcrypt/libgcrypt-build-clang.patch
new file mode 100644
index 0000000..5e6beb5
--- /dev/null
+++ b/build-aux/osx/build/modulesets/patches/libgcrypt/libgcrypt-build-clang.patch
@@ -0,0 +1,97 @@
+diff -c /Users/john/Development/gtk-sources/libgcrypt-1.5.3/cipher/rijndael.c\~ /Users/john/Development/gtk-sources/libgcrypt-1.5.3/cipher/rijndael.c
+--- a/cipher/rijndael.c Tue Oct 15 11:09:37 2013
++++ b/cipher/rijndael.c
+ Tue Oct 15 11:53:22 2013
+@@ -725,13 +725,13 @@
+ "movdqa 0x90(%%esi), %%xmm1\n\t"
+ aesenc_xmm1_xmm0
+ "movdqa 0xa0(%%esi), %%xmm1\n\t"
+- "cmp $10, %[rounds]\n\t"
++ "cmpl $10, %[rounds]\n\t"
+ "jz .Lenclast%=\n\t"
+ aesenc_xmm1_xmm0
+ "movdqa 0xb0(%%esi), %%xmm1\n\t"
+ aesenc_xmm1_xmm0
+ "movdqa 0xc0(%%esi), %%xmm1\n\t"
+- "cmp $12, %[rounds]\n\t"
++ "cmpl $12, %[rounds]\n\t"
+ "jz .Lenclast%=\n\t"
+ aesenc_xmm1_xmm0
+ "movdqa 0xd0(%%esi), %%xmm1\n\t"
+@@ -780,13 +780,13 @@
+ "movdqa 0x90(%%esi), %%xmm1\n\t"
+ aesdec_xmm1_xmm0
+ "movdqa 0xa0(%%esi), %%xmm1\n\t"
+- "cmp $10, %[rounds]\n\t"
++ "cmpl $10, %[rounds]\n\t"
+ "jz .Ldeclast%=\n\t"
+ aesdec_xmm1_xmm0
+ "movdqa 0xb0(%%esi), %%xmm1\n\t"
+ aesdec_xmm1_xmm0
+ "movdqa 0xc0(%%esi), %%xmm1\n\t"
+- "cmp $12, %[rounds]\n\t"
++ "cmpl $12, %[rounds]\n\t"
+ "jz .Ldeclast%=\n\t"
+ aesdec_xmm1_xmm0
+ "movdqa 0xd0(%%esi), %%xmm1\n\t"
+@@ -839,13 +839,13 @@
+ "movdqa 0x90(%%esi), %%xmm1\n\t"
+ aesenc_xmm1_xmm0
+ "movdqa 0xa0(%%esi), %%xmm1\n\t"
+- "cmp $10, %[rounds]\n\t"
++ "cmpl $10, %[rounds]\n\t"
+ "jz .Lenclast%=\n\t"
+ aesenc_xmm1_xmm0
+ "movdqa 0xb0(%%esi), %%xmm1\n\t"
+ aesenc_xmm1_xmm0
+ "movdqa 0xc0(%%esi), %%xmm1\n\t"
+- "cmp $12, %[rounds]\n\t"
++ "cmpl $12, %[rounds]\n\t"
+ "jz .Lenclast%=\n\t"
+ aesenc_xmm1_xmm0
+ "movdqa 0xd0(%%esi), %%xmm1\n\t"
+@@ -857,7 +857,7 @@
+ "movdqu %[src], %%xmm1\n\t" /* Save input. */
+ "pxor %%xmm1, %%xmm0\n\t" /* xmm0 = input ^ IV */
+
+- "cmp $1, %[decrypt]\n\t"
++ "cmpl $1, %[decrypt]\n\t"
+ "jz .Ldecrypt_%=\n\t"
+ "movdqa %%xmm0, %[iv]\n\t" /* [encrypt] Store IV. */
+ "jmp .Lleave_%=\n"
+@@ -918,13 +918,13 @@
+ "movdqa 0x90(%%esi), %%xmm1\n\t"
+ aesenc_xmm1_xmm0
+ "movdqa 0xa0(%%esi), %%xmm1\n\t"
+- "cmp $10, %[rounds]\n\t"
++ "cmpl $10, %[rounds]\n\t"
+ "jz .Lenclast%=\n\t"
+ aesenc_xmm1_xmm0
+ "movdqa 0xb0(%%esi), %%xmm1\n\t"
+ aesenc_xmm1_xmm0
+ "movdqa 0xc0(%%esi), %%xmm1\n\t"
+- "cmp $12, %[rounds]\n\t"
++ "cmpl $12, %[rounds]\n\t"
+ "jz .Lenclast%=\n\t"
+ aesenc_xmm1_xmm0
+ "movdqa 0xd0(%%esi), %%xmm1\n\t"
+@@ -1045,7 +1045,7 @@
+ aesenc_xmm1_xmm3
+ aesenc_xmm1_xmm4
+ "movdqa 0xa0(%%esi), %%xmm1\n\t"
+- "cmp $10, %[rounds]\n\t"
++ "cmpl $10, %[rounds]\n\t"
+ "jz .Lenclast%=\n\t"
+ aesenc_xmm1_xmm0
+ aesenc_xmm1_xmm2
+@@ -1057,7 +1057,7 @@
+ aesenc_xmm1_xmm3
+ aesenc_xmm1_xmm4
+ "movdqa 0xc0(%%esi), %%xmm1\n\t"
+- "cmp $12, %[rounds]\n\t"
++ "cmpl $12, %[rounds]\n\t"
+ "jz .Lenclast%=\n\t"
+ aesenc_xmm1_xmm0
+ aesenc_xmm1_xmm2
+
+Diff finished. Tue Oct 15 11:53:31 2013
diff --git a/build-aux/osx/build/modulesets/patches/libxml2/libxml2-Bug-686118-pthreads_once_init.patch b/build-aux/osx/build/modulesets/patches/libxml2/libxml2-Bug-686118-pthreads_once_init.patch
new file mode 100644
index 0000000..8f42220
--- /dev/null
+++ b/build-aux/osx/build/modulesets/patches/libxml2/libxml2-Bug-686118-pthreads_once_init.patch
@@ -0,0 +1,33 @@
+From 3f6cfbd1d38d0634a2ddcb9a0a13e1b5a2195a5e Mon Sep 17 00:00:00 2001
+From: Friedrich Haubensak <hsk@fli-leibniz.de>
+Date: Wed, 12 Sep 2012 15:34:53 +0000
+Subject: Fix a thread portability problem
+
+cannot compile libxml2-2.9.0 using studio 12.1 compiler on solaris 10
+
+I.M.O. structure initializer (as PTHREAD_ONCE_INIT) cannot be used in
+a structure assignment anyway
+---
+diff --git a/threads.c b/threads.c
+index f206149..7e85a26 100644
+--- a/threads.c
++++ b/threads.c
+@@ -146,6 +146,7 @@ struct _xmlRMutex {
+ static pthread_key_t globalkey;
+ static pthread_t mainthread;
+ static pthread_once_t once_control = PTHREAD_ONCE_INIT;
++static pthread_once_t once_control_init = PTHREAD_ONCE_INIT;
+ static pthread_mutex_t global_init_lock = PTHREAD_MUTEX_INITIALIZER;
+ #elif defined HAVE_WIN32_THREADS
+ #if defined(HAVE_COMPILER_TLS)
+@@ -915,7 +916,7 @@ xmlCleanupThreads(void)
+ #ifdef HAVE_PTHREAD_H
+ if ((libxml_is_threaded) && (pthread_key_delete != NULL))
+ pthread_key_delete(globalkey);
+- once_control = PTHREAD_ONCE_INIT;
++ once_control = once_control_init;
+ #elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
+ if (globalkey != TLS_OUT_OF_INDEXES) {
+ xmlGlobalStateCleanupHelperParams *p;
+--
+cgit v0.9.0.2
diff --git a/build-aux/osx/build/modulesets/patches/readline/readline62-001 b/build-aux/osx/build/modulesets/patches/readline/readline62-001
new file mode 100644
index 0000000..d4563c3
--- /dev/null
+++ b/build-aux/osx/build/modulesets/patches/readline/readline62-001
@@ -0,0 +1,46 @@
+ READLINE PATCH REPORT
+ =====================
+
+Readline-Release: 6.2
+Patch-ID: readline62-001
+
+Bug-Reported-by: Clark J. Wang <dearvoid@gmail.com>
+Bug-Reference-ID: <AANLkTimGbW7aC4E5infXP6ku5WPci4t=xVc+L1SyHqrD@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00157.html
+
+Bug-Description:
+
+The readline vi-mode `cc', `dd', and `yy' commands failed to modify the
+entire line.
+
+[This patch intentionally does not modify patchlevel]
+
+Patch (apply with `patch -p0'):
+
+*** ../readline-6.2-patched/vi_mode.c 2010-11-20 19:51:39.000000000 -0500
+--- vi_mode.c 2011-02-17 20:24:25.000000000 -0500
+***************
+*** 1115,1119 ****
+ _rl_vi_last_motion = c;
+ RL_UNSETSTATE (RL_STATE_VIMOTION);
+! return (0);
+ }
+ #if defined (READLINE_CALLBACKS)
+--- 1115,1119 ----
+ _rl_vi_last_motion = c;
+ RL_UNSETSTATE (RL_STATE_VIMOTION);
+! return (vidomove_dispatch (m));
+ }
+ #if defined (READLINE_CALLBACKS)
+*** ../readline-6.2-patched/callback.c 2010-06-06 12:18:58.000000000 -0400
+--- callback.c 2011-02-17 20:43:28.000000000 -0500
+***************
+*** 149,152 ****
+--- 149,155 ----
+ /* Should handle everything, including cleanup, numeric arguments,
+ and turning off RL_STATE_VIMOTION */
++ if (RL_ISSTATE (RL_STATE_NUMERICARG) == 0)
++ _rl_internal_char_cleanup ();
++
+ return;
+ }
diff --git a/build-aux/osx/build/modulesets/patches/readline/readline62-002 b/build-aux/osx/build/modulesets/patches/readline/readline62-002
new file mode 100644
index 0000000..3dc2604
--- /dev/null
+++ b/build-aux/osx/build/modulesets/patches/readline/readline62-002
@@ -0,0 +1,57 @@
+ READLINE PATCH REPORT
+ =====================
+
+Readline-Release: 6.2
+Patch-ID: readline62-002
+
+Bug-Reported-by: Vincent Sheffer <vince.sheffer@apisphere.com>
+Bug-Reference-ID: <F13C1C4F-C44C-4071-BFED-4BB6D13CF92F@apisphere.com>
+Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2011-08/msg00000.html
+
+Bug-Description:
+
+The readline shared library helper script needs to be updated for Mac OS X
+10.7 (Lion, darwin11).
+
+Patch (apply with `patch -p0'):
+
+*** ../readline-6.2-patched/support/shobj-conf 2009-10-28 09:20:21.000000000 -0400
+--- support/shobj-conf 2011-08-27 13:25:23.000000000 -0400
+***************
+*** 158,162 ****
+
+ # Darwin/MacOS X
+! darwin[89]*|darwin10*)
+ SHOBJ_STATUS=supported
+ SHLIB_STATUS=supported
+--- 172,176 ----
+
+ # Darwin/MacOS X
+! darwin[89]*|darwin1[012]*)
+ SHOBJ_STATUS=supported
+ SHLIB_STATUS=supported
+***************
+*** 187,191 ****
+
+ case "${host_os}" in
+! darwin[789]*|darwin10*) SHOBJ_LDFLAGS=''
+ SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
+ ;;
+--- 201,205 ----
+
+ case "${host_os}" in
+! darwin[789]*|darwin1[012]*) SHOBJ_LDFLAGS=''
+ SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
+ ;;
+
+*** ../readline-6.2-patched/patchlevel 2010-01-14 10:15:52.000000000 -0500
+--- patchlevel 2011-11-17 11:09:35.000000000 -0500
+***************
+*** 1,3 ****
+ # Do not edit -- exists only for use by patch
+
+! 1
+--- 1,3 ----
+ # Do not edit -- exists only for use by patch
+
+! 2
diff --git a/build-aux/osx/build/modulesets/patches/readline/readline62-003 b/build-aux/osx/build/modulesets/patches/readline/readline62-003
new file mode 100644
index 0000000..0462242
--- /dev/null
+++ b/build-aux/osx/build/modulesets/patches/readline/readline62-003
@@ -0,0 +1,76 @@
+ READLINE PATCH REPORT
+ =====================
+
+Readline-Release: 6.2
+Patch-ID: readline62-003
+
+Bug-Reported-by: Max Horn <max@quendi.de>
+Bug-Reference-ID: <20CC5C60-07C3-4E41-9817-741E48D407C5@quendi.de>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2012-06/msg00005.html
+
+Bug-Description:
+
+A change between readline-6.1 and readline-6.2 to prevent the readline input
+hook from being called too frequently had the side effect of causing delays
+when reading pasted input on systems such as Mac OS X. This patch fixes
+those delays while retaining the readline-6.2 behavior.
+
+Patch (apply with `patch -p0'):
+
+*** ../readline-6.2-patched/input.c 2010-05-30 18:33:01.000000000 -0400
+--- input.c 2012-06-25 21:08:42.000000000 -0400
+***************
+*** 410,414 ****
+ rl_read_key ()
+ {
+! int c;
+
+ rl_key_sequence_length++;
+--- 412,416 ----
+ rl_read_key ()
+ {
+! int c, r;
+
+ rl_key_sequence_length++;
+***************
+*** 430,441 ****
+ while (rl_event_hook)
+ {
+! if (rl_gather_tyi () < 0) /* XXX - EIO */
+ {
+ rl_done = 1;
+ return ('\n');
+ }
+ RL_CHECK_SIGNALS ();
+- if (rl_get_char (&c) != 0)
+- break;
+ if (rl_done) /* XXX - experimental */
+ return ('\n');
+--- 432,447 ----
+ while (rl_event_hook)
+ {
+! if (rl_get_char (&c) != 0)
+! break;
+!
+! if ((r = rl_gather_tyi ()) < 0) /* XXX - EIO */
+ {
+ rl_done = 1;
+ return ('\n');
+ }
++ else if (r == 1) /* read something */
++ continue;
++
+ RL_CHECK_SIGNALS ();
+ if (rl_done) /* XXX - experimental */
+ return ('\n');
+*** ../readline-6.2-patched/patchlevel 2010-01-14 10:15:52.000000000 -0500
+--- patchlevel 2011-11-17 11:09:35.000000000 -0500
+***************
+*** 1,3 ****
+ # Do not edit -- exists only for use by patch
+
+! 2
+--- 1,3 ----
+ # Do not edit -- exists only for use by patch
+
+! 3
diff --git a/build-aux/osx/build/modulesets/patches/readline/readline62-004 b/build-aux/osx/build/modulesets/patches/readline/readline62-004
new file mode 100644
index 0000000..5f3ba9b
--- /dev/null
+++ b/build-aux/osx/build/modulesets/patches/readline/readline62-004
@@ -0,0 +1,108 @@
+ READLINE PATCH REPORT
+ =====================
+
+Readline-Release: 6.2
+Patch-ID: readline62-004
+
+Bug-Reported-by: Jakub Filak
+Bug-Reference-ID:
+Bug-Reference-URL: https://bugzilla.redhat.com/show_bug.cgi?id=813289
+
+Bug-Description:
+
+Attempting to redo (using `.') the vi editing mode `cc', `dd', or `yy'
+commands leads to an infinite loop.
+
+Patch (apply with `patch -p0'):
+
+*** ../readline-6.2-patched/vi_mode.c 2011-02-25 11:17:02.000000000 -0500
+--- vi_mode.c 2012-06-02 12:24:47.000000000 -0400
+***************
+*** 1235,1243 ****
+ r = rl_domove_motion_callback (_rl_vimvcxt);
+ }
+! else if (vi_redoing)
+ {
+ _rl_vimvcxt->motion = _rl_vi_last_motion;
+ r = rl_domove_motion_callback (_rl_vimvcxt);
+ }
+ #if defined (READLINE_CALLBACKS)
+ else if (RL_ISSTATE (RL_STATE_CALLBACK))
+--- 1297,1313 ----
+ r = rl_domove_motion_callback (_rl_vimvcxt);
+ }
+! else if (vi_redoing && _rl_vi_last_motion != 'd') /* `dd' is special */
+ {
+ _rl_vimvcxt->motion = _rl_vi_last_motion;
+ r = rl_domove_motion_callback (_rl_vimvcxt);
+ }
++ else if (vi_redoing) /* handle redoing `dd' here */
++ {
++ _rl_vimvcxt->motion = _rl_vi_last_motion;
++ rl_mark = rl_end;
++ rl_beg_of_line (1, key);
++ RL_UNSETSTATE (RL_STATE_VIMOTION);
++ r = vidomove_dispatch (_rl_vimvcxt);
++ }
+ #if defined (READLINE_CALLBACKS)
+ else if (RL_ISSTATE (RL_STATE_CALLBACK))
+***************
+*** 1317,1325 ****
+ r = rl_domove_motion_callback (_rl_vimvcxt);
+ }
+! else if (vi_redoing)
+ {
+ _rl_vimvcxt->motion = _rl_vi_last_motion;
+ r = rl_domove_motion_callback (_rl_vimvcxt);
+ }
+ #if defined (READLINE_CALLBACKS)
+ else if (RL_ISSTATE (RL_STATE_CALLBACK))
+--- 1387,1403 ----
+ r = rl_domove_motion_callback (_rl_vimvcxt);
+ }
+! else if (vi_redoing && _rl_vi_last_motion != 'c') /* `cc' is special */
+ {
+ _rl_vimvcxt->motion = _rl_vi_last_motion;
+ r = rl_domove_motion_callback (_rl_vimvcxt);
+ }
++ else if (vi_redoing) /* handle redoing `cc' here */
++ {
++ _rl_vimvcxt->motion = _rl_vi_last_motion;
++ rl_mark = rl_end;
++ rl_beg_of_line (1, key);
++ RL_UNSETSTATE (RL_STATE_VIMOTION);
++ r = vidomove_dispatch (_rl_vimvcxt);
++ }
+ #if defined (READLINE_CALLBACKS)
+ else if (RL_ISSTATE (RL_STATE_CALLBACK))
+***************
+*** 1378,1381 ****
+--- 1456,1472 ----
+ r = rl_domove_motion_callback (_rl_vimvcxt);
+ }
++ else if (vi_redoing && _rl_vi_last_motion != 'y') /* `yy' is special */
++ {
++ _rl_vimvcxt->motion = _rl_vi_last_motion;
++ r = rl_domove_motion_callback (_rl_vimvcxt);
++ }
++ else if (vi_redoing) /* handle redoing `yy' here */
++ {
++ _rl_vimvcxt->motion = _rl_vi_last_motion;
++ rl_mark = rl_end;
++ rl_beg_of_line (1, key);
++ RL_UNSETSTATE (RL_STATE_VIMOTION);
++ r = vidomove_dispatch (_rl_vimvcxt);
++ }
+ #if defined (READLINE_CALLBACKS)
+ else if (RL_ISSTATE (RL_STATE_CALLBACK))
+*** ../readline-6.2-patched/patchlevel 2010-01-14 10:15:52.000000000 -0500
+--- patchlevel 2011-11-17 11:09:35.000000000 -0500
+***************
+*** 1,3 ****
+ # Do not edit -- exists only for use by patch
+
+! 3
+--- 1,3 ----
+ # Do not edit -- exists only for use by patch
+
+! 4
diff --git a/build-aux/osx/build/modulesets/patches/shared-mime-info/0001-Bug-70255-Build-fails-with-glib-2.38.patch b/build-aux/osx/build/modulesets/patches/shared-mime-info/0001-Bug-70255-Build-fails-with-glib-2.38.patch
new file mode 100644
index 0000000..f2007d2
--- /dev/null
+++ b/build-aux/osx/build/modulesets/patches/shared-mime-info/0001-Bug-70255-Build-fails-with-glib-2.38.patch
@@ -0,0 +1,42 @@
+From bfb2d780ff11cb547cc20d31c473be35cacb4509 Mon Sep 17 00:00:00 2001
+From: John Ralls <jralls@ceridwen.us>
+Date: Tue, 8 Oct 2013 11:33:11 -0700
+Subject: [PATCH] Bug 70255 - Build fails with glib-2.38
+
+---
+ configure.ac | 3 +++
+ test-tree-magic.c | 3 ++-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 68007c9..60a4c4d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -29,6 +29,9 @@ dnl Check whether libxml and glib are present is installed
+ PKG_CHECK_MODULES(ALL, \
+ libxml-2.0 >= 2.4 \
+ glib-2.0 >= 2.6.0)
++PKG_CHECK_MODULES(GLIB_2_36, glib-2.0 >= 2.36.0,
++ [AC_DEFINE([HAVE_GLIB_2_36], [1], [Configure g_type_init deprecation])],
++ [PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.6.0)])
+ AC_SUBST(ALL_CFLAGS)
+ AC_SUBST(ALL_LIBS)
+
+diff --git a/test-tree-magic.c b/test-tree-magic.c
+index 9b4dfaf..ec44a29 100644
+--- a/test-tree-magic.c
++++ b/test-tree-magic.c
+@@ -637,8 +637,9 @@ int main (int argc, char **argv)
+ char *content, **lines;
+ guint i;
+
++#ifndef HAVE_GLIB_2_36
+ g_type_init ();
+-
++#endif
+ if (argc != 2) {
+ g_print ("Usage: %s [file]\n", argv[0]);
+ g_print ("Where file contains, on each line, a directory path,\n"
+--
+1.8.3.rc0
+