From 3d4c3c8e7450bfa1b0038c2a6e2530bdac0c8aa9 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Tue, 21 Mar 2023 19:30:06 -0700 Subject: [PATCH 1/2] glib: update to 2.76.1. --- common/shlibs | 10 +-- .../glib/patches/disable-broken-tests.patch | 23 ++++--- .../fix-segfault-g_param_value_is_valid.patch | 35 ----------- srcpkgs/glib/patches/fix-test-cxxcpp.patch | 26 ++++++++ .../glib/patches/gnome-console-support.patch | 62 ------------------- srcpkgs/glib/patches/test-error-musl.patch | 50 --------------- srcpkgs/glib/template | 15 +++-- 7 files changed, 53 insertions(+), 168 deletions(-) delete mode 100644 srcpkgs/glib/patches/fix-segfault-g_param_value_is_valid.patch create mode 100644 srcpkgs/glib/patches/fix-test-cxxcpp.patch delete mode 100644 srcpkgs/glib/patches/gnome-console-support.patch delete mode 100644 srcpkgs/glib/patches/test-error-musl.patch diff --git a/common/shlibs b/common/shlibs index b8d161c2d932..3ae67941c545 100644 --- a/common/shlibs +++ b/common/shlibs @@ -91,11 +91,11 @@ libmagic.so.1 libmagic-5.12_1 libbluetooth.so.3 libbluetooth-4.58_1 libwmf-0.2.so.7 libwmf-0.2.8.4_1 libwmflite-0.2.so.7 libwmf-0.2.8.4_1 -libgthread-2.0.so.0 glib-2.74.0_1 -libglib-2.0.so.0 glib-2.74.0_1 -libgmodule-2.0.so.0 glib-2.74.0_1 -libgio-2.0.so.0 glib-2.74.0_1 -libgobject-2.0.so.0 glib-2.74.0_1 +libgthread-2.0.so.0 glib-2.76.0_1 +libglib-2.0.so.0 glib-2.76.0_1 +libgmodule-2.0.so.0 glib-2.76.0_1 +libgio-2.0.so.0 glib-2.76.0_1 +libgobject-2.0.so.0 glib-2.76.0_1 libatk-1.0.so.0 atk-1.26.0_1 libpangocairo-1.0.so.0 pango-1.24.0_1 libpangoft2-1.0.so.0 pango-1.24.0_1 diff --git a/srcpkgs/glib/patches/disable-broken-tests.patch b/srcpkgs/glib/patches/disable-broken-tests.patch index 91345d2b1d26..f6e0328b214e 100644 --- a/srcpkgs/glib/patches/disable-broken-tests.patch +++ b/srcpkgs/glib/patches/disable-broken-tests.patch @@ -1,14 +1,14 @@ --- a/gio/tests/meson.build +++ b/gio/tests/meson.build -@@ -56,7 +56,6 @@ gio_tests = { +@@ -63,7 +63,6 @@ gio_tests = { # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1392 / https://gitlab.gnome.org/GNOME/glib/-/issues/1251 - 'should_fail' : host_system == 'darwin', + 'can_fail' : host_system == 'darwin', }, - 'converter-stream' : {}, 'credentials' : {}, 'data-input-stream' : {}, 'data-output-stream' : {}, -@@ -198,7 +197,6 @@ endif +@@ -227,7 +226,6 @@ endif # Test programs buildable on UNIX only if host_machine.system() != 'windows' gio_tests += { @@ -16,7 +16,7 @@ 'gdbus-peer-object-manager' : {}, 'gdbus-sasl' : {}, 'live-g-file' : {}, -@@ -814,14 +812,6 @@ if meson.can_run_host_binaries() +@@ -951,13 +949,6 @@ if not meson.is_cross_build() test_resources_binary2, ] endif @@ -24,18 +24,17 @@ - gio_tests += { - 'resources' : { - 'extra_sources' : resources_extra_sources, -- # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1392 -- 'should_fail' : host_system == 'darwin', +- 'depends' : resource_plugin, - }, - } endif - foreach test_name, extra_args : gio_tests + test_extra_programs_targets = {} 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,22 +11,14 @@ glib_tests = { +@@ -12,22 +12,14 @@ glib_tests = { 'cache' : {}, 'charset' : {}, 'checksum' : {}, @@ -46,19 +45,19 @@ index d74617823..1de81a825 100644 'dataset' : {}, - 'date' : { - # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1392 -- 'should_fail' : host_system == 'darwin', +- 'can_fail' : host_system == 'darwin', - }, 'dir' : {}, 'environment' : { # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1392 - 'should_fail' : host_system == 'darwin', + 'can_fail' : host_system == 'darwin', }, - 'error' : {}, - 'fileutils' : {}, 'gdatetime' : { 'suite' : ['slow'], - }, -@@ -65,7 +57,6 @@ glib_tests = { + 'can_fail' : host_system == 'windows', +@@ -70,7 +62,6 @@ glib_tests = { 'node' : {}, 'once' : {}, 'onceinit' : {}, 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 deleted file mode 100644 index cacaecb695d0..000000000000 --- a/srcpkgs/glib/patches/fix-segfault-g_param_value_is_valid.patch +++ /dev/null @@ -1,35 +0,0 @@ -This fixes segfault when editing color of text in gimp. - -From ea3f17d598d550345e94e4571130e429443e91cb Mon Sep 17 00:00:00 2001 -From: Emmanuele Bassi -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/fix-test-cxxcpp.patch b/srcpkgs/glib/patches/fix-test-cxxcpp.patch new file mode 100644 index 000000000000..2b1ad5b4e6ad --- /dev/null +++ b/srcpkgs/glib/patches/fix-test-cxxcpp.patch @@ -0,0 +1,26 @@ +Fails to build on musl. +../glib/tests/cxx.cpp:509:15: error: missing sentinel in function call [-Werror=format=] +g_test_init (&argc, &argv, NULL); + +--- a/glib/tests/cxx.cpp ++++ a/glib/tests/cxx.cpp +@@ -505,7 +505,7 @@ test_string_free (void) + int + main (int argc, char *argv[]) + { + #if G_CXX_STD_CHECK_VERSION (11) +- g_test_init (&argc, &argv, NULL); ++ g_test_init (&argc, &argv, nullptr); + #else + g_test_init (&argc, &argv, static_cast(NULL)); +--- a/gio/tests/cxx.cpp ++++ a/gio/tests/cxx.cpp +@@ -59,7 +59,7 @@ int + main (int argc, char **argv) + { + #if G_CXX_STD_CHECK_VERSION (11) +- g_test_init (&argc, &argv, NULL); ++ g_test_init (&argc, &argv, nullptr); + #else + g_test_init (&argc, &argv, static_cast(NULL)); + #endif diff --git a/srcpkgs/glib/patches/gnome-console-support.patch b/srcpkgs/glib/patches/gnome-console-support.patch deleted file mode 100644 index b142aa0b7514..000000000000 --- a/srcpkgs/glib/patches/gnome-console-support.patch +++ /dev/null @@ -1,62 +0,0 @@ -Currently glib hardcodes a list of terminals and that list will not be expanding. -The hope being that it will eventually be replaced with some kind of api. -Until then, we might as well add gnome-console/kgx to the list - -See: https://gitlab.gnome.org/GNOME/gnome-build-meta/-/merge_requests/1404#note_1331262 -Source: https://github.com/NixOS/nixpkgs/commit/c987121acf5c87436a0b05ca75cd70bf38c452ca - -diff --git a/gio/gdesktopappinfo.c b/gio/gdesktopappinfo.c -index 60d6debb2..a441bfec9 100644 ---- a/gio/gdesktopappinfo.c -+++ b/gio/gdesktopappinfo.c -@@ -2627,6 +2627,7 @@ prepend_terminal_to_vector (int *argc, - int i, j; - char **term_argv = NULL; - int term_argc = 0; -+ gboolean pass_cmd_as_single_arg = FALSE; - char *check; - char **the_argv; - -@@ -2672,6 +2673,11 @@ prepend_terminal_to_vector (int *argc, - } - else - { -+ if (check == NULL) { -+ check = g_find_program_in_path ("kgx"); -+ if (check != NULL) -+ pass_cmd_as_single_arg = TRUE; -+ } - if (check == NULL) - check = g_find_program_in_path ("tilix"); - if (check == NULL) -@@ -2697,14 +2703,27 @@ prepend_terminal_to_vector (int *argc, - } - } - -- real_argc = term_argc + *argc; -+ real_argc = term_argc + (pass_cmd_as_single_arg ? 1 : *argc); - real_argv = g_new (char *, real_argc + 1); - - for (i = 0; i < term_argc; i++) - real_argv[i] = term_argv[i]; - -- for (j = 0; j < *argc; j++, i++) -- real_argv[i] = (char *)the_argv[j]; -+ if (pass_cmd_as_single_arg) { -+ char **quoted_argv = g_new (char *, *argc + 1); -+ -+ for (j = 0; j < *argc; j++) { -+ quoted_argv[j] = g_shell_quote (the_argv[j]); -+ g_free (the_argv[j]); -+ } -+ quoted_argv[j] = NULL; -+ -+ real_argv[i++] = g_strjoinv (" ", quoted_argv); -+ g_strfreev (quoted_argv); -+ } else { -+ for (j = 0; j < *argc; j++, i++) -+ real_argv[i] = (char *)the_argv[j]; -+ } - - real_argv[i] = NULL; - diff --git a/srcpkgs/glib/patches/test-error-musl.patch b/srcpkgs/glib/patches/test-error-musl.patch deleted file mode 100644 index 427df3de13c7..000000000000 --- a/srcpkgs/glib/patches/test-error-musl.patch +++ /dev/null @@ -1,50 +0,0 @@ -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 e250af446b0b..7362edaaceb0 100644 --- a/srcpkgs/glib/template +++ b/srcpkgs/glib/template @@ -1,7 +1,7 @@ # Template file for 'glib' pkgname=glib -version=2.74.0 -revision=3 +version=2.76.1 +revision=1 build_style=meson # static version is necessary for qemu-user-static; # also disable LTO, otherwise there are multiple failures when linking qemu @@ -14,10 +14,10 @@ short_desc="GNU library of C routines" maintainer="Michal Vasilek " license="LGPL-2.1-or-later" homepage="https://wiki.gnome.org/Projects/GLib" -#changelog="https://gitlab.gnome.org/GNOME/glib/raw/glib-2-74/NEWS" +#changelog="https://gitlab.gnome.org/GNOME/glib/raw/glib-2-76/NEWS" changelog="https://gitlab.gnome.org/GNOME/glib/raw/main/NEWS" distfiles="${GNOME_SITE}/glib/${version%.*}/glib-${version}.tar.xz" -checksum=3652c7f072d7b031a6b5edd623f77ebc5dcd2ae698598abcc89ff39ca75add30 +checksum=43dc0f6a126958f5b454136c4398eab420249c16171a769784486e25f2fda19f make_check_pre="dbus-run-session" build_options="gtk_doc" @@ -27,6 +27,13 @@ if [ -z "$CROSS_BUILD" ]; then build_options_default+=" gtk_doc" fi +post_patch() { + # Timer test is flaky on 32 bit (does float comparisons) + if [ "${XBPS_TARGET_WORDSIZE}" = "32" ]; then + vsed -e "s/'timer' : {},//" -i glib/tests/meson.build + fi +} + pre_check() { # machine-id is a random, non-zero value echo 'dcb30309cd6c8b7cc20383d85a5c7012' > /etc/machine-id From ddb6c755efd854b0977fa437e02e5e6b4e08dc99 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Thu, 23 Mar 2023 19:33:10 -0700 Subject: [PATCH 2/2] gnome-tour: update to 40.0. --- srcpkgs/gnome-tour/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/gnome-tour/template b/srcpkgs/gnome-tour/template index 56b8466925b1..e8eb54f1bf7c 100644 --- a/srcpkgs/gnome-tour/template +++ b/srcpkgs/gnome-tour/template @@ -1,6 +1,6 @@ # Template file for 'gnome-tour' pkgname=gnome-tour -version=43.0 +version=44.0 revision=1 build_style=meson build_helper=rust @@ -13,7 +13,7 @@ license="GPL-3.0-or-later" homepage="https://gitlab.gnome.org/GNOME/gnome-tour/" changelog="https://gitlab.gnome.org/GNOME/gnome-tour/-/raw/master/NEWS" distfiles="${GNOME_SITE}/gnome-tour/${version%.*}/gnome-tour-${version}.tar.xz" -checksum=1351e419627fbd7c771932a6ef1ad80c0bf2e6828c4948a062068984ddb3cc88 +checksum=06de7677dd1c590d0ea33a032c9ccf4c37c62bc56215b823c879e42ee630c2b6 post_patch() { [ -z "$CROSS_BUILD" ] && return 0