From 827152aa50a147a4ca58af7c4b21859c9a101b4e 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.0. --- .../glib/patches/disable-broken-tests.patch | 23 ++++--- .../fix-segfault-g_param_value_is_valid.patch | 35 ----------- srcpkgs/glib/patches/fix-test-cxxcpp.patch | 15 +++++ .../glib/patches/gnome-console-support.patch | 62 ------------------- srcpkgs/glib/patches/test-error-musl.patch | 50 --------------- srcpkgs/glib/template | 8 +-- 6 files changed, 30 insertions(+), 163 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/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..52357ddcb040 --- /dev/null +++ b/srcpkgs/glib/patches/fix-test-cxxcpp.patch @@ -0,0 +1,15 @@ +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)); 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..561891836471 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.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 @@ -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=525bb703b807142e1aee5ccf222c344e8064b21c0c45677ef594e587874c6797 make_check_pre="dbus-run-session" build_options="gtk_doc" From 6361b456e398b584acf5cc6157592bde7854e86f Mon Sep 17 00:00:00 2001 From: oreo639 Date: Tue, 21 Mar 2023 19:45:08 -0700 Subject: [PATCH 2/2] glib-networking: update to 2.76.0. --- srcpkgs/glib-networking/template | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/srcpkgs/glib-networking/template b/srcpkgs/glib-networking/template index 50328d0e9ac4..680a064ffec5 100644 --- a/srcpkgs/glib-networking/template +++ b/srcpkgs/glib-networking/template @@ -1,6 +1,6 @@ # Template file for 'glib-networking' pkgname=glib-networking -version=2.74.0 +version=2.76.0 revision=1 build_style=meson configure_args="-Dinstalled_tests=false -Dgnutls=enabled -Dlibproxy=enabled @@ -13,8 +13,8 @@ short_desc="Network-related giomodules for glib" maintainer="Enno Boland " license="LGPL-2.1-or-later" homepage="https://gitlab.gnome.org/GNOME/glib-networking/" -#changelog="https://gitlab.gnome.org/GNOME/glib-networking/-/raw/master/NEWS" -changelog="https://gitlab.gnome.org/GNOME/glib-networking/-/raw/glib-2-74/NEWS" +changelog="https://gitlab.gnome.org/GNOME/glib-networking/-/raw/master/NEWS" +#changelog="https://gitlab.gnome.org/GNOME/glib-networking/-/raw/glib-2-76/NEWS" distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz" -checksum=1f185aaef094123f8e25d8fa55661b3fd71020163a0174adb35a37685cda613b +checksum=149a05a179e629a538be25662aa324b499d7c4549c5151db5373e780a1bf1b9a lib32disabled=yes