summaryrefslogtreecommitdiff
path: root/user/gobject-introspection
diff options
context:
space:
mode:
Diffstat (limited to 'user/gobject-introspection')
-rw-r--r--user/gobject-introspection/APKBUILD30
-rw-r--r--user/gobject-introspection/musl-time64.patch37
-rw-r--r--user/gobject-introspection/support-cross-filesystem-move.patch11
-rw-r--r--user/gobject-introspection/we-are-in-a-pickle.patch28
4 files changed, 61 insertions, 45 deletions
diff --git a/user/gobject-introspection/APKBUILD b/user/gobject-introspection/APKBUILD
index 81dca7aed..df8490dc9 100644
--- a/user/gobject-introspection/APKBUILD
+++ b/user/gobject-introspection/APKBUILD
@@ -1,6 +1,6 @@
-# Maintainer:
+# Maintainer: Zach van Rijn <me@zv.io>
pkgname=gobject-introspection
-pkgver=1.60.2
+pkgver=1.72.0
pkgrel=0
pkgdesc="Introspection system for GObject-based libraries"
url="https://wiki.gnome.org/action/show/Projects/GObjectIntrospection"
@@ -13,28 +13,22 @@ makedepends="$depends_dev bison flex glib-dev libffi-dev meson ninja python3-dev
checkdepends="sed"
subpackages="$pkgname-doc $pkgname-dev"
replaces="libgirepository"
-source="https://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz"
-
-prepare() {
- cd "$builddir"
- default_prepare
- mkdir -p build
-}
+source="https://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz
+ musl-time64.patch
+ support-cross-filesystem-move.patch
+ "
build() {
- cd "$builddir"/build
- meson -Dprefix=/usr
- ninja
+ meson -Dprefix=/usr build
+ ninja -C build
}
check() {
- cd "$builddir"/build
- ninja test
+ ninja -C build test -j1
}
package() {
- cd "$builddir"/build
- DESTDIR="$pkgdir" ninja install
+ DESTDIR="$pkgdir" ninja -C build install
}
dev() {
@@ -46,4 +40,6 @@ dev() {
replaces="gobject-introspection"
}
-sha512sums="8e8c1c3a025cb6c18933302ada8cce7c4826f22eef791c80a97abb28379239f8d99312e1237bcea1060f4d5cf65441909b9da434561982209bb4976b1f22529e gobject-introspection-1.60.2.tar.xz"
+sha512sums="b8fba2bd12e93776c55228acf3487bef36ee40b1abdc7f681b827780ac94a8bfa1f59b0c30d60fa5a1fea2f610de78b9e52029f411128067808f17eb6374cdc5 gobject-introspection-1.72.0.tar.xz
+784acecd0e139685664ba1af6f1df69aeeb2da11a2b7ef9b42f46f42699e087aa90f0a2d95c1ff7aa1c04a3f2505d6006015b5a0f1ba1b125d6b1311474736c2 musl-time64.patch
+ce07017598d55a7a0b2a0cad18664a004d4f0425b57c29fd7d6c1d0d340e82db83c2a876cd60f3fb0fbc9e79d83badea4fc7c547f854d44b51bb980df8afa95a support-cross-filesystem-move.patch"
diff --git a/user/gobject-introspection/musl-time64.patch b/user/gobject-introspection/musl-time64.patch
new file mode 100644
index 000000000..53066bebb
--- /dev/null
+++ b/user/gobject-introspection/musl-time64.patch
@@ -0,0 +1,37 @@
+--- a/giscanner/ast.py
++++ b/giscanner/ast.py
+@@ -346,7 +346,8 @@
+ type_names['ssize_t'] = type_names['gssize']
+ type_names['uintptr_t'] = type_names['guintptr']
+ type_names['intptr_t'] = type_names['gintptr']
+-type_names['time_t'] = TYPE_LONG
++# musl libc 1.2 and newer uses 64 time_t for all arches
++type_names['time_t'] = TYPE_INT64
+ type_names['off_t'] = type_names['gsize']
+ type_names['pid_t'] = TYPE_INT
+ type_names['uid_t'] = TYPE_UINT
+--- a/tests/scanner/Regress-1.0-expected.gir
++++ b/tests/scanner/Regress-1.0-expected.gir
+@@ -2003,7 +2003,7 @@ uses a C sugar return type.</doc>
+ <type name="FooObject" c:type="RegressFooObject*"/>
+ </instance-parameter>
+ <parameter name="time" transfer-ownership="none">
+- <type name="glong" c:type="time_t"/>
++ <type name="gint64" c:type="time_t"/>
+ </parameter>
+ </parameters>
+ </method>
+@@ -8381,11 +8381,11 @@ https://bugzilla.gnome.org/show_bug.cgi?id=685399</doc>
+ <function name="test_timet" c:identifier="regress_test_timet">
+ <source-position filename="regress.h" line="94"/>
+ <return-value transfer-ownership="none">
+- <type name="glong" c:type="time_t"/>
++ <type name="gint64" c:type="time_t"/>
+ </return-value>
+ <parameters>
+ <parameter name="in" transfer-ownership="none">
+- <type name="glong" c:type="time_t"/>
++ <type name="gint64" c:type="time_t"/>
+ </parameter>
+ </parameters>
+ </function>
diff --git a/user/gobject-introspection/support-cross-filesystem-move.patch b/user/gobject-introspection/support-cross-filesystem-move.patch
new file mode 100644
index 000000000..80fc80baa
--- /dev/null
+++ b/user/gobject-introspection/support-cross-filesystem-move.patch
@@ -0,0 +1,11 @@
+--- a/misc/update-glib-annotations.py
++++ b/misc/update-glib-annotations.py
+@@ -57,7 +57,7 @@
+ extract_annotations(module_name, glib_src_dir, target)
+ if os.path.isfile(target_path):
+ os.unlink(target_path)
+- os.rename(tmpname, target_path)
++ shutil.move(tmpname, target_path)
+
+ print("Updated '%s'" % (target_path, ))
+
diff --git a/user/gobject-introspection/we-are-in-a-pickle.patch b/user/gobject-introspection/we-are-in-a-pickle.patch
deleted file mode 100644
index 5262e2887..000000000
--- a/user/gobject-introspection/we-are-in-a-pickle.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 945438608433a554b8d7077af648d60a9daf59f9 Mon Sep 17 00:00:00 2001
-From: Christoph Reiter <reiter.christoph@gmail.com>
-Date: Sat, 8 Dec 2018 18:44:31 +0100
-Subject: [PATCH] cachestore: don't try to catch nonexisting
- pickle.BadPickleGet. Fixes #159
-
-pickle.loads() can pretty much throw any kind of exception and we can't
-handle it besides ignoring it, so just catch all.
----
- giscanner/cachestore.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/giscanner/cachestore.py b/giscanner/cachestore.py
-index 58b3193c..857dc725 100644
---- a/giscanner/cachestore.py
-+++ b/giscanner/cachestore.py
-@@ -178,7 +178,7 @@ class CacheStore(object):
- return None
- try:
- data = pickle.load(fd)
-- except (AttributeError, EOFError, ValueError, pickle.BadPickleGet):
-+ except Exception:
- # Broken cache entry, remove it
- self._remove_filename(store_filename)
- data = None
---
-2.18.1
-