From 65e05a0f60d6e073b50367ef46978877fe4ff0ad Mon Sep 17 00:00:00 2001 From: Michal Vasilek Date: Mon, 12 Sep 2022 20:58:10 +0200 Subject: [PATCH] glib: update to 2.74.0. --- .../glib/patches/disable-broken-tests.patch | 31 ++++-------- srcpkgs/glib/patches/test-error-musl.patch | 50 +++++++++++++++++++ srcpkgs/glib/template | 26 ++++++---- 3 files changed, 77 insertions(+), 30 deletions(-) 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 2a526300750342..91345d2b1d265b 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/test-error-musl.patch b/srcpkgs/glib/patches/test-error-musl.patch new file mode 100644 index 00000000000000..427df3de13c706 --- /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 +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 8583a6616511e9..33c1d9e0cd7d33 100644 --- a/srcpkgs/glib/template +++ b/srcpkgs/glib/template @@ -1,23 +1,24 @@ # Template file for 'glib' pkgname=glib -version=2.72.2 -revision=2 +version=2.74.0 +revision=1 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 " +maintainer="Michal Vasilek " 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" @@ -26,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() {