diff options
Diffstat (limited to 'gnu/packages/patches')
19 files changed, 711 insertions, 471 deletions
diff --git a/gnu/packages/patches/appstream-force-reload-stemmer.patch b/gnu/packages/patches/appstream-force-reload-stemmer.patch new file mode 100644 index 00000000000..a2cf84c8b1d --- /dev/null +++ b/gnu/packages/patches/appstream-force-reload-stemmer.patch @@ -0,0 +1,89 @@ +From 32182d7a7a67d0d204cd0a37bd211bfd0177bc27 Mon Sep 17 00:00:00 2001 +Message-ID: <32182d7a7a67d0d204cd0a37bd211bfd0177bc27.1700093066.git.vivien@planete-kraus.eu> +From: Matthias Klumpp <matthias@tenstral.net> +Date: Thu, 16 Nov 2023 00:59:15 +0100 +Subject: [PATCH] stemmer: Resolve potential issue where stemmer may never be + initialized + +If the initial locale was equal to the current stemming language, we may +never have initialized the stemmer (which could lead to crashes or +stemming being disabled). + +So we force the reload to always happen on initialization. +CC: #558 +--- + src/as-stemmer.c | 33 +++++++++++++++++++++------------ + 1 file changed, 21 insertions(+), 12 deletions(-) + +diff --git a/src/as-stemmer.c b/src/as-stemmer.c +index 63d45267..16ebd09b 100644 +--- a/src/as-stemmer.c ++++ b/src/as-stemmer.c +@@ -47,6 +47,8 @@ G_DEFINE_TYPE (AsStemmer, as_stemmer, G_TYPE_OBJECT) + + static gpointer as_stemmer_object = NULL; + ++static void as_stemmer_reload_internal (AsStemmer *stemmer, const gchar *locale, gboolean force); ++ + /** + * as_stemmer_finalize: + **/ +@@ -76,21 +78,14 @@ as_stemmer_init (AsStemmer *stemmer) + + /* we don't use the locale in XML, so it can be POSIX */ + locale = as_get_current_locale_posix (); +- stemmer->current_lang = as_utils_locale_to_language (locale); + +- as_stemmer_reload (stemmer, stemmer->current_lang); ++ /* force a reload for initialization */ ++ as_stemmer_reload_internal (stemmer, locale, TRUE); + #endif + } + +-/** +- * as_stemmer_reload: +- * @stemmer: A #AsStemmer +- * @locale: The stemming language as POSIX locale. +- * +- * Allows realoading the #AsStemmer with a different language. +- */ +-void +-as_stemmer_reload (AsStemmer *stemmer, const gchar *locale) ++static void ++as_stemmer_reload_internal (AsStemmer *stemmer, const gchar *locale, gboolean force) + { + #ifdef HAVE_STEMMING + g_autofree gchar *lang = NULL; +@@ -99,7 +94,7 @@ as_stemmer_reload (AsStemmer *stemmer, const gchar *locale) + /* check if we need to reload */ + lang = as_utils_locale_to_language (locale); + locker = g_mutex_locker_new (&stemmer->mutex); +- if (as_str_equal0 (lang, stemmer->current_lang)) { ++ if (!force && as_str_equal0 (lang, stemmer->current_lang)) { + g_mutex_locker_free (locker); + return; + } +@@ -119,6 +114,20 @@ as_stemmer_reload (AsStemmer *stemmer, const gchar *locale) + #endif + } + ++/** ++ * as_stemmer_reload: ++ * @stemmer: A #AsStemmer ++ * @locale: The stemming language as POSIX locale. ++ * ++ * Allows realoading the #AsStemmer with a different language. ++ * Does nothing if the stemmer is already using the selected language. ++ */ ++void ++as_stemmer_reload (AsStemmer *stemmer, const gchar *locale) ++{ ++ as_stemmer_reload_internal (stemmer, locale, FALSE); ++} ++ + /** + * as_stemmer_stem: + * @stemmer: A #AsStemmer +-- +2.41.0 + diff --git a/gnu/packages/patches/calls-disable-application-test.patch b/gnu/packages/patches/calls-disable-application-test.patch new file mode 100644 index 00000000000..f06f7474872 --- /dev/null +++ b/gnu/packages/patches/calls-disable-application-test.patch @@ -0,0 +1,72 @@ +From e0fdae20840ffe3aeca7190eb8b1bcae70f0c93b Mon Sep 17 00:00:00 2001 +From: Vivien Kraus <vivien@planete-kraus.eu> +Date: Sun, 29 Oct 2023 21:03:27 +0100 +Subject: [PATCH] Disable the application test. + +The application test does not work in a Guix container, because an actual +sound card is required to run this integration test. + +* tests/meson.build: Disable test-application. +--- + tests/meson.build | 38 +++++++++++++++++++------------------- + 1 file changed, 19 insertions(+), 19 deletions(-) + +diff --git a/tests/meson.build b/tests/meson.build +index c9bdc3d..65f9b93 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -165,24 +165,24 @@ test('dbus', t, env: test_env) + + dbus_run_session = find_program('dbus-run-session') + +-if dbus_run_session.found () +- test_sources = [ 'test-application.c' ] +- t = executable('application', test_sources, calls_resources, +- c_args : test_cflags, +- link_args: test_link_args, +- pie: true, +- link_with : [calls_vala, libcalls], +- dependencies: calls_deps, +- include_directories : [ +- calls_includes, +- ] +- ) +- test('application', +- dbus_run_session, +- args: t.full_path(), +- env: test_env, +- timeout : 300 +- ) +-endif ++# if dbus_run_session.found () ++# test_sources = [ 'test-application.c' ] ++# t = executable('application', test_sources, calls_resources, ++# c_args : test_cflags, ++# link_args: test_link_args, ++# pie: true, ++# link_with : [calls_vala, libcalls], ++# dependencies: calls_deps, ++# include_directories : [ ++# calls_includes, ++# ] ++# ) ++# test('application', ++# dbus_run_session, ++# args: t.full_path(), ++# env: test_env, ++# timeout : 300 ++# ) ++# endif + + endif + +base-commit: 936d36287324163b958c6ea0c4297c7a607ee18c +prerequisite-patch-id: 20f8a81da35ce1797635eb310e1f85ac5ff814f6 +prerequisite-patch-id: 96768617d0a8ee8c66faa00220a1612e0f527292 +prerequisite-patch-id: 444c1ee57c24ba4b8165497b0a5885844110c59b +prerequisite-patch-id: 9415b848ca9ee277bccbad7c3fff23230d5016f1 +prerequisite-patch-id: 3ca2a45be430041875b21f6c8dfac0bc17916abf +prerequisite-patch-id: e8302846f4650dba9e0072c18be3459ce903fe2e +-- +2.41.0 + diff --git a/gnu/packages/patches/calls-disable-sip-test.patch b/gnu/packages/patches/calls-disable-sip-test.patch new file mode 100644 index 00000000000..75e9294fc00 --- /dev/null +++ b/gnu/packages/patches/calls-disable-sip-test.patch @@ -0,0 +1,44 @@ +From 33b75bfcda3437b12b6155addeeddcea697a4270 Mon Sep 17 00:00:00 2001 +Message-ID: <33b75bfcda3437b12b6155addeeddcea697a4270.1698608762.git.vivien@planete-kraus.eu> +From: Vivien Kraus <vivien@planete-kraus.eu> +Date: Sun, 29 Oct 2023 20:45:24 +0100 +Subject: [PATCH] Disable the direct call SIP test. + +* plugins/provider/tests/test-sip.c (main): Disable it. +--- + +This test passes in a guix shell --container --network but not in +guix shell --container. The most likely cause is it requires access to the +network. + + plugins/provider/tests/test-sip.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/plugins/provider/tests/test-sip.c b/plugins/provider/tests/test-sip.c +index 185d372..4e83d40 100644 +--- a/plugins/provider/tests/test-sip.c ++++ b/plugins/provider/tests/test-sip.c +@@ -442,8 +442,11 @@ main (int argc, + g_test_add ("/Calls/SIP/origin_call_lists", SipFixture, NULL, + setup_sip_origins, test_sip_origin_call_lists, tear_down_sip_origins); + +- g_test_add ("/Calls/SIP/calls_direct_call", SipFixture, NULL, +- setup_sip_origins, test_sip_call_direct_calls, tear_down_sip_origins); ++ /* The direct call fails in the Guix build environment, possibly ++ * because the network is more restricted. */ ++ ++ /* g_test_add ("/Calls/SIP/calls_direct_call", SipFixture, NULL, ++ setup_sip_origins, test_sip_call_direct_calls, tear_down_sip_origins); */ + + ret = g_test_run (); + + +base-commit: 936d36287324163b958c6ea0c4297c7a607ee18c +prerequisite-patch-id: 20f8a81da35ce1797635eb310e1f85ac5ff814f6 +prerequisite-patch-id: 96768617d0a8ee8c66faa00220a1612e0f527292 +prerequisite-patch-id: 444c1ee57c24ba4b8165497b0a5885844110c59b +prerequisite-patch-id: 9415b848ca9ee277bccbad7c3fff23230d5016f1 +prerequisite-patch-id: 3ca2a45be430041875b21f6c8dfac0bc17916abf +-- +2.41.0 + diff --git a/gnu/packages/patches/cogl-fix-double-free.patch b/gnu/packages/patches/cogl-fix-double-free.patch new file mode 100644 index 00000000000..e7a994b33ab --- /dev/null +++ b/gnu/packages/patches/cogl-fix-double-free.patch @@ -0,0 +1,32 @@ +From 15d0f7d96cf53263196e26f2eb48ededdff0efeb Mon Sep 17 00:00:00 2001 +Message-ID: <15d0f7d96cf53263196e26f2eb48ededdff0efeb.1694148833.git.vivien@planete-kraus.eu> +From: Vivien Kraus <vivien@planete-kraus.eu> +Date: Thu, 7 Sep 2023 22:16:48 +0200 +Subject: [PATCH] Prevent double free on context objects + +The display is unrefed in the context destructor, but not refed in the +constructor. + +This targets an archived (read-only) repository. +--- + cogl/cogl-context.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cogl/cogl-context.c b/cogl/cogl-context.c +index a7eed29a..7cdc9fe7 100644 +--- a/cogl/cogl-context.c ++++ b/cogl/cogl-context.c +@@ -218,7 +218,7 @@ cogl_context_new (CoglDisplay *display, + return NULL; + } + +- context->display = display; ++ context->display = cogl_object_ref (display); + + /* This is duplicated data, but it's much more convenient to have + the driver attached to the context and the value is accessed a + +base-commit: 61d966c7442d521e38572b7f93ac7b8973a9c65e +-- +2.41.0 + diff --git a/gnu/packages/patches/eudev-rules-directory.patch b/gnu/packages/patches/eudev-rules-directory.patch index 54fc01c6d5c..c4b1cfae39f 100644 --- a/gnu/packages/patches/eudev-rules-directory.patch +++ b/gnu/packages/patches/eudev-rules-directory.patch @@ -4,9 +4,9 @@ The old udev 182 supported $UDEV_CONFIG_FILE, which in turn allowed the search path to be customized, but eudev no longer has this, hence this hack. ---- eudev-3.1.5/src/udev/udev-rules.c 2015-10-13 06:22:14.000000000 +0800 -+++ eudev-3.1.5/src/udev/udev-rules.c 2015-10-16 20:45:38.491934336 +0800 -@@ -47,15 +47,11 @@ +--- a/src/udev/udev-rules.c ++++ b/src/udev/udev-rules.c +@@ -48,16 +48,11 @@ struct uid_gid { }; }; @@ -20,11 +20,12 @@ this hack. - "/lib/udev/rules.d", - "/usr/lib/udev/rules.d", -#endif +- "/usr/local/lib/udev/rules.d", + NULL, /* placeholder for $EUDEV_RULES_DIRECTORY */ NULL}; struct udev_rules { -@@ -1704,6 +1700,9 @@ +@@ -1718,6 +1713,9 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names) { udev_rules_check_timestamp(rules); diff --git a/gnu/packages/patches/feedbackd-use-system-gmobile.patch b/gnu/packages/patches/feedbackd-use-system-gmobile.patch new file mode 100644 index 00000000000..f0a04494727 --- /dev/null +++ b/gnu/packages/patches/feedbackd-use-system-gmobile.patch @@ -0,0 +1,42 @@ +From af9e72124b12ca481fd3592f9c8ea2649f7e4c80 Mon Sep 17 00:00:00 2001 +Message-ID: <af9e72124b12ca481fd3592f9c8ea2649f7e4c80.1698775513.git.vivien@planete-kraus.eu> +From: Vivien Kraus <vivien@planete-kraus.eu> +Date: Sun, 29 Oct 2023 19:12:27 +0100 +Subject: [PATCH] Look for a system-installed gmobile first. + +Meson lets projects use a dependency with fallback to a submodule, in +case the dependency is not installed. + +* meson.build (gmobile_subp): Convert to a dependency with subproject +fallback. +--- +I am waiting for Purism to approve my account before I can report this. + + meson.build | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/meson.build b/meson.build +index 8725e76..e5504be 100644 +--- a/meson.build ++++ b/meson.build +@@ -14,13 +14,13 @@ gio_unix = dependency('gio-unix-2.0', version: '>=2.50.0') + glib = dependency('glib-2.0', version: '>=2.50.0') + if get_option('daemon') + gobject = dependency('gobject-2.0', version: '>=2.50.0') +- gmobile_subp = subproject('gmobile', ++ gmobile = dependency('gmobile', ++ fallback: ['gmobile', 'gmobile_dep'], + default_options: [ + 'examples=false', + 'gtk_doc=false', + 'tests=false', + ]) +- gmobile = gmobile_subp.get_variable('gmobile_dep') + gsound = dependency('gsound') + gudev = dependency('gudev-1.0', version: '>=232') + json_glib = dependency('json-glib-1.0') + +base-commit: 853bd6d7ea8455efea063ba7c4f29ce8c203285f +-- +2.41.0 + diff --git a/gnu/packages/patches/gdm-elogind-support.patch b/gnu/packages/patches/gdm-elogind-support.patch index 5c8e3bd6105..b27e0005857 100644 --- a/gnu/packages/patches/gdm-elogind-support.patch +++ b/gnu/packages/patches/gdm-elogind-support.patch @@ -18,10 +18,10 @@ system and user units. meson_options.txt | 5 +- 6 files changed, 66 insertions(+), 42 deletions(-) -diff --git a/common/meson.build b/common/meson.build -index 074dd92e..bca58f7c 100644 ---- a/common/meson.build -+++ b/common/meson.build +Index: gdm-44.1/common/meson.build +=================================================================== +--- gdm-44.1.orig/common/meson.build ++++ gdm-44.1/common/meson.build @@ -11,7 +11,7 @@ libgdmcommon_src = files( ) @@ -31,10 +31,10 @@ index 074dd92e..bca58f7c 100644 gobject_dep, gio_dep, gio_unix_dep, -diff --git a/data/meson.build b/data/meson.build -index 2dec4c23..c3452e1c 100644 ---- a/data/meson.build -+++ b/data/meson.build +Index: gdm-44.1/data/meson.build +=================================================================== +--- gdm-44.1.orig/data/meson.build ++++ gdm-44.1/data/meson.build @@ -164,41 +164,53 @@ else service_config.set('PLYMOUTH_QUIT_SERVICE', '') endif @@ -114,10 +114,10 @@ index 2dec4c23..c3452e1c 100644 # XSession if get_option('gdm-xsession') -diff --git a/libgdm/meson.build b/libgdm/meson.build -index 3f8cafbb..83e95151 100644 ---- a/libgdm/meson.build -+++ b/libgdm/meson.build +Index: gdm-44.1/libgdm/meson.build +=================================================================== +--- gdm-44.1.orig/libgdm/meson.build ++++ gdm-44.1/libgdm/meson.build @@ -56,7 +56,7 @@ libgdm_deps = [ glib_dep, gio_dep, @@ -127,55 +127,46 @@ index 3f8cafbb..83e95151 100644 libgdmcommon_dep, ] -diff --git a/meson.build b/meson.build -index 845f673e..d0ca41ef 100644 ---- a/meson.build -+++ b/meson.build -@@ -96,21 +96,30 @@ xdmcp_dep = cc.find_library('Xdmcp', required: get_option('xdmcp')) - if xdmcp_dep.found() and get_option('tcp-wrappers') +Index: gdm-44.1/meson.build +=================================================================== +--- gdm-44.1.orig/meson.build ++++ gdm-44.1/meson.build +@@ -100,16 +100,24 @@ if xdmcp_dep.found() and get_option('tcp libwrap_dep = cc.find_library('wrap') endif --# systemd + # systemd -systemd_dep = dependency('systemd') -libsystemd_dep = dependency('libsystemd') --if meson.version().version_compare('>= 0.53') -- systemd_multiseat_x = find_program('systemd-multi-seat-x', -- required: false, -- dirs: [ -- systemd_dep.get_pkgconfig_variable('systemdutildir'), -- '/lib/systemd', -- '/usr/lib/systemd', -- ]) -+ +-systemd_multiseat_x = find_program('systemd-multi-seat-x', +- required: false, +- dirs: [ +- systemd_dep.get_pkgconfig_variable('systemdutildir'), +- '/lib/systemd', +- '/usr/lib/systemd', +- ]) +-systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x' +logind_provider = get_option('logind-provider') +systemd_dep = dependency('systemd', required: false) +if logind_provider == 'systemd' + libsystemd_dep = dependency('libsystemd') + logind_dep = libsystemd_dep -+ if meson.version().version_compare('>= 0.53') -+ systemd_multiseat_x = find_program('systemd-multi-seat-x', -+ required: false, -+ dirs: [ -+ systemd_dep.get_pkgconfig_variable('systemdutildir'), -+ '/lib/systemd', -+ '/usr/lib/systemd', -+ ]) -+ else -+ systemd_multiseat_x = find_program('systemd-multi-seat-x', required: false) -+ endif ++ systemd_multiseat_x = find_program('systemd-multi-seat-x', ++ required: false, ++ dirs: [ ++ systemd_dep.get_pkgconfig_variable('systemdutildir'), ++ '/lib/systemd', ++ '/usr/lib/systemd', ++ ]) + systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x' - else -- systemd_multiseat_x = find_program('systemd-multi-seat-x', required: false) ++else + elogind_dep = dependency('libelogind') + logind_dep = elogind_dep + systemd_x_server = 'disabled' - endif --systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x' -+ ++endif # Plymouth plymouth_dep = dependency('ply-boot-client', required: get_option('plymouth')) # Check for Solaris auditing API (ADT) -@@ -319,6 +328,7 @@ summary({ +@@ -319,6 +327,7 @@ summary({ 'PAM Syslog': have_pam_syslog, 'Supports PAM Extensions': pam_extensions_supported, 'SeLinux': libselinux_dep.found(), @@ -183,11 +174,11 @@ index 845f673e..d0ca41ef 100644 'Use GDM Xsession': get_option('gdm-xsession'), 'Use UserDisplayServer': get_option('user-display-server'), 'Use SystemdJournal': get_option('systemd-journal'), -diff --git a/meson_options.txt b/meson_options.txt -index 14e0b908..5135d7d6 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -12,6 +12,7 @@ option('initial-vt', type: 'integer', value: 1, description: 'Initial virtual te +Index: gdm-44.1/meson_options.txt +=================================================================== +--- gdm-44.1.orig/meson_options.txt ++++ gdm-44.1/meson_options.txt +@@ -12,6 +12,7 @@ option('initial-vt', type: 'integer', va option('ipv6', type: 'boolean', value: false, description: 'Enables compilation of IPv6 code.') option('lang-file', type: 'string', value: '', description: 'File containing default language settings.') option('libaudit', type: 'feature', value: 'auto', description: 'Add Linux audit support.') @@ -195,7 +186,7 @@ index 14e0b908..5135d7d6 100644 option('log-dir', type: 'string', value: '/var/log/gdm', description: 'Log directory.') option('pam-mod-dir', type: 'string', value: '', description: 'Directory to install PAM modules in.') option('pam-prefix', type: 'string', value: '', description: 'Specify where PAM files go.') -@@ -27,8 +28,8 @@ option('solaris', type: 'boolean', value: false, description: 'Build for Solaris +@@ -27,8 +28,8 @@ option('solaris', type: 'boolean', value option('split-authentication', type: 'boolean', value: true, description: 'Enable multiple simultaneous PAM conversations during login.') option('sysconfsubdir', type: 'string', value: 'gdm', description: 'Directory name used under sysconfdir.') option('systemd-journal', type: 'boolean', value: true, description: 'Use journald support.') diff --git a/gnu/packages/patches/gegl-compatibility-old-librsvg.patch b/gnu/packages/patches/gegl-compatibility-old-librsvg.patch new file mode 100644 index 00000000000..3e5733f9fd9 --- /dev/null +++ b/gnu/packages/patches/gegl-compatibility-old-librsvg.patch @@ -0,0 +1,80 @@ +From a99a93e5c9013bd4101f5058cdee7d0cf30234fe Mon Sep 17 00:00:00 2001 +Message-ID: <a99a93e5c9013bd4101f5058cdee7d0cf30234fe.1694554961.git.vivien@planete-kraus.eu> +From: Jehan <jehan@girinstud.io> +Date: Wed, 5 Jul 2023 21:18:19 +0200 +Subject: [PATCH] Issue #333: continuing to support librsvg 2.40.x (C + versions). + +Commit 9beeefcbe uses too new functions of librsvg. We could just bump +the minimum required version but there are issues with Rust not being +available on every platform yet. So instead, let's add some conditional +code paths, so that it still builds with librsvg 2.40.x (which was the +last versions fully in C) while we use newer code and no warnings when +using newer versions. +--- + operations/external/svg-load.c | 25 ++++++++++++++++++++----- + 1 file changed, 20 insertions(+), 5 deletions(-) + +diff --git a/operations/external/svg-load.c b/operations/external/svg-load.c +index 3312a0c0a..15c0b30b7 100644 +--- a/operations/external/svg-load.c ++++ b/operations/external/svg-load.c +@@ -76,16 +76,25 @@ query_svg (GeglOperation *operation) + { + GeglProperties *o = GEGL_PROPERTIES (operation); + Priv *p = (Priv*) o->user_data; ++#if LIBRSVG_CHECK_VERSION(2, 52, 0) + gdouble out_width, out_height; ++#else ++ RsvgDimensionData dimensions; ++#endif + + g_return_val_if_fail (p->handle != NULL, FALSE); + +- rsvg_handle_get_intrinsic_size_in_pixels (p->handle, &out_width, &out_height); +- + p->format = babl_format ("R'G'B'A u8"); + ++#if LIBRSVG_CHECK_VERSION(2, 52, 0) ++ rsvg_handle_get_intrinsic_size_in_pixels (p->handle, &out_width, &out_height); + p->height = out_height; +- p->width = out_width; ++ p->width = out_width; ++#else ++ rsvg_handle_get_dimensions (p->handle, &dimensions); ++ p->height = dimensions.height; ++ p->width = dimensions.width; ++#endif + + return TRUE; + } +@@ -98,10 +107,12 @@ load_svg (GeglOperation *operation, + { + GeglProperties *o = GEGL_PROPERTIES (operation); + Priv *p = (Priv*) o->user_data; +- RsvgRectangle svg_rect = {0.0, 0.0, width, height}; + cairo_surface_t *surface; + cairo_t *cr; +- GError *error = NULL; ++#if LIBRSVG_CHECK_VERSION(2, 52, 0) ++ GError *error = NULL; ++ RsvgRectangle svg_rect = {0.0, 0.0, width, height}; ++#endif + + g_return_val_if_fail (p->handle != NULL, -1); + +@@ -115,7 +126,11 @@ load_svg (GeglOperation *operation, + (double)height / (double)p->height); + } + ++#if LIBRSVG_CHECK_VERSION(2, 52, 0) + rsvg_handle_render_document (p->handle, cr, &svg_rect, &error); ++#else ++ rsvg_handle_render_cairo (p->handle, cr); ++#endif + + cairo_surface_flush (surface); + +-- +2.41.0 + diff --git a/gnu/packages/patches/gitg-fix-positional-argument.patch b/gnu/packages/patches/gitg-fix-positional-argument.patch deleted file mode 100644 index 1d3513921cb..00000000000 --- a/gnu/packages/patches/gitg-fix-positional-argument.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 1978973b12848741b08695ec2020bac98584d636 Mon Sep 17 00:00:00 2001 -From: Jan Beich <jbeich@FreeBSD.org> -Date: Mon, 24 Jan 2022 12:17:52 +0000 -Subject: [PATCH] meson: drop unused argument for i18n.merge_file() - -Ignored in Meson < 0.60.0, deprecated since 0.60.1 and fatal since 0.61.0. - -data/meson.build:8:0: ERROR: Function does not take positional arguments. -data/meson.build:44:0: ERROR: Function does not take positional arguments. ---- - data/meson.build | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/data/meson.build b/data/meson.build -index a8b90fd1..2413531d 100644 ---- a/data/meson.build -+++ b/data/meson.build -@@ -6,7 +6,6 @@ desktop_config = configuration_data() - desktop_config.set('icon', application_id) - desktop_config.set('binary', gitg_name) - i18n.merge_file( -- desktop, - type: 'desktop', - input: configure_file( - input: desktop + '.in.in', -@@ -42,7 +41,6 @@ appdata_config = configuration_data() - appdata_config.set('app-id', application_id) - appdata_config.set('gettext', gitg_name) - i18n.merge_file( -- appdata, - type: 'xml', - input: configure_file( - input: appdata + '.in.in', --- -GitLab - diff --git a/gnu/packages/patches/glib-networking-gnutls-binding.patch b/gnu/packages/patches/glib-networking-gnutls-binding.patch deleted file mode 100644 index 91d07430563..00000000000 --- a/gnu/packages/patches/glib-networking-gnutls-binding.patch +++ /dev/null @@ -1,21 +0,0 @@ -Skip failing test in 'test_connection_binding_match_tls_unique' -in 'tls/tests/connection.c' when building glib-networking against -GnuTLS 3.7.2. The failure stems from the fact that -'gnutls_session_channel_binding' returns GNUTLS_E_INVALID_REQUEST -is known upstream: - - https://gitlab.gnome.org/GNOME/glib-networking/-/issues/164 - -diff --git a/tls/tests/connection.c b/tls/tests/connection.c -index 036df04..347c7a4 100644 ---- a/tls/tests/connection.c -+++ b/tls/tests/connection.c -@@ -3037,8 +3037,6 @@ main (int argc, - setup_connection, test_connection_missing_server_identity, teardown_connection); - g_test_add ("/tls/" BACKEND "/connection/peer-certificate-notify", TestConnection, NULL, - setup_connection, test_peer_certificate_notify, teardown_connection); -- g_test_add ("/tls/" BACKEND "/connection/binding/match-tls-unique", TestConnection, NULL, -- setup_connection, test_connection_binding_match_tls_unique, teardown_connection); - g_test_add ("/tls/" BACKEND "/connection/binding/match-tls-server-end-point", TestConnection, NULL, - setup_connection, test_connection_binding_match_tls_server_end_point, teardown_connection); - g_test_add ("/tls/" BACKEND "/connection/binding/match-tls-exporter", TestConnection, NULL, diff --git a/gnu/packages/patches/glib-skip-failing-test.patch b/gnu/packages/patches/glib-skip-failing-test.patch index c7706aaa74b..3fde5cb1e24 100644 --- a/gnu/packages/patches/glib-skip-failing-test.patch +++ b/gnu/packages/patches/glib-skip-failing-test.patch @@ -10,12 +10,13 @@ diff --git a/gio/tests/meson.build b/gio/tests/meson.build index a926ae0..4fdbe7a 100644 --- a/gio/tests/meson.build +++ b/gio/tests/meson.build -@@ -317,10 +317,6 @@ if host_machine.system() != 'windows' +@@ -317,11 +317,6 @@ if host_machine.system() != 'windows' 'extra_sources' : [extra_sources, gdbus_test_codegen_generated, gdbus_test_codegen_generated_interface_info], 'c_args' : ['-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_32'], }, - 'gdbus-threading' : { - 'extra_sources' : extra_sources, +- 'extra_programs': extra_programs, - 'suite' : ['slow'], - }, 'gmenumodel' : { diff --git a/gnu/packages/patches/gmobile-make-it-installable.patch b/gnu/packages/patches/gmobile-make-it-installable.patch new file mode 100644 index 00000000000..9db65548779 --- /dev/null +++ b/gnu/packages/patches/gmobile-make-it-installable.patch @@ -0,0 +1,89 @@ +From c1ea43a45f4588f21752b0ad679c43350a9c8905 Mon Sep 17 00:00:00 2001 +Message-ID: <c1ea43a45f4588f21752b0ad679c43350a9c8905.1698604357.git.vivien@planete-kraus.eu> +From: Vivien Kraus <vivien@planete-kraus.eu> +Date: Sun, 29 Oct 2023 19:00:44 +0100 +Subject: [PATCH] Install gmobile as a shared library. + +Tracked at https://gitlab.gnome.org/guidog/gmobile/-/issues/1 + +* src/meson.build: Install the header files. Import pkgconfig. +Generate a pkg-config definition. +(gm_lib): use "library", not "static_library". Install it. +(gmobile_gir): Install it. +* meson.build: Install gm-config.h. +--- + meson.build | 1 + + src/meson.build | 22 +++++++++++++++++++--- + 2 files changed, 20 insertions(+), 3 deletions(-) + +diff --git a/meson.build b/meson.build +index e9f6c62..51ebeac 100644 +--- a/meson.build ++++ b/meson.build +@@ -83,6 +83,7 @@ root_inc = include_directories('.') + configure_file( + output: 'gm-config.h', + configuration: config_h, ++ install_dir: get_option('includedir') + ) + + subdir('data') +diff --git a/src/meson.build b/src/meson.build +index ee98a39..3dedbe4 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -1,3 +1,5 @@ ++pkg = import('pkgconfig') ++ + gm_deps = [ + gio_dep, + glib_dep, +@@ -37,18 +39,33 @@ gm_c_args = [ + '-DG_LOG_DOMAIN="gmobile"', + ] + +-gm_lib = static_library( ++gm_lib = library( + 'gmobile', + gm_sources, + include_directories: root_inc, + c_args: gm_c_args, +- dependencies: gm_deps) ++ dependencies: gm_deps, ++ install: true) ++ ++pkg.generate(gm_lib) + + gmobile_dep = declare_dependency( + include_directories: [root_inc, include_directories('.')], + dependencies: gm_deps, + link_with: gm_lib) + ++install_headers( ++ 'gmobile.h', ++ 'gm-cutout.h', ++ 'gm-device-info.h', ++ 'gm-device-tree.h', ++ 'gm-display-panel.h', ++ 'gm-error.h', ++ 'gm-main.h', ++ 'gm-rect.h', ++ 'gm-svg-path.h', ++ 'gm-timeout.h') ++ + if get_option('gtk_doc') + gmobile_gir_extra_args = [ + '--c-include=gmobile.h', +@@ -66,7 +83,6 @@ if get_option('gtk_doc') + identifier_prefix: 'Gm', + link_with: gm_lib, + includes: ['Gio-2.0'], +- install: false, + extra_args: gmobile_gir_extra_args, + ) + endif + +base-commit: 382fc89472176d2f1d435517cad53d969d8b8eff +-- +2.41.0 + diff --git a/gnu/packages/patches/gnome-control-center-firmware-security.patch b/gnu/packages/patches/gnome-control-center-firmware-security.patch new file mode 100644 index 00000000000..fd9d7b8ff44 --- /dev/null +++ b/gnu/packages/patches/gnome-control-center-firmware-security.patch @@ -0,0 +1,33 @@ +From: Jeremy Bicha <jeremy.bicha@canonical.com> +Date: Mon, 22 Aug 2022 08:31:15 -0400 +Subject: firmware-security: Disable + +Not yet useful enough to justify its inclusion by default here + +You can get the same info by running +fwupdmgr security + +If you drop this patch, add a Depends: fwupd [linux-any] + +https://launchpad.net/bugs/1987162 + +https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1938 + +[Stolen from the debian package] +--- + shell/cc-panel-loader.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/shell/cc-panel-loader.c b/shell/cc-panel-loader.c +index 17f9601..1b819a5 100644 +--- a/shell/cc-panel-loader.c ++++ b/shell/cc-panel-loader.c +@@ -113,7 +113,7 @@ static CcPanelLoaderVtable default_panels[] = + PANEL_TYPE("info-overview", cc_info_overview_panel_get_type, NULL), + PANEL_TYPE("keyboard", cc_keyboard_panel_get_type, NULL), + PANEL_TYPE("location", cc_location_panel_get_type, NULL), +- PANEL_TYPE("firmware-security",cc_firmware_security_panel_get_type, cc_firmware_security_panel_static_init_func), ++ // PANEL_TYPE("firmware-security",cc_firmware_security_panel_get_type, cc_firmware_security_panel_static_init_func), + PANEL_TYPE("microphone", cc_microphone_panel_get_type, NULL), + PANEL_TYPE("mouse", cc_mouse_panel_get_type, NULL), + PANEL_TYPE("multitasking", cc_multitasking_panel_get_type, NULL), diff --git a/gnu/packages/patches/gtk2-harden-list-store.patch b/gnu/packages/patches/gtk2-harden-list-store.patch new file mode 100644 index 00000000000..f49dc3bc772 --- /dev/null +++ b/gnu/packages/patches/gtk2-harden-list-store.patch @@ -0,0 +1,42 @@ +Backport the implementation of gtk_list_store_iter_is_valid from gtk+-3. + +Index: gtk+-2.24.33/gtk/gtkliststore.c +=================================================================== +--- gtk+-2.24.33.orig/gtk/gtkliststore.c ++++ gtk+-2.24.33/gtk/gtkliststore.c +@@ -1195,16 +1195,31 @@ gboolean + gtk_list_store_iter_is_valid (GtkListStore *list_store, + GtkTreeIter *iter) + { ++ GSequenceIter *seq_iter; ++ + g_return_val_if_fail (GTK_IS_LIST_STORE (list_store), FALSE); + g_return_val_if_fail (iter != NULL, FALSE); + +- if (!VALID_ITER (iter, list_store)) +- return FALSE; ++ /* can't use VALID_ITER() here, because iter might point ++ * to random memory. ++ * ++ * We MUST NOT dereference it. ++ */ + +- if (g_sequence_iter_get_sequence (iter->user_data) != list_store->seq) ++ if (iter == NULL || ++ iter->user_data == NULL || ++ list_store->stamp != iter->stamp) + return FALSE; + +- return TRUE; ++ for (seq_iter = g_sequence_get_begin_iter (list_store->seq); ++ !g_sequence_iter_is_end (seq_iter); ++ seq_iter = g_sequence_iter_next (seq_iter)) ++ { ++ if (seq_iter == iter->user_data) ++ return TRUE; ++ } ++ ++ return FALSE; + } + + static gboolean real_gtk_list_store_row_draggable (GtkTreeDragSource *drag_source, diff --git a/gnu/packages/patches/libcall-ui-make-it-installable.patch b/gnu/packages/patches/libcall-ui-make-it-installable.patch new file mode 100644 index 00000000000..078422913df --- /dev/null +++ b/gnu/packages/patches/libcall-ui-make-it-installable.patch @@ -0,0 +1,81 @@ +From 1a79c18e85232a6f56a58ec99271b92d5b0e6dca Mon Sep 17 00:00:00 2001 +Message-ID: <1a79c18e85232a6f56a58ec99271b92d5b0e6dca.1698606228.git.vivien@planete-kraus.eu> +From: Vivien Kraus <vivien@planete-kraus.eu> +Date: Sun, 29 Oct 2023 19:42:55 +0100 +Subject: [PATCH] Install libcall-ui. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Tracked at https://gitlab.gnome.org/World/Phosh/libcall-ui/-/issues/27 + +* src/meson.build: Require pkgconfig. Install a pkg-config +definition. Install the headers. +(call_ui_lib): Install it. Use “library”, not “static_library”. +* meson.build (config_h): Install the config.h file. +(call_ui_enum_sources): Install the header file. +--- + meson.build | 1 + + src/meson.build | 22 +++++++++++++++++++--- + 2 files changed, 20 insertions(+), 3 deletions(-) + +diff --git a/meson.build b/meson.build +index 6d96178..80514ba 100644 +--- a/meson.build ++++ b/meson.build +@@ -93,6 +93,7 @@ configure_file( + input: 'cui-config.h.in', + output: 'cui-config.h', + configuration: config_h, ++ install_dir: get_option('includedir') + ) + + #subdir('data') +diff --git a/src/meson.build b/src/meson.build +index bdb347c..2f9fa0c 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -1,7 +1,11 @@ ++pkg = import('pkgconfig') ++ + call_ui_enum_headers = files(['cui-call.h', + ]) + call_ui_enum_sources = gnome.mkenums_simple('cui-enums', +- sources : call_ui_enum_headers) ++ sources : call_ui_enum_headers, ++ install_header: true, ++ install_dir: get_option('includedir')) + + call_ui_resources = gnome.compile_resources( + 'cui-resources', +@@ -50,11 +54,23 @@ call_ui_c_args = [ + '-DG_LOG_DOMAIN="Cui"', + ] + +-call_ui_lib = static_library('call-ui', ++call_ui_lib = library('call-ui', + call_ui_sources, + c_args: call_ui_c_args, + include_directories: [ root_inc, src_inc ], +- dependencies: call_ui_deps) ++ dependencies: call_ui_deps, ++ install: true) ++ ++pkg.generate(call_ui_lib) ++ ++install_headers( ++ 'call-ui.h', ++ 'cui-call.h', ++ 'cui-call-display.h', ++ 'cui-main.h', ++ 'cui-dialpad.h', ++ 'cui-keypad.h', ++) + + libcall_ui_dep = declare_dependency( + sources: call_ui_enum_sources, + +base-commit: 817d770cfa6876d37c4a6d09b00c9bdedfdce8b7 +-- +2.41.0 + diff --git a/gnu/packages/patches/mm-common-reproducible-tarball.patch b/gnu/packages/patches/mm-common-reproducible-tarball.patch deleted file mode 100644 index f0890aaf574..00000000000 --- a/gnu/packages/patches/mm-common-reproducible-tarball.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 024c121c844a4ec920133eb3f7e6b6ee8044c0b6 Mon Sep 17 00:00:00 2001 -From: Vagrant Cascadian <vagrant@reproducible-builds.org> -Date: Sat, 12 Dec 2020 04:05:56 +0000 -Original-Patch: https://bugs.debian.org/977177 -Subject: [PATCH] Set uid, username, gid, and group name on files in - generated tarball. - -The user and group may otherwise vary between builds on different systems. - ---- - util/meson_aux/skeletonmm-tarball.py | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - -diff --git a/util/meson_aux/skeletonmm-tarball.py b/util/meson_aux/skeletonmm-tarball.py -index db9e650..89049b6 100755 ---- a/util/meson_aux/skeletonmm-tarball.py -+++ b/util/meson_aux/skeletonmm-tarball.py -@@ -39,10 +39,18 @@ elif output_file.endswith('.gz'): - else: - mode = 'w' - -+def reproducible(tarinfo): -+ # Set consistent user and group on files in the tar archive -+ tarinfo.uid = 0 -+ tarinfo.uname = 'root' -+ tarinfo.gid = 0 -+ tarinfo.gname = 'root' -+ return tarinfo -+ - with tarfile.open(output_file, mode=mode) as tar_file: - os.chdir(source_dir) # Input filenames are relative to source_dir. - for file in sys.argv[3:]: -- tar_file.add(file) -+ tar_file.add(file, filter=reproducible) - # Errors raise exceptions. If an exception is raised, Meson+ninja will notice - # that the command failed, despite exit(0). - sys.exit(0) --- -2.29.2 - diff --git a/gnu/packages/patches/mutter-fix-inverted-test.patch b/gnu/packages/patches/mutter-fix-inverted-test.patch deleted file mode 100644 index 3676b31deff..00000000000 --- a/gnu/packages/patches/mutter-fix-inverted-test.patch +++ /dev/null @@ -1,290 +0,0 @@ -From 5a83e8ef8250526a40e8e69c6398f990ab482b2f Mon Sep 17 00:00:00 2001 -From: Olivier Fourdan <ofourdan@redhat.com> -Date: Fri, 2 Jun 2023 14:42:51 +0200 -Subject: [PATCH 1/5] cogl/gl-framebuffer: Fix spurious trailing spaces - -Purely cosmetic fix, no functional change. - -Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047> ---- - cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c | 12 ++++++------ - cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c | 12 ++++++------ - 2 files changed, 12 insertions(+), 12 deletions(-) - -diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -index d6609bb2074..8d76f1578bf 100644 ---- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -@@ -72,32 +72,32 @@ ensure_bits_initialized (CoglGlFramebufferBack *gl_framebuffer_back) - GLenum attachment, pname; - size_t offset; - } params[] = { -- { -+ { - .attachment = GL_BACK_LEFT, - .pname = GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE, - .offset = offsetof (CoglFramebufferBits, red), - }, -- { -+ { - .attachment = GL_BACK_LEFT, - .pname = GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE, - .offset = offsetof (CoglFramebufferBits, green), - }, -- { -+ { - .attachment = GL_BACK_LEFT, - .pname = GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE, - .offset = offsetof (CoglFramebufferBits, blue), - }, -- { -+ { - .attachment = GL_BACK_LEFT, - .pname = GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE, - .offset = offsetof (CoglFramebufferBits, alpha), - }, -- { -+ { - .attachment = GL_DEPTH, - .pname = GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE, - .offset = offsetof (CoglFramebufferBits, depth), - }, -- { -+ { - .attachment = GL_STENCIL, - .pname = GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE, - .offset = offsetof (CoglFramebufferBits, stencil), -diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -index c8db6a23a29..1ffc1d53509 100644 ---- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -@@ -82,32 +82,32 @@ ensure_bits_initialized (CoglGlFramebufferFbo *gl_framebuffer_fbo) - GLenum attachment, pname; - size_t offset; - } params[] = { -- { -+ { - .attachment = GL_COLOR_ATTACHMENT0, - .pname = GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE, - .offset = offsetof (CoglFramebufferBits, red), - }, -- { -+ { - .attachment = GL_COLOR_ATTACHMENT0, - .pname = GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE, - .offset = offsetof (CoglFramebufferBits, green), - }, -- { -+ { - .attachment = GL_COLOR_ATTACHMENT0, - .pname = GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE, - .offset = offsetof (CoglFramebufferBits, blue), - }, -- { -+ { - .attachment = GL_COLOR_ATTACHMENT0, - .pname = GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE, - .offset = offsetof (CoglFramebufferBits, alpha), - }, -- { -+ { - .attachment = GL_DEPTH_ATTACHMENT, - .pname = GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE, - .offset = offsetof (CoglFramebufferBits, depth), - }, -- { -+ { - .attachment = GL_STENCIL_ATTACHMENT, - .pname = GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE, - .offset = offsetof (CoglFramebufferBits, stencil), --- -GitLab - - -From a2203df9f43b9e501a972d23b3d5584005c03ce6 Mon Sep 17 00:00:00 2001 -From: Olivier Fourdan <ofourdan@redhat.com> -Date: Fri, 2 Jun 2023 11:54:58 +0200 -Subject: [PATCH 2/5] cogl/gl-framebuffer: Fix inverted test in - ensure_bits_initialized() - -Cogl's feature COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS is required -to use the GL_FRAMEBUFFER_ATTACHMENT_* queries. - -Unfortunately, the test for the availability of the private feature is -actually inverted in ensure_bits_initialized() which causes that whole -portion of code to be ignored, falling back to the glGetIntegerv() -method which isn't supported in core profiles. - -As Mesa has recently started to be more strict about these, this causes -the CI tests to fail in mutter. - -Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047> ---- - cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -index 1ffc1d53509..75a8b0c1fe2 100644 ---- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -@@ -76,7 +76,7 @@ ensure_bits_initialized (CoglGlFramebufferFbo *gl_framebuffer_fbo) - COGL_FRAMEBUFFER_STATE_BIND); - - #ifdef HAVE_COGL_GL -- if (!_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS)) -+ if (_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS)) - { - const struct { - GLenum attachment, pname; --- -GitLab - - -From fad240f437d6b11f664c9c09aecabe5f5e703eca Mon Sep 17 00:00:00 2001 -From: Olivier Fourdan <ofourdan@redhat.com> -Date: Mon, 5 Jun 2023 10:31:38 +0200 -Subject: [PATCH 3/5] cogl/gl-framebuffer: Match testing features - -The function ensure_bits_initialized() in cogl-gl-framebuffer-fbo.c -checks for COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS whereas the same -in cogl-gl-framebuffer-back.c simply checks for the driver being -COGL_DRIVER_GL3. - -Change the later to use the COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS -flag as well. - -Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047> ---- - cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -index 8d76f1578bf..f6a17e8f070 100644 ---- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -@@ -66,7 +66,7 @@ ensure_bits_initialized (CoglGlFramebufferBack *gl_framebuffer_back) - COGL_FRAMEBUFFER_STATE_BIND); - - #ifdef HAVE_COGL_GL -- if (ctx->driver == COGL_DRIVER_GL3) -+ if (_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS)) - { - const struct { - GLenum attachment, pname; --- -GitLab - - -From c3af4c1b1571b05f67d48b90d9ea7313f3ca6003 Mon Sep 17 00:00:00 2001 -From: Olivier Fourdan <ofourdan@redhat.com> -Date: Fri, 2 Jun 2023 14:27:29 +0200 -Subject: [PATCH 4/5] cogl/gl-framebuffer: Fail without QUERY_FRAMEBUFFER_BITS - -glGetIntegerv() with GL_RED_BITS/GL_GREEN_BITS/GL_BLUE_BITS/etc. is not -supported with the GL core context, so there is no point in falling back -to that without supporting COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS, -as this will cause an GL error. - -Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047> ---- - cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c | 7 +------ - cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c | 7 +------ - 2 files changed, 2 insertions(+), 12 deletions(-) - -diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -index f6a17e8f070..0ccd2324077 100644 ---- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -@@ -119,12 +119,7 @@ ensure_bits_initialized (CoglGlFramebufferBack *gl_framebuffer_back) - else - #endif /* HAVE_COGL_GL */ - { -- GE (ctx, glGetIntegerv (GL_RED_BITS, &bits->red)); -- GE (ctx, glGetIntegerv (GL_GREEN_BITS, &bits->green)); -- GE (ctx, glGetIntegerv (GL_BLUE_BITS, &bits->blue)); -- GE (ctx, glGetIntegerv (GL_ALPHA_BITS, &bits->alpha)); -- GE (ctx, glGetIntegerv (GL_DEPTH_BITS, &bits->depth)); -- GE (ctx, glGetIntegerv (GL_STENCIL_BITS, &bits->stencil)); -+ return FALSE; - } - - COGL_NOTE (FRAMEBUFFER, -diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -index 75a8b0c1fe2..524196207f5 100644 ---- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -@@ -129,12 +129,7 @@ ensure_bits_initialized (CoglGlFramebufferFbo *gl_framebuffer_fbo) - else - #endif /* HAVE_COGL_GL */ - { -- GE (ctx, glGetIntegerv (GL_RED_BITS, &bits->red)); -- GE (ctx, glGetIntegerv (GL_GREEN_BITS, &bits->green)); -- GE (ctx, glGetIntegerv (GL_BLUE_BITS, &bits->blue)); -- GE (ctx, glGetIntegerv (GL_ALPHA_BITS, &bits->alpha)); -- GE (ctx, glGetIntegerv (GL_DEPTH_BITS, &bits->depth)); -- GE (ctx, glGetIntegerv (GL_STENCIL_BITS, &bits->stencil)); -+ return FALSE; - } - - if (!_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_ALPHA_TEXTURES) && --- -GitLab - - -From d65883e0d7d70987e3888b86222b109c35f5a7a2 Mon Sep 17 00:00:00 2001 -From: Olivier Fourdan <ofourdan@redhat.com> -Date: Mon, 5 Jun 2023 10:38:41 +0200 -Subject: [PATCH 5/5] cogl/gl-framebuffer: Remove conditional on HAVE_COGL_GL - -By testing the features flag, we can get rid of the conditional build -on HAVE_COGL_GL entirely. - -Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047> ---- - cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c | 2 -- - cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c | 2 -- - 2 files changed, 4 deletions(-) - -diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -index 0ccd2324077..94154d48efb 100644 ---- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -@@ -65,7 +65,6 @@ ensure_bits_initialized (CoglGlFramebufferBack *gl_framebuffer_back) - framebuffer, - COGL_FRAMEBUFFER_STATE_BIND); - --#ifdef HAVE_COGL_GL - if (_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS)) - { - const struct { -@@ -117,7 +116,6 @@ ensure_bits_initialized (CoglGlFramebufferBack *gl_framebuffer_back) - } - } - else --#endif /* HAVE_COGL_GL */ - { - return FALSE; - } -diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -index 524196207f5..3ea133d3143 100644 ---- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -@@ -75,7 +75,6 @@ ensure_bits_initialized (CoglGlFramebufferFbo *gl_framebuffer_fbo) - framebuffer, - COGL_FRAMEBUFFER_STATE_BIND); - --#ifdef HAVE_COGL_GL - if (_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS)) - { - const struct { -@@ -127,7 +126,6 @@ ensure_bits_initialized (CoglGlFramebufferFbo *gl_framebuffer_fbo) - } - } - else --#endif /* HAVE_COGL_GL */ - { - return FALSE; - } --- -GitLab - diff --git a/gnu/packages/patches/nautilus-extension-search-path.patch b/gnu/packages/patches/nautilus-extension-search-path.patch index d5dc35b241b..1394956315b 100644 --- a/gnu/packages/patches/nautilus-extension-search-path.patch +++ b/gnu/packages/patches/nautilus-extension-search-path.patch @@ -1,54 +1,62 @@ Allow Nautilus to search for extensions in the directories listed in $NAUTILUS_EXTENSION_PATH. -diff --git a/src/nautilus-module.c b/src/nautilus-module.c -index bf474bd..42e2a4e 100644 ---- a/src/nautilus-module.c -+++ b/src/nautilus-module.c -@@ -211,6 +211,10 @@ static void +Index: nautilus-44.2/src/nautilus-module.c +=================================================================== +--- nautilus-44.2.orig/src/nautilus-module.c ++++ nautilus-44.2/src/nautilus-module.c +@@ -220,8 +220,16 @@ static void load_module_dir (const char *dirname) { GDir *dir; +- + static GHashTable *loaded = NULL; + g_autoptr (GStrvBuilder) installed_module_name_builder = g_strv_builder_new (); ++ ++ if (installed_module_names != NULL) ++ g_strv_builder_addv (installed_module_name_builder, ++ (const gchar **)installed_module_names); + + if (loaded == NULL) + loaded = g_hash_table_new (g_str_hash, g_str_equal); - ++ dir = g_dir_open (dirname, 0, NULL); -@@ -221,15 +225,22 @@ load_module_dir (const char *dirname) - while ((name = g_dir_read_name (dir))) + if (dir) +@@ -232,16 +240,24 @@ load_module_dir (const char *dirname) { if (g_str_has_suffix (name, "." G_MODULE_SUFFIX)) -- { + { - char *filename; - - filename = g_build_filename (dirname, - name, - NULL); -- nautilus_module_load_file (filename); +- nautilus_module_load_file (filename, installed_module_name_builder); - g_free (filename); -- } -+ { -+ /* Make sure each module is loaded only twice or this could -+ lead to a crash. Double loading can occur if DIRNAME -+ occurs more than once in $NAUTILUS_EXTENSION_PATH. */ -+ if (!g_hash_table_contains (loaded, name)) -+ { -+ char *filename; ++ /* Make sure each module is loaded only twice or this could ++ lead to a crash. Double loading can occur if DIRNAME ++ occurs more than once in $NAUTILUS_EXTENSION_PATH. */ ++ if (!g_hash_table_contains (loaded, name)) ++ { ++ char *filename; + -+ filename = g_build_filename (dirname, -+ name, -+ NULL); -+ nautilus_module_load_file (filename); -+ g_hash_table_add (loaded, g_strdup (name)); -+ g_free (filename); -+ } -+ } - } ++ filename = g_build_filename (dirname, ++ name, ++ NULL); ++ nautilus_module_load_file (filename, ++ installed_module_name_builder); ++ g_hash_table_add (loaded, g_strdup (name)); ++ g_free (filename); ++ } + } +- } ++ } g_dir_close (dir); -@@ -257,10 +268,24 @@ nautilus_module_setup (void) + } + +@@ -278,10 +294,24 @@ nautilus_module_setup (void) if (!initialized) { diff --git a/gnu/packages/patches/shared-mime-info-xdgmime-path.patch b/gnu/packages/patches/shared-mime-info-xdgmime-path.patch new file mode 100644 index 00000000000..27c578f3fa7 --- /dev/null +++ b/gnu/packages/patches/shared-mime-info-xdgmime-path.patch @@ -0,0 +1,22 @@ +Adapted from <https://gitlab.freedesktop.org/xdg/shared-mime-info/-/merge_requests/182>. + +diff --git a/meson.build b/meson.build +index 3c75424..7058562 100644 +--- a/meson.build ++++ b/meson.build +@@ -26,11 +26,11 @@ xmlto = find_program('xmlto', required: false) + ############################################################################### + # Find xdgmime + +-xdgmime = get_option('xdgmime-path') / 'src' ++xdgmime = get_option('xdgmime-path') + +-xdgmime_print_mime_data = find_program(xdgmime/'print-mime-data', required: false) +-xdgmime_test_mime_data = find_program(xdgmime/'test-mime-data', required: false) +-xdgmime_test_mime = find_program(xdgmime/'test-mime', required: false) ++xdgmime_print_mime_data = find_program('print-mime-data', xdgmime/'print-mime-data', required: false) ++xdgmime_test_mime_data = find_program('test-mime-data', xdgmime/'test-mime-data', required: false) ++xdgmime_test_mime = find_program('test-mime', xdgmime/'test-mime', required: false) + xdgmime_found = ( + xdgmime_print_mime_data.found() and + xdgmime_test_mime_data.found() and |