diff options
Diffstat (limited to 'libre/glib2-static/PKGBUILD')
-rw-r--r-- | libre/glib2-static/PKGBUILD | 122 |
1 files changed, 93 insertions, 29 deletions
diff --git a/libre/glib2-static/PKGBUILD b/libre/glib2-static/PKGBUILD index 71e1fc1d3..585082103 100644 --- a/libre/glib2-static/PKGBUILD +++ b/libre/glib2-static/PKGBUILD @@ -1,19 +1,45 @@ -# Maintainer: Márcio Silva <coadde@hyperbola.info> -# based of glib2 +# Maintainer (Arch:glib2) Jan de Groot <jgc@archlinux.org> +# Maintainer: Luke Shumaker <lukeshu@parabola.nu> +# Contributor: Márcio Silva <coadde@hyperbola.info> + +# glib 2.54 added meson as the preferred build system, and core/glib2 +# switched to that. However, the meson build doesn't support static +# linkage, so we're stuck with the old autotools build system. -pkgbase=glib2 pkgname=glib2-static -pkgver=2.50.2 -pkgrel=1 -pkgdesc="Low level core library (static libraries only)" -url="http://www.gtk.org/" -arch=(i686 x86_64 armv7h) -makedepends=(python git) -_commit=224f8171dceca920cfd8a4b446726b7610cdafd9 # tags/2.50.2^0 -source=("git://git.gnome.org/glib#commit=$_commit" - revert-warn-glib-compile-schemas.patch) +pkgver=2.54.2 +pkgrel=2.parabola2 +pkgdesc="Low level core library" +url="https://wiki.gnome.org/Projects/GLib" +license=(LGPL2.1) +arch=(x86_64) +arch+=(i686 armv7h) +depends=(pcre libffi libutil-linux zlib) +_depends=(pcre-static libffi-static libutil-linux-static zlib) +makedepends=(gettext gtk-doc shared-mime-info python libelf git util-linux meson dbus) +makedepends+=("${_depends[@]}") +checkdepends=(desktop-file-utils) +optdepends=('python: for gdbus-codegen and gtester-report' + 'libelf: gresource inspection tool') +options=(!emptydirs) +_commit=52b3e434d849e2b0233d6d3d663b5dda82ab263e # tags/2.54.2^0 +source=("git+https://git.gnome.org/browse/glib#commit=$_commit" + 0001-docs-Fix-building-with-meson.patch + 0001-meson-Fix-permissions-of-installed-scripts.patch + 0001-meson-Fix-GDB-scripts-install_dir-for-nix.patch + 0001-meson-Fix-libmount-support.patch + libs.diff + noisy-glib-compile-schemas.diff + glib-compile-schemas.hook gio-querymodules.hook) sha256sums=('SKIP' - '049240975cd2f1c88fbe7deb28af14d4ec7d2640495f7ca8980d873bb710cc97') + '8b289f3e1a5a3b29d310d45610468199acfe6f2b38a0d1be38c9224437a0e40c' + '12b1a2f4e304e4c03e48ae9564d73ae38619bbb7711a013138939ff8e5cc2327' + 'f53d5acfda4b7141a4813f1e49610e9176dc5bdf8e867d88290e34d91a40ebcb' + '14c0dcfb4efb690f7cb44673faf31f5eb40ac68c01974eddb53d5aa7ae366629' + '2fb828f51727bd9c8b48cfd9d6833c8b4ff82803331f6e2340b0ec8edfe57c52' + '81a4df0b638730cffb7fa263c04841f7ca6b9c9578ee5045db6f30ff0c3fc531' + 'e1123a5d85d2445faac33f6dae1085fdd620d83279a4e130a83fe38db52b62b3' + '5ba204a2686304b1454d401a39a9d27d09dd25e4529664e3fd565be3d439f8b6') pkgver() { cd glib @@ -21,34 +47,72 @@ pkgver() { } prepare() { + mkdir -p build glib2-docs/usr/share cd glib - patch -Rp1 -i ../revert-warn-glib-compile-schemas.patch + + # https://bugzilla.gnome.org/show_bug.cgi?id=786796 + patch -Np1 -i ../0001-docs-Fix-building-with-meson.patch + + # https://bugzilla.gnome.org/show_bug.cgi?id=787671 + patch -Np1 -i ../0001-meson-Fix-permissions-of-installed-scripts.patch + + # https://bugzilla.gnome.org/show_bug.cgi?id=788772 + patch -Np1 -i ../0001-meson-Fix-GDB-scripts-install_dir-for-nix.patch + + # https://bugzilla.gnome.org/show_bug.cgi?id=789681 + patch -Np1 -i ../0001-meson-Fix-libmount-support.patch + + # https://bugzilla.gnome.org/show_bug.cgi?id=788773 + patch -Np1 -i ../libs.diff + + # Suppress noise from glib-compile-schemas.hook + patch -Np1 -i ../noisy-glib-compile-schemas.diff + NOCONFIGURE=1 ./autogen.sh } - + build() { - cd glib - ./configure --prefix=/usr --libdir=/usr/lib \ - --disable-fam --enable-static - sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + cd build + ../glib/configure --prefix=/usr --libdir=/usr/lib \ + --sysconfdir=/etc \ + --with-pcre=system \ + --disable-fam \ + --disable-gtk-doc \ + --disable-shared --enable-static \ + $(check_option debug y && echo --enable-debug=yes) make } -check() { - cd glib - # Takes an effing long time - #make -k check || : +_check() { + cd build + rm -rf "$srcdir/test-home" + mkdir "$srcdir/test-home" + HOME="$srcdir/test-home" make -j1 check } package() { + pkgdesc+=" (static libraries)" depends=(glib2) + optdepends=() options=(staticlibs) - license=(LGPL) - cd glib - make completiondir=/usr/share/bash-completion/completions DESTDIR="$pkgdir" install + cd build + make DESTDIR="$pkgdir" install + + rm -vr -- \ + "$pkgdir"/usr/bin/ \ + "$pkgdir"/usr/include/ \ + "$pkgdir"/usr/lib/glib-*/ \ + "$pkgdir"/usr/lib/pkgconfig/ \ + "$pkgdir"/usr/share/ +} + +package_glib2-docs() { + pkgdesc="Documentation for GLib" + depends=() + optdepends=() + license+=(custom) - # remove conflicting files - rm -vr ${pkgdir}/usr/{bin,lib/{glib-*,pkgconfig},include,share} - rm -v ${pkgdir}/usr/lib/lib*.so* + mv glib2-docs/* "$pkgdir" + install -Dt "$pkgdir/usr/share/licenses/glib2-docs" -m644 glib/docs/reference/COPYING } |