summaryrefslogtreecommitdiff
path: root/libre/glib2-static/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'libre/glib2-static/PKGBUILD')
-rw-r--r--libre/glib2-static/PKGBUILD122
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
}