* [PR PATCH] glib: update to 2.74.0. (again)
@ 2022-09-25 15:23 paper42
2022-09-26 16:38 ` [PR PATCH] [Merged]: " paper42
0 siblings, 1 reply; 2+ messages in thread
From: paper42 @ 2022-09-25 15:23 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1419 bytes --]
There is a new pull request by paper42 against master on the void-packages repository
https://github.com/paper42/void-packages glib-2.74v2
https://github.com/void-linux/void-packages/pull/39466
glib: update to 2.74.0. (again)
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **briefly**
previously done in #39341
reverted in #39394 due to #39393 which is now fixed by importing https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2921
Closes #39393
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/39466.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-glib-2.74v2-39466.patch --]
[-- Type: text/x-diff, Size: 8377 bytes --]
From 00f304a4d213bc6017562f67bed0f55b58430c5c Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Sun, 25 Sep 2022 17:09:05 +0200
Subject: [PATCH] glib: update to 2.74.0.
---
.../glib/patches/disable-broken-tests.patch | 31 ++++--------
.../fix-segfault-g_param_value_is_valid.patch | 35 +++++++++++++
srcpkgs/glib/patches/test-error-musl.patch | 50 +++++++++++++++++++
srcpkgs/glib/template | 27 ++++++----
4 files changed, 112 insertions(+), 31 deletions(-)
create mode 100644 srcpkgs/glib/patches/fix-segfault-g_param_value_is_valid.patch
create mode 100644 srcpkgs/glib/patches/test-error-musl.patch
diff --git a/srcpkgs/glib/patches/disable-broken-tests.patch b/srcpkgs/glib/patches/disable-broken-tests.patch
index 2a52630075034..91345d2b1d265 100644
--- a/srcpkgs/glib/patches/disable-broken-tests.patch
+++ b/srcpkgs/glib/patches/disable-broken-tests.patch
@@ -6,25 +6,17 @@
},
- 'converter-stream' : {},
'credentials' : {},
- 'cxx' : {
- 'source' : ['cxx.cpp'],
-@@ -91,7 +90,6 @@ gio_tests = {
- 'network-monitor' : {},
- 'network-monitor-race' : {},
- 'permission' : {},
-- 'pollable' : {'dependencies' : [libdl_dep]},
- 'power-profile-monitor' : {},
- 'proxy-test' : {},
- 'readwrite' : {},
-@@ -174,7 +172,6 @@ endif
+ 'data-input-stream' : {},
+ 'data-output-stream' : {},
+@@ -198,7 +197,6 @@ endif
# Test programs buildable on UNIX only
if host_machine.system() != 'windows'
gio_tests += {
- 'file' : {},
- 'gdbus-peer' : {
- 'dependencies' : [libgdbus_example_objectmanager_dep],
- 'install_rpath' : installed_tests_execdir,
-@@ -798,14 +795,6 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+ 'gdbus-peer-object-manager' : {},
+ 'gdbus-sasl' : {},
+ 'live-g-file' : {},
+@@ -814,14 +812,6 @@ if meson.can_run_host_binaries()
test_resources_binary2,
]
endif
@@ -39,9 +31,11 @@
endif
foreach test_name, extra_args : gio_tests
+diff --git a/glib/tests/meson.build b/glib/tests/meson.build
+index d74617823..1de81a825 100644
--- a/glib/tests/meson.build
+++ b/glib/tests/meson.build
-@@ -11,25 +11,17 @@ glib_tests = {
+@@ -11,22 +11,14 @@ glib_tests = {
'cache' : {},
'charset' : {},
'checksum' : {},
@@ -49,9 +43,6 @@
'completion' : {},
'cond' : {},
- 'convert' : {},
- 'cxx' : {
- 'source' : ['cxx.cpp'],
- },
'dataset' : {},
- 'date' : {
- # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1392
@@ -68,9 +59,9 @@
'suite' : ['slow'],
},
@@ -65,7 +57,6 @@ glib_tests = {
- 'mutex' : {},
'node' : {},
'once' : {},
+ 'onceinit' : {},
- 'option-context' : {},
'option-argv0' : {},
'overflow' : {},
diff --git a/srcpkgs/glib/patches/fix-segfault-g_param_value_is_valid.patch b/srcpkgs/glib/patches/fix-segfault-g_param_value_is_valid.patch
new file mode 100644
index 0000000000000..cacaecb695d09
--- /dev/null
+++ b/srcpkgs/glib/patches/fix-segfault-g_param_value_is_valid.patch
@@ -0,0 +1,35 @@
+This fixes segfault when editing color of text in gimp.
+
+From ea3f17d598d550345e94e4571130e429443e91cb Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi@gnome.org>
+Date: Sun, 25 Sep 2022 14:20:24 +0100
+Subject: [PATCH] Empty values are not valid GParamSpec
+
+The validate() vfunc for GParamSpecParam returns FALSE for empty GValue,
+which means the is_valid() vfunc should do the same.
+
+This avoids a segfault when calling g_param_value_is_valid() on a
+GParamSpecParam.
+
+Fixes: #2770
+---
+ gobject/gparamspecs.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/gobject/gparamspecs.c b/gobject/gparamspecs.c
+index f17b3488b9..17b8606572 100644
+--- a/gobject/gparamspecs.c
++++ b/gobject/gparamspecs.c
+@@ -894,6 +894,9 @@ param_param_is_valid (GParamSpec *pspec,
+ {
+ GParamSpec *param = value->data[0].v_pointer;
+
++ if (param == NULL)
++ return FALSE;
++
+ return g_value_type_compatible (G_PARAM_SPEC_TYPE (param), G_PARAM_SPEC_VALUE_TYPE (pspec));
+ }
+
+--
+GitLab
+
diff --git a/srcpkgs/glib/patches/test-error-musl.patch b/srcpkgs/glib/patches/test-error-musl.patch
new file mode 100644
index 0000000000000..427df3de13c70
--- /dev/null
+++ b/srcpkgs/glib/patches/test-error-musl.patch
@@ -0,0 +1,50 @@
+From 902ba0bc0db50ede3473af576bddd2b6a2f9e326 Mon Sep 17 00:00:00 2001
+From: Michal Vasilek <michal@vasilek.cz>
+Date: Sun, 18 Sep 2022 17:30:41 +0200
+Subject: [PATCH] tests: Only run g_error_new_valist() programmer error test on
+ glibc
+
+The musl implementation of vasprintf segfaults with NULL
+---
+ glib/tests/error.c | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/glib/tests/error.c b/glib/tests/error.c
+index 7ea04ea3ce..fa3a25969d 100644
+--- a/glib/tests/error.c
++++ b/glib/tests/error.c
+@@ -123,12 +123,12 @@ static void
+ test_new_valist_invalid_va (gpointer dummy,
+ ...)
+ {
+-#ifdef __linux__
+- /* Only worth testing this on Linux; if other platforms regress on this legacy
+- * behaviour, we don’t care. In particular, calling g_error_new_valist() with
+- * a %NULL format will crash on FreeBSD as its implementation of vasprintf()
+- * is less forgiving than Linux’s. That’s fine: it’s a programmer error in
+- * either case. */
++#if defined(__linux__) && defined(__GLIBC__)
++ /* Only worth testing this on Linux with glibc; if other platforms regress on
++ * this legacy behaviour, we don’t care. In particular, calling
++ * g_error_new_valist() with a %NULL format will crash on FreeBSD as its
++ * implementation of vasprintf() is less forgiving than Linux’s. That’s
++ * fine: it’s a programmer error in either case. */
+ const struct
+ {
+ GQuark domain;
+@@ -182,9 +182,9 @@ test_new_valist_invalid_va (gpointer dummy,
+
+ va_end (ap);
+ }
+-#else /* if !__linux__ */
+- g_test_skip ("g_error_new_valist() programmer error handling is only relevant on Linux");
+-#endif /* !__linux__ */
++#else /* if !__linux__ || !__GLIBC__ */
++ g_test_skip ("g_error_new_valist() programmer error handling is only relevant on Linux with glibc");
++#endif /* !__linux__ || ! __GLIBC__ */
+ }
+
+ static void
+--
+GitLab
+
diff --git a/srcpkgs/glib/template b/srcpkgs/glib/template
index cc57bfa490c15..3ec9a8adbeb69 100644
--- a/srcpkgs/glib/template
+++ b/srcpkgs/glib/template
@@ -1,24 +1,24 @@
# Template file for 'glib'
pkgname=glib
-reverts="2.74.0_1"
-version=2.72.2
-revision=3
+version=2.74.0
+revision=2
build_style=meson
# static version is necessary for qemu-user-static;
# also disable LTO, otherwise there are multiple failures when linking qemu
-configure_args="-Dfam=false -Dman=true -Dselinux=disabled
+configure_args="-Dman=true -Dselinux=disabled
$(vopt_bool gtk_doc gtk_doc) --default-library=both -Db_lto=false"
hostmakedepends="gettext pkg-config libxslt docbook-xsl $(vopt_if gtk_doc gtk-doc)"
-makedepends="zlib-devel pcre-devel libffi-devel dbus-devel elfutils-devel libmount-devel"
+makedepends="zlib-devel pcre2-devel libffi-devel dbus-devel elfutils-devel libmount-devel"
checkdepends="desktop-file-utils shared-mime-info dbus python3-pytest"
short_desc="GNU library of C routines"
-maintainer="Enno Boland <gottox@voidlinux.org>"
+maintainer="Michal Vasilek <michal@vasilek.cz>"
license="LGPL-2.1-or-later"
homepage="https://wiki.gnome.org/Projects/GLib"
-#changelog="https://gitlab.gnome.org/GNOME/glib/raw/main/NEWS"
-changelog="https://gitlab.gnome.org/GNOME/glib/raw/glib-2-72/NEWS"
+#changelog="https://gitlab.gnome.org/GNOME/glib/raw/glib-2-74/NEWS"
+changelog="https://gitlab.gnome.org/GNOME/glib/raw/main/NEWS"
distfiles="${GNOME_SITE}/glib/${version%.*}/glib-${version}.tar.xz"
-checksum=78d599a133dba7fe2036dfa8db8fb6131ab9642783fc9578b07a20995252d2de
+checksum=3652c7f072d7b031a6b5edd623f77ebc5dcd2ae698598abcc89ff39ca75add30
+make_check_pre="dbus-run-session"
build_options="gtk_doc"
desc_option_gtk_doc="Build GTK API docs"
@@ -27,8 +27,13 @@ if [ -z "$CROSS_BUILD" ]; then
build_options_default+=" gtk_doc"
fi
-do_check() {
- dbus-run-session ninja -C build test
+pre_check() {
+ # machine-id is a random, non-zero value
+ echo 'dcb30309cd6c8b7cc20383d85a5c7012' > /etc/machine-id
+}
+
+post_check() {
+ rm /etc/machine-id
}
libglib-devel_package() {
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-09-26 16:38 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-25 15:23 [PR PATCH] glib: update to 2.74.0. (again) paper42
2022-09-26 16:38 ` [PR PATCH] [Merged]: " paper42
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).