summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD124
1 files changed, 124 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..6def0c2aadc1
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,124 @@
+# $Id$
+
+_target=aarch64-linux-gnu
+_pkgbase=glib2
+pkgbase=${_target}-glib2
+pkgname=(${_target}-glib2
+#${_target}-glib2-docs
+)
+pkgver=2.56.0+7+g66948ae
+pkgrel=1
+pkgdesc="Low level core library"
+url="https://wiki.gnome.org/Projects/GLib"
+license=(LGPL2.1)
+arch=('any')
+depends=(${_target}-pcre
+#libffi
+${_target}-libutil-linux
+zlib-aarch64
+)
+makedepends=(gettext gtk-doc shared-mime-info python libelf git dbus
+${_target}-util-linux # for pkgconfig/*.pc
+${_target}-pkg-config
+)
+optdepends=('python: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report'
+ 'libelf: gresource inspection tool')
+options=(!emptydirs)
+_commit=66948ae231f75a548c8a2eb7b3a9d64cfd728b8e # glib-2-56
+source=("git+https://gitlab.gnome.org/GNOME/glib.git#commit=$_commit"
+ noisy-glib-compile-schemas.diff
+ glib-compile-schemas.hook gio-querymodules.hook)
+sha256sums=('SKIP'
+ '81a4df0b638730cffb7fa263c04841f7ca6b9c9578ee5045db6f30ff0c3fc531'
+ 'e1123a5d85d2445faac33f6dae1085fdd620d83279a4e130a83fe38db52b62b3'
+ '5ba204a2686304b1454d401a39a9d27d09dd25e4529664e3fd565be3d439f8b6')
+
+pkgver() {
+ cd glib
+ git describe --tags | sed 's/-/+/g'
+}
+
+prepare() {
+ cd glib
+
+ # Suppress noise from glib-compile-schemas.hook
+ patch -Np1 -i ../noisy-glib-compile-schemas.diff
+
+ NOCONFIGURE=1 ./autogen.sh
+}
+
+build() {
+ local debug=minimum
+ check_option debug n && debug=yes
+
+ cd glib
+ unset CFLAGS CXXFLAGS
+if true; then
+ glib_cv_stack_grows=no \
+ glib_cv_uscore=no \
+ glib_cv_compliant_posix_memalign=1 \
+ ./configure \
+ --host=${_target} \
+ --prefix=/usr/${_target} \
+ --libdir=/usr/${_target}/lib \
+ --sysconfdir=/etc \
+ --with-pcre=system \
+ --enable-debug=$debug \
+ --disable-fam
+
+# --enable-gtk-doc \
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+fi
+ make
+}
+
+strip() {
+ ${_target}-strip "$@"
+}
+
+objcopy() {
+ ${_target}-objcopy "$@"
+}
+
+check() {
+ local s readelfarch
+ readelfarch='AArch64'
+ cd glib
+
+ s=$(find . -type f "(" -name "*.so*" -o -name "*.a" ")" -print0 | \
+ 2>/dev/null LC_ALL=C xargs -0 readelf -h | \
+ sed -n -e '/File:/h;/Machine:/{/'"$readelfarch"'/!{H;x;p}}' | head -10)
+
+ if [ -n "$s" ]; then
+ >&2 echo "some binaries have wrong architecture:"
+ >&2 echo "$s"
+ return 1
+ fi
+}
+
+package_glib2() {
+ cd glib
+ make DESTDIR="$pkgdir" install
+ #mv "$pkgdir/usr/share/gtk-doc" "$srcdir"
+
+ install -Dt "$pkgdir/usr/${_target}/share/libalpm/hooks" -m644 ../*.hook
+
+ # delete all executables
+ rm -rf "$pkgdir/usr/${_target}/bin"
+}
+
+package_glib2-docs() {
+ pkgdesc="Documentation for GLib"
+ depends=()
+ optdepends=()
+ license+=(custom)
+
+ mkdir -p "$pkgdir/usr/share"
+ mv gtk-doc "$pkgdir/usr/share"
+
+ install -Dt "$pkgdir/usr/share/licenses/glib2-docs" -m644 glib/docs/reference/COPYING
+}
+
+for p in "${pkgname[@]}"; do
+ eval "package_${p}() { package_${p/${_target}-/} "'"$@"'"; }"
+done