summaryrefslogtreecommitdiffstats
path: root/meta/recipes-gnome
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2025-11-07 13:31:53 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-11-07 13:31:53 +0000
commit8c22ff0d8b70d9b12f0487ef696a7e915b9e3173 (patch)
treeefdc32587159d0050a69009bdf2330a531727d95 /meta/recipes-gnome
parentd412d2747595c1cc4a5e3ca975e3adc31b2f7891 (diff)
downloadpoky-8c22ff0d8b70d9b12f0487ef696a7e915b9e3173.tar.gz
The poky repository master branch is no longer being updated.
You can either: a) switch to individual clones of bitbake, openembedded-core, meta-yocto and yocto-docs b) use the new bitbake-setup You can find information about either approach in our documentation: https://docs.yoctoproject.org/ Note that "poky" the distro setting is still available in meta-yocto as before and we continue to use and maintain that. Long live Poky! Some further information on the background of this change can be found in: https://lists.openembedded.org/g/openembedded-architecture/message/2179 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-gnome')
-rw-r--r--meta/recipes-gnome/epiphany/epiphany_48.5.bb43
-rw-r--r--meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch29
-rw-r--r--meta/recipes-gnome/epiphany/files/distributor.patch24
-rw-r--r--meta/recipes-gnome/epiphany/files/migrator.patch32
-rw-r--r--meta/recipes-gnome/gcr/gcr_4.4.0.1.bb66
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-meson.build-allow-a-subset-of-tests-in-cross-compile.patch66
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch88
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/run-ptest3
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.12.bb113
-rw-r--r--meta/recipes-gnome/gi-docgen/gi-docgen_2025.4.bb19
-rw-r--r--meta/recipes-gnome/gnome/adwaita-icon-theme_48.0.bb29
-rw-r--r--meta/recipes-gnome/gnome/gconf/create_config_directory.patch28
-rw-r--r--meta/recipes-gnome/gnome/gconf/python3.patch60
-rw-r--r--meta/recipes-gnome/gnome/gconf/remove_plus_from_invalid_characters_list.patch19
-rw-r--r--meta/recipes-gnome/gnome/gconf/unable-connect-dbus.patch95
-rw-r--r--meta/recipes-gnome/gnome/gconf_3.2.6.bb61
-rw-r--r--meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch75
-rw-r--r--meta/recipes-gnome/gobject-introspection/gobject-introspection_1.84.0.bb211
-rw-r--r--meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_48.0.bb14
-rw-r--r--meta/recipes-gnome/gtk+/gtk+3/opengl.patch747
-rw-r--r--meta/recipes-gnome/gtk+/gtk+3_3.24.51.bb168
-rw-r--r--meta/recipes-gnome/gtk+/gtk4_4.18.6.bb135
-rw-r--r--meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-xsltproc-is-not-found.patch28
-rw-r--r--meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch138
-rw-r--r--meta/recipes-gnome/gtk-doc/files/conditionaltests.patch42
-rw-r--r--meta/recipes-gnome/gtk-doc/files/no-clobber.patch39
-rw-r--r--meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch41
-rw-r--r--meta/recipes-gnome/gtk-doc/gtk-doc_1.34.0.bb64
-rw-r--r--meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.18.bb17
-rw-r--r--meta/recipes-gnome/json-glib/json-glib/run-ptest3
-rw-r--r--meta/recipes-gnome/json-glib/json-glib_1.10.8.bb32
-rw-r--r--meta/recipes-gnome/libadwaita/libadwaita_1.7.6.bb27
-rw-r--r--meta/recipes-gnome/libdazzle/libdazzle_3.44.0.bb18
-rw-r--r--meta/recipes-gnome/libgudev/libgudev/0001-meson-Pass-export-dynamic-option-to-linker.patch38
-rw-r--r--meta/recipes-gnome/libgudev/libgudev_238.bb31
-rw-r--r--meta/recipes-gnome/libhandy/libhandy_1.8.3.bb26
-rw-r--r--meta/recipes-gnome/libnotify/libnotify_0.8.6.bb35
-rw-r--r--meta/recipes-gnome/libportal/libportal_0.9.1.bb19
-rw-r--r--meta/recipes-gnome/librsvg/librsvg-crates.inc712
-rw-r--r--meta/recipes-gnome/librsvg/librsvg/0001-Revert-meson.build-do-not-force-disable-gdk-pixbuf-l.patch49
-rw-r--r--meta/recipes-gnome/librsvg/librsvg/0001-query-rustc-append-RUSTFLAGS-to-rustc-executable.patch37
-rw-r--r--meta/recipes-gnome/librsvg/librsvg/run-ptest17
-rw-r--r--meta/recipes-gnome/librsvg/librsvg_2.61.0.bb115
-rw-r--r--meta/recipes-gnome/libsecret/libsecret/0001-meson-add-option-to-disable-pam-tests.patch81
-rw-r--r--meta/recipes-gnome/libsecret/libsecret_0.21.7.bb31
-rw-r--r--meta/recipes-gnome/libxmlb/libxmlb/0001-xb-selftest.c-hardcode-G_TEST_SRCDIR.patch32
-rw-r--r--meta/recipes-gnome/libxmlb/libxmlb/run-ptest3
-rw-r--r--meta/recipes-gnome/libxmlb/libxmlb_0.3.23.bb24
48 files changed, 0 insertions, 3824 deletions
diff --git a/meta/recipes-gnome/epiphany/epiphany_48.5.bb b/meta/recipes-gnome/epiphany/epiphany_48.5.bb
deleted file mode 100644
index 6a1abdc553..0000000000
--- a/meta/recipes-gnome/epiphany/epiphany_48.5.bb
+++ /dev/null
@@ -1,43 +0,0 @@
1SUMMARY = "WebKit based web browser for GNOME"
2DESCRIPTION = "Epiphany is an open source web browser for the Linux desktop environment. \
3It provides a simple and easy-to-use internet browsing experience."
4HOMEPAGE = "https://wiki.gnome.org/Apps/Web"
5BUGTRACKER = "https://gitlab.gnome.org/GNOME/epiphany"
6LICENSE = "GPL-3.0-or-later"
7LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
8
9DEPENDS = " \
10 webkitgtk \
11 gcr \
12 gsettings-desktop-schemas \
13 nettle \
14 json-glib \
15 libadwaita \
16 libarchive \
17 libdazzle \
18 libhandy \
19 libportal \
20 libsoup \
21 glib-2.0-native \
22 coreutils-native \
23 desktop-file-utils-native \
24 "
25
26inherit gnomebase gsettings features_check gettext mime-xdg gtk-icon-cache
27REQUIRED_DISTRO_FEATURES = "x11 opengl"
28
29SRC_URI += "\
30 file://0002-help-meson.build-disable-the-use-of-yelp.patch \
31 file://migrator.patch \
32 file://distributor.patch \
33 "
34SRC_URI[archive.sha256sum] = "0f66552ad6593c7952a3ddee5bf515656c8c434871076d9f1a91a7af9346b1b4"
35
36# Developer mode enables debugging
37PACKAGECONFIG[developer-mode] = "-Ddeveloper_mode=true,-Ddeveloper_mode=false"
38
39FILES:${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo"
40RDEPENDS:${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas"
41
42# ANGLE requires SSE support as of webkit 2.40.x on 32 bit x86
43COMPATIBLE_HOST:x86 = "${@bb.utils.contains_any('TUNE_FEATURES', 'core2 corei7', '.*', 'null', d)}"
diff --git a/meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch b/meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch
deleted file mode 100644
index 6c00ab9b40..0000000000
--- a/meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch
+++ /dev/null
@@ -1,29 +0,0 @@
1From 91045ece41faefbeac14b60d7b19b0c652e586fb Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Wed, 31 Jan 2018 15:50:38 +0200
4Subject: [PATCH] help/meson.build: disable the use of yelp
5
6In particular this avoids calling itstool which oe-core doesn't provide.
7
8Upstream-Status: Inappropriate [oe-core specific]
9Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
10---
11 help/meson.build | 8 ++++----
12 1 file changed, 4 insertions(+), 4 deletions(-)
13
14diff --git a/help/meson.build b/help/meson.build
15index ff324dd..f5e421d 100644
16--- a/help/meson.build
17+++ b/help/meson.build
18@@ -31,7 +31,7 @@ help_media = [
19 'media/org.gnome.Epiphany.svg'
20 ]
21
22-gnome.yelp(meson.project_name(),
23- sources: help_files,
24- media: help_media,
25-)
26+#gnome.yelp(meson.project_name(),
27+# sources: help_files,
28+# media: help_media,
29+#)
diff --git a/meta/recipes-gnome/epiphany/files/distributor.patch b/meta/recipes-gnome/epiphany/files/distributor.patch
deleted file mode 100644
index 54a3305aaf..0000000000
--- a/meta/recipes-gnome/epiphany/files/distributor.patch
+++ /dev/null
@@ -1,24 +0,0 @@
1From 46084da03b5f20423a2946d988c68e9ea9339c9c Mon Sep 17 00:00:00 2001
2From: Richard Purdie <richard.purdie@linuxfoundation.org>
3Date: Fri, 26 Feb 2021 10:17:52 +0000
4Subject: [PATCH] Don't encode the distro from /etc/os-release into the
5 binaries.
6
7Upstream-Status: Pending
8RP 2021/2/26
9---
10 meson.build | 1 +
11 1 file changed, 1 insertion(+)
12
13diff --git a/meson.build b/meson.build
14index df0340c..8ec6c79 100644
15--- a/meson.build
16+++ b/meson.build
17@@ -15,6 +15,7 @@ if r.returncode() == 0
18 else
19 distributor_name = 'GNOME Web'
20 endif
21+distributor_name = 'OpenEmbedded'
22
23 prefix = get_option('prefix')
24 datadir = join_paths(prefix, get_option('datadir'))
diff --git a/meta/recipes-gnome/epiphany/files/migrator.patch b/meta/recipes-gnome/epiphany/files/migrator.patch
deleted file mode 100644
index 8ebcdc9991..0000000000
--- a/meta/recipes-gnome/epiphany/files/migrator.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From ca504370b9aa893ceac21141d8f24e28a474b674 Mon Sep 17 00:00:00 2001
2From: Richard Purdie <richard.purdie@linuxfoundation.org>
3Date: Thu, 25 Feb 2021 14:52:32 +0000
4Subject: [PATCH] epiphany: Fix reproducibility issue
5
6We don't want to encide BUILD_ROOT into target packages. This is used
7for build time tests but in our case those would be on target anyway
8do use the target paths.
9
10Upstream-Status: Pending
11RP 2021/2/25
12---
13 lib/ephy-profile-utils.c | 4 ++--
14 1 file changed, 2 insertions(+), 2 deletions(-)
15
16diff --git a/lib/ephy-profile-utils.c b/lib/ephy-profile-utils.c
17index a2f6181..5218077 100644
18--- a/lib/ephy-profile-utils.c
19+++ b/lib/ephy-profile-utils.c
20@@ -130,10 +130,10 @@ ephy_profile_utils_do_migration (const char *profile_directory,
21 argv[i++] = NULL;
22
23 #if DEVELOPER_MODE
24- argv[0] = BUILD_ROOT "/src/" EPHY_PROFILE_MIGRATOR;
25+ argv[0] = PKGLIBEXECDIR "/" EPHY_PROFILE_MIGRATOR;
26 #else
27 if (debug)
28- argv[0] = BUILD_ROOT "/src/" EPHY_PROFILE_MIGRATOR;
29+ argv[0] = PKGLIBEXECDIR "/" EPHY_PROFILE_MIGRATOR;
30 #endif
31
32 g_spawn_sync (NULL, (char **)argv, envp, G_SPAWN_SEARCH_PATH,
diff --git a/meta/recipes-gnome/gcr/gcr_4.4.0.1.bb b/meta/recipes-gnome/gcr/gcr_4.4.0.1.bb
deleted file mode 100644
index f3288c8d36..0000000000
--- a/meta/recipes-gnome/gcr/gcr_4.4.0.1.bb
+++ /dev/null
@@ -1,66 +0,0 @@
1SUMMARY = "A library for bits of crypto UI and parsing etc"
2DESCRIPTION = "GCR is a library for displaying certificates, and crypto UI, \
3accessing key stores. It also provides the viewer for crypto files on the \
4GNOME desktop."
5HOMEPAGE = "https://gitlab.gnome.org/GNOME/gcr"
6BUGTRACKER = "https://gitlab.gnome.org/GNOME/gcr/issues"
7
8LICENSE = "LGPL-2.0-only"
9LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
10
11DEPENDS = "p11-kit glib-2.0 libgcrypt gnupg-native \
12 ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'libxslt-native', '', d)}"
13
14CFLAGS += "-D_GNU_SOURCE"
15
16GTKDOC_MESON_OPTION = "gtk_doc"
17inherit gnomebase gtk-icon-cache gi-docgen features_check vala gobject-introspection gettext mime mime-xdg
18UPSTREAM_CHECK_REGEX = "gcr-(?P<pver>\d+\.\d+\.(?!9\d+)\d+(\.\d+)?)"
19
20REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'opengl', '', d)}"
21
22SRC_URI[archive.sha256sum] = "0c3c341e49f9f4f2532a4884509804190a0c2663e6120360bb298c5d174a8098"
23
24PACKAGECONFIG ??= " \
25 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
26 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)} \
27 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'gtk', '', d)} \
28 ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'vapi', '', d)} \
29"
30PACKAGECONFIG[gtk] = "-Dgtk4=true,-Dgtk4=false,gtk4"
31PACKAGECONFIG[ssh_agent] = "-Dssh_agent=true,-Dssh_agent=false,libsecret,openssh"
32#'Use systemd socket activation for server programs'
33PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
34PACKAGECONFIG[vapi] = "-Dvapi=true,-Dvapi=false,"
35
36FILES:${PN} += " \
37 ${datadir}/dbus-1 \
38 ${datadir}/gcr-4 \
39 ${systemd_user_unitdir}/gcr-ssh-agent.socket \
40 ${systemd_user_unitdir}/gcr-ssh-agent.service \
41"
42
43# http://errors.yoctoproject.org/Errors/Details/20229/
44ARM_INSTRUCTION_SET:armv4 = "arm"
45ARM_INSTRUCTION_SET:armv5 = "arm"
46ARM_INSTRUCTION_SET:armv6 = "arm"
47
48EXTRA_OEMESON += "--cross-file=${WORKDIR}/meson-${PN}.cross"
49
50do_write_config:append() {
51 cat >${WORKDIR}/meson-${PN}.cross <<EOF
52[binaries]
53gpg = '${bindir}/gpg'
54ssh-add = '${bindir}/ssh-add'
55ssh-agent = '${bindir}/ssh-agent'
56EOF
57}
58
59# gnome_verdir is coming from gnomebase.bbclass, which seems to work
60# with gcr as long as its version has 3 sections (x.y.z).
61# This version is 4.4.0.1 - add a custom version parser, otherwise the
62# original parser constructs invalid download URL.
63# It can be removed with the next update, when/if the version has only
64# 3 sections again.
65def gnome_verdir(v):
66 return ".".join(v.split(".")[:2]) or v
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-meson.build-allow-a-subset-of-tests-in-cross-compile.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-meson.build-allow-a-subset-of-tests-in-cross-compile.patch
deleted file mode 100644
index 24edda8102..0000000000
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-meson.build-allow-a-subset-of-tests-in-cross-compile.patch
+++ /dev/null
@@ -1,66 +0,0 @@
1From 325a4cde99a00b84116ab7111d27e6973f3c5026 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Thu, 26 Jan 2023 20:29:46 +0100
4Subject: [PATCH] meson.build: allow (a subset of) tests in cross compile
5 settings
6
7There is no need to completely disable tests: most of them
8do not require running target executables at build time,
9and so can be built and installed.
10
11This requires inserting a couple of specific guards around
12items that do require running target executables.
13
14Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/merge_requests/150]
15Signed-off-by: Alexander Kanavin <alex@linutronix.de>
16---
17 meson.build | 6 +++---
18 tests/meson.build | 10 ++++++----
19 2 files changed, 9 insertions(+), 7 deletions(-)
20
21diff --git a/meson.build b/meson.build
22index 3eb3fcc..dc7e790 100644
23--- a/meson.build
24+++ b/meson.build
25@@ -390,10 +390,10 @@ subdir('gdk-pixbuf')
26 # i18n
27 subdir('po')
28
29+if get_option('tests')
30+ subdir('tests')
31+endif
32 if not meson.is_cross_build()
33- if get_option('tests')
34- subdir('tests')
35- endif
36 subdir('thumbnailer')
37 endif
38
39diff --git a/tests/meson.build b/tests/meson.build
40index 3781066..911b5fb 100644
41--- a/tests/meson.build
42+++ b/tests/meson.build
43@@ -4,7 +4,7 @@
44 # gdk-pixbuf-pixdata from build directory because it needs all DLL locations in
45 # $PATH. Ideally we should use gnome.compile_resources() and let Meson deal with
46 # this problem: See https://github.com/mesonbuild/meson/issues/8266.
47-if enabled_loaders.contains('png') and host_system != 'windows'
48+if enabled_loaders.contains('png') and host_system != 'windows' and not meson.is_cross_build()
49 # Resources; we cannot use gnome.compile_resources() here, because we need to
50 # override the environment in order to use the utilities we just built instead
51 # of the system ones
52@@ -164,9 +164,11 @@ endif
53 test_deps = gdk_pixbuf_deps + [ gdkpixbuf_dep, ]
54 test_args = [ '-k' ]
55 test_env = environment()
56-test_env.set('G_TEST_SRCDIR', meson.current_source_dir())
57-test_env.set('G_TEST_BUILDDIR', meson.current_build_dir())
58-test_env.set('GDK_PIXBUF_MODULE_FILE', loaders_cache.full_path())
59+if not meson.is_cross_build()
60+ test_env.set('G_TEST_SRCDIR', meson.current_source_dir())
61+ test_env.set('G_TEST_BUILDDIR', meson.current_build_dir())
62+ test_env.set('GDK_PIXBUF_MODULE_FILE', loaders_cache.full_path())
63+endif
64
65 foreach test_name, test_data: installed_tests
66 test_sources = [ test_name + '.c', 'test-common.c' ]
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch
deleted file mode 100644
index 3b4bf62861..0000000000
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch
+++ /dev/null
@@ -1,88 +0,0 @@
1From f78ab4edaee5f62663a9a4bcfa56e5c524da4474 Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross.burton@intel.com>
3Date: Tue, 1 Apr 2014 17:23:36 +0100
4Subject: [PATCH] gdk-pixbuf: add an option so that loader errors are fatal
5
6If an environment variable is specified set the return value from main() to
7non-zero if the loader had errors (missing libraries, generally).
8
9Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/merge_requests/144]
10Signed-off-by: Ross Burton <ross.burton@intel.com>
11---
12 gdk-pixbuf/queryloaders.c | 19 +++++++++++++++----
13 1 file changed, 15 insertions(+), 4 deletions(-)
14
15diff --git a/gdk-pixbuf/queryloaders.c b/gdk-pixbuf/queryloaders.c
16index baa9a5c..9b6fa89 100644
17--- a/gdk-pixbuf/queryloaders.c
18+++ b/gdk-pixbuf/queryloaders.c
19@@ -216,7 +216,7 @@ write_loader_info (GString *contents, const char *path, GdkPixbufFormat *info)
20 g_string_append_c (contents, '\n');
21 }
22
23-static void
24+static gboolean
25 query_module (GString *contents, const char *dir, const char *file)
26 {
27 char *path;
28@@ -225,6 +225,7 @@ query_module (GString *contents, const char *dir, const char *file)
29 void (*fill_vtable) (GdkPixbufModule *module);
30 gpointer fill_info_ptr;
31 gpointer fill_vtable_ptr;
32+ gboolean ret = TRUE;
33
34 if (g_path_is_absolute (file))
35 path = g_strdup (file);
36@@ -274,10 +275,13 @@ query_module (GString *contents, const char *dir, const char *file)
37 g_module_error());
38 else
39 g_fprintf (stderr, "Cannot load loader %s\n", path);
40+ ret = FALSE;
41 }
42 if (module)
43 g_module_close (module);
44 g_free (path);
45+
46+ return ret;
47 }
48
49 #if defined(G_OS_WIN32) && defined(GDK_PIXBUF_RELOCATABLE)
50@@ -318,6 +322,7 @@ int main (int argc, char **argv)
51 gint first_file = 1;
52 GFile *pixbuf_libdir_file;
53 gchar *pixbuf_libdir;
54+ gboolean success = TRUE;
55
56 #ifdef G_OS_WIN32
57 gchar *libdir;
58@@ -456,7 +461,9 @@ int main (int argc, char **argv)
59 }
60 modules = g_list_sort (modules, (GCompareFunc)strcmp);
61 for (l = modules; l != NULL; l = l->next)
62- query_module (contents, moduledir, l->data);
63+ if (!query_module (contents, moduledir, l->data))
64+ success = FALSE;
65+
66 g_list_free_full (modules, g_free);
67 g_free (moduledir);
68 #else
69@@ -472,7 +479,8 @@ int main (int argc, char **argv)
70 infilename = g_locale_to_utf8 (infilename,
71 -1, NULL, NULL, NULL);
72 #endif
73- query_module (contents, cwd, infilename);
74+ if (!query_module (contents, cwd, infilename))
75+ success = FALSE;
76 }
77 g_free (cwd);
78 }
79@@ -492,5 +500,8 @@ int main (int argc, char **argv)
80
81 g_free (pixbuf_libdir);
82
83- return 0;
84+ if (g_getenv ("GDK_PIXBUF_FATAL_LOADER"))
85+ return success ? 0 : 1;
86+ else
87+ return 0;
88 }
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/run-ptest b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/run-ptest
deleted file mode 100644
index 8f9072386e..0000000000
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
1#! /bin/sh
2
3gnome-desktop-testing-runner gdk-pixbuf
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.12.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.12.bb
deleted file mode 100644
index 98993cc07d..0000000000
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.12.bb
+++ /dev/null
@@ -1,113 +0,0 @@
1SUMMARY = "Image loading library for GTK+"
2DESCRIPTION = "The GDK Pixbuf library provides: Image loading and saving \
3facilities, fast scaling and compositing of pixbufs and Simple animation \
4loading (ie. animated GIFs)"
5HOMEPAGE = "https://wiki.gnome.org/Projects/GdkPixbuf"
6BUGTRACKER = "https://gitlab.gnome.org/GNOME/gdk-pixbuf/issues"
7
8LICENSE = "LGPL-2.1-or-later"
9LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
10 file://gdk-pixbuf/gdk-pixbuf.h;endline=26;md5=72b39da7cbdde2e665329fef618e1d6b \
11 "
12
13SECTION = "libs"
14
15DEPENDS = "glib-2.0 shared-mime-info"
16
17SRC_URI[archive.sha256sum] = "b9505b3445b9a7e48ced34760c3bcb73e966df3ac94c95a148cb669ab748e3c7"
18
19inherit gettext gnomebase pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gi-docgen lib_package
20
21SRC_URI += "\
22 file://run-ptest \
23 file://fatal-loader.patch \
24 file://0001-meson.build-allow-a-subset-of-tests-in-cross-compile.patch \
25 "
26
27GIR_MESON_OPTION = 'introspection'
28GIR_MESON_ENABLE_FLAG = "enabled"
29GIR_MESON_DISABLE_FLAG = "disabled"
30
31LIBV = "2.10.0"
32
33PACKAGECONFIG ??= "png jpeg gif others \
34 ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
35
36PACKAGECONFIG[png] = "-Dpng=enabled,-Dpng=disabled,libpng"
37PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,jpeg"
38PACKAGECONFIG[tiff] = "-Dtiff=enabled,-Dtiff=disabled,tiff"
39PACKAGECONFIG[gif] = "-Dgif=enabled,-Dgif=disabled"
40PACKAGECONFIG[others] = "-Dothers=enabled,-Dothers=disabled"
41PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false"
42
43EXTRA_OEMESON = "-Dman=false"
44
45PACKAGES =+ "${PN}-xlib"
46
47# For GIO image type sniffing
48RDEPENDS:${PN} = "shared-mime-info"
49
50FILES:${PN}-xlib = "${libdir}/*pixbuf_xlib*${SOLIBS}"
51ALLOW_EMPTY:${PN}-xlib = "1"
52
53FILES:${PN} += "${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders"
54
55FILES:${PN}-bin += "${datadir}/thumbnailers/gdk-pixbuf-thumbnailer.thumbnailer"
56
57FILES:${PN}-dev += " \
58 ${bindir}/gdk-pixbuf-csource \
59 ${bindir}/gdk-pixbuf-pixdata \
60 ${bindir}/gdk-pixbuf-print-mime-types \
61 ${includedir}/* \
62"
63
64PACKAGES_DYNAMIC += "^gdk-pixbuf-loader-.*"
65PACKAGES_DYNAMIC:class-native = ""
66
67python populate_packages:prepend () {
68 postinst_pixbufloader = d.getVar("postinst_pixbufloader")
69
70 loaders_root = d.expand('${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders')
71
72 packages = ' '.join(do_split_packages(d, loaders_root, r'^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s'))
73 d.setVar('PIXBUF_PACKAGES', packages)
74
75 # The test suite exercises all the loaders, so ensure they are all
76 # dependencies of the ptest package.
77 d.appendVar("RDEPENDS:%s-ptest" % d.getVar('PN'), " " + packages)
78}
79
80do_install:append() {
81 # Copy gdk-pixbuf-query-loaders into libdir so it is always available
82 # in multilib builds.
83 cp ${D}/${bindir}/gdk-pixbuf-query-loaders ${D}/${libdir}/gdk-pixbuf-2.0/
84
85}
86
87do_install_ptest() {
88 # Remove a bad fuzzing attempt that sporadically fails without a way to reproduce
89 rm ${D}/${datadir}/installed-tests/gdk-pixbuf/pixbuf-randomly-modified.test
90 # https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/215
91 rm ${D}/${datadir}/installed-tests/gdk-pixbuf/pixbuf-jpeg.test
92}
93
94do_install:append:class-native() {
95 create_wrapper ${D}/${bindir}/gdk-pixbuf-csource \
96 XDG_DATA_DIRS=${STAGING_DATADIR} \
97 GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
98
99 create_wrapper ${D}/${bindir}/gdk-pixbuf-pixdata \
100 XDG_DATA_DIRS=${STAGING_DATADIR} \
101 GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
102
103 create_wrapper ${D}/${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders \
104 XDG_DATA_DIRS=${STAGING_DATADIR} \
105 GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \
106 GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders
107
108 create_wrapper ${D}/${bindir}/gdk-pixbuf-query-loaders \
109 XDG_DATA_DIRS=${STAGING_DATADIR} \
110 GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \
111 GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders
112}
113BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-gnome/gi-docgen/gi-docgen_2025.4.bb b/meta/recipes-gnome/gi-docgen/gi-docgen_2025.4.bb
deleted file mode 100644
index 19aacb765e..0000000000
--- a/meta/recipes-gnome/gi-docgen/gi-docgen_2025.4.bb
+++ /dev/null
@@ -1,19 +0,0 @@
1SUMMARY = "Documentation tool for GObject-based libraries"
2DESCRIPTION = "GI-DocGen is a document generator for GObject-based libraries. GObject is \
3the base type system of the GNOME project. GI-Docgen reuses the \
4introspection data generated by GObject-based libraries to generate the API \
5reference of these libraries, as well as other ancillary documentation."
6HOMEPAGE = "https://gnome.pages.gitlab.gnome.org/gi-docgen/"
7
8LICENSE = "GPL-3.0-or-later & Apache-2.0"
9LIC_FILES_CHKSUM = "file://gi-docgen.py;beginline=1;endline=5;md5=2dc0f1f01202478cfe813c0e7f80b326"
10
11SRC_URI = "git://gitlab.gnome.org/GNOME/gi-docgen.git;protocol=https;branch=main"
12
13SRCREV = "0517026e0bf51b3776efa4689da44ea0c99e343e"
14
15inherit python_setuptools_build_meta
16
17RDEPENDS:${PN} += "python3-asyncio python3-core python3-jinja2 python3-json python3-markdown python3-markupsafe python3-pygments python3-typogrify python3-xml"
18
19BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-gnome/gnome/adwaita-icon-theme_48.0.bb b/meta/recipes-gnome/gnome/adwaita-icon-theme_48.0.bb
deleted file mode 100644
index 38b5410086..0000000000
--- a/meta/recipes-gnome/gnome/adwaita-icon-theme_48.0.bb
+++ /dev/null
@@ -1,29 +0,0 @@
1SUMMARY = "GTK+ icon theme"
2DESCRIPTION = "The Adwaita icon theme is the default icon theme of the GNOME desktop \
3This package package contains an icon theme for Gtk+ 3 applications."
4HOMEPAGE = "https://gitlab.gnome.org/GNOME/adwaita-icon-theme"
5BUGTRACKER = "https://gitlab.gnome.org/GNOME/adwaita-icon-theme/issues"
6SECTION = "x11/gnome"
7
8LICENSE = "LGPL-3.0-only | CC-BY-SA-3.0"
9LIC_FILES_CHKSUM = "file://COPYING;md5=c84cac88e46fc07647ea07e6c24eeb7c \
10 file://COPYING_CCBYSA3;md5=96143d33de3a79321b1006c4e8ed07e7 \
11 file://COPYING_LGPL;md5=e6a600fd5e1d9cbde2d983680233ad02"
12
13inherit gnomebase allarch gtk-icon-cache
14
15SRC_URI[archive.sha256sum] = "847068888650d9673115be6dbf2bfdc31a46aebc528a6a9db4420e60e656b8d4"
16
17DEPENDS += "librsvg-native"
18
19PACKAGES =+ "${PN}-cursors ${PN}-symbolic"
20
21RREPLACES:${PN} = "gnome-icon-theme"
22RCONFLICTS:${PN} = "gnome-icon-theme"
23RPROVIDES:${PN} = "gnome-icon-theme"
24
25FILES:${PN}-cursors = "${datadir}/icons/Adwaita/cursors/"
26FILES:${PN}-symbolic = "${datadir}/icons/Adwaita/symbolic*/"
27FILES:${PN}-doc += "${datadir}/licenses/adwaita-icon-theme"
28
29BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-gnome/gnome/gconf/create_config_directory.patch b/meta/recipes-gnome/gnome/gconf/create_config_directory.patch
deleted file mode 100644
index cd72e739b0..0000000000
--- a/meta/recipes-gnome/gnome/gconf/create_config_directory.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1Upstream-Status: Pending
2
3In some circumstances, gconf isn't able to save configurations
4because ~/.config folder aka root_dir doesn't exist.
5This issue was not seen before because ~/.config directory is shared
6between several packages and one of those packages usually creates it
7by the time gconf wants to use it.
8
9This patch makes sure that gconf creates the .config directory if it
10doesn't exist, along with the gconf directory inside it.
11
12Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com>
13Signed-off-by: Alejandro Hernandez <alejandr@xilinx.com>
14
15
16Index: GConf-3.2.6/backends/markup-backend.c
17===================================================================
18--- GConf-3.2.6.orig/backends/markup-backend.c
19+++ GConf-3.2.6/backends/markup-backend.c
20@@ -276,7 +276,7 @@ resolve_address (const char *address,
21 /* dir_mode without search bits */
22 file_mode = dir_mode & (~0111);
23 }
24- else if (g_mkdir (root_dir, dir_mode) < 0)
25+ else if (g_mkdir_with_parents (root_dir, dir_mode) < 0)
26 {
27 /* Error out even on EEXIST - shouldn't happen anyway */
28 gconf_set_error (err, GCONF_ERROR_FAILED,
diff --git a/meta/recipes-gnome/gnome/gconf/python3.patch b/meta/recipes-gnome/gnome/gconf/python3.patch
deleted file mode 100644
index 7c022a2e1b..0000000000
--- a/meta/recipes-gnome/gnome/gconf/python3.patch
+++ /dev/null
@@ -1,60 +0,0 @@
1gconf: use python3
2
3Convert gsettings-schema-convert to use python3.
4
5Upstream-Status: Inappropriate [gconf is deprecated]
6
7Signed-off-by: Joe Slater <joe.slater@windriver.com>
8
9
10--- a/gsettings/gsettings-schema-convert
11+++ b/gsettings/gsettings-schema-convert
12@@ -1,4 +1,4 @@
13-#!/usr/bin/env python
14+#!/usr/bin/env python3
15 # vim: set ts=4 sw=4 et: coding=UTF-8
16 #
17 # Copyright (c) 2010, Novell, Inc.
18@@ -603,7 +603,7 @@ class SimpleSchemaParser:
19 for line in lines:
20 current_line_nb += 1
21 self.parse_line(line)
22- except GSettingsSchemaConvertException, e:
23+ except GSettingsSchemaConvertException as e:
24 raise GSettingsSchemaConvertException('%s:%s: %s' % (os.path.basename(self.file), current_line_nb, e))
25
26 return self.root
27@@ -1095,7 +1095,7 @@ def main(args):
28 try:
29 parser = GConfSchemaParser(argfile, options.gettext_domain, options.schema_id, options.keep_underscores)
30 schema_root = parser.parse()
31- except SyntaxError, e:
32+ except SyntaxError as e:
33 raise GSettingsSchemaConvertException('\'%s\' does not look like a valid gconf schema file: %s' % (argfile, e))
34 else:
35 # autodetect if file is XML or not
36@@ -1104,7 +1104,7 @@ def main(args):
37 schema_root = parser.parse()
38 if not options.simple and not options.xml:
39 options.simple = True
40- except SyntaxError, e:
41+ except SyntaxError as e:
42 parser = SimpleSchemaParser(argfile)
43 schema_root = parser.parse()
44 if not options.simple and not options.xml:
45@@ -1127,13 +1127,13 @@ def main(args):
46 fout = open(options.output, 'w')
47 fout.write(output)
48 fout.close()
49- except GSettingsSchemaConvertException, e:
50+ except GSettingsSchemaConvertException as e:
51 fout.close()
52 if os.path.exists(options.output):
53 os.unlink(options.output)
54 raise e
55
56- except GSettingsSchemaConvertException, e:
57+ except GSettingsSchemaConvertException as e:
58 print >> sys.stderr, '%s' % e
59 return 1
60
diff --git a/meta/recipes-gnome/gnome/gconf/remove_plus_from_invalid_characters_list.patch b/meta/recipes-gnome/gnome/gconf/remove_plus_from_invalid_characters_list.patch
deleted file mode 100644
index 59a7ca7802..0000000000
--- a/meta/recipes-gnome/gnome/gconf/remove_plus_from_invalid_characters_list.patch
+++ /dev/null
@@ -1,19 +0,0 @@
1Upstream-Status: Pending
2
3Remove '+' from invalid characters list
4
5Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
6
7Index: GConf-3.2.5/gconf/gconf-backend.c
8===================================================================
9--- GConf-3.2.5.orig/gconf/gconf-backend.c
10+++ GConf-3.2.5/gconf/gconf-backend.c
11@@ -37,7 +37,7 @@ static const char invalid_chars[] =
12 /* Space is common in user names (and thus home directories) on Windows */
13 " "
14 #endif
15- "\t\r\n\"$&<>,+=#!()'|{}[]?~`;%\\";
16+ "\t\r\n\"$&<>,=#!()'|{}[]?~`;%\\";
17
18 static gboolean
19 gconf_address_valid (const char *address,
diff --git a/meta/recipes-gnome/gnome/gconf/unable-connect-dbus.patch b/meta/recipes-gnome/gnome/gconf/unable-connect-dbus.patch
deleted file mode 100644
index f758a4bcc5..0000000000
--- a/meta/recipes-gnome/gnome/gconf/unable-connect-dbus.patch
+++ /dev/null
@@ -1,95 +0,0 @@
1Fixes errors such as this in the rootfs generation:
2
3(gconftool-2.real:10095): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
4Using X11 for dbus-daemon autolaunch was disabled at compile time, set your DBUS_SESSION_BUS_ADDRESS instead
5
6Upstream-Status: Backport
7Signed-off-by: Ross Burton <ross.burton@intel.com>
8
9From b0895e1998ebc83ab030ec0f17c0685439f5b404 Mon Sep 17 00:00:00 2001
10From: Ray Strode <rstrode@redhat.com>
11Date: Mon, 15 Apr 2013 09:57:34 -0400
12Subject: [PATCH] dbus: Don't spew to console when unable to connect to dbus
13 daemon
14
15Instead pass the error up for the caller to decide what to do.
16
17This prevent untrappable warning messages from showing up at the
18console if gconftool --makefile-install-rule is called.
19---
20 gconf/gconf-dbus.c | 24 ++++++++++++------------
21 1 file changed, 12 insertions(+), 12 deletions(-)
22
23diff --git a/gconf/gconf-dbus.c b/gconf/gconf-dbus.c
24index 5610fcf..048e3ea 100644
25--- a/gconf/gconf-dbus.c
26+++ b/gconf/gconf-dbus.c
27@@ -105,7 +105,7 @@ static GHashTable *engines_by_db = NULL;
28 static GHashTable *engines_by_address = NULL;
29 static gboolean dbus_disconnected = FALSE;
30
31-static gboolean ensure_dbus_connection (void);
32+static gboolean ensure_dbus_connection (GError **error);
33 static gboolean ensure_service (gboolean start_if_not_found,
34 GError **err);
35 static gboolean ensure_database (GConfEngine *conf,
36@@ -383,7 +383,7 @@ gconf_engine_detach (GConfEngine *conf)
37 }
38
39 static gboolean
40-ensure_dbus_connection (void)
41+ensure_dbus_connection (GError **err)
42 {
43 DBusError error;
44
45@@ -392,7 +392,9 @@ ensure_dbus_connection (void)
46
47 if (dbus_disconnected)
48 {
49- g_warning ("The connection to DBus was broken. Can't reinitialize it.");
50+ g_set_error (err, GCONF_ERROR,
51+ GCONF_ERROR_NO_SERVER,
52+ "The connection to DBus was broken. Can't reinitialize it.");
53 return FALSE;
54 }
55
56@@ -402,7 +404,10 @@ ensure_dbus_connection (void)
57
58 if (!global_conn)
59 {
60- g_warning ("Client failed to connect to the D-BUS daemon:\n%s", error.message);
61+ g_set_error (err, GCONF_ERROR,
62+ GCONF_ERROR_NO_SERVER,
63+ "Client failed to connect to the D-BUS daemon:\n%s",
64+ error.message);
65
66 dbus_error_free (&error);
67 return FALSE;
68@@ -431,13 +436,8 @@ ensure_service (gboolean start_if_not_found,
69
70 if (global_conn == NULL)
71 {
72- if (!ensure_dbus_connection ())
73- {
74- g_set_error (err, GCONF_ERROR,
75- GCONF_ERROR_NO_SERVER,
76- _("No D-BUS daemon running\n"));
77- return FALSE;
78- }
79+ if (!ensure_dbus_connection (err))
80+ return FALSE;
81
82 g_assert (global_conn != NULL);
83 }
84@@ -2512,7 +2512,7 @@ gconf_ping_daemon (void)
85 {
86 if (global_conn == NULL)
87 {
88- if (!ensure_dbus_connection ())
89+ if (!ensure_dbus_connection (NULL))
90 {
91 return FALSE;
92 }
93--
941.7.10.4
95
diff --git a/meta/recipes-gnome/gnome/gconf_3.2.6.bb b/meta/recipes-gnome/gnome/gconf_3.2.6.bb
deleted file mode 100644
index 45de01d9b1..0000000000
--- a/meta/recipes-gnome/gnome/gconf_3.2.6.bb
+++ /dev/null
@@ -1,61 +0,0 @@
1SUMMARY = "GNOME configuration system"
2DESCRIPTION = "GConf is a system for storing application preferences. \
3It is intended for user preferences; not configuration of something like \
4Apache, or arbitrary data storage."
5SECTION = "x11/gnome"
6HOMEPAGE = "https://gitlab.gnome.org/Archive/gconf"
7LICENSE = "LGPL-2.0-or-later"
8LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
9
10DEPENDS = "glib-2.0 glib-2.0-native dbus dbus-glib libxml2 intltool-native"
11
12GNOMEBN = "GConf"
13GNOMEBASEBUILDCLASS = "autotools"
14inherit gnomebase gtk-doc gettext gobject-introspection gio-module-cache
15
16SRC_URI += "\
17 file://remove_plus_from_invalid_characters_list.patch \
18 file://unable-connect-dbus.patch \
19 file://create_config_directory.patch \
20 file://python3.patch \
21"
22
23SRC_URI[archive.sha256sum] = "1912b91803ab09a5eed34d364bf09fe3a2a9c96751fde03a4e0cfa51a04d784c"
24
25S = "${UNPACKDIR}/${GNOMEBN}-${PV}"
26
27EXTRA_OECONF = "--enable-shared --disable-static \
28 --disable-orbit --with-openldap=no --disable-gtk"
29
30PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}"
31# We really don't want Polkit for native
32PACKAGECONFIG:class-native = ""
33
34PACKAGECONFIG[polkit] = "--enable-defaults-service,--disable-defaults-service,polkit"
35PACKAGECONFIG[debug] = "--enable-debug=yes, --enable-debug=minimum"
36
37do_install:append() {
38 # this directory need to be created to avoid an Error 256 at gdm launch
39 install -d ${D}${sysconfdir}/gconf/gconf.xml.system
40
41 # this stuff is unusable
42 rm -f ${D}${libdir}/GConf/*/*.*a
43 rm -f ${D}${libdir}/gio/*/*.*a
44}
45
46do_install:append:class-native() {
47 create_wrapper ${D}/${bindir}/gconftool-2 \
48 GCONF_BACKEND_DIR=${STAGING_LIBDIR_NATIVE}/GConf/2
49}
50
51FILES:${PN} += "${libdir}/GConf/* \
52 ${libdir}/gio/*/*.so \
53 ${datadir}/polkit* \
54 ${datadir}/dbus-1/services/*.service \
55 ${datadir}/dbus-1/system-services/*.service \
56 "
57RDEPENDS:${PN} = "python3-xml"
58
59FILES:${PN}-dev += "${datadir}/sgml/gconf/gconf-1.0.dtd"
60
61BBCLASSEXTEND = "native"
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch
deleted file mode 100644
index 510bc426d1..0000000000
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch
+++ /dev/null
@@ -1,75 +0,0 @@
1From 4e1aa0ddbc43403ff24f644b4c4912b737290c41 Mon Sep 17 00:00:00 2001
2From: Sascha Silbe <x-yo17@se-silbe.de>
3Date: Fri, 8 Jun 2018 13:55:10 +0200
4Subject: [PATCH] Relocate the repository directory for native builds
5
6Instead of hard-coding GOBJECT_INTROSPECTION_LIBDIR when
7gobject-introspection is built, use dladdr() to determine where
8GOBJECT_INTROSPECTION_LIBDIR is and use that path to calculate the
9repository directory.
10
11This fixes gobject-introspection-native accessing paths across build
12directories (e.g. if the build directories use the same shared state
13cache or sstate mirror).
14
15Upstream-Status: Inappropriate
16Signed-off-by: Sascha Silbe <x-yo17@se-silbe.de>
17---
18 girepository/girepository.c | 15 +++++++++++++--
19 girepository/meson.build | 2 +-
20 2 files changed, 14 insertions(+), 3 deletions(-)
21
22diff --git a/girepository/girepository.c b/girepository/girepository.c
23index 12eaf36..876382c 100644
24--- a/girepository/girepository.c
25+++ b/girepository/girepository.c
26@@ -21,6 +21,8 @@
27 * Boston, MA 02111-1307, USA.
28 */
29
30+#define _GNU_SOURCE
31+
32 #include "config.h"
33
34 #include <stdio.h>
35@@ -34,6 +36,8 @@
36 #include "gitypelib-internal.h"
37 #include "girepository-private.h"
38
39+#include <dlfcn.h>
40+
41 /**
42 * SECTION:girepository
43 * @short_description: GObject Introspection repository manager
44@@ -222,9 +226,16 @@ init_globals (void)
45 g_free (custom_dirs);
46 }
47
48- libdir = GOBJECT_INTROSPECTION_LIBDIR;
49+ Dl_info gi_lib_info;
50
51- typelib_dir = g_build_filename (libdir, "girepository-1.0", NULL);
52+ if (dladdr (g_irepository_get_default, &gi_lib_info)) {
53+ char *libdir = g_path_get_dirname (gi_lib_info.dli_fname);
54+ typelib_dir = g_build_filename (libdir, "girepository-1.0", NULL);
55+ g_free (libdir);
56+ } else {
57+ libdir = GOBJECT_INTROSPECTION_LIBDIR;
58+ typelib_dir = g_build_filename (libdir, "girepository-1.0", NULL);
59+ }
60
61 typelib_search_path = g_slist_prepend (typelib_search_path, typelib_dir);
62
63diff --git a/girepository/meson.build b/girepository/meson.build
64index 5ced59e..a580d9b 100644
65--- a/girepository/meson.build
66+++ b/girepository/meson.build
67@@ -47,7 +47,7 @@ girepo_internals_lib = static_library('girepository-internals',
68 ],
69 c_args: gi_hidden_visibility_cflags + custom_c_args,
70 include_directories : configinc,
71- dependencies: [girepo_gthash_dep, libffi_dep],
72+ dependencies: [girepo_gthash_dep, libffi_dep, cc.find_library('dl')],
73 )
74
75 girepo_internals_dep = declare_dependency(
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.84.0.bb b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.84.0.bb
deleted file mode 100644
index dfdb1eaa03..0000000000
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.84.0.bb
+++ /dev/null
@@ -1,211 +0,0 @@
1SUMMARY = "Middleware layer between GObject-using C libraries and language bindings"
2DESCRIPTION = "GObject Introspection is a project for providing machine \
3readable introspection data of the API of C libraries. This introspection \
4data can be used in several different use cases, for example automatic code \
5generation for bindings, API verification and documentation generation."
6HOMEPAGE = "https://gitlab.gnome.org/GNOME/gobject-introspection"
7BUGTRACKER = "https://gitlab.gnome.org/GNOME/gobject-introspection/issues"
8SECTION = "libs"
9LICENSE = "LGPL-2.0-or-later & GPL-2.0-or-later & MIT"
10LIC_FILES_CHKSUM = "file://COPYING;md5=c434e8128a68bedd59b80b2ac1eb1c4a \
11 file://tools/compiler.c;endline=20;md5=fc5007fc20022720e6c0b0cdde41fabd \
12 file://giscanner/sourcescanner.c;endline=22;md5=194d6e0c1d00662f32d030ce44de8d39 \
13 file://girepository/giregisteredtypeinfo.c;endline=21;md5=661847611ae6979465415f31a759ba27 \
14 "
15
16SRC_URI[archive.sha256sum] = "945b57da7ec262e5c266b89e091d14be800cc424277d82a02872b7d794a84779"
17
18SRC_URI:append:class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch"
19
20inherit gnomebase gtk-doc python3targetconfig qemu gobject-introspection-data upstream-version-is-even multilib_script
21
22GTKDOC_MESON_OPTION = "gtk_doc"
23
24MULTILIB_SCRIPTS = "${PN}-tools:${bindir}/g-ir-annotation-tool ${PN}-tools:${bindir}/g-ir-scanner"
25
26# setuptools are required to provide distutils to build the tools
27DEPENDS += " libffi zlib python3 python3-setuptools flex-native bison-native"
28DEPENDS:append:class-native = " glib-2.0"
29DEPENDS:append:class-target = " glib-2.0-initial"
30
31# target build needs qemu to run temporary introspection binaries created
32# on the fly by g-ir-scanner and a native version of itself to run
33# native versions of its own tools during build.
34DEPENDS:append:class-target = " gobject-introspection-native qemu-native"
35
36# needed for writing out the qemu wrapper script
37export STAGING_DIR_HOST
38export B
39
40PACKAGECONFIG ?= ""
41PACKAGECONFIG[doctool] = "-Ddoctool=enabled,-Ddoctool=disabled,python3-mako,"
42
43# Configure target build to use native tools of itself and to use a qemu wrapper
44# and optionally to generate introspection data
45EXTRA_OEMESON:class-target = " \
46 -Dgi_cross_use_prebuilt_gi=true \
47 -Dgi_cross_binary_wrapper=${B}/g-ir-scanner-qemuwrapper \
48 -Dgi_cross_ldd_wrapper=${B}/g-ir-scanner-lddwrapper \
49 -Dgi_cross_pkgconfig_sysroot_path=${PKG_CONFIG_SYSROOT_DIR} \
50 ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dbuild_introspection_data=true', '-Dbuild_introspection_data=false', d)} \
51 ${@'-Dgir_dir_prefix=${libdir}' if d.getVar('MULTILIBS') else ''} \
52"
53
54do_configure:prepend:class-native() {
55 # Tweak the native python scripts so that they don't refer to the
56 # full path of native python binary (the solution is taken from glib-2.0 recipe)
57 # This removes the risk of exceeding Linux kernel's shebang line limit (128 bytes)
58 sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in
59}
60
61do_configure:prepend:class-target() {
62 # Write out a qemu wrapper that will be given to gi-scanner so that it
63 # can run target helper binaries through that.
64 qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['\\$GIR_EXTRA_LIBS_PATH','.libs','$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}"
65 cat > ${B}/g-ir-scanner-qemuwrapper << EOF
66#!/bin/sh
67# Use a modules directory which doesn't exist so we don't load random things
68# which may then get deleted (or their dependencies) and potentially segfault
69export GIO_MODULE_DIR=${STAGING_LIBDIR}/gio/modules-dummy
70
71$qemu_binary "\$@"
72if [ \$? -ne 0 ]; then
73 echo "If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the recipe should help."
74 echo "(typically like this: GIR_EXTRA_LIBS_PATH=\"$""{B}/something/.libs\" )"
75 exit 1
76fi
77EOF
78 chmod +x ${B}/g-ir-scanner-qemuwrapper
79
80 # Write out a wrapper for g-ir-scanner itself, which will be used when building introspection files
81 # for glib-based packages. This wrapper calls the native version of the scanner, and tells it to use
82 # a qemu wrapper for running transient target binaries produced by the scanner, and an include directory
83 # from the target sysroot.
84 cat > ${B}/g-ir-scanner-wrapper << EOF
85#!/bin/sh
86# This prevents g-ir-scanner from writing cache data to user's HOME dir
87export GI_SCANNER_DISABLE_CACHE=1
88
89g-ir-scanner --lib-dirs-envvar=GIR_EXTRA_LIBS_PATH --use-binary-wrapper=${STAGING_BINDIR}/g-ir-scanner-qemuwrapper --use-ldd-wrapper=${STAGING_BINDIR}/g-ir-scanner-lddwrapper --add-include-path=${STAGING_DATADIR}/gir-1.0 --add-include-path=${STAGING_LIBDIR}/gir-1.0 "\$@"
90EOF
91 chmod +x ${B}/g-ir-scanner-wrapper
92
93 # Write out a wrapper for g-ir-compiler, which runs the target version of it through qemu.
94 # g-ir-compiler writes out the raw content of a C struct to disk, and therefore is architecture dependent.
95 cat > ${B}/g-ir-compiler-wrapper << EOF
96#!/bin/sh
97${STAGING_BINDIR}/g-ir-scanner-qemuwrapper ${STAGING_BINDIR}/g-ir-compiler "\$@"
98EOF
99 chmod +x ${B}/g-ir-compiler-wrapper
100
101 # Write out a wrapper to use instead of ldd, which does not work when a binary is built
102 # for a different architecture
103 cat > ${B}/g-ir-scanner-lddwrapper << EOF
104#!/bin/sh
105\$OBJDUMP -p "\$@"
106EOF
107 chmod +x ${B}/g-ir-scanner-lddwrapper
108
109 # Also tweak the target python scripts so that they don't refer to the
110 # native version of python binary (the solution is taken from glib-2.0 recipe)
111 sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in
112}
113
114do_compile:prepend() {
115 # Needed to run g-ir unit tests, which won't be able to find the built libraries otherwise
116 export GIR_EXTRA_LIBS_PATH=$B/.libs
117}
118
119do_install:prepend() {
120 # This prevents g-ir-scanner from writing cache data to $HOME
121 export GI_SCANNER_DISABLE_CACHE=1
122}
123
124# Our wrappers need to be available system-wide, because they will be used
125# to build introspection files for all other gobject-based packages
126do_install:append:class-target() {
127 install -d ${D}${bindir}/
128 install ${B}/g-ir-scanner-qemuwrapper ${D}${bindir}/
129 install ${B}/g-ir-scanner-wrapper ${D}${bindir}/
130 install ${B}/g-ir-compiler-wrapper ${D}${bindir}/
131 install ${B}/g-ir-scanner-lddwrapper ${D}${bindir}/
132}
133
134# we need target versions of introspection tools in sysroot so that they can be run via qemu
135# when building introspection files in other packages
136SYSROOT_DIRS:append:class-target = " ${bindir}"
137
138SYSROOT_PREPROCESS_FUNCS:append:class-target = " gi_binaries_sysroot_preprocess"
139gi_binaries_sysroot_preprocess() {
140 # Tweak the binary names in the introspection pkgconfig file, so that it
141 # picks up our wrappers which do the cross-compile and qemu magic.
142 sed -i \
143 -e "s|g_ir_scanner=.*|g_ir_scanner=${bindir}/g-ir-scanner-wrapper|" \
144 -e "s|g_ir_compiler=.*|g_ir_compiler=${bindir}/g-ir-compiler-wrapper|" \
145 ${SYSROOT_DESTDIR}${libdir}/pkgconfig/gobject-introspection-1.0.pc
146}
147
148SYSROOT_PREPROCESS_FUNCS:append = " gi_ldsoconf_sysroot_preprocess"
149gi_ldsoconf_sysroot_preprocess () {
150 mkdir -p ${SYSROOT_DESTDIR}${bindir}
151 dest=${SYSROOT_DESTDIR}${bindir}/postinst-ldsoconf-${PN}
152 echo "#!/bin/sh" > $dest
153 echo "mkdir -p ${STAGING_DIR_TARGET}${sysconfdir}" >> $dest
154 echo "echo ${base_libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest
155 echo "echo ${libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest
156 chmod 755 $dest
157}
158
159# Remove wrapper files from the package, only used for cross-compiling
160PACKAGE_PREPROCESS_FUNCS += "gi_package_preprocess"
161gi_package_preprocess() {
162 rm -f ${PKGD}${bindir}/g-ir-scanner-qemuwrapper
163 rm -f ${PKGD}${bindir}/g-ir-scanner-wrapper
164 rm -f ${PKGD}${bindir}/g-ir-compiler-wrapper
165 rm -f ${PKGD}${bindir}/g-ir-scanner-lddwrapper
166}
167
168SSTATE_SCAN_FILES += "g-ir-scanner-qemuwrapper g-ir-scanner-wrapper g-ir-compiler-wrapper g-ir-scanner-lddwrapper Gio-2.0.gir postinst-ldsoconf-${PN}"
169
170PACKAGES =+ "\
171 ${PN}-tools \
172"
173
174FILES:${PN}-tools = "\
175 ${bindir} \
176 ${libdir}/gobject-introspection/giscanner \
177"
178
179# .typelib files are needed at runtime and so they go to the main package
180FILES:${PN}:append = " ${libdir}/girepository-*/*.typelib"
181
182# .gir files go to dev package, as they're needed for developing (but not for running)
183# things that depends on introspection.
184FILES:${PN}-dev:append = " ${datadir}/gir-*/*.gir ${libdir}/gir-*/*.gir"
185FILES:${PN}-dev:append = " ${datadir}/gir-*/*.rnc"
186
187# These are used by gobject-based packages
188# to generate transient introspection binaries
189FILES:${PN}-dev:append = " ${datadir}/gobject-introspection-1.0/gdump.c \
190 ${datadir}/gobject-introspection-1.0/Makefile.introspection"
191
192# These are used by dependent packages (e.g. pygobject) to build their
193# testsuites.
194FILES:${PN}-dev:append = " ${datadir}/gobject-introspection-1.0/tests/*.c \
195 ${datadir}/gobject-introspection-1.0/tests/*.h"
196
197FILES:${PN}-dbg += "${libdir}/gobject-introspection/giscanner/.debug/"
198FILES:${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a"
199
200# glib-2.0 is required for libgirepository
201RDEPENDS:${PN} = "glib-2.0"
202
203# setuptools can be removed when upstream removes all uses of distutils
204RDEPENDS:${PN}-tools = "\
205 glib-2.0 \
206 python3-pickle \
207 python3-setuptools \
208 python3-xml \
209"
210
211BBCLASSEXTEND = "native"
diff --git a/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_48.0.bb b/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_48.0.bb
deleted file mode 100644
index 30ab992db4..0000000000
--- a/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_48.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
1SUMMARY = "GNOME desktop-wide GSettings schemas"
2DESCRIPTION = "GSettings desktop-wide schemas contains a collection of \
3GSettings schemas for settings shared by various components of a desktop."
4HOMEPAGE = "https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas"
5BUGTRACKER = "https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas/issues"
6
7LICENSE = "LGPL-2.1-only"
8LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
9
10DEPENDS = "glib-2.0"
11
12inherit gnomebase gsettings gobject-introspection gettext
13
14SRC_URI[archive.sha256sum] = "e68f155813bf18f865a8b2c8e9d473588b6ccadcafbb666ab788857c6c2d1bd3"
diff --git a/meta/recipes-gnome/gtk+/gtk+3/opengl.patch b/meta/recipes-gnome/gtk+/gtk+3/opengl.patch
deleted file mode 100644
index 51d4c8e43a..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+3/opengl.patch
+++ /dev/null
@@ -1,747 +0,0 @@
1From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2From: Jussi Kukkonen <jussi.kukkonen@intel.com>
3Date: Fri, 16 Oct 2015 16:35:16 +0300
4Subject: [PATCH] Do not try to initialize GL without libGL
5
6_gdk_x11_screen_update_visuals_for_gl() will end up calling epoxys
7GLX api which will exit() if libGL.so.1 is not present. We do not
8want that to happen and we don't want every app to have to set
9"GDK_GL=disabled" environment variable: so use #ifdef set based on
10opengl distro feature.
11
12Upstream is not interested in the fix as it is: Either epoxy should be
13fixed (to not exit) or GTK+ possibly could do some additional probing
14before calling epoxy APIs.
15
16Upstream-Status: Denied
17Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
18---
19 demos/gtk-demo/meson.build | 5 ++++-
20 docs/tools/meson.build | 7 +++++--
21 docs/tools/widgets.c | 6 +++++-
22 gdk/gdkconfig.h.meson | 1 +
23 gdk/gdkdisplay.c | 8 ++++++++
24 gdk/gdkgl.c | 11 ++++++++++-
25 gdk/gdkglcontext.c | 6 ++++++
26 gdk/gdkwindow.c | 13 +++++++++++++
27 gdk/meson.build | 8 +++++++-
28 gdk/x11/gdkdisplay-x11.c | 4 ++++
29 gdk/x11/gdkvisual-x11.c | 5 +++++
30 gdk/x11/gdkwindow-x11.c | 4 ++++
31 gdk/x11/gdkx-autocleanups.h | 2 ++
32 gdk/x11/gdkx.h | 2 ++
33 gdk/x11/meson.build | 7 +++++--
34 gtk/gtkglarea.c | 19 +++++++++++++++++++
35 gtk/inspector/general.c | 6 ++++++
36 meson.build | 17 ++++++++++++++---
37 meson_options.txt | 2 ++
38 tests/meson.build | 9 +++++++--
39 testsuite/gtk/objects-finalize.c | 2 ++
40 21 files changed, 131 insertions(+), 13 deletions(-)
41
42diff --git a/demos/gtk-demo/meson.build b/demos/gtk-demo/meson.build
43index 252da16d05..4b57cff6ac 100644
44--- a/demos/gtk-demo/meson.build
45+++ b/demos/gtk-demo/meson.build
46@@ -28,7 +28,6 @@ demos = files([
47 'fishbowl.c',
48 'foreigndrawing.c',
49 'gestures.c',
50- 'glarea.c',
51 'headerbar.c',
52 'hypertext.c',
53 'iconview.c',
54@@ -87,6 +86,10 @@ elif harfbuzz_dep.found() and pangoft_dep.found()
55 gtkdemo_deps += [harfbuzz_dep, pangoft_dep]
56 endif
57
58+if opengl_enabled
59+ demos += files('glarea.c')
60+endif
61+
62 if os_unix
63 demos += files('pagesetup.c')
64 endif
65diff --git a/docs/tools/meson.build b/docs/tools/meson.build
66index 05621ee7ed..3d0a333b32 100644
67--- a/docs/tools/meson.build
68+++ b/docs/tools/meson.build
69@@ -2,10 +2,13 @@ if x11_enabled
70 doc_shooter_sources = [
71 'shadow.c',
72 'shooter.c',
73- 'widgets.c',
74- '../../tests/gtkgears.c',
75+ 'widgets.c'
76 ]
77
78+ if opengl_enabled
79+ doc_shooter_sources += ['../../tests/gtkgears.c']
80+ endif
81+
82 doc_shooter = executable('doc-shooter', doc_shooter_sources,
83 include_directories: [ confinc, gdkinc, gtkinc, testinc, ],
84 dependencies: libgtk_dep)
85diff --git a/docs/tools/widgets.c b/docs/tools/widgets.c
86index 932daf1746..348807e133 100644
87--- a/docs/tools/widgets.c
88+++ b/docs/tools/widgets.c
89@@ -8,7 +8,9 @@
90 #include <X11/Xatom.h>
91 #include <gdkx.h>
92 #include "widgets.h"
93+#ifdef HAVE_OPENGL
94 #include "gtkgears.h"
95+#endif
96
97 #define SMALL_WIDTH 240
98 #define SMALL_HEIGHT 75
99@@ -1526,9 +1528,11 @@ create_gl_area (void)
100 widget = gtk_frame_new (NULL);
101 gtk_frame_set_shadow_type (GTK_FRAME (widget), GTK_SHADOW_IN);
102
103+#ifdef HAVE_OPENGL
104 gears = gtk_gears_new ();
105 gtk_container_add (GTK_CONTAINER (widget), gears);
106-
107+#endif
108+
109 info = new_widget_info ("glarea", widget, MEDIUM);
110
111 return info;
112diff --git a/gdk/gdkconfig.h.meson b/gdk/gdkconfig.h.meson
113index 7db19e0470..088651bafa 100644
114--- a/gdk/gdkconfig.h.meson
115+++ b/gdk/gdkconfig.h.meson
116@@ -15,6 +15,7 @@ G_BEGIN_DECLS
117 #mesondefine GDK_WINDOWING_WAYLAND
118 #mesondefine GDK_WINDOWING_WIN32
119 #mesondefine GDK_WINDOWING_QUARTZ
120+#mesondefine GDK_WITH_OPENGL
121
122 G_END_DECLS
123
124diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c
125index 5c41a48fd0..920bb18ce8 100644
126--- a/gdk/gdkdisplay.c
127+++ b/gdk/gdkdisplay.c
128@@ -2412,7 +2412,11 @@ gboolean
129 gdk_display_is_gl_context_current (GdkDisplay *display,
130 GdkGLContext *context)
131 {
132+#ifdef HAVE_OPENGL
133 return GDK_DISPLAY_GET_CLASS (display)->is_gl_context_current (display, context);
134+#else
135+ return FALSE;
136+#endif
137 }
138
139 /*< private >
140@@ -2427,7 +2431,11 @@ gboolean
141 gdk_display_make_gl_context_current (GdkDisplay *display,
142 GdkGLContext *context)
143 {
144+#ifdef HAVE_OPENGL
145 return GDK_DISPLAY_GET_CLASS (display)->make_gl_context_current (display, context);
146+#else
147+ return FALSE;
148+#endif
149 }
150
151 GdkRenderingMode
152diff --git a/gdk/gdkgl.c b/gdk/gdkgl.c
153index 0940c06c71..4b56614f9f 100644
154--- a/gdk/gdkgl.c
155+++ b/gdk/gdkgl.c
156@@ -21,8 +21,9 @@
157 #include "gdkglcontextprivate.h"
158
159 #include "gdkinternals.h"
160-
161+#ifdef HAVE_OPENGL
162 #include <epoxy/gl.h>
163+#endif
164 #include <math.h>
165 #include <string.h>
166
167@@ -36,6 +37,7 @@ gdk_cairo_surface_mark_as_direct (cairo_surface_t *surface,
168 g_object_ref (window), g_object_unref);
169 }
170
171+#ifdef HAVE_OPENGL
172 static const char *
173 get_vertex_type_name (int type)
174 {
175@@ -208,6 +210,7 @@ use_texture_rect_program (GdkGLContextPaintData *paint_data)
176 glUseProgram (paint_data->current_program->program);
177 }
178 }
179+#endif
180
181 void
182 gdk_gl_texture_quads (GdkGLContext *paint_context,
183@@ -216,6 +219,7 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
184 GdkTexturedQuad *quads,
185 gboolean flip_colors)
186 {
187+#ifdef HAVE_OPENGL
188 GdkGLContextPaintData *paint_data = gdk_gl_context_get_paint_data (paint_context);
189 GdkGLContextProgram *program;
190 GdkWindow *window = gdk_gl_context_get_window (paint_context);
191@@ -289,6 +293,7 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
192
193 glDisableVertexAttribArray (program->position_location);
194 glDisableVertexAttribArray (program->uv_location);
195+#endif
196 }
197
198 /* x,y,width,height describes a rectangle in the gl render buffer
199@@ -337,6 +342,7 @@ gdk_cairo_draw_from_gl (cairo_t *cr,
200 int width,
201 int height)
202 {
203+#ifdef HAVE_OPENGL
204 GdkGLContext *paint_context, *current_context;
205 cairo_surface_t *image;
206 cairo_matrix_t matrix;
207@@ -727,6 +733,7 @@ out:
208 if (clip_region)
209 cairo_region_destroy (clip_region);
210
211+#endif
212 }
213
214 /* This is always called with the paint context current */
215@@ -734,6 +741,7 @@ void
216 gdk_gl_texture_from_surface (cairo_surface_t *surface,
217 cairo_region_t *region)
218 {
219+#ifdef HAVE_OPENGL
220 GdkGLContext *paint_context;
221 cairo_surface_t *image;
222 double device_x_offset, device_y_offset;
223@@ -834,4 +842,5 @@ gdk_gl_texture_from_surface (cairo_surface_t *surface,
224
225 glDisable (GL_SCISSOR_TEST);
226 glDeleteTextures (1, &texture_id);
227+#endif
228 }
229diff --git a/gdk/gdkglcontext.c b/gdk/gdkglcontext.c
230index 52c7bce692..fa544794ac 100644
231--- a/gdk/gdkglcontext.c
232+++ b/gdk/gdkglcontext.c
233@@ -85,7 +85,9 @@
234 #include "gdkintl.h"
235 #include "gdk-private.h"
236
237+#ifdef HAVE_OPENGL
238 #include <epoxy/gl.h>
239+#endif
240
241 typedef struct {
242 GdkDisplay *display;
243@@ -246,6 +248,7 @@ gdk_gl_context_upload_texture (GdkGLContext *context,
244 int height,
245 guint texture_target)
246 {
247+#ifdef HAVE_OPENGL
248 GdkGLContextPrivate *priv = gdk_gl_context_get_instance_private (context);
249
250 g_return_if_fail (GDK_IS_GL_CONTEXT (context));
251@@ -289,6 +292,7 @@ gdk_gl_context_upload_texture (GdkGLContext *context,
252 glTexSubImage2D (texture_target, 0, 0, i, width, 1, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, (unsigned char*) data + (i * stride));
253 }
254 }
255+#endif
256 }
257
258 static gboolean
259@@ -801,6 +805,7 @@ gdk_gl_context_realize (GdkGLContext *context,
260 static void
261 gdk_gl_context_check_extensions (GdkGLContext *context)
262 {
263+#ifdef HAVE_OPENGL
264 GdkGLContextPrivate *priv = gdk_gl_context_get_instance_private (context);
265 gboolean has_npot, has_texture_rectangle;
266
267@@ -888,6 +893,7 @@ gdk_gl_context_check_extensions (GdkGLContext *context)
268 priv->use_texture_rectangle ? "yes" : "no"));
269
270 priv->extensions_checked = TRUE;
271+#endif
272 }
273
274 /**
275diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
276index 62e0cf816f..b8bda7140d 100644
277--- a/gdk/gdkwindow.c
278+++ b/gdk/gdkwindow.c
279@@ -45,7 +45,9 @@
280
281 #include <math.h>
282
283+#ifdef HAVE_OPENGL
284 #include <epoxy/gl.h>
285+#endif
286
287 /* for the use of round() */
288 #include "fallback-c89.c"
289@@ -2844,6 +2846,13 @@ gdk_window_get_paint_gl_context (GdkWindow *window,
290 {
291 GError *internal_error = NULL;
292
293+#ifndef HAVE_OPENGL
294+ g_set_error_literal (error, GDK_GL_ERROR,
295+ GDK_GL_ERROR_NOT_AVAILABLE,
296+ _("GL support disabled with --disable-opengl"));
297+ return NULL;
298+#endif
299+
300 if (_gdk_gl_flags & GDK_GL_DISABLE)
301 {
302 g_set_error_literal (error, GDK_GL_ERROR,
303@@ -2979,6 +2988,7 @@ gdk_window_begin_paint_internal (GdkWindow *window,
304 }
305 else
306 {
307+#ifdef HAVE_OPENGL
308 gdk_gl_context_make_current (context);
309 /* With gl we always need a surface to combine the gl
310 drawing with the native drawing. */
311@@ -2993,6 +3003,7 @@ gdk_window_begin_paint_internal (GdkWindow *window,
312 glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
313
314 glViewport (0, 0, ww, wh);
315+#endif
316 }
317 }
318
319@@ -3056,6 +3067,7 @@ gdk_window_end_paint_internal (GdkWindow *window)
320
321 gdk_gl_context_make_current (window->gl_paint_context);
322
323+#ifdef HAVE_OPENGL
324 if (!cairo_region_is_empty (opaque_region))
325 gdk_gl_texture_from_surface (window->current_paint.surface,
326 opaque_region);
327@@ -3066,6 +3078,7 @@ gdk_window_end_paint_internal (GdkWindow *window)
328 window->current_paint.need_blend_region);
329 glDisable(GL_BLEND);
330 }
331+#endif
332
333 cairo_region_destroy (opaque_region);
334
335diff --git a/gdk/meson.build b/gdk/meson.build
336index 297c38c68e..fc71f8f49d 100644
337--- a/gdk/meson.build
338+++ b/gdk/meson.build
339@@ -56,7 +56,6 @@ gdk_gir_public_headers = files(
340 'gdkdrawingcontext.h',
341 'gdkevents.h',
342 'gdkframetimings.h',
343- 'gdkglcontext.h',
344 'gdkkeys.h',
345 'gdkkeysyms.h',
346 'gdkmain.h',
347@@ -78,6 +77,12 @@ gdk_gir_public_headers = files(
348 'gdkwindow.h',
349 )
350 gdk_nogir_public_headers = [files('gdkkeysyms-compat.h')]
351+if opengl_enabled
352+gdk_gir_public_headers += files('gdkglcontext.h')
353+else
354+gdk_nogir_public_headers += files('gdkglcontext.h')
355+endif
356+
357 gdk_public_headers = gdk_gir_public_headers + gdk_nogir_public_headers
358 install_headers(gdk_public_headers, subdir : 'gtk-3.0/gdk')
359
360@@ -166,6 +171,7 @@ gdkconfig_cdata.set('GDK_WINDOWING_WAYLAND', wayland_enabled)
361 gdkconfig_cdata.set('GDK_WINDOWING_WIN32', win32_enabled)
362 gdkconfig_cdata.set('GDK_WINDOWING_BROADWAY', broadway_enabled)
363 gdkconfig_cdata.set('GDK_WINDOWING_QUARTZ', quartz_enabled)
364+gdkconfig_cdata.set('GDK_WITH_OPENGL', opengl_enabled)
365
366 gdkconfig = configure_file(
367 input : 'gdkconfig.h.meson',
368diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
369index c6d1f53d70..9793cb4329 100644
370--- a/gdk/x11/gdkdisplay-x11.c
371+++ b/gdk/x11/gdkdisplay-x11.c
372@@ -37,7 +37,9 @@
373 #include "gdkdisplay-x11.h"
374 #include "gdkprivate-x11.h"
375 #include "gdkscreen-x11.h"
376+#ifdef HAVE_OPENGL
377 #include "gdkglcontext-x11.h"
378+#endif
379 #include "gdk-private.h"
380 #include "gdkprofilerprivate.h"
381
382@@ -3191,8 +3193,10 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class)
383 display_class->text_property_to_utf8_list = _gdk_x11_display_text_property_to_utf8_list;
384 display_class->utf8_to_string_target = _gdk_x11_display_utf8_to_string_target;
385
386+#ifdef HAVE_OPENGL
387 display_class->is_gl_context_current = gdk_x11_display_is_gl_context_current;
388 display_class->make_gl_context_current = gdk_x11_display_make_gl_context_current;
389+#endif
390
391 display_class->get_default_seat = gdk_x11_display_get_default_seat;
392
393diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c
394index 81479d81f4..3c8c5c02ff 100644
395--- a/gdk/x11/gdkvisual-x11.c
396+++ b/gdk/x11/gdkvisual-x11.c
397@@ -306,7 +306,12 @@ _gdk_x11_screen_init_visuals (GdkScreen *screen)
398 /* If GL is available we want to pick better default/rgba visuals,
399 as we care about glx details such as alpha/depth/stencil depth,
400 stereo and double buffering */
401+ /* update_visuals_for_gl() will end up calling epoxy GLX api which
402+ will exit if libgl is not there: so only do this if we know GL
403+ is available */
404+#ifdef HAVE_GLX
405 _gdk_x11_screen_update_visuals_for_gl (screen);
406+#endif
407 }
408
409 gint
410diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
411index 0c59ad464e..ad3244f152 100644
412--- a/gdk/x11/gdkwindow-x11.c
413+++ b/gdk/x11/gdkwindow-x11.c
414@@ -36,7 +36,9 @@
415 #include "gdkasync.h"
416 #include "gdkeventsource.h"
417 #include "gdkdisplay-x11.h"
418+#ifdef HAVE_OPENGL
419 #include "gdkglcontext-x11.h"
420+#endif
421 #include "gdkprivate-x11.h"
422 #include "gdk-private.h"
423
424@@ -5916,7 +5918,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
425 impl_class->set_opaque_region = gdk_x11_window_set_opaque_region;
426 impl_class->set_shadow_width = gdk_x11_window_set_shadow_width;
427 impl_class->show_window_menu = gdk_x11_window_show_window_menu;
428+#ifdef HAVE_OPENGL
429 impl_class->create_gl_context = gdk_x11_window_create_gl_context;
430 impl_class->invalidate_for_new_frame = gdk_x11_window_invalidate_for_new_frame;
431+#endif
432 impl_class->get_unscaled_size = gdk_x11_window_get_unscaled_size;
433 }
434diff --git a/gdk/x11/gdkx-autocleanups.h b/gdk/x11/gdkx-autocleanups.h
435index edb0ea7dbf..a317d61cca 100644
436--- a/gdk/x11/gdkx-autocleanups.h
437+++ b/gdk/x11/gdkx-autocleanups.h
438@@ -30,7 +30,9 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DeviceXI2, g_object_unref)
439 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Display, g_object_unref)
440 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DisplayManager, g_object_unref)
441 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DragContext, g_object_unref)
442+#ifdef HAVE_OPENGL
443 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11GLContext, g_object_unref)
444+#endif
445 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Keymap, g_object_unref)
446 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Screen, g_object_unref)
447 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Visual, g_object_unref)
448diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h
449index 1f64bccb6d..4db6c18351 100644
450--- a/gdk/x11/gdkx.h
451+++ b/gdk/x11/gdkx.h
452@@ -43,7 +43,9 @@
453 #include <gdk/x11/gdkx11display.h>
454 #include <gdk/x11/gdkx11displaymanager.h>
455 #include <gdk/x11/gdkx11dnd.h>
456+#ifdef GDK_WITH_OPENGL
457 #include <gdk/x11/gdkx11glcontext.h>
458+#endif
459 #include <gdk/x11/gdkx11keys.h>
460 #include <gdk/x11/gdkx11monitor.h>
461 #include <gdk/x11/gdkx11property.h>
462diff --git a/gdk/x11/meson.build b/gdk/x11/meson.build
463index 754ae0a615..0318c83877 100644
464--- a/gdk/x11/meson.build
465+++ b/gdk/x11/meson.build
466@@ -14,7 +14,6 @@ gdk_x11_sources = files(
467 'gdkeventsource.c',
468 'gdkeventtranslator.c',
469 'gdkgeometry-x11.c',
470- 'gdkglcontext-x11.c',
471 'gdkkeys-x11.c',
472 'gdkmain-x11.c',
473 'gdkproperty-x11.c',
474@@ -42,7 +41,6 @@ gdk_x11_public_headers = files(
475 'gdkx11display.h',
476 'gdkx11displaymanager.h',
477 'gdkx11dnd.h',
478- 'gdkx11glcontext.h',
479 'gdkx11keys.h',
480 'gdkx11monitor.h',
481 'gdkx11property.h',
482@@ -53,6 +51,11 @@ gdk_x11_public_headers = files(
483 'gdkx11window.h',
484 )
485
486+if opengl_enabled
487+ gdk_x11_sources += files('gdkglcontext-x11.c')
488+ gdk_x11_public_headers += files('gdkx11glcontext.h')
489+endif
490+
491 install_headers(gdk_x11_public_headers, subdir: 'gtk-3.0/gdk/x11/')
492 install_headers('gdkx.h', subdir: 'gtk-3.0/gdk/')
493
494diff --git a/gtk/gtkglarea.c b/gtk/gtkglarea.c
495index 802303ea9f..6439d7745d 100644
496--- a/gtk/gtkglarea.c
497+++ b/gtk/gtkglarea.c
498@@ -29,7 +29,9 @@
499 #include "gtkprivate.h"
500 #include "gtkrender.h"
501
502+#ifdef HAVE_OPENGL
503 #include <epoxy/gl.h>
504+#endif
505
506 /**
507 * SECTION:gtkglarea
508@@ -369,9 +371,12 @@ gtk_gl_area_real_create_context (GtkGLArea *area)
509 static void
510 gtk_gl_area_resize (GtkGLArea *area, int width, int height)
511 {
512+#ifdef HAVE_OPENGL
513 glViewport (0, 0, width, height);
514+#endif
515 }
516
517+#ifdef HAVE_OPENGL
518 /*
519 * Creates all the buffer objects needed for rendering the scene
520 */
521@@ -483,6 +488,7 @@ gtk_gl_area_allocate_buffers (GtkGLArea *area)
522
523 priv->needs_render = TRUE;
524 }
525+#endif
526
527 /**
528 * gtk_gl_area_attach_buffers:
529@@ -501,6 +507,7 @@ gtk_gl_area_allocate_buffers (GtkGLArea *area)
530 void
531 gtk_gl_area_attach_buffers (GtkGLArea *area)
532 {
533+#ifdef HAVE_OPENGL
534 GtkGLAreaPrivate *priv = gtk_gl_area_get_instance_private (area);
535
536 g_return_if_fail (GTK_IS_GL_AREA (area));
537@@ -533,11 +540,13 @@ gtk_gl_area_attach_buffers (GtkGLArea *area)
538 glFramebufferRenderbuffer (GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT,
539 GL_RENDERBUFFER, priv->depth_stencil_buffer);
540 }
541+#endif
542 }
543
544 static void
545 gtk_gl_area_delete_buffers (GtkGLArea *area)
546 {
547+#ifdef HAVE_OPENGL
548 GtkGLAreaPrivate *priv = gtk_gl_area_get_instance_private (area);
549
550 if (priv->context == NULL)
551@@ -569,6 +578,7 @@ gtk_gl_area_delete_buffers (GtkGLArea *area)
552 glDeleteFramebuffers (1, &priv->frame_buffer);
553 priv->frame_buffer = 0;
554 }
555+#endif
556 }
557
558 static void
559@@ -679,6 +689,7 @@ gtk_gl_area_draw (GtkWidget *widget,
560 GtkGLArea *area = GTK_GL_AREA (widget);
561 GtkGLAreaPrivate *priv = gtk_gl_area_get_instance_private (area);
562 gboolean unused;
563+#ifdef HAVE_OPENGL
564 int w, h, scale;
565 GLenum status;
566
567@@ -736,6 +747,14 @@ gtk_gl_area_draw (GtkWidget *widget,
568 }
569
570 return TRUE;
571+#else
572+ if (priv->error != NULL)
573+ gtk_gl_area_draw_error_screen (area,
574+ cr,
575+ gtk_widget_get_allocated_width (widget),
576+ gtk_widget_get_allocated_height (widget));
577+ return FALSE;
578+#endif
579 }
580
581 static gboolean
582diff --git a/gtk/inspector/general.c b/gtk/inspector/general.c
583index a3a341956b..274600e74a 100644
584--- a/gtk/inspector/general.c
585+++ b/gtk/inspector/general.c
586@@ -35,8 +35,10 @@
587
588 #ifdef GDK_WINDOWING_X11
589 #include "x11/gdkx.h"
590+#ifdef HAVE_OPENGL
591 #include <epoxy/glx.h>
592 #endif
593+#endif
594
595 #ifdef GDK_WINDOWING_WIN32
596 #include "win32/gdkwin32.h"
597@@ -221,6 +223,7 @@ add_label_row (GtkInspectorGeneral *gen,
598 gtk_size_group_add_widget (GTK_SIZE_GROUP (gen->priv->labels), label);
599 }
600
601+#ifdef HAVE_OPENGL
602 #ifdef GDK_WINDOWING_X11
603 static void
604 append_glx_extension_row (GtkInspectorGeneral *gen,
605@@ -230,6 +233,7 @@ append_glx_extension_row (GtkInspectorGeneral *gen,
606 add_check_row (gen, GTK_LIST_BOX (gen->priv->gl_box), ext, epoxy_has_glx_extension (dpy, 0, ext), 0);
607 }
608 #endif
609+#endif
610
611 #ifdef GDK_WINDOWING_WAYLAND
612 static void
613@@ -279,6 +283,7 @@ wayland_get_display (struct wl_display *wl_display)
614 static void
615 init_gl (GtkInspectorGeneral *gen)
616 {
617+#ifdef HAVE_OPENGL
618 #ifdef GDK_WINDOWING_X11
619 if (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))
620 {
621@@ -305,6 +310,7 @@ init_gl (GtkInspectorGeneral *gen)
622 }
623 else
624 #endif
625+#endif
626 #ifdef GDK_WINDOWING_WAYLAND
627 if (GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ()))
628 {
629diff --git a/meson.build b/meson.build
630index 04d54a8e2c..324915c9ee 100644
631--- a/meson.build
632+++ b/meson.build
633@@ -137,6 +137,7 @@ wayland_enabled = get_option('wayland_backend')
634 broadway_enabled = get_option('broadway_backend')
635 quartz_enabled = get_option('quartz_backend')
636 win32_enabled = get_option('win32_backend')
637+opengl_enabled = get_option('opengl')
638
639 os_unix = false
640 os_linux = false
641@@ -430,7 +431,7 @@ pangocairo_dep = dependency('pangocairo', version: cairo_req,
642 fallback : ['pango', 'libpangocairo_dep'])
643 pixbuf_dep = dependency('gdk-pixbuf-2.0', version: gdk_pixbuf_req,
644 fallback : ['gdk-pixbuf', 'gdkpixbuf_dep'])
645-epoxy_dep = dependency('epoxy', version: epoxy_req,
646+epoxy_dep = dependency('epoxy', version: epoxy_req, required: opengl_enabled,
647 fallback: ['libepoxy', 'libepoxy_dep'])
648 atk_dep = dependency('atk', version: atk_req,
649 fallback : ['atk', 'libatk_dep'])
650@@ -476,6 +477,10 @@ if tracker3_enabled
651 endif
652 endif
653
654+if opengl_enabled
655+ cdata.set('HAVE_OPENGL', 1)
656+endif
657+
658 if iso_codes_dep.found()
659 cdata.set_quoted('ISO_CODES_PREFIX', iso_codes_dep.get_variable(pkgconfig: 'prefix'))
660 else
661@@ -914,9 +919,15 @@ else
662 gio_packages = ['gio-2.0', glib_req]
663 endif
664
665+if opengl_enabled
666+ epoxy_packages = ['epoxy', epoxy_req]
667+else
668+ epoxy_packages = []
669+endif
670+
671 pkgconf.set('GDK_PRIVATE_PACKAGES',
672 ' '.join(gio_packages + x11_pkgs + wayland_pkgs + cairo_backends +
673- ['epoxy', epoxy_req] + cloudproviders_packages +
674+ epoxy_packages + cloudproviders_packages +
675 ['fribidi', fribidi_req]))
676
677 gtk_packages = ' '.join([
678@@ -930,7 +941,7 @@ pkgconf.set('GTK_PACKAGES', gtk_packages)
679 # Requires.private
680 pc_gdk_extra_libs += cairo_libs
681
682-gtk_private_packages = atk_pkgs + wayland_pkgs + ['epoxy', epoxy_req, 'fribidi', fribidi_req]
683+gtk_private_packages = atk_pkgs + wayland_pkgs + epoxy_packages + ['fribidi', fribidi_req]
684 if wayland_enabled or x11_enabled
685 gtk_private_packages += ['pangoft2']
686 endif
687diff --git a/meson_options.txt b/meson_options.txt
688index 94099aa01e..8bd096896d 100644
689--- a/meson_options.txt
690+++ b/meson_options.txt
691@@ -19,6 +19,8 @@ option('profiler', type: 'boolean', value: false,
692 description : 'Enable profiler support')
693 option('tracker3', type: 'boolean', value: false,
694 description : 'Enable Tracker3 filechooser search')
695+option('opengl', type: 'boolean', value: true,
696+ description : 'Enable use of GL')
697
698 # Print backends
699 option('print_backends', type : 'string', value : 'auto',
700diff --git a/tests/meson.build b/tests/meson.build
701index 6ff249f8a1..f2a9fbad6d 100644
702--- a/tests/meson.build
703+++ b/tests/meson.build
704@@ -5,7 +5,6 @@ gtk_tests = [
705 ['scrolling-performance', ['frame-stats.c', 'variable.c']],
706 ['blur-performance', ['../gtk/gtkcairoblur.c']],
707 ['flicker'],
708- ['gdkgears', ['gtkgears.c']],
709 ['listmodel'],
710 ['motion-compression'],
711 ['styleexamples'],
712@@ -55,7 +54,6 @@ gtk_tests = [
713 ['testfullscreen'],
714 ['testgeometry'],
715 ['testgiconpixbuf'],
716- ['testglblending', ['gtkgears.c']],
717 ['testgmenu'],
718 ['testgrid'],
719 ['testgrouping'],
720@@ -138,6 +136,13 @@ if x11_enabled
721 ]
722 endif
723
724+if opengl_enabled
725+ gtk_tests += [
726+ ['gdkgears', ['gtkgears.c']],
727+ ['testglblending', ['gtkgears.c']],
728+ ]
729+endif
730+
731 if os_linux
732 gtk_tests += [['testfontchooserdialog']]
733 endif
734diff --git a/testsuite/gtk/objects-finalize.c b/testsuite/gtk/objects-finalize.c
735index 95b565c591..7f340c3775 100644
736--- a/testsuite/gtk/objects-finalize.c
737+++ b/testsuite/gtk/objects-finalize.c
738@@ -109,7 +109,9 @@ main (int argc, char **argv)
739 all_types[i] != GDK_TYPE_X11_DEVICE_MANAGER_CORE &&
740 all_types[i] != GDK_TYPE_X11_DEVICE_MANAGER_XI2 &&
741 all_types[i] != GDK_TYPE_X11_DISPLAY_MANAGER &&
742+#ifdef HAVE_OPENGL
743 all_types[i] != GDK_TYPE_X11_GL_CONTEXT &&
744+#endif
745 #endif
746 /* Not allowed to finalize a GdkPixbufLoader without calling gdk_pixbuf_loader_close() */
747 all_types[i] != GDK_TYPE_PIXBUF_LOADER &&
diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.24.51.bb b/meta/recipes-gnome/gtk+/gtk+3_3.24.51.bb
deleted file mode 100644
index 690d5a2dcd..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+3_3.24.51.bb
+++ /dev/null
@@ -1,168 +0,0 @@
1SUMMARY = "Multi-platform toolkit for creating GUIs"
2DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
3set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites."
4HOMEPAGE = "http://www.gtk.org"
5BUGTRACKER = "https://gitlab.gnome.org/GNOME/gtk/-/issues/"
6SECTION = "libs"
7LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
8 file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \
9 file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \
10 file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1"
11
12CVE_PRODUCT = "gnome:gtk gtk:gtk\+"
13
14DEPENDS = "glib-2.0 cairo pango atk jpeg libpng gdk-pixbuf gdk-pixbuf-native"
15
16LICENSE = "LGPL-2.0-only & LGPL-2.0-or-later & LGPL-2.1-or-later"
17
18GNOMEBN = "gtk"
19
20inherit gettext gnomebase gtk-doc update-alternatives gtk-immodules-cache gsettings features_check gobject-introspection
21
22SRC_URI += "\
23 file://opengl.patch \
24 "
25SRC_URI[archive.sha256sum] = "0013877c6bd23c2dbe42ad7c70a053d0e449be66736574e37867c49c5f905a4f"
26
27S = "${UNPACKDIR}/${GNOMEBN}-${PV}"
28
29BBCLASSEXTEND = "native nativesdk"
30
31GSETTINGS_PACKAGE:class-native = ""
32
33# versions >= 3.90 are development versions, otherwise like upstream-version-is-even
34UPSTREAM_CHECK_REGEX = "[^\d\.](?P<pver>3\.([1-8]?[02468])+(\.\d+)+)\.tar"
35
36ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
37
38do_configure:prepend() {
39 # These files are generated by wayland-scanner but will race over modification
40 # time between the copies in the sysroot from wayland-protocols and the copy
41 # in the source tree. Solve the race by deleting so they need to be regenerated.
42 rm -f ${S}/modules/input/*-text-input-*.[ch]
43}
44
45GTKDOC_MESON_OPTION = 'gtk_doc'
46
47EXTRA_OEMESON = "-Dxinerama=no -Dtests=false"
48EXTRA_OEMESON:append:class-native = " -Ddemos=false -Dexamples=false"
49
50PACKAGECONFIG ??= " \
51 ${@bb.utils.filter('DISTRO_FEATURES', 'opengl x11', d)} \
52 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl wayland', 'wayland', '', d)} \
53"
54PACKAGECONFIG:class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
55PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
56
57PACKAGECONFIG[x11] = "-Dx11_backend=true,-Dx11_backend=false,at-spi2-atk fontconfig libx11 libxext libxcursor libxi libxdamage libxrandr libxrender libxcomposite libxfixes"
58# this is provided by oe-core patch that removes epoxy/gl dependency from a X11 build
59PACKAGECONFIG[opengl] = "-Dopengl=true,-Dopengl=false,libepoxy"
60PACKAGECONFIG[wayland] = "-Dwayland_backend=true,-Dwayland_backend=false,wayland wayland-protocols libxkbcommon virtual/egl virtual/libgles2 wayland-native"
61PACKAGECONFIG[cups] = ",,cups,cups gtk3-printbackend-cups"
62PACKAGECONFIG[colord] = "-Dcolord=yes,-Dcolord=no,colord"
63PACKAGECONFIG[cloudproviders] = "-Dcloudproviders=true,-Dcloudproviders=false,libcloudproviders"
64PACKAGECONFIG[tracker3] = "-Dtracker3=true,-Dtracker3=false,tinysparql,localsearch"
65
66prepare_gtk_scripts() {
67 mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0
68
69 # duplicate gtk-query-immodules for post install script update_gtk_immodules_cache
70 mkdir -p ${D}${libexecdir}
71 ln ${D}${bindir}/gtk-query-immodules-3.0 ${D}${libexecdir}/${MLPREFIX}gtk-query-immodules-3.0
72}
73
74do_install:append:class-target() {
75 prepare_gtk_scripts
76}
77
78do_install:append:class-nativesdk() {
79 prepare_gtk_scripts
80}
81
82do_install:append:class-native() {
83 create_wrapper ${D}/${bindir}/gtk-update-icon-cache \
84 GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
85 create_wrapper ${D}/${bindir}/gtk-encode-symbolic-svg \
86 GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
87}
88
89PROVIDES += "gtk-icon-utils"
90PACKAGES =+ "${PN}-demo"
91LIBV = "3.0.0"
92
93FILES:${PN}-demo = "${bindir}/gtk3-demo \
94 ${bindir}/gtk3-demo-application \
95 ${bindir}/gtk3-icon-browser \
96 ${bindir}/gtk3-widget-factory \
97 ${datadir}/gtk-3.0/demo \
98 ${datadir}/applications/gtk3-demo.desktop \
99 ${datadir}/applications/gtk3-icon-browser.desktop \
100 ${datadir}/applications/gtk3-widget-factory.desktop \
101 ${datadir}/icons/hicolor/*/apps/gtk3-demo*.png \
102 ${datadir}/icons/hicolor/*/apps/gtk3-widget-factory*.png"
103
104FILES:${PN}:append = " ${bindir}/gtk-update-icon-cache-3.0 \
105 ${bindir}/gtk-query-immodules-3.0 \
106 ${bindir}/gtk-launch \
107 ${datadir}/themes ${datadir}/gtk-3.0/emoji \
108 ${libdir}/gtk-3.0/${LIBV}/engines/libpixmap.so \
109 ${libdir}/gtk-3.0/modules/*.so"
110
111FILES:${PN}-dev += " \
112 ${datadir}/gtk-3.0/gtkbuilder.rng \
113 ${datadir}/gtk-3.0/include \
114 ${datadir}/gtk-3.0/valgrind \
115 ${datadir}/gettext/its \
116 ${libdir}/gtk-3.0/include \
117 ${libdir}/gtk-3.0/${LIBV}/loaders/*.la \
118 ${libdir}/gtk-3.0/${LIBV}/immodules/*.la \
119 ${libdir}/gtk-3.0/3.0.0/printbackends/*.la \
120 ${libdir}/gtk-3.0/${LIBV}/engines/*.la \
121 ${libdir}/gtk-3.0/modules/*.la \
122 ${bindir}/gtk-builder-convert \
123 ${bindir}/gtk-encode-symbolic-svg \
124 ${bindir}/gtk-builder-tool \
125 ${bindir}/gtk-query-settings \
126 "
127
128GTKBASE_RRECOMMENDS ?= "liberation-fonts \
129 gdk-pixbuf-loader-png \
130 gdk-pixbuf-loader-jpeg \
131 gdk-pixbuf-loader-gif \
132 gdk-pixbuf-loader-xpm \
133 shared-mime-info \
134 adwaita-icon-theme-symbolic \
135 "
136
137GTKBASE_RRECOMMENDS:class-native ?= "\
138 "
139
140GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1"
141
142RRECOMMENDS:${PN} = "${GTKBASE_RRECOMMENDS}"
143RRECOMMENDS:${PN}:libc-glibc = "${GTKGLIBC_RRECOMMENDS}"
144RDEPENDS:${PN}-dev += "${@bb.utils.contains("PACKAGECONFIG", "wayland", "wayland-protocols", "", d)}"
145RDEPENDS:${PN}-demo += "librsvg-gtk"
146
147PACKAGES_DYNAMIC += "^gtk3-immodule-.* ^gtk3-printbackend-.*"
148
149ALTERNATIVE:${PN} = "gtk-update-icon-cache"
150ALTERNATIVE_TARGET[gtk-update-icon-cache] = "${bindir}/gtk-update-icon-cache-3.0"
151ALTERNATIVE_PRIORITY = "30"
152
153python populate_packages:prepend () {
154 import os.path
155
156 gtk_libdir = d.expand('${libdir}/gtk-3.0/${LIBV}')
157 immodules_root = os.path.join(gtk_libdir, 'immodules')
158 printmodules_root = os.path.join(gtk_libdir, 'printbackends');
159
160 immodules = do_split_packages(d, immodules_root, r'^im-(.*)\.so$', 'gtk3-immodule-%s', 'GTK input module for %s')
161 if immodules:
162 d.setVar("GTKIMMODULES_PACKAGES", " ".join(immodules))
163
164 do_split_packages(d, printmodules_root, r'^libprintbackend-(.*)\.so$', 'gtk3-printbackend-%s', 'GTK printbackend module for %s')
165
166 if (d.getVar('DEBIAN_NAMES')):
167 d.setVar(d.expand('PKG:${PN}'), '${MLPREFIX}libgtk-3.0')
168}
diff --git a/meta/recipes-gnome/gtk+/gtk4_4.18.6.bb b/meta/recipes-gnome/gtk+/gtk4_4.18.6.bb
deleted file mode 100644
index 2d24468dcc..0000000000
--- a/meta/recipes-gnome/gtk+/gtk4_4.18.6.bb
+++ /dev/null
@@ -1,135 +0,0 @@
1SUMMARY = "Multi-platform toolkit for creating GUIs"
2DESCRIPTION = "GTK is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
3set of widgets, GTK is suitable for projects ranging from small one-off projects to complete application suites."
4HOMEPAGE = "http://www.gtk.org"
5BUGTRACKER = "https://gitlab.gnome.org/GNOME/gtk/-/issues/"
6SECTION = "libs"
7
8DEPENDS = " \
9 atk \
10 cairo \
11 fribidi \
12 gdk-pixbuf \
13 gdk-pixbuf-native \
14 glib-2.0 \
15 graphene \
16 harfbuzz \
17 jpeg \
18 libdrm \
19 libepoxy \
20 libpng \
21 librsvg \
22 libxkbcommon \
23 pango \
24 python3-docutils-native \
25 tiff \
26"
27
28LICENSE = "LGPL-2.0-only & LGPL-2.0-or-later & LGPL-2.1-or-later"
29LIC_FILES_CHKSUM = " \
30 file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
31 file://gtk/gtk.h;endline=25;md5=61900d77e8d5bc67cf15ad93de9a3490 \
32 file://gdk/gdk.h;endline=25;md5=a0fb26c1f6b94e66d148279e192c333f \
33 file://tests/testgtk.c;endline=25;md5=49d06770681b8322466b52ed19d29fb2 \
34"
35
36MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
37
38UPSTREAM_CHECK_REGEX = "gtk-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz"
39
40SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk/${MAJ_VER}/gtk-${PV}.tar.xz"
41SRC_URI[sha256sum] = "e1817c650ddc3261f9a8345b3b22a26a5d80af154630dedc03cc7becefffd0fa"
42
43S = "${UNPACKDIR}/gtk-${PV}"
44
45CVE_PRODUCT = "gnome:gtk"
46
47inherit meson gettext pkgconfig gi-docgen update-alternatives gsettings features_check gobject-introspection
48
49# TBD: nativesdk
50# gobject-introspection.bbclass pins introspection off for nativesk. As long as
51# we do not remove this wisdom or hack gtk4, it is not possible to build
52# nativesdk-gtk4
53BBCLASSEXTEND = "native"
54
55GSETTINGS_PACKAGE:class-native = ""
56
57ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
58REQUIRED_DISTRO_FEATURES = "opengl"
59GIDOCGEN_MESON_OPTION = "documentation"
60GIR_MESON_ENABLE_FLAG = 'enabled'
61GIR_MESON_DISABLE_FLAG = 'disabled'
62
63EXTRA_OEMESON = " -Dbuild-tests=false -Dbuild-testsuite=false -Dbuild-demos=false"
64
65PACKAGECONFIG ??= "gstreamer ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11 vulkan', d)}"
66PACKAGECONFIG:class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
67PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
68
69PACKAGECONFIG[x11] = "-Dx11-backend=true,-Dx11-backend=false,at-spi2-atk fontconfig libx11 libxext libxcursor libxi libxdamage libxrandr libxrender libxcomposite libxfixes xinerama"
70PACKAGECONFIG[wayland] = "-Dwayland-backend=true,-Dwayland-backend=false,wayland wayland-protocols virtual/egl virtual/libgles2 wayland-native"
71PACKAGECONFIG[cloudproviders] = "-Dcloudproviders=enabled,-Dcloudproviders=disabled,libcloudproviders"
72PACKAGECONFIG[cups] = "-Dprint-cups=enabled,-Dprint-cups=disabled,cups,cups gtk4-printbackend-cups"
73PACKAGECONFIG[colord] = "-Dcolord=enabled,-Dcolord=disabled,colord"
74PACKAGECONFIG[iso-codes] = ",,iso-codes,iso-codes"
75# gtk4 wants gstreamer-player-1.0 -> gstreamer1.0-plugins-bad
76PACKAGECONFIG[gstreamer] = "-Dmedia-gstreamer=enabled,-Dmedia-gstreamer=disabled,gstreamer1.0-plugins-bad"
77PACKAGECONFIG[tracker] = "-Dtracker=enabled,-Dtracker=disabled,tinysparql,localsearch"
78PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled, vulkan-loader vulkan-headers shaderc-native"
79
80# Disable int-conversion warning as error until [1] is fixed
81# [1] https://gitlab.gnome.org/GNOME/gtk/-/issues/6033
82CFLAGS += "-Wno-error=int-conversion"
83
84LIBV = "4.0.0"
85
86FILES:${PN}:append = " \
87 ${datadir}/glib-2.0/schemas/ \
88 ${datadir}/gtk-4.0/emoji/ \
89 ${datadir}/metainfo/ \
90 ${datadir}/icons/hicolor/*/apps/org.gtk.PrintEditor4*.* \
91 ${libdir}/gtk-4.0/${LIBV}/media \
92 ${bindir}/gtk4-update-icon-cache \
93 ${bindir}/gtk4-launch \
94"
95
96FILES:${PN}-dev += " \
97 ${datadir}/gtk-4.0/gtk4builder.rng \
98 ${datadir}/gtk-4.0/include \
99 ${datadir}/gtk-4.0/valgrind \
100 ${datadir}/gettext/its \
101 ${bindir}/gtk4-builder-tool \
102 ${bindir}/gtk4-encode-symbolic-svg \
103 ${bindir}/gtk4-query-settings \
104"
105
106GTKBASE_RRECOMMENDS ?= " \
107 liberation-fonts \
108 gdk-pixbuf-loader-png \
109 gdk-pixbuf-loader-jpeg \
110 gdk-pixbuf-loader-gif \
111 gdk-pixbuf-loader-xpm \
112 shared-mime-info \
113 adwaita-icon-theme-symbolic \
114"
115
116GTKBASE_RRECOMMENDS:class-native ?= ""
117
118GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1"
119
120RRECOMMENDS:${PN} = "${GTKBASE_RRECOMMENDS}"
121RRECOMMENDS:${PN}:libc-glibc = "${GTKGLIBC_RRECOMMENDS}"
122RDEPENDS:${PN}-dev += "${@bb.utils.contains("PACKAGECONFIG", "wayland", "wayland-protocols", "", d)}"
123
124PACKAGES_DYNAMIC += "^gtk4-printbackend-.*"
125python populate_packages:prepend () {
126 import os.path
127
128 gtk_libdir = d.expand('${libdir}/gtk-4.0/${LIBV}')
129 printmodules_root = os.path.join(gtk_libdir, 'printbackends');
130
131 do_split_packages(d, printmodules_root, r'^libprintbackend-(.*)\.so$', 'gtk4-printbackend-%s', 'GTK printbackend module for %s')
132
133 if (d.getVar('DEBIAN_NAMES')):
134 d.setVar(d.expand('PKG:${PN}'), '${MLPREFIX}libgtk-4.0')
135}
diff --git a/meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-xsltproc-is-not-found.patch b/meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-xsltproc-is-not-found.patch
deleted file mode 100644
index ee1acda401..0000000000
--- a/meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-xsltproc-is-not-found.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1From 50d3b9d3ca0e1ff47c8e7559303855530e58839a Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Wed, 7 Sep 2016 14:52:04 +0300
4Subject: [PATCH] Do not error out if xsltproc is not found.
5
6This allows us to drop the hard xsltproc dependency, if we're not
7going to actually run the gtkdoc scripts (when api documentation is
8disabled).
9
10Upstream-Status: Inappropriate [oe-core specific]
11Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
12---
13 configure.ac | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/configure.ac b/configure.ac
17index 8725074..0491090 100644
18--- a/configure.ac
19+++ b/configure.ac
20@@ -37,7 +37,7 @@ dnl Check for xsltproc
21 dnl
22 AC_PATH_PROG([XSLTPROC], [xsltproc])
23 if test -z "$XSLTPROC"; then
24- AC_MSG_ERROR([xsltproc not found])
25+ AC_MSG_WARN([xsltproc not found])
26 fi
27
28 dnl
diff --git a/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch b/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch
deleted file mode 100644
index f329539fa8..0000000000
--- a/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch
+++ /dev/null
@@ -1,138 +0,0 @@
1From 64163565f8d6853b02e53308a6e6ba23d9d96299 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Wed, 31 Aug 2016 16:44:46 +0300
4Subject: [PATCH] Do not hardocode paths to perl/python in scripts.
5
6Doing so when the interpreters are somewhere deep in a sysroot directory
7can reach the shebang line limit, and resulting scripts wouldn't work
8on targets either.
9
10Upstream-Status: Inappropriate [oe-core specific]
11Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
12---
13 gtkdoc-check.in | 2 +-
14 gtkdoc-depscan.in | 2 +-
15 gtkdoc-fixxref.in | 2 +-
16 gtkdoc-mkdb.in | 2 +-
17 gtkdoc-mkhtml.in | 2 +-
18 gtkdoc-mkman.in | 2 +-
19 gtkdoc-mkpdf.in | 2 +-
20 gtkdoc-rebase.in | 2 +-
21 gtkdoc-scan.in | 2 +-
22 gtkdoc-scangobj.in | 2 +-
23 tests/tools.sh.in | 2 +-
24 11 files changed, 11 insertions(+), 11 deletions(-)
25
26diff --git a/gtkdoc-check.in b/gtkdoc-check.in
27index d9e2ad5..9ec526d 100755
28--- a/gtkdoc-check.in
29+++ b/gtkdoc-check.in
30@@ -1,4 +1,4 @@
31-#!@PYTHON@
32+#!/usr/bin/env python3
33 # -*- python; coding: utf-8 -*-
34 #
35 # gtk-doc - GTK DocBook documentation generator.
36diff --git a/gtkdoc-depscan.in b/gtkdoc-depscan.in
37index c43317c..200837c 100755
38--- a/gtkdoc-depscan.in
39+++ b/gtkdoc-depscan.in
40@@ -1,4 +1,4 @@
41-#!@PYTHON@
42+#!/usr/bin/env python3
43
44 from __future__ import print_function
45
46diff --git a/gtkdoc-fixxref.in b/gtkdoc-fixxref.in
47index f9c4905..ed2ead1 100755
48--- a/gtkdoc-fixxref.in
49+++ b/gtkdoc-fixxref.in
50@@ -1,4 +1,4 @@
51-#!@PYTHON@
52+#!/usr/bin/env python3
53 # -*- python -*-
54 #
55 # gtk-doc - GTK DocBook documentation generator.
56diff --git a/gtkdoc-mkdb.in b/gtkdoc-mkdb.in
57index 641f3c4..35e95fb 100755
58--- a/gtkdoc-mkdb.in
59+++ b/gtkdoc-mkdb.in
60@@ -1,4 +1,4 @@
61-#!@PYTHON@
62+#!/usr/bin/env python3
63 # -*- python; coding: utf-8 -*-
64 #
65 # gtk-doc - GTK DocBook documentation generator.
66diff --git a/gtkdoc-mkhtml.in b/gtkdoc-mkhtml.in
67index b09f7a9..8d45966 100755
68--- a/gtkdoc-mkhtml.in
69+++ b/gtkdoc-mkhtml.in
70@@ -1,4 +1,4 @@
71-#!@PYTHON@
72+#!/usr/bin/env python3
73 # -*- python; coding: utf-8 -*-
74 #
75 # gtk-doc - GTK DocBook documentation generator.
76diff --git a/gtkdoc-mkman.in b/gtkdoc-mkman.in
77index 8f7b018..9bac0b6 100755
78--- a/gtkdoc-mkman.in
79+++ b/gtkdoc-mkman.in
80@@ -1,4 +1,4 @@
81-#!@PYTHON@
82+#!/usr/bin/env python3
83 # -*- python; coding: utf-8 -*-
84 #
85 # gtk-doc - GTK DocBook documentation generator.
86diff --git a/gtkdoc-mkpdf.in b/gtkdoc-mkpdf.in
87index 7dca4b0..808f92d 100755
88--- a/gtkdoc-mkpdf.in
89+++ b/gtkdoc-mkpdf.in
90@@ -1,4 +1,4 @@
91-#!@PYTHON@
92+#!/usr/bin/env python3
93 # -*- python; coding: utf-8 -*-
94 #
95 # gtk-doc - GTK DocBook documentation generator.
96diff --git a/gtkdoc-rebase.in b/gtkdoc-rebase.in
97index e8b0bf5..a960d8f 100755
98--- a/gtkdoc-rebase.in
99+++ b/gtkdoc-rebase.in
100@@ -1,4 +1,4 @@
101-#!@PYTHON@
102+#!/usr/bin/env python3
103 # -*- python -*-
104 #
105 # gtk-doc - GTK DocBook documentation generator.
106diff --git a/gtkdoc-scan.in b/gtkdoc-scan.in
107index 7893ebc..b7eb83d 100755
108--- a/gtkdoc-scan.in
109+++ b/gtkdoc-scan.in
110@@ -1,4 +1,4 @@
111-#!@PYTHON@
112+#!/usr/bin/env python3
113 # -*- python -*-
114 #
115 # gtk-doc - GTK DocBook documentation generator.
116diff --git a/gtkdoc-scangobj.in b/gtkdoc-scangobj.in
117index 7660c70..c6ff072 100755
118--- a/gtkdoc-scangobj.in
119+++ b/gtkdoc-scangobj.in
120@@ -1,4 +1,4 @@
121-#!@PYTHON@
122+#!/usr/bin/env python3
123 # -*- python -*-
124 #
125 # gtk-doc - GTK DocBook documentation generator.
126diff --git a/tests/tools.sh.in b/tests/tools.sh.in
127index 343844a..9dc6692 100644
128--- a/tests/tools.sh.in
129+++ b/tests/tools.sh.in
130@@ -30,7 +30,7 @@ done
131 # TODO: also test the module files
132 for file in gtkdoc-check gtkdoc-depscan gtkdoc-fixxref gtkdoc-mkdb gtkdoc-mkhtml gtkdoc-mkhtml2 gtkdoc-mkman gtkdoc-mkpdf gtkdoc-rebase gtkdoc-scangobj; do
133 fullfile=`which $file`
134- @PYTHON@ -m py_compile $fullfile
135+ python3 -m py_compile $fullfile
136 if test $? != 0 ; then failed=`expr $failed + 1`; fi
137 tested=`expr $tested + 1`
138 done
diff --git a/meta/recipes-gnome/gtk-doc/files/conditionaltests.patch b/meta/recipes-gnome/gtk-doc/files/conditionaltests.patch
deleted file mode 100644
index 55cae34b46..0000000000
--- a/meta/recipes-gnome/gtk-doc/files/conditionaltests.patch
+++ /dev/null
@@ -1,42 +0,0 @@
1From 9aa9230a305e964b2417daea2b51e43b2dee607c Mon Sep 17 00:00:00 2001
2From: Richard Purdie <richard.purdie@linuxfoundation.org>
3Date: Tue, 27 Jun 2017 21:00:58 +0100
4Subject: [PATCH] gtk-doc: Handle floating gtk-doc dependency
5
6Allow the tests to be explicitly disabled to avoid floating dependnecy
7issues. This is not really an issue with RSS but is on previous releases.
8
9RP 2017/6/27
10Upstream-Status: Pending
11---
12 configure.ac | 10 ++++++++++
13 1 file changed, 10 insertions(+)
14
15diff --git a/configure.ac b/configure.ac
16index 0491090..4270c88 100644
17--- a/configure.ac
18+++ b/configure.ac
19@@ -82,6 +82,11 @@ if test "x$GCC" = "xyes"; then
20 fi
21 fi
22
23+AC_ARG_ENABLE([tests],
24+ AS_HELP_STRING([--enable-tests],
25+ [enable tests (default=yes)]),,
26+ [enable_tests="yes"])
27+
28 dnl if glib is available we can enable the tests
29 PKG_CHECK_MODULES(TEST_DEPS, [glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0],
30 [ glib_prefix="`$PKG_CONFIG --variable=prefix glib-2.0`"
31@@ -92,6 +97,11 @@ PKG_CHECK_MODULES(TEST_DEPS, [glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0],
32 build_tests="no"
33 ]
34 )
35+if test "x$enable_tests" != "xyes"; then
36+ gtk_doc_use_libtool="no"
37+ build_tests="no"
38+fi
39+
40 AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL" -a x$gtk_doc_use_libtool = xyes )
41 dnl this enables the rule in test/Makefile.am
42 AM_CONDITIONAL(BUILD_TESTS, test x$build_tests = xyes)
diff --git a/meta/recipes-gnome/gtk-doc/files/no-clobber.patch b/meta/recipes-gnome/gtk-doc/files/no-clobber.patch
deleted file mode 100644
index 90207d6c12..0000000000
--- a/meta/recipes-gnome/gtk-doc/files/no-clobber.patch
+++ /dev/null
@@ -1,39 +0,0 @@
1From fa5e31e02b9d3c6c5ec3cdc1f34dd6c179520fd0 Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross.burton@intel.com>
3Date: Wed, 21 Mar 2018 14:47:29 +0000
4Subject: [PATCH] gtk-doc: don't regenerate gtk-doc in do_install
5
6In out-of-tree builds gtk-doc's setup-build target copies all the content from $srcdir to $builddir.
7
8However, if some of this content is regenerated at configure time this can happen:
9
101) configure writes new build/version.xml
112) make compile copies content, including the tarball's src/version.xml
12 to build/version.xml, and generates gtk-doc.
133) make install notices build/version.xml is older than configure.status,
14 so regenerates gtk-doc.
15
16gtk-doc generation is a slow process at the best of times, so doing it twice isn't good.
17
18Solve this by changing cp --force to cp --no-clobber, so setup-build only copies
19files which don't already exist.
20
21Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=794571]
22Signed-off-by: Ross Burton <ross.burton@intel.com>
23---
24 buildsystems/autotools/gtk-doc.make | 2 +-
25 1 file changed, 1 insertion(+), 1 deletion(-)
26
27diff --git a/buildsystems/autotools/gtk-doc.make b/buildsystems/autotools/gtk-doc.make
28index fb2e7e2..4f6fe2b 100644
29--- a/buildsystems/autotools/gtk-doc.make
30+++ b/buildsystems/autotools/gtk-doc.make
31@@ -112,7 +112,7 @@ setup-build.stamp:
32 destdir=`dirname $(abs_builddir)/$$file`; \
33 test -d "$$destdir" || mkdir -p "$$destdir"; \
34 test -f $(abs_srcdir)/$$file && \
35- cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
36+ cp -pn $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
37 done; \
38 fi; \
39 fi
diff --git a/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch b/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch
deleted file mode 100644
index 1b5c190f56..0000000000
--- a/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch
+++ /dev/null
@@ -1,41 +0,0 @@
1From c11fba9bcb8d55568067e626bd959841c05081e5 Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross.burton@intel.com>
3Date: Mon, 5 Sep 2016 22:25:44 +0100
4Subject: [PATCH] Use native pkg-config when looking for gtk-doc.
5
6Upstream-Status: Inappropriate
7Signed-off-by: Ross Burton <ross.burton@intel.com>
8---
9 buildsystems/autotools/gtk-doc.m4 | 7 ++++++-
10 1 file changed, 6 insertions(+), 1 deletion(-)
11
12diff --git a/buildsystems/autotools/gtk-doc.m4 b/buildsystems/autotools/gtk-doc.m4
13index 2d12f01..e5afc3f 100644
14--- a/buildsystems/autotools/gtk-doc.m4
15+++ b/buildsystems/autotools/gtk-doc.m4
16@@ -25,7 +25,7 @@
17 # Macro appear in them. The GNU General Public License (GPL) does govern
18 # all other use of the material that constitutes the Autoconf Macro.
19
20-# serial 2
21+# serial 2.1
22
23 dnl Usage:
24 dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
25@@ -35,11 +35,16 @@ AC_DEFUN([GTK_DOC_CHECK],
26 AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
27 AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
28
29+ gtkdoc_pkgconfig_save=$PKG_CONFIG
30+ PKG_CONFIG=pkg-config-native
31+
32 ifelse([$1],[],[gtk_doc_requires="gtk-doc"],[gtk_doc_requires="gtk-doc >= $1"])
33 AC_MSG_CHECKING([for gtk-doc])
34 PKG_CHECK_EXISTS([$gtk_doc_requires],[have_gtk_doc=yes],[have_gtk_doc=no])
35 AC_MSG_RESULT($have_gtk_doc)
36
37+ PKG_CONFIG=$gtkdoc_pkgconfig_save
38+
39 if test "$have_gtk_doc" = "no"; then
40 AC_MSG_WARN([
41 You will not be able to create source packages with 'make dist'
diff --git a/meta/recipes-gnome/gtk-doc/gtk-doc_1.34.0.bb b/meta/recipes-gnome/gtk-doc/gtk-doc_1.34.0.bb
deleted file mode 100644
index 693ae427e0..0000000000
--- a/meta/recipes-gnome/gtk-doc/gtk-doc_1.34.0.bb
+++ /dev/null
@@ -1,64 +0,0 @@
1SUMMARY = "Documentation generator for glib-based software"
2DESCRIPTION = "Gtk-doc is a set of scripts that extract specially formatted comments \
3 from glib-based software and produce a set of html documentation files from them"
4HOMEPAGE = "https://www.gtk.org/docs/"
5LICENSE = "GPL-2.0-only"
6LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
7
8GNOMEBASEBUILDCLASS = "autotools"
9inherit gnomebase
10
11# Configure the scripts correctly (and build their dependencies) only if they are actually
12# going to be used; otheriwse we need only the m4/makefile includes from the gtk-doc tarball.
13PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "api-documentation", "working-scripts", "", d)}"
14
15# This will cause target gtk-doc to hardcode paths of native dependencies
16# into its scripts. This means that target gtk-doc package is broken;
17# hopefully no one minds because its scripts are not used for anything during build
18# and shouldn't be used on targets.
19PACKAGECONFIG[working-scripts] = ",,libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets python3-pygments"
20PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,glib-2.0"
21
22CACHED_CONFIGUREVARS += "ac_cv_path_XSLTPROC=xsltproc"
23
24SRC_URI[archive.sha256sum] = "b20b72b32a80bc18c7f975c9d4c16460c2276566a0b50f87d6852dff3aa7861c"
25SRC_URI += "file://0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch \
26 file://0001-Do-not-error-out-if-xsltproc-is-not-found.patch \
27 file://conditionaltests.patch \
28 file://no-clobber.patch \
29 "
30SRC_URI:append:class-native = " file://pkg-config-native.patch"
31
32BBCLASSEXTEND = "native nativesdk"
33
34# Do not check for XML catalogs when building because that
35# information is not used for anything during build. Recipe
36# dependencies make sure we have all the right bits.
37do_configure:prepend() {
38 sed -i -e 's,^JH_CHECK_XML_CATALOG.*,,' ${S}/configure.ac
39}
40
41do_install:append () {
42 # configure values for python3 and pkg-config encoded in scripts
43 for fn in ${bindir}/gtkdoc-depscan \
44 ${bindir}/gtkdoc-mkhtml2 \
45 ${datadir}/gtk-doc/python/gtkdoc/config_data.py \
46 ${datadir}/gtk-doc/python/gtkdoc/config.py; do
47 sed -e 's,${RECIPE_SYSROOT_NATIVE}/usr/bin/pkg-config,${bindir}/pkg-config,' \
48 -e 's,${HOSTTOOLS_DIR}/python3,${bindir}/python3,' \
49 -e '1s|^#!.*|#!/usr/bin/env python3|' \
50 -i ${D}$fn
51 done
52}
53
54FILES:${PN} += "${datadir}/sgml"
55FILES:${PN}-doc = ""
56
57SYSROOT_PREPROCESS_FUNCS:append:class-native = " gtkdoc_makefiles_sysroot_preprocess"
58gtkdoc_makefiles_sysroot_preprocess() {
59 # Patch the gtk-doc makefiles so that the qemu wrapper is used to run transient binaries
60 # instead of libtool wrapper or running them directly
61 sed -i \
62 -e "s|GTKDOC_RUN =.*|GTKDOC_RUN = \$(top_builddir)/gtkdoc-qemuwrapper|" \
63 ${SYSROOT_DESTDIR}${datadir}/gtk-doc/data/gtk-doc*make
64}
diff --git a/meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.18.bb b/meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.18.bb
deleted file mode 100644
index 283264675c..0000000000
--- a/meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.18.bb
+++ /dev/null
@@ -1,17 +0,0 @@
1SUMMARY = "Default icon theme that all icon themes automatically inherit from"
2DESCRIPTION = "The hicolor-icon-theme package contains a default fallback \
3theme for implementations of the icon theme specification."
4HOMEPAGE = "https://www.freedesktop.org/wiki/Software/icon-theme"
5BUGTRACKER = "https://bugs.freedesktop.org/"
6
7LICENSE = "GPL-2.0-only"
8LIC_FILES_CHKSUM = "file://COPYING;md5=f08a446809913fc9b3c718f0eaea0426"
9
10SRC_URI = "https://icon-theme.freedesktop.org/releases/${BPN}-${PV}.tar.xz"
11SRC_URI[sha256sum] = "db0e50a80aa3bf64bb45cbca5cf9f75efd9348cf2ac690b907435238c3cf81d7"
12
13inherit allarch meson
14
15FILES:${PN} += "${datadir}/icons"
16
17BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-gnome/json-glib/json-glib/run-ptest b/meta/recipes-gnome/json-glib/json-glib/run-ptest
deleted file mode 100644
index 0c6398a177..0000000000
--- a/meta/recipes-gnome/json-glib/json-glib/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
1#! /bin/sh
2
3gnome-desktop-testing-runner json-glib
diff --git a/meta/recipes-gnome/json-glib/json-glib_1.10.8.bb b/meta/recipes-gnome/json-glib/json-glib_1.10.8.bb
deleted file mode 100644
index 1f68fb8c51..0000000000
--- a/meta/recipes-gnome/json-glib/json-glib_1.10.8.bb
+++ /dev/null
@@ -1,32 +0,0 @@
1SUMMARY = "JSON-GLib implements a full JSON parser using GLib and GObject"
2DESCRIPTION = "Use JSON-GLib it is possible to parse and generate valid JSON\
3 data structures, using a DOM-like API. JSON-GLib also offers GObject \
4integration, providing the ability to serialize and deserialize GObject \
5instances to and from JSON data types."
6HOMEPAGE = "https://wiki.gnome.org/Projects/JsonGlib"
7BUGTRACKER = "https://gitlab.gnome.org/GNOME/json-glib/issues"
8
9LICENSE = "LGPL-2.1-or-later"
10LIC_FILES_CHKSUM = "file://COPYING;md5=41890f71f740302b785c27661123bff5"
11
12DEPENDS = "glib-2.0 glib-2.0-native"
13
14inherit gnomebase lib_package gobject-introspection gi-docgen gettext ptest-gnome manpages upstream-version-is-even
15GIR_MESON_ENABLE_FLAG = 'enabled'
16GIR_MESON_DISABLE_FLAG = 'disabled'
17GIDOCGEN_MESON_OPTION = 'documentation'
18GIDOCGEN_MESON_ENABLE_FLAG = 'enabled'
19GIDOCGEN_MESON_DISABLE_FLAG = 'disabled'
20
21SRC_URI += " file://run-ptest"
22SRC_URI[archive.sha256sum] = "55c5c141a564245b8f8fbe7698663c87a45a7333c2a2c56f06f811ab73b212dd"
23
24PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
25PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native python3-docutils-native"
26PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false"
27
28BBCLASSEXTEND = "native nativesdk"
29
30# Currently it's not possible to disable gettext in Meson, so we need to force
31# this back on.
32USE_NLS:class-native = "yes"
diff --git a/meta/recipes-gnome/libadwaita/libadwaita_1.7.6.bb b/meta/recipes-gnome/libadwaita/libadwaita_1.7.6.bb
deleted file mode 100644
index 6e5eca38de..0000000000
--- a/meta/recipes-gnome/libadwaita/libadwaita_1.7.6.bb
+++ /dev/null
@@ -1,27 +0,0 @@
1SUMMARY = "Building blocks for modern GNOME applications"
2HOMEPAGE = "https://gitlab.gnome.org/GNOME/libadwaita"
3LICENSE = "LGPL-2.1-or-later"
4LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
5
6DEPENDS = " \
7 gtk4 \
8 appstream \
9 sassc-native \
10"
11
12inherit gnomebase gobject-introspection gi-docgen vala features_check
13
14SRC_URI[archive.sha256sum] = "5eacc5550f0bdbba6a1568aebf25a3d88f5ee07d6b558becc6fd9487579c9a29"
15
16ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
17REQUIRED_DISTRO_FEATURES = "opengl"
18
19GIR_MESON_ENABLE_FLAG = 'enabled'
20GIR_MESON_DISABLE_FLAG = 'disabled'
21GTKDOC_MESON_OPTION = 'gtk_doc'
22
23PACKAGECONFIG[examples] = "-Dexamples=true,-Dexamples=false"
24
25FILES:${PN} += "${datadir}/metainfo"
26
27EXTRA_OEMESON += "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dvapi=true', '-Dvapi=false', d)}"
diff --git a/meta/recipes-gnome/libdazzle/libdazzle_3.44.0.bb b/meta/recipes-gnome/libdazzle/libdazzle_3.44.0.bb
deleted file mode 100644
index 9bca7e9dce..0000000000
--- a/meta/recipes-gnome/libdazzle/libdazzle_3.44.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
1SUMMARY = "The libdazzle library is a companion library to GObject and Gtk+."
2DESCRIPTION = "A wide range of components from utilities for GIO, widgets for \
3GTK+, an animation framework, state machines, paneling and high-performance \
4counters are included."
5LICENSE = "GPL-3.0-or-later"
6HOMEPAGE = "https://gitlab.gnome.org/GNOME/libdazzle"
7BUGTRACKER = "https://gitlab.gnome.org/GNOME/libdazzle/issues"
8LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a"
9
10inherit gnomebase upstream-version-is-even vala features_check gobject-introspection
11
12DEPENDS = "glib-2.0-native glib-2.0 gtk+3"
13
14SRC_URI[archive.sha256sum] = "3cd3e45eb6e2680cb05d52e1e80dd8f9d59d4765212f0e28f78e6c1783d18eae"
15
16GIR_MESON_OPTION = 'with_introspection'
17
18ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
diff --git a/meta/recipes-gnome/libgudev/libgudev/0001-meson-Pass-export-dynamic-option-to-linker.patch b/meta/recipes-gnome/libgudev/libgudev/0001-meson-Pass-export-dynamic-option-to-linker.patch
deleted file mode 100644
index 8a06d244e4..0000000000
--- a/meta/recipes-gnome/libgudev/libgudev/0001-meson-Pass-export-dynamic-option-to-linker.patch
+++ /dev/null
@@ -1,38 +0,0 @@
1From dc4fcfb1e1e2326a412b252314af3e9424a31457 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 16 Jan 2024 12:02:46 -0800
4Subject: [PATCH] meson: Pass --export-dynamic option to linker
5
6Bypass the compiler driver trying to comprehend and translate it for
7linker, since its not clear what the right behavior should be, gcc seems
8to translate it into --export-dynamic but clang 18+ rejects it
9
10| x86_64-yoe-linux-clang: error: unknown argument: '-export-dynamic'
11
12also see [1]
13
14This makes it work as intended across gcc and clang
15
16Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/libgudev/-/merge_requests/30]
17[1] https://discourse.llvm.org/t/clang-option-export-dynamic-parse-to-e-xport-dynamic-error/72454
18Signed-off-by: Khem Raj <raj.khem@gmail.com>
19---
20 gudev/meson.build | 2 +-
21 1 file changed, 1 insertion(+), 1 deletion(-)
22
23diff --git a/gudev/meson.build b/gudev/meson.build
24index e904203..3ed580b 100644
25--- a/gudev/meson.build
26+++ b/gudev/meson.build
27@@ -33,7 +33,7 @@ libgudev_c_args = [
28 ]
29
30 libgudev_link_args = [
31- '-export-dynamic',
32+ '-Wl,--export-dynamic',
33 '-Wl,--version-script,@0@/libgudev-1.0.sym'.format(top_srcdir),
34 ]
35
36--
372.43.0
38
diff --git a/meta/recipes-gnome/libgudev/libgudev_238.bb b/meta/recipes-gnome/libgudev/libgudev_238.bb
deleted file mode 100644
index ff5017ade0..0000000000
--- a/meta/recipes-gnome/libgudev/libgudev_238.bb
+++ /dev/null
@@ -1,31 +0,0 @@
1SUMMARY = "GObject wrapper for libudev"
2DESCRIPTION = "This library makes it much simpler to use libudev from programs \
3already using GObject. It also makes it possible to easily use libudev from \
4other programming languages, such as Javascript, because of GObject \
5introspection support."
6HOMEPAGE = "https://wiki.gnome.org/Projects/libgudev"
7BUGTRACKER = "https://gitlab.gnome.org/GNOME/libgudev/issues"
8SRC_URI[archive.sha256sum] = "61266ab1afc9d73dbc60a8b2af73e99d2fdff47d99544d085760e4fa667b5dd1"
9
10DEPENDS = "glib-2.0 glib-2.0-native udev"
11
12RCONFLICTS:${PN} = "systemd (<= 220)"
13
14LICENSE = "LGPL-2.1-only"
15LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
16
17inherit gnomebase gobject-introspection gtk-doc
18
19SRC_URI += "file://0001-meson-Pass-export-dynamic-option-to-linker.patch"
20
21GIR_MESON_ENABLE_FLAG = 'enabled'
22GIR_MESON_DISABLE_FLAG = 'disabled'
23
24GTKDOC_MESON_OPTION = "gtk_doc"
25
26EXTRA_OEMESON += "-Dtests=disabled -Dvapi=disabled"
27
28# This isn't a GNOME-style version do gnome_verdir fails. Just return the
29# version as that is how the directory is structured.
30def gnome_verdir(v):
31 return v
diff --git a/meta/recipes-gnome/libhandy/libhandy_1.8.3.bb b/meta/recipes-gnome/libhandy/libhandy_1.8.3.bb
deleted file mode 100644
index cf2c64f8d0..0000000000
--- a/meta/recipes-gnome/libhandy/libhandy_1.8.3.bb
+++ /dev/null
@@ -1,26 +0,0 @@
1SUMMARY = "A library full of GTK+ widgets for mobile phones"
2DESCRIPTION = "Library with GTK widgets for mobile phones. Libhandy provides \
3GTK widgets and GObjects to ease developing applications for mobile phones. \
4It was developed by Purism (and used by several official GNOME projects) \
5to extend Gtk by providing mobile-friendly widgets and make the creation of \
6responsive apps easier."
7HOMEPAGE = "https://gitlab.gnome.org/GNOME/libhandy"
8BUGTRACKER = "https://gitlab.gnome.org/GNOME/libhandy/-/issues"
9LICENSE = "LGPL-2.1-only"
10LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
11
12SRC_URI = "git://gitlab.gnome.org/GNOME/libhandy.git;protocol=https;branch=libhandy-1-8"
13SRCREV = "9b0071408ce86a3ef843806fddd723a85f6f2416"
14
15UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.(\d*[02468])+(\.\d+))"
16GIR_MESON_ENABLE_FLAG = 'enabled'
17GIR_MESON_DISABLE_FLAG = 'disabled'
18
19inherit meson gobject-introspection vala gettext gi-docgen features_check pkgconfig
20
21ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
22
23DEPENDS += "gtk+3"
24
25PACKAGES =+ "${PN}-examples"
26FILES:${PN}-examples = "${bindir}"
diff --git a/meta/recipes-gnome/libnotify/libnotify_0.8.6.bb b/meta/recipes-gnome/libnotify/libnotify_0.8.6.bb
deleted file mode 100644
index 6ff7ee4be1..0000000000
--- a/meta/recipes-gnome/libnotify/libnotify_0.8.6.bb
+++ /dev/null
@@ -1,35 +0,0 @@
1SUMMARY = "Library for sending desktop notifications to a notification daemon"
2DESCRIPTION = "It sends desktop notifications to a notification daemon, as defined \
3in the Desktop Notifications spec. These notifications can be used to inform \
4the user about an event or display some form of information without getting \
5in the user's way."
6HOMEPAGE = "https://gitlab.gnome.org/GNOME/libnotify"
7BUGTRACKER = "https://gitlab.gnome.org/GNOME/libnotify/issues"
8SECTION = "libs"
9LICENSE = "LGPL-2.1-only"
10LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
11
12DEPENDS = "glib-2.0 glib-2.0-native gdk-pixbuf"
13
14PACKAGECONFIG ?= ""
15PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,gtk+3"
16
17GIR_MESON_ENABLE_FLAG = "enabled"
18GIR_MESON_DISABLE_FLAG = "disabled"
19inherit gnomebase gi-docgen features_check gobject-introspection
20# depends on gtk+3 if tests are enabled
21ANY_OF_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'tests', '${GTK3DISTROFEATURES}', '', d)}"
22
23SRC_URI[archive.sha256sum] = "c5540aaefb60e1d63b1c587c05f2284ebe72ece7d0c0e5e4a778cfd5844b6b58"
24
25EXTRA_OEMESON = "-Dman=false"
26
27# there were times, we had two versions of libnotify (oe-core libnotify:0.6.x /
28# meta-gnome libnotify3: 0.7.x)
29PROVIDES += "libnotify3"
30RPROVIDES:${PN} += "libnotify3"
31RCONFLICTS:${PN} += "libnotify3"
32RREPLACES:${PN} += "libnotify3"
33
34# -7381 is specific to the NodeJS bindings
35CVE_STATUS[CVE-2013-7381] = "cpe-incorrect: The issue is specific to the NodeJS bindings"
diff --git a/meta/recipes-gnome/libportal/libportal_0.9.1.bb b/meta/recipes-gnome/libportal/libportal_0.9.1.bb
deleted file mode 100644
index 9713f70dbb..0000000000
--- a/meta/recipes-gnome/libportal/libportal_0.9.1.bb
+++ /dev/null
@@ -1,19 +0,0 @@
1SUMMARY = "libportal provides GIO-style async APIs for most Flatpak portals."
2DESCRIPTION = "It provides simple asynchronous wrappers for most Flatpak portals \
3with a familiar GObject API along side the D-Bus API"
4HOMEPAGE = "https://github.com/flatpak/libportal"
5BUGTRACKER = "https://github.com/flatpak/libportal/issues"
6LICENSE = "LGPL-3.0-only"
7LIC_FILES_CHKSUM = "file://COPYING;md5=3000208d539ec061b899bce1d9ce9404"
8
9SRC_URI = "git://github.com/flatpak/${BPN}.git;protocol=https;branch=main"
10SRCREV = "8f5dc8d192f6e31dafe69e35219e3b707bde71ce"
11
12inherit meson gi-docgen gobject-introspection vala features_check pkgconfig
13GIDOCGEN_MESON_OPTION = 'docs'
14
15ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
16
17DEPENDS += "glib-2.0 glib-2.0-native gtk+3 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gtk4', '', d)}"
18
19EXTRA_OEMESON = "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dvapi=true', '-Dvapi=false', d)} -Dbackend-qt5=disabled"
diff --git a/meta/recipes-gnome/librsvg/librsvg-crates.inc b/meta/recipes-gnome/librsvg/librsvg-crates.inc
deleted file mode 100644
index 5eb79a8fab..0000000000
--- a/meta/recipes-gnome/librsvg/librsvg-crates.inc
+++ /dev/null
@@ -1,712 +0,0 @@
1# Autogenerated with 'bitbake -c update_crates librsvg'
2
3# from Cargo.lock
4SRC_URI += " \
5 crate://crates.io/adler2/2.0.1 \
6 crate://crates.io/aes/0.8.4 \
7 crate://crates.io/ahash/0.8.12 \
8 crate://crates.io/aho-corasick/1.1.3 \
9 crate://crates.io/android-tzdata/0.1.1 \
10 crate://crates.io/android_system_properties/0.1.5 \
11 crate://crates.io/anes/0.1.6 \
12 crate://crates.io/anstream/0.6.20 \
13 crate://crates.io/anstyle/1.0.11 \
14 crate://crates.io/anstyle-parse/0.2.7 \
15 crate://crates.io/anstyle-query/1.1.4 \
16 crate://crates.io/anstyle-wincon/3.0.10 \
17 crate://crates.io/anyhow/1.0.99 \
18 crate://crates.io/approx/0.5.1 \
19 crate://crates.io/assert_cmd/2.0.17 \
20 crate://crates.io/autocfg/1.5.0 \
21 crate://crates.io/av-data/0.4.4 \
22 crate://crates.io/bit-set/0.8.0 \
23 crate://crates.io/bit-vec/0.8.0 \
24 crate://crates.io/bitflags/1.3.2 \
25 crate://crates.io/bitflags/2.9.1 \
26 crate://crates.io/bitreader/0.3.11 \
27 crate://crates.io/block/0.1.6 \
28 crate://crates.io/block-buffer/0.10.4 \
29 crate://crates.io/block-padding/0.3.3 \
30 crate://crates.io/bstr/1.12.0 \
31 crate://crates.io/bumpalo/3.19.0 \
32 crate://crates.io/byte-slice-cast/1.2.3 \
33 crate://crates.io/bytecount/0.6.9 \
34 crate://crates.io/bytemuck/1.23.2 \
35 crate://crates.io/byteorder/1.5.0 \
36 crate://crates.io/byteorder-lite/0.1.0 \
37 crate://crates.io/bytes/1.10.1 \
38 crate://crates.io/cairo-rs/0.21.1 \
39 crate://crates.io/cairo-sys-rs/0.21.1 \
40 crate://crates.io/cast/0.3.0 \
41 crate://crates.io/cbc/0.1.2 \
42 crate://crates.io/cc/1.2.32 \
43 crate://crates.io/cfg-expr/0.20.2 \
44 crate://crates.io/cfg-if/1.0.1 \
45 crate://crates.io/chrono/0.4.41 \
46 crate://crates.io/ciborium/0.2.2 \
47 crate://crates.io/ciborium-io/0.2.2 \
48 crate://crates.io/ciborium-ll/0.2.2 \
49 crate://crates.io/cipher/0.4.4 \
50 crate://crates.io/clap/4.5.45 \
51 crate://crates.io/clap_builder/4.5.44 \
52 crate://crates.io/clap_complete/4.5.57 \
53 crate://crates.io/clap_derive/4.5.45 \
54 crate://crates.io/clap_lex/0.7.5 \
55 crate://crates.io/color_quant/1.1.0 \
56 crate://crates.io/colorchoice/1.0.4 \
57 crate://crates.io/core-foundation-sys/0.8.7 \
58 crate://crates.io/cpufeatures/0.2.17 \
59 crate://crates.io/crc32fast/1.5.0 \
60 crate://crates.io/criterion/0.6.0 \
61 crate://crates.io/criterion-plot/0.5.0 \
62 crate://crates.io/crossbeam-deque/0.8.6 \
63 crate://crates.io/crossbeam-epoch/0.9.18 \
64 crate://crates.io/crossbeam-utils/0.8.21 \
65 crate://crates.io/crunchy/0.2.4 \
66 crate://crates.io/crypto-common/0.1.6 \
67 crate://crates.io/cssparser/0.31.2 \
68 crate://crates.io/cssparser-macros/0.6.1 \
69 crate://crates.io/data-url/0.3.1 \
70 crate://crates.io/dav1d/0.10.4 \
71 crate://crates.io/dav1d-sys/0.8.3 \
72 crate://crates.io/deranged/0.4.0 \
73 crate://crates.io/derive_more/0.99.20 \
74 crate://crates.io/difflib/0.4.0 \
75 crate://crates.io/digest/0.10.7 \
76 crate://crates.io/displaydoc/0.2.5 \
77 crate://crates.io/dlib/0.5.2 \
78 crate://crates.io/doc-comment/0.3.3 \
79 crate://crates.io/dtoa/1.0.10 \
80 crate://crates.io/dtoa-short/0.3.5 \
81 crate://crates.io/ecb/0.1.2 \
82 crate://crates.io/either/1.15.0 \
83 crate://crates.io/encoding_rs/0.8.35 \
84 crate://crates.io/equivalent/1.0.2 \
85 crate://crates.io/errno/0.3.13 \
86 crate://crates.io/fallible_collections/0.4.9 \
87 crate://crates.io/fastrand/2.3.0 \
88 crate://crates.io/fdeflate/0.3.7 \
89 crate://crates.io/flate2/1.1.2 \
90 crate://crates.io/float-cmp/0.10.0 \
91 crate://crates.io/fnv/1.0.7 \
92 crate://crates.io/form_urlencoded/1.2.1 \
93 crate://crates.io/futf/0.1.5 \
94 crate://crates.io/futures-channel/0.3.31 \
95 crate://crates.io/futures-core/0.3.31 \
96 crate://crates.io/futures-executor/0.3.31 \
97 crate://crates.io/futures-io/0.3.31 \
98 crate://crates.io/futures-macro/0.3.31 \
99 crate://crates.io/futures-task/0.3.31 \
100 crate://crates.io/futures-util/0.3.31 \
101 crate://crates.io/fxhash/0.2.1 \
102 crate://crates.io/gdk-pixbuf/0.21.1 \
103 crate://crates.io/gdk-pixbuf-sys/0.21.1 \
104 crate://crates.io/generic-array/0.14.7 \
105 crate://crates.io/getrandom/0.2.16 \
106 crate://crates.io/getrandom/0.3.3 \
107 crate://crates.io/gif/0.13.3 \
108 crate://crates.io/gio/0.21.1 \
109 crate://crates.io/gio-sys/0.21.1 \
110 crate://crates.io/glib/0.21.1 \
111 crate://crates.io/glib-macros/0.21.0 \
112 crate://crates.io/glib-sys/0.21.1 \
113 crate://crates.io/gobject-sys/0.21.1 \
114 crate://crates.io/half/2.6.0 \
115 crate://crates.io/hashbrown/0.13.2 \
116 crate://crates.io/hashbrown/0.15.5 \
117 crate://crates.io/heck/0.5.0 \
118 crate://crates.io/iana-time-zone/0.1.63 \
119 crate://crates.io/iana-time-zone-haiku/0.1.2 \
120 crate://crates.io/icu_collections/2.0.0 \
121 crate://crates.io/icu_locale_core/2.0.0 \
122 crate://crates.io/icu_normalizer/2.0.0 \
123 crate://crates.io/icu_normalizer_data/2.0.0 \
124 crate://crates.io/icu_properties/2.0.1 \
125 crate://crates.io/icu_properties_data/2.0.1 \
126 crate://crates.io/icu_provider/2.0.0 \
127 crate://crates.io/idna/1.0.3 \
128 crate://crates.io/idna_adapter/1.2.1 \
129 crate://crates.io/image/0.25.6 \
130 crate://crates.io/image-webp/0.2.3 \
131 crate://crates.io/indexmap/2.10.0 \
132 crate://crates.io/inout/0.1.4 \
133 crate://crates.io/is_terminal_polyfill/1.70.1 \
134 crate://crates.io/itertools/0.10.5 \
135 crate://crates.io/itertools/0.13.0 \
136 crate://crates.io/itertools/0.14.0 \
137 crate://crates.io/itoa/1.0.15 \
138 crate://crates.io/jiff/0.2.15 \
139 crate://crates.io/jiff-static/0.2.15 \
140 crate://crates.io/jiff-tzdb/0.1.4 \
141 crate://crates.io/jiff-tzdb-platform/0.1.3 \
142 crate://crates.io/js-sys/0.3.77 \
143 crate://crates.io/language-tags/0.3.2 \
144 crate://crates.io/lazy_static/1.5.0 \
145 crate://crates.io/libc/0.2.175 \
146 crate://crates.io/libloading/0.8.8 \
147 crate://crates.io/linux-raw-sys/0.9.4 \
148 crate://crates.io/litemap/0.8.0 \
149 crate://crates.io/locale_config/0.3.0 \
150 crate://crates.io/lock_api/0.4.13 \
151 crate://crates.io/log/0.4.27 \
152 crate://crates.io/lopdf/0.36.0 \
153 crate://crates.io/mac/0.1.1 \
154 crate://crates.io/malloc_buf/0.0.6 \
155 crate://crates.io/markup5ever/0.35.0 \
156 crate://crates.io/matches/0.1.10 \
157 crate://crates.io/matrixmultiply/0.3.10 \
158 crate://crates.io/md-5/0.10.6 \
159 crate://crates.io/memchr/2.7.5 \
160 crate://crates.io/miniz_oxide/0.8.9 \
161 crate://crates.io/mp4parse/0.17.0 \
162 crate://crates.io/nalgebra/0.33.2 \
163 crate://crates.io/nalgebra-macros/0.2.2 \
164 crate://crates.io/new_debug_unreachable/1.0.6 \
165 crate://crates.io/nom/8.0.0 \
166 crate://crates.io/nom_locate/5.0.0 \
167 crate://crates.io/normalize-line-endings/0.3.0 \
168 crate://crates.io/num-bigint/0.4.6 \
169 crate://crates.io/num-complex/0.4.6 \
170 crate://crates.io/num-conv/0.1.0 \
171 crate://crates.io/num-derive/0.4.2 \
172 crate://crates.io/num-integer/0.1.46 \
173 crate://crates.io/num-rational/0.4.2 \
174 crate://crates.io/num-traits/0.2.19 \
175 crate://crates.io/objc/0.2.7 \
176 crate://crates.io/objc-foundation/0.1.1 \
177 crate://crates.io/objc_id/0.1.1 \
178 crate://crates.io/once_cell/1.21.3 \
179 crate://crates.io/once_cell_polyfill/1.70.1 \
180 crate://crates.io/oorandom/11.1.5 \
181 crate://crates.io/pango/0.21.1 \
182 crate://crates.io/pango-sys/0.21.1 \
183 crate://crates.io/pangocairo/0.21.1 \
184 crate://crates.io/pangocairo-sys/0.21.1 \
185 crate://crates.io/parking_lot/0.12.4 \
186 crate://crates.io/parking_lot_core/0.9.11 \
187 crate://crates.io/paste/1.0.15 \
188 crate://crates.io/percent-encoding/2.3.1 \
189 crate://crates.io/phf/0.10.1 \
190 crate://crates.io/phf/0.11.3 \
191 crate://crates.io/phf_codegen/0.10.0 \
192 crate://crates.io/phf_codegen/0.11.3 \
193 crate://crates.io/phf_generator/0.10.0 \
194 crate://crates.io/phf_generator/0.11.3 \
195 crate://crates.io/phf_macros/0.11.3 \
196 crate://crates.io/phf_shared/0.10.0 \
197 crate://crates.io/phf_shared/0.11.3 \
198 crate://crates.io/pin-project-lite/0.2.16 \
199 crate://crates.io/pin-utils/0.1.0 \
200 crate://crates.io/pkg-config/0.3.32 \
201 crate://crates.io/plotters/0.3.7 \
202 crate://crates.io/plotters-backend/0.3.7 \
203 crate://crates.io/plotters-svg/0.3.7 \
204 crate://crates.io/png/0.17.16 \
205 crate://crates.io/portable-atomic/1.11.1 \
206 crate://crates.io/portable-atomic-util/0.2.4 \
207 crate://crates.io/potential_utf/0.1.2 \
208 crate://crates.io/powerfmt/0.2.0 \
209 crate://crates.io/ppv-lite86/0.2.21 \
210 crate://crates.io/precomputed-hash/0.1.1 \
211 crate://crates.io/predicates/3.1.3 \
212 crate://crates.io/predicates-core/1.0.9 \
213 crate://crates.io/predicates-tree/1.0.12 \
214 crate://crates.io/proc-macro-crate/3.3.0 \
215 crate://crates.io/proc-macro2/1.0.97 \
216 crate://crates.io/proptest/1.7.0 \
217 crate://crates.io/quick-error/1.2.3 \
218 crate://crates.io/quick-error/2.0.1 \
219 crate://crates.io/quote/1.0.40 \
220 crate://crates.io/r-efi/5.3.0 \
221 crate://crates.io/rand/0.8.5 \
222 crate://crates.io/rand/0.9.2 \
223 crate://crates.io/rand_chacha/0.3.1 \
224 crate://crates.io/rand_chacha/0.9.0 \
225 crate://crates.io/rand_core/0.6.4 \
226 crate://crates.io/rand_core/0.9.3 \
227 crate://crates.io/rand_xorshift/0.4.0 \
228 crate://crates.io/rangemap/1.6.0 \
229 crate://crates.io/rawpointer/0.2.1 \
230 crate://crates.io/rayon/1.11.0 \
231 crate://crates.io/rayon-core/1.13.0 \
232 crate://crates.io/rctree/0.6.0 \
233 crate://crates.io/redox_syscall/0.5.17 \
234 crate://crates.io/regex/1.11.1 \
235 crate://crates.io/regex-automata/0.4.9 \
236 crate://crates.io/regex-syntax/0.8.5 \
237 crate://crates.io/rgb/0.8.52 \
238 crate://crates.io/rustix/1.0.8 \
239 crate://crates.io/rustversion/1.0.22 \
240 crate://crates.io/rusty-fork/0.3.0 \
241 crate://crates.io/ryu/1.0.20 \
242 crate://crates.io/safe_arch/0.7.4 \
243 crate://crates.io/same-file/1.0.6 \
244 crate://crates.io/scopeguard/1.2.0 \
245 crate://crates.io/selectors/0.25.0 \
246 crate://crates.io/serde/1.0.219 \
247 crate://crates.io/serde_derive/1.0.219 \
248 crate://crates.io/serde_json/1.0.142 \
249 crate://crates.io/serde_spanned/0.6.9 \
250 crate://crates.io/servo_arc/0.3.0 \
251 crate://crates.io/sha2/0.10.9 \
252 crate://crates.io/shell-words/1.1.0 \
253 crate://crates.io/shlex/1.3.0 \
254 crate://crates.io/simba/0.9.0 \
255 crate://crates.io/simd-adler32/0.3.7 \
256 crate://crates.io/siphasher/0.3.11 \
257 crate://crates.io/siphasher/1.0.1 \
258 crate://crates.io/slab/0.4.11 \
259 crate://crates.io/smallvec/1.15.1 \
260 crate://crates.io/stable_deref_trait/1.2.0 \
261 crate://crates.io/static_assertions/1.1.0 \
262 crate://crates.io/string_cache/0.8.9 \
263 crate://crates.io/string_cache_codegen/0.5.4 \
264 crate://crates.io/stringprep/0.1.5 \
265 crate://crates.io/strsim/0.11.1 \
266 crate://crates.io/syn/2.0.105 \
267 crate://crates.io/synstructure/0.13.2 \
268 crate://crates.io/system-deps/7.0.5 \
269 crate://crates.io/target-lexicon/0.13.2 \
270 crate://crates.io/tempfile/3.20.0 \
271 crate://crates.io/tendril/0.4.3 \
272 crate://crates.io/termtree/0.5.1 \
273 crate://crates.io/thiserror/1.0.69 \
274 crate://crates.io/thiserror/2.0.14 \
275 crate://crates.io/thiserror-impl/1.0.69 \
276 crate://crates.io/thiserror-impl/2.0.14 \
277 crate://crates.io/time/0.3.41 \
278 crate://crates.io/time-core/0.1.4 \
279 crate://crates.io/time-macros/0.2.22 \
280 crate://crates.io/tinystr/0.8.1 \
281 crate://crates.io/tinytemplate/1.2.1 \
282 crate://crates.io/tinyvec/1.9.0 \
283 crate://crates.io/tinyvec_macros/0.1.1 \
284 crate://crates.io/toml/0.8.23 \
285 crate://crates.io/toml_datetime/0.6.11 \
286 crate://crates.io/toml_edit/0.22.27 \
287 crate://crates.io/typenum/1.18.0 \
288 crate://crates.io/unarray/0.1.4 \
289 crate://crates.io/unicode-bidi/0.3.18 \
290 crate://crates.io/unicode-ident/1.0.18 \
291 crate://crates.io/unicode-normalization/0.1.24 \
292 crate://crates.io/unicode-properties/0.1.3 \
293 crate://crates.io/url/2.5.4 \
294 crate://crates.io/utf-8/0.7.6 \
295 crate://crates.io/utf8_iter/1.0.4 \
296 crate://crates.io/utf8parse/0.2.2 \
297 crate://crates.io/version-compare/0.2.0 \
298 crate://crates.io/version_check/0.9.5 \
299 crate://crates.io/wait-timeout/0.2.1 \
300 crate://crates.io/walkdir/2.5.0 \
301 crate://crates.io/wasi/0.11.1+wasi-snapshot-preview1 \
302 crate://crates.io/wasi/0.14.2+wasi-0.2.4 \
303 crate://crates.io/wasm-bindgen/0.2.100 \
304 crate://crates.io/wasm-bindgen-backend/0.2.100 \
305 crate://crates.io/wasm-bindgen-macro/0.2.100 \
306 crate://crates.io/wasm-bindgen-macro-support/0.2.100 \
307 crate://crates.io/wasm-bindgen-shared/0.2.100 \
308 crate://crates.io/web-sys/0.3.77 \
309 crate://crates.io/web_atoms/0.1.3 \
310 crate://crates.io/weezl/0.1.10 \
311 crate://crates.io/wide/0.7.33 \
312 crate://crates.io/winapi/0.3.9 \
313 crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
314 crate://crates.io/winapi-util/0.1.9 \
315 crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
316 crate://crates.io/windows-core/0.61.2 \
317 crate://crates.io/windows-implement/0.60.0 \
318 crate://crates.io/windows-interface/0.59.1 \
319 crate://crates.io/windows-link/0.1.3 \
320 crate://crates.io/windows-result/0.3.4 \
321 crate://crates.io/windows-strings/0.4.2 \
322 crate://crates.io/windows-sys/0.59.0 \
323 crate://crates.io/windows-sys/0.60.2 \
324 crate://crates.io/windows-targets/0.52.6 \
325 crate://crates.io/windows-targets/0.53.3 \
326 crate://crates.io/windows_aarch64_gnullvm/0.52.6 \
327 crate://crates.io/windows_aarch64_gnullvm/0.53.0 \
328 crate://crates.io/windows_aarch64_msvc/0.52.6 \
329 crate://crates.io/windows_aarch64_msvc/0.53.0 \
330 crate://crates.io/windows_i686_gnu/0.52.6 \
331 crate://crates.io/windows_i686_gnu/0.53.0 \
332 crate://crates.io/windows_i686_gnullvm/0.52.6 \
333 crate://crates.io/windows_i686_gnullvm/0.53.0 \
334 crate://crates.io/windows_i686_msvc/0.52.6 \
335 crate://crates.io/windows_i686_msvc/0.53.0 \
336 crate://crates.io/windows_x86_64_gnu/0.52.6 \
337 crate://crates.io/windows_x86_64_gnu/0.53.0 \
338 crate://crates.io/windows_x86_64_gnullvm/0.52.6 \
339 crate://crates.io/windows_x86_64_gnullvm/0.53.0 \
340 crate://crates.io/windows_x86_64_msvc/0.52.6 \
341 crate://crates.io/windows_x86_64_msvc/0.53.0 \
342 crate://crates.io/winnow/0.7.12 \
343 crate://crates.io/wit-bindgen-rt/0.39.0 \
344 crate://crates.io/writeable/0.6.1 \
345 crate://crates.io/xml5ever/0.35.0 \
346 crate://crates.io/yeslogic-fontconfig-sys/6.0.0 \
347 crate://crates.io/yoke/0.8.0 \
348 crate://crates.io/yoke-derive/0.8.0 \
349 crate://crates.io/zerocopy/0.8.26 \
350 crate://crates.io/zerocopy-derive/0.8.26 \
351 crate://crates.io/zerofrom/0.1.6 \
352 crate://crates.io/zerofrom-derive/0.1.6 \
353 crate://crates.io/zerotrie/0.2.2 \
354 crate://crates.io/zerovec/0.11.4 \
355 crate://crates.io/zerovec-derive/0.11.1 \
356 crate://crates.io/zune-core/0.4.12 \
357 crate://crates.io/zune-jpeg/0.4.20 \
358"
359
360SRC_URI[adler2-2.0.1.sha256sum] = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
361SRC_URI[aes-0.8.4.sha256sum] = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0"
362SRC_URI[ahash-0.8.12.sha256sum] = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75"
363SRC_URI[aho-corasick-1.1.3.sha256sum] = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
364SRC_URI[android-tzdata-0.1.1.sha256sum] = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
365SRC_URI[android_system_properties-0.1.5.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
366SRC_URI[anes-0.1.6.sha256sum] = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
367SRC_URI[anstream-0.6.20.sha256sum] = "3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192"
368SRC_URI[anstyle-1.0.11.sha256sum] = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd"
369SRC_URI[anstyle-parse-0.2.7.sha256sum] = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2"
370SRC_URI[anstyle-query-1.1.4.sha256sum] = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2"
371SRC_URI[anstyle-wincon-3.0.10.sha256sum] = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a"
372SRC_URI[anyhow-1.0.99.sha256sum] = "b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100"
373SRC_URI[approx-0.5.1.sha256sum] = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6"
374SRC_URI[assert_cmd-2.0.17.sha256sum] = "2bd389a4b2970a01282ee455294913c0a43724daedcd1a24c3eb0ec1c1320b66"
375SRC_URI[autocfg-1.5.0.sha256sum] = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
376SRC_URI[av-data-0.4.4.sha256sum] = "fca67ba5d317924c02180c576157afd54babe48a76ebc66ce6d34bb8ba08308e"
377SRC_URI[bit-set-0.8.0.sha256sum] = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3"
378SRC_URI[bit-vec-0.8.0.sha256sum] = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7"
379SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
380SRC_URI[bitflags-2.9.1.sha256sum] = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967"
381SRC_URI[bitreader-0.3.11.sha256sum] = "886559b1e163d56c765bc3a985febb4eee8009f625244511d8ee3c432e08c066"
382SRC_URI[block-0.1.6.sha256sum] = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
383SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
384SRC_URI[block-padding-0.3.3.sha256sum] = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93"
385SRC_URI[bstr-1.12.0.sha256sum] = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4"
386SRC_URI[bumpalo-3.19.0.sha256sum] = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
387SRC_URI[byte-slice-cast-1.2.3.sha256sum] = "7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d"
388SRC_URI[bytecount-0.6.9.sha256sum] = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e"
389SRC_URI[bytemuck-1.23.2.sha256sum] = "3995eaeebcdf32f91f980d360f78732ddc061097ab4e39991ae7a6ace9194677"
390SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
391SRC_URI[byteorder-lite-0.1.0.sha256sum] = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495"
392SRC_URI[bytes-1.10.1.sha256sum] = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a"
393SRC_URI[cairo-rs-0.21.1.sha256sum] = "1158f326d7b755a9ae2b36c5b5391400e3431f3b77418cedb6d7130126628f10"
394SRC_URI[cairo-sys-rs-0.21.1.sha256sum] = "b963177900ec8e783927e5ed99e16c0ec1b723f1f125dff8992db28ef35c62c3"
395SRC_URI[cast-0.3.0.sha256sum] = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
396SRC_URI[cbc-0.1.2.sha256sum] = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6"
397SRC_URI[cc-1.2.32.sha256sum] = "2352e5597e9c544d5e6d9c95190d5d27738ade584fa8db0a16e130e5c2b5296e"
398SRC_URI[cfg-expr-0.20.2.sha256sum] = "c8d458d63f0f0f482c8da9b7c8b76c21bd885a02056cc94c6404d861ca2b8206"
399SRC_URI[cfg-if-1.0.1.sha256sum] = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268"
400SRC_URI[chrono-0.4.41.sha256sum] = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d"
401SRC_URI[ciborium-0.2.2.sha256sum] = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e"
402SRC_URI[ciborium-io-0.2.2.sha256sum] = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757"
403SRC_URI[ciborium-ll-0.2.2.sha256sum] = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9"
404SRC_URI[cipher-0.4.4.sha256sum] = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
405SRC_URI[clap-4.5.45.sha256sum] = "1fc0e74a703892159f5ae7d3aac52c8e6c392f5ae5f359c70b5881d60aaac318"
406SRC_URI[clap_builder-4.5.44.sha256sum] = "b3e7f4214277f3c7aa526a59dd3fbe306a370daee1f8b7b8c987069cd8e888a8"
407SRC_URI[clap_complete-4.5.57.sha256sum] = "4d9501bd3f5f09f7bbee01da9a511073ed30a80cd7a509f1214bb74eadea71ad"
408SRC_URI[clap_derive-4.5.45.sha256sum] = "14cb31bb0a7d536caef2639baa7fad459e15c3144efefa6dbd1c84562c4739f6"
409SRC_URI[clap_lex-0.7.5.sha256sum] = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675"
410SRC_URI[color_quant-1.1.0.sha256sum] = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
411SRC_URI[colorchoice-1.0.4.sha256sum] = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75"
412SRC_URI[core-foundation-sys-0.8.7.sha256sum] = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
413SRC_URI[cpufeatures-0.2.17.sha256sum] = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
414SRC_URI[crc32fast-1.5.0.sha256sum] = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511"
415SRC_URI[criterion-0.6.0.sha256sum] = "3bf7af66b0989381bd0be551bd7cc91912a655a58c6918420c9527b1fd8b4679"
416SRC_URI[criterion-plot-0.5.0.sha256sum] = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
417SRC_URI[crossbeam-deque-0.8.6.sha256sum] = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51"
418SRC_URI[crossbeam-epoch-0.9.18.sha256sum] = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
419SRC_URI[crossbeam-utils-0.8.21.sha256sum] = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
420SRC_URI[crunchy-0.2.4.sha256sum] = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
421SRC_URI[crypto-common-0.1.6.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
422SRC_URI[cssparser-0.31.2.sha256sum] = "5b3df4f93e5fbbe73ec01ec8d3f68bba73107993a5b1e7519273c32db9b0d5be"
423SRC_URI[cssparser-macros-0.6.1.sha256sum] = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
424SRC_URI[data-url-0.3.1.sha256sum] = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a"
425SRC_URI[dav1d-0.10.4.sha256sum] = "80c3f80814db85397819d464bb553268992c393b4b3b5554b89c1655996d5926"
426SRC_URI[dav1d-sys-0.8.3.sha256sum] = "c3c91aea6668645415331133ed6f8ddf0e7f40160cd97a12d59e68716a58704b"
427SRC_URI[deranged-0.4.0.sha256sum] = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e"
428SRC_URI[derive_more-0.99.20.sha256sum] = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f"
429SRC_URI[difflib-0.4.0.sha256sum] = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
430SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
431SRC_URI[displaydoc-0.2.5.sha256sum] = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
432SRC_URI[dlib-0.5.2.sha256sum] = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412"
433SRC_URI[doc-comment-0.3.3.sha256sum] = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
434SRC_URI[dtoa-1.0.10.sha256sum] = "d6add3b8cff394282be81f3fc1a0605db594ed69890078ca6e2cab1c408bcf04"
435SRC_URI[dtoa-short-0.3.5.sha256sum] = "cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87"
436SRC_URI[ecb-0.1.2.sha256sum] = "1a8bfa975b1aec2145850fcaa1c6fe269a16578c44705a532ae3edc92b8881c7"
437SRC_URI[either-1.15.0.sha256sum] = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
438SRC_URI[encoding_rs-0.8.35.sha256sum] = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3"
439SRC_URI[equivalent-1.0.2.sha256sum] = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
440SRC_URI[errno-0.3.13.sha256sum] = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad"
441SRC_URI[fallible_collections-0.4.9.sha256sum] = "a88c69768c0a15262df21899142bc6df9b9b823546d4b4b9a7bc2d6c448ec6fd"
442SRC_URI[fastrand-2.3.0.sha256sum] = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
443SRC_URI[fdeflate-0.3.7.sha256sum] = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c"
444SRC_URI[flate2-1.1.2.sha256sum] = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d"
445SRC_URI[float-cmp-0.10.0.sha256sum] = "b09cf3155332e944990140d967ff5eceb70df778b34f77d8075db46e4704e6d8"
446SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
447SRC_URI[form_urlencoded-1.2.1.sha256sum] = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
448SRC_URI[futf-0.1.5.sha256sum] = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843"
449SRC_URI[futures-channel-0.3.31.sha256sum] = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
450SRC_URI[futures-core-0.3.31.sha256sum] = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
451SRC_URI[futures-executor-0.3.31.sha256sum] = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f"
452SRC_URI[futures-io-0.3.31.sha256sum] = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
453SRC_URI[futures-macro-0.3.31.sha256sum] = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
454SRC_URI[futures-task-0.3.31.sha256sum] = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
455SRC_URI[futures-util-0.3.31.sha256sum] = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
456SRC_URI[fxhash-0.2.1.sha256sum] = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
457SRC_URI[gdk-pixbuf-0.21.1.sha256sum] = "3c7330cdbbc653df431331ae3d9d59e985a0fecaf33d74c7c1c5d13ab0245f6c"
458SRC_URI[gdk-pixbuf-sys-0.21.1.sha256sum] = "e25899cc931dc28cba912ebec793b730f53d2d419f90a562fcb29b53bd10aa82"
459SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
460SRC_URI[getrandom-0.2.16.sha256sum] = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592"
461SRC_URI[getrandom-0.3.3.sha256sum] = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4"
462SRC_URI[gif-0.13.3.sha256sum] = "4ae047235e33e2829703574b54fdec96bfbad892062d97fed2f76022287de61b"
463SRC_URI[gio-0.21.1.sha256sum] = "52b5e3f390d01b79e30da451dd00e27cd1ac2de81658e3abf6c1fc3229b24c5f"
464SRC_URI[gio-sys-0.21.1.sha256sum] = "a03f2234671e5a588cfe1f59c2b22c103f5772ea351be9cc824a9ce0d06d99fd"
465SRC_URI[glib-0.21.1.sha256sum] = "60bdc26493257b5794ba9301f7cbaf7ab0d69a570bfbefa4d7d360e781cb5205"
466SRC_URI[glib-macros-0.21.0.sha256sum] = "e772291ebea14c28eb11bb75741f62f4a4894f25e60ce80100797b6b010ef0f9"
467SRC_URI[glib-sys-0.21.1.sha256sum] = "dc7c43cff6a7dc43821e45ebf172399437acd6716fa2186b6852d2b397bf622d"
468SRC_URI[gobject-sys-0.21.1.sha256sum] = "3e9a190eef2bce144a6aa8434e306974c6062c398e0a33a146d60238f9062d5c"
469SRC_URI[half-2.6.0.sha256sum] = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9"
470SRC_URI[hashbrown-0.13.2.sha256sum] = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
471SRC_URI[hashbrown-0.15.5.sha256sum] = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
472SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
473SRC_URI[iana-time-zone-0.1.63.sha256sum] = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8"
474SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
475SRC_URI[icu_collections-2.0.0.sha256sum] = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47"
476SRC_URI[icu_locale_core-2.0.0.sha256sum] = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a"
477SRC_URI[icu_normalizer-2.0.0.sha256sum] = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979"
478SRC_URI[icu_normalizer_data-2.0.0.sha256sum] = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3"
479SRC_URI[icu_properties-2.0.1.sha256sum] = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b"
480SRC_URI[icu_properties_data-2.0.1.sha256sum] = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632"
481SRC_URI[icu_provider-2.0.0.sha256sum] = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af"
482SRC_URI[idna-1.0.3.sha256sum] = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e"
483SRC_URI[idna_adapter-1.2.1.sha256sum] = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344"
484SRC_URI[image-0.25.6.sha256sum] = "db35664ce6b9810857a38a906215e75a9c879f0696556a39f59c62829710251a"
485SRC_URI[image-webp-0.2.3.sha256sum] = "f6970fe7a5300b4b42e62c52efa0187540a5bef546c60edaf554ef595d2e6f0b"
486SRC_URI[indexmap-2.10.0.sha256sum] = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661"
487SRC_URI[inout-0.1.4.sha256sum] = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01"
488SRC_URI[is_terminal_polyfill-1.70.1.sha256sum] = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
489SRC_URI[itertools-0.10.5.sha256sum] = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
490SRC_URI[itertools-0.13.0.sha256sum] = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
491SRC_URI[itertools-0.14.0.sha256sum] = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285"
492SRC_URI[itoa-1.0.15.sha256sum] = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
493SRC_URI[jiff-0.2.15.sha256sum] = "be1f93b8b1eb69c77f24bbb0afdf66f54b632ee39af40ca21c4365a1d7347e49"
494SRC_URI[jiff-static-0.2.15.sha256sum] = "03343451ff899767262ec32146f6d559dd759fdadf42ff0e227c7c48f72594b4"
495SRC_URI[jiff-tzdb-0.1.4.sha256sum] = "c1283705eb0a21404d2bfd6eef2a7593d240bc42a0bdb39db0ad6fa2ec026524"
496SRC_URI[jiff-tzdb-platform-0.1.3.sha256sum] = "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8"
497SRC_URI[js-sys-0.3.77.sha256sum] = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f"
498SRC_URI[language-tags-0.3.2.sha256sum] = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388"
499SRC_URI[lazy_static-1.5.0.sha256sum] = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
500SRC_URI[libc-0.2.175.sha256sum] = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543"
501SRC_URI[libloading-0.8.8.sha256sum] = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667"
502SRC_URI[linux-raw-sys-0.9.4.sha256sum] = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12"
503SRC_URI[litemap-0.8.0.sha256sum] = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956"
504SRC_URI[locale_config-0.3.0.sha256sum] = "08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934"
505SRC_URI[lock_api-0.4.13.sha256sum] = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765"
506SRC_URI[log-0.4.27.sha256sum] = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
507SRC_URI[lopdf-0.36.0.sha256sum] = "59fa2559e99ba0f26a12458aabc754432c805bbb8cba516c427825a997af1fb7"
508SRC_URI[mac-0.1.1.sha256sum] = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
509SRC_URI[malloc_buf-0.0.6.sha256sum] = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
510SRC_URI[markup5ever-0.35.0.sha256sum] = "311fe69c934650f8f19652b3946075f0fc41ad8757dbb68f1ca14e7900ecc1c3"
511SRC_URI[matches-0.1.10.sha256sum] = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
512SRC_URI[matrixmultiply-0.3.10.sha256sum] = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08"
513SRC_URI[md-5-0.10.6.sha256sum] = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
514SRC_URI[memchr-2.7.5.sha256sum] = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
515SRC_URI[miniz_oxide-0.8.9.sha256sum] = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
516SRC_URI[mp4parse-0.17.0.sha256sum] = "63a35203d3c6ce92d5251c77520acb2e57108c88728695aa883f70023624c570"
517SRC_URI[nalgebra-0.33.2.sha256sum] = "26aecdf64b707efd1310e3544d709c5c0ac61c13756046aaaba41be5c4f66a3b"
518SRC_URI[nalgebra-macros-0.2.2.sha256sum] = "254a5372af8fc138e36684761d3c0cdb758a4410e938babcff1c860ce14ddbfc"
519SRC_URI[new_debug_unreachable-1.0.6.sha256sum] = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086"
520SRC_URI[nom-8.0.0.sha256sum] = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405"
521SRC_URI[nom_locate-5.0.0.sha256sum] = "0b577e2d69827c4740cba2b52efaad1c4cc7c73042860b199710b3575c68438d"
522SRC_URI[normalize-line-endings-0.3.0.sha256sum] = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be"
523SRC_URI[num-bigint-0.4.6.sha256sum] = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9"
524SRC_URI[num-complex-0.4.6.sha256sum] = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495"
525SRC_URI[num-conv-0.1.0.sha256sum] = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
526SRC_URI[num-derive-0.4.2.sha256sum] = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
527SRC_URI[num-integer-0.1.46.sha256sum] = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
528SRC_URI[num-rational-0.4.2.sha256sum] = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824"
529SRC_URI[num-traits-0.2.19.sha256sum] = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
530SRC_URI[objc-0.2.7.sha256sum] = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
531SRC_URI[objc-foundation-0.1.1.sha256sum] = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9"
532SRC_URI[objc_id-0.1.1.sha256sum] = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b"
533SRC_URI[once_cell-1.21.3.sha256sum] = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
534SRC_URI[once_cell_polyfill-1.70.1.sha256sum] = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad"
535SRC_URI[oorandom-11.1.5.sha256sum] = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e"
536SRC_URI[pango-0.21.1.sha256sum] = "ab47feb3403aa564edaeb68620c5b9159f8814733a7dd45f0b1a27d19de362fe"
537SRC_URI[pango-sys-0.21.1.sha256sum] = "1f855bccb447644e149fae79086e1f81514c30fe5e9b8bd257d9d3c941116c86"
538SRC_URI[pangocairo-0.21.1.sha256sum] = "bb23cf0052917cbf75f160d4913a46ce741567f566b514fadc09d761f41eb2fb"
539SRC_URI[pangocairo-sys-0.21.1.sha256sum] = "dcda09c0b17007d7eb6c5eb1643c5b40b067073c15f0cc5a809a6fc68b5d9be7"
540SRC_URI[parking_lot-0.12.4.sha256sum] = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13"
541SRC_URI[parking_lot_core-0.9.11.sha256sum] = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5"
542SRC_URI[paste-1.0.15.sha256sum] = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
543SRC_URI[percent-encoding-2.3.1.sha256sum] = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
544SRC_URI[phf-0.10.1.sha256sum] = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
545SRC_URI[phf-0.11.3.sha256sum] = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078"
546SRC_URI[phf_codegen-0.10.0.sha256sum] = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd"
547SRC_URI[phf_codegen-0.11.3.sha256sum] = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a"
548SRC_URI[phf_generator-0.10.0.sha256sum] = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
549SRC_URI[phf_generator-0.11.3.sha256sum] = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d"
550SRC_URI[phf_macros-0.11.3.sha256sum] = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216"
551SRC_URI[phf_shared-0.10.0.sha256sum] = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
552SRC_URI[phf_shared-0.11.3.sha256sum] = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5"
553SRC_URI[pin-project-lite-0.2.16.sha256sum] = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
554SRC_URI[pin-utils-0.1.0.sha256sum] = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
555SRC_URI[pkg-config-0.3.32.sha256sum] = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
556SRC_URI[plotters-0.3.7.sha256sum] = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747"
557SRC_URI[plotters-backend-0.3.7.sha256sum] = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a"
558SRC_URI[plotters-svg-0.3.7.sha256sum] = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670"
559SRC_URI[png-0.17.16.sha256sum] = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526"
560SRC_URI[portable-atomic-1.11.1.sha256sum] = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
561SRC_URI[portable-atomic-util-0.2.4.sha256sum] = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507"
562SRC_URI[potential_utf-0.1.2.sha256sum] = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585"
563SRC_URI[powerfmt-0.2.0.sha256sum] = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
564SRC_URI[ppv-lite86-0.2.21.sha256sum] = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
565SRC_URI[precomputed-hash-0.1.1.sha256sum] = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
566SRC_URI[predicates-3.1.3.sha256sum] = "a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573"
567SRC_URI[predicates-core-1.0.9.sha256sum] = "727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa"
568SRC_URI[predicates-tree-1.0.12.sha256sum] = "72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c"
569SRC_URI[proc-macro-crate-3.3.0.sha256sum] = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35"
570SRC_URI[proc-macro2-1.0.97.sha256sum] = "d61789d7719defeb74ea5fe81f2fdfdbd28a803847077cecce2ff14e1472f6f1"
571SRC_URI[proptest-1.7.0.sha256sum] = "6fcdab19deb5195a31cf7726a210015ff1496ba1464fd42cb4f537b8b01b471f"
572SRC_URI[quick-error-1.2.3.sha256sum] = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
573SRC_URI[quick-error-2.0.1.sha256sum] = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3"
574SRC_URI[quote-1.0.40.sha256sum] = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
575SRC_URI[r-efi-5.3.0.sha256sum] = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
576SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
577SRC_URI[rand-0.9.2.sha256sum] = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
578SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
579SRC_URI[rand_chacha-0.9.0.sha256sum] = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
580SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
581SRC_URI[rand_core-0.9.3.sha256sum] = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38"
582SRC_URI[rand_xorshift-0.4.0.sha256sum] = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a"
583SRC_URI[rangemap-1.6.0.sha256sum] = "f93e7e49bb0bf967717f7bd674458b3d6b0c5f48ec7e3038166026a69fc22223"
584SRC_URI[rawpointer-0.2.1.sha256sum] = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
585SRC_URI[rayon-1.11.0.sha256sum] = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f"
586SRC_URI[rayon-core-1.13.0.sha256sum] = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
587SRC_URI[rctree-0.6.0.sha256sum] = "e03e7866abec1101869ffa8e2c8355c4c2419d0214ece0cc3e428e5b94dea6e9"
588SRC_URI[redox_syscall-0.5.17.sha256sum] = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77"
589SRC_URI[regex-1.11.1.sha256sum] = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
590SRC_URI[regex-automata-0.4.9.sha256sum] = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
591SRC_URI[regex-syntax-0.8.5.sha256sum] = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
592SRC_URI[rgb-0.8.52.sha256sum] = "0c6a884d2998352bb4daf0183589aec883f16a6da1f4dde84d8e2e9a5409a1ce"
593SRC_URI[rustix-1.0.8.sha256sum] = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8"
594SRC_URI[rustversion-1.0.22.sha256sum] = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
595SRC_URI[rusty-fork-0.3.0.sha256sum] = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f"
596SRC_URI[ryu-1.0.20.sha256sum] = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
597SRC_URI[safe_arch-0.7.4.sha256sum] = "96b02de82ddbe1b636e6170c21be622223aea188ef2e139be0a5b219ec215323"
598SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
599SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
600SRC_URI[selectors-0.25.0.sha256sum] = "4eb30575f3638fc8f6815f448d50cb1a2e255b0897985c8c59f4d37b72a07b06"
601SRC_URI[serde-1.0.219.sha256sum] = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
602SRC_URI[serde_derive-1.0.219.sha256sum] = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
603SRC_URI[serde_json-1.0.142.sha256sum] = "030fedb782600dcbd6f02d479bf0d817ac3bb40d644745b769d6a96bc3afc5a7"
604SRC_URI[serde_spanned-0.6.9.sha256sum] = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3"
605SRC_URI[servo_arc-0.3.0.sha256sum] = "d036d71a959e00c77a63538b90a6c2390969f9772b096ea837205c6bd0491a44"
606SRC_URI[sha2-0.10.9.sha256sum] = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
607SRC_URI[shell-words-1.1.0.sha256sum] = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
608SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
609SRC_URI[simba-0.9.0.sha256sum] = "b3a386a501cd104797982c15ae17aafe8b9261315b5d07e3ec803f2ea26be0fa"
610SRC_URI[simd-adler32-0.3.7.sha256sum] = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
611SRC_URI[siphasher-0.3.11.sha256sum] = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
612SRC_URI[siphasher-1.0.1.sha256sum] = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d"
613SRC_URI[slab-0.4.11.sha256sum] = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589"
614SRC_URI[smallvec-1.15.1.sha256sum] = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
615SRC_URI[stable_deref_trait-1.2.0.sha256sum] = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
616SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
617SRC_URI[string_cache-0.8.9.sha256sum] = "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f"
618SRC_URI[string_cache_codegen-0.5.4.sha256sum] = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0"
619SRC_URI[stringprep-0.1.5.sha256sum] = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1"
620SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
621SRC_URI[syn-2.0.105.sha256sum] = "7bc3fcb250e53458e712715cf74285c1f889686520d79294a9ef3bd7aa1fc619"
622SRC_URI[synstructure-0.13.2.sha256sum] = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
623SRC_URI[system-deps-7.0.5.sha256sum] = "e4be53aa0cba896d2dc615bd42bbc130acdcffa239e0a2d965ea5b3b2a86ffdb"
624SRC_URI[target-lexicon-0.13.2.sha256sum] = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a"
625SRC_URI[tempfile-3.20.0.sha256sum] = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1"
626SRC_URI[tendril-0.4.3.sha256sum] = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0"
627SRC_URI[termtree-0.5.1.sha256sum] = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683"
628SRC_URI[thiserror-1.0.69.sha256sum] = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
629SRC_URI[thiserror-2.0.14.sha256sum] = "0b0949c3a6c842cbde3f1686d6eea5a010516deb7085f79db747562d4102f41e"
630SRC_URI[thiserror-impl-1.0.69.sha256sum] = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
631SRC_URI[thiserror-impl-2.0.14.sha256sum] = "cc5b44b4ab9c2fdd0e0512e6bece8388e214c0749f5862b114cc5b7a25daf227"
632SRC_URI[time-0.3.41.sha256sum] = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40"
633SRC_URI[time-core-0.1.4.sha256sum] = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c"
634SRC_URI[time-macros-0.2.22.sha256sum] = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49"
635SRC_URI[tinystr-0.8.1.sha256sum] = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b"
636SRC_URI[tinytemplate-1.2.1.sha256sum] = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
637SRC_URI[tinyvec-1.9.0.sha256sum] = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71"
638SRC_URI[tinyvec_macros-0.1.1.sha256sum] = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
639SRC_URI[toml-0.8.23.sha256sum] = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362"
640SRC_URI[toml_datetime-0.6.11.sha256sum] = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c"
641SRC_URI[toml_edit-0.22.27.sha256sum] = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"
642SRC_URI[typenum-1.18.0.sha256sum] = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f"
643SRC_URI[unarray-0.1.4.sha256sum] = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
644SRC_URI[unicode-bidi-0.3.18.sha256sum] = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5"
645SRC_URI[unicode-ident-1.0.18.sha256sum] = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
646SRC_URI[unicode-normalization-0.1.24.sha256sum] = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956"
647SRC_URI[unicode-properties-0.1.3.sha256sum] = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0"
648SRC_URI[url-2.5.4.sha256sum] = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60"
649SRC_URI[utf-8-0.7.6.sha256sum] = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
650SRC_URI[utf8_iter-1.0.4.sha256sum] = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
651SRC_URI[utf8parse-0.2.2.sha256sum] = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
652SRC_URI[version-compare-0.2.0.sha256sum] = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b"
653SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
654SRC_URI[wait-timeout-0.2.1.sha256sum] = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11"
655SRC_URI[walkdir-2.5.0.sha256sum] = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
656SRC_URI[wasi-0.11.1+wasi-snapshot-preview1.sha256sum] = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
657SRC_URI[wasi-0.14.2+wasi-0.2.4.sha256sum] = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3"
658SRC_URI[wasm-bindgen-0.2.100.sha256sum] = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5"
659SRC_URI[wasm-bindgen-backend-0.2.100.sha256sum] = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6"
660SRC_URI[wasm-bindgen-macro-0.2.100.sha256sum] = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407"
661SRC_URI[wasm-bindgen-macro-support-0.2.100.sha256sum] = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
662SRC_URI[wasm-bindgen-shared-0.2.100.sha256sum] = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d"
663SRC_URI[web-sys-0.3.77.sha256sum] = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2"
664SRC_URI[web_atoms-0.1.3.sha256sum] = "57ffde1dc01240bdf9992e3205668b235e59421fd085e8a317ed98da0178d414"
665SRC_URI[weezl-0.1.10.sha256sum] = "a751b3277700db47d3e574514de2eced5e54dc8a5436a3bf7a0b248b2cee16f3"
666SRC_URI[wide-0.7.33.sha256sum] = "0ce5da8ecb62bcd8ec8b7ea19f69a51275e91299be594ea5cc6ef7819e16cd03"
667SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
668SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
669SRC_URI[winapi-util-0.1.9.sha256sum] = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
670SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
671SRC_URI[windows-core-0.61.2.sha256sum] = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3"
672SRC_URI[windows-implement-0.60.0.sha256sum] = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836"
673SRC_URI[windows-interface-0.59.1.sha256sum] = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8"
674SRC_URI[windows-link-0.1.3.sha256sum] = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
675SRC_URI[windows-result-0.3.4.sha256sum] = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6"
676SRC_URI[windows-strings-0.4.2.sha256sum] = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57"
677SRC_URI[windows-sys-0.59.0.sha256sum] = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
678SRC_URI[windows-sys-0.60.2.sha256sum] = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
679SRC_URI[windows-targets-0.52.6.sha256sum] = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
680SRC_URI[windows-targets-0.53.3.sha256sum] = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91"
681SRC_URI[windows_aarch64_gnullvm-0.52.6.sha256sum] = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
682SRC_URI[windows_aarch64_gnullvm-0.53.0.sha256sum] = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764"
683SRC_URI[windows_aarch64_msvc-0.52.6.sha256sum] = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
684SRC_URI[windows_aarch64_msvc-0.53.0.sha256sum] = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c"
685SRC_URI[windows_i686_gnu-0.52.6.sha256sum] = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
686SRC_URI[windows_i686_gnu-0.53.0.sha256sum] = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3"
687SRC_URI[windows_i686_gnullvm-0.52.6.sha256sum] = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
688SRC_URI[windows_i686_gnullvm-0.53.0.sha256sum] = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11"
689SRC_URI[windows_i686_msvc-0.52.6.sha256sum] = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
690SRC_URI[windows_i686_msvc-0.53.0.sha256sum] = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d"
691SRC_URI[windows_x86_64_gnu-0.52.6.sha256sum] = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
692SRC_URI[windows_x86_64_gnu-0.53.0.sha256sum] = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba"
693SRC_URI[windows_x86_64_gnullvm-0.52.6.sha256sum] = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
694SRC_URI[windows_x86_64_gnullvm-0.53.0.sha256sum] = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57"
695SRC_URI[windows_x86_64_msvc-0.52.6.sha256sum] = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
696SRC_URI[windows_x86_64_msvc-0.53.0.sha256sum] = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
697SRC_URI[winnow-0.7.12.sha256sum] = "f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95"
698SRC_URI[wit-bindgen-rt-0.39.0.sha256sum] = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
699SRC_URI[writeable-0.6.1.sha256sum] = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb"
700SRC_URI[xml5ever-0.35.0.sha256sum] = "ee3f1e41afb31a75aef076563b0ad3ecc24f5bd9d12a72b132222664eb76b494"
701SRC_URI[yeslogic-fontconfig-sys-6.0.0.sha256sum] = "503a066b4c037c440169d995b869046827dbc71263f6e8f3be6d77d4f3229dbd"
702SRC_URI[yoke-0.8.0.sha256sum] = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc"
703SRC_URI[yoke-derive-0.8.0.sha256sum] = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6"
704SRC_URI[zerocopy-0.8.26.sha256sum] = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f"
705SRC_URI[zerocopy-derive-0.8.26.sha256sum] = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181"
706SRC_URI[zerofrom-0.1.6.sha256sum] = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5"
707SRC_URI[zerofrom-derive-0.1.6.sha256sum] = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
708SRC_URI[zerotrie-0.2.2.sha256sum] = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595"
709SRC_URI[zerovec-0.11.4.sha256sum] = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b"
710SRC_URI[zerovec-derive-0.11.1.sha256sum] = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f"
711SRC_URI[zune-core-0.4.12.sha256sum] = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a"
712SRC_URI[zune-jpeg-0.4.20.sha256sum] = "fc1f7e205ce79eb2da3cd71c5f55f3589785cb7c79f6a03d1c8d1491bda5d089"
diff --git a/meta/recipes-gnome/librsvg/librsvg/0001-Revert-meson.build-do-not-force-disable-gdk-pixbuf-l.patch b/meta/recipes-gnome/librsvg/librsvg/0001-Revert-meson.build-do-not-force-disable-gdk-pixbuf-l.patch
deleted file mode 100644
index 019696c328..0000000000
--- a/meta/recipes-gnome/librsvg/librsvg/0001-Revert-meson.build-do-not-force-disable-gdk-pixbuf-l.patch
+++ /dev/null
@@ -1,49 +0,0 @@
1From a614646fc79ad1c11784e04d415b19e752a4ae20 Mon Sep 17 00:00:00 2001
2From: Gyorgy Sarvari <skandigraun@gmail.com>
3Date: Wed, 6 Aug 2025 13:50:21 +0200
4Subject: [PATCH] Revert "meson.build: do not force-disable gdk-pixbuf-loader
5 in cross builds"
6
7This reverts commit 994582cfa995d00f9472dc22f8237b6571b4c510.
8
9The commit that enabled gdk-pixbuf-loader for non-cross builds, references
10a commit that enabled other binaries, claiming that they can be executed with
11a qemu wrapper.
12
13There is one difference - the projects that were enabled by that commit support such
14wrappers officially (see `gi_cross_binary_wrapper` and related build options for g-i).
15However such support is missing from gdk-pixbuf-loader unfortunately, which can cause
16build failures when cross compiling.
17
18To avoid this, revert back to disable gdk-pixbuf-loader for cross-builds
19(until it gains a similar feature).
20
21Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/1123]
22
23Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
24---
25 gdk-pixbuf-loader/meson.build | 4 ++--
26 1 file changed, 2 insertions(+), 2 deletions(-)
27
28diff --git a/gdk-pixbuf-loader/meson.build b/gdk-pixbuf-loader/meson.build
29index 6fa10a6..c51d803 100644
30--- a/gdk-pixbuf-loader/meson.build
31+++ b/gdk-pixbuf-loader/meson.build
32@@ -36,7 +36,7 @@ pixbuf_thumbnailer = configure_file(
33 install_dir: get_option('datadir') / 'thumbnailers'
34 )
35
36-if meson.can_run_host_binaries()
37+if not meson.is_cross_build()
38 gdk_pixbuf_query_loaders = find_program(pixbuf_dep.get_variable(pkgconfig: 'gdk_pixbuf_query_loaders', default_value: 'gdk-pixbuf-query-loaders'))
39 endif
40
41@@ -48,7 +48,7 @@ pixbufloader_svg_install_args = [
42 ]
43
44 # Tell people to run gdk-pixbuf-query-loaders manually for cross builds
45-if not meson.can_run_host_binaries()
46+if meson.is_cross_build()
47 pixbufloader_svg_install_args += '--show-cross-message'
48 endif
49
diff --git a/meta/recipes-gnome/librsvg/librsvg/0001-query-rustc-append-RUSTFLAGS-to-rustc-executable.patch b/meta/recipes-gnome/librsvg/librsvg/0001-query-rustc-append-RUSTFLAGS-to-rustc-executable.patch
deleted file mode 100644
index 8d72861efb..0000000000
--- a/meta/recipes-gnome/librsvg/librsvg/0001-query-rustc-append-RUSTFLAGS-to-rustc-executable.patch
+++ /dev/null
@@ -1,37 +0,0 @@
1From 1c204b5acc66f3e89c6f90cf5bcdb410fc90f0c6 Mon Sep 17 00:00:00 2001
2From: Gyorgy Sarvari <skandigraun@gmail.com>
3Date: Sat, 2 Aug 2025 20:57:49 +0200
4Subject: [PATCH] query-rustc: append RUSTFLAGS to rustc executable
5
6The RUSTFLAGS environment variable is parsed by cargo, however the
7query-rustc script invokes rustc directly, in which case these
8flags are ignored, which can cause build failures in case
9the target specification is not in the target location, and is specified
10amongst the RUSTFLAGS.
11
12This change appends the content of RUSTFLAGS environment variable
13to the rustc command, if it's not empty, when the static native
14libraries are queried.
15
16Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/1121]
17
18Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
19---
20 meson/query-rustc.py | 4 ++++
21 1 file changed, 4 insertions(+)
22
23diff --git a/meson/query-rustc.py b/meson/query-rustc.py
24index f97cb69..fc7369a 100755
25--- a/meson/query-rustc.py
26+++ b/meson/query-rustc.py
27@@ -78,6 +78,10 @@ if __name__ == "__main__":
28
29 if query == 'native-static-libs':
30 query_arg = ['--print=%s' % query]
31+ rustflags = os.getenv('RUSTFLAGS')
32+ if rustflags:
33+ rustc_cmd.extend(rustflags.split())
34+
35 else:
36 query_arg = ['--version', '--verbose']
37 rustc_cmd.extend(query_arg)
diff --git a/meta/recipes-gnome/librsvg/librsvg/run-ptest b/meta/recipes-gnome/librsvg/librsvg/run-ptest
deleted file mode 100644
index da1c65f1a6..0000000000
--- a/meta/recipes-gnome/librsvg/librsvg/run-ptest
+++ /dev/null
@@ -1,17 +0,0 @@
1#!/bin/sh
2export CARGO_MANIFEST_DIR="$(cd "$(dirname "$0")" && pwd)"
3cd $CARGO_MANIFEST_DIR
4
5ln -sf `which rsvg-convert` ./rsvg-convert
6
7./api_test/bin/api
8
9if [ $? = 0 ]; then
10 echo PASS: /usr/lib/librsvg/ptest/api_test/bin/api
11 rc=0
12else
13 echo FAIL: /usr/lib/librsvg/ptest/api_test/bin/api
14 rc=1
15fi
16
17# rust tests are appended here by ptest-cargo class
diff --git a/meta/recipes-gnome/librsvg/librsvg_2.61.0.bb b/meta/recipes-gnome/librsvg/librsvg_2.61.0.bb
deleted file mode 100644
index de1853c6d8..0000000000
--- a/meta/recipes-gnome/librsvg/librsvg_2.61.0.bb
+++ /dev/null
@@ -1,115 +0,0 @@
1SUMMARY = "Library for rendering SVG files"
2DESCRIPTION = "A small library to render Scalable Vector Graphics (SVG), \
3associated with the GNOME Project. It renders SVG files to Cairo surfaces. \
4Cairo is the 2D, antialiased drawing library that GNOME uses to draw things to \
5the screen or to generate output for printing."
6HOMEPAGE = "https://gitlab.gnome.org/GNOME/librsvg"
7BUGTRACKER = "https://gitlab.gnome.org/GNOME/librsvg/issues"
8
9LICENSE = "LGPL-2.1-or-later"
10LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
11
12SECTION = "x11/utils"
13DEPENDS = "cairo gdk-pixbuf glib-2.0 libxml2 pango python3-docutils-native cargo-c-native"
14RDEPENDS:${PN}-ptest += "rsvg liberation-fonts"
15BBCLASSEXTEND = "native nativesdk"
16
17inherit cargo_common gnomebase pixbufcache gobject-introspection rust vala gi-docgen cargo-update-recipe-crates ptest-cargo
18GIR_MESON_ENABLE_FLAG = 'enabled'
19GIR_MESON_DISABLE_FLAG = 'disabled'
20GIDOCGEN_MESON_OPTION = 'docs'
21GIDOCGEN_MESON_ENABLE_FLAG = 'enabled'
22GIDOCGEN_MESON_DISABLE_FLAG = 'disabled'
23
24require ${BPN}-crates.inc
25
26SRC_URI += "file://0001-query-rustc-append-RUSTFLAGS-to-rustc-executable.patch \
27 file://0001-Revert-meson.build-do-not-force-disable-gdk-pixbuf-l.patch \
28 file://run-ptest"
29SRC_URI[archive.sha256sum] = "dbd0db40a1179a382fbb8cc930837671b973d722ba106a3dee2aad0fd858e2c4"
30
31UPSTREAM_CHECK_REGEX = "librsvg-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
32
33# librsvg is still autotools-based, but is calling cargo from its automake-driven makefiles
34# so we cannot use cargo class directly, but still need bits and pieces from it
35# for cargo to be happy
36BASEDEPENDS:append = " cargo-native"
37
38export EXTRA_NATIVE_PKGCONFIG_PATH = ":${B}/meson-uninstalled"
39export RUST_BACKTRACE = "full"
40export RUSTFLAGS
41
42RUSTFLAGS:append:mips = " --cfg crossbeam_no_atomic_64"
43RUSTFLAGS:append:mipsel = " --cfg crossbeam_no_atomic_64"
44RUSTFLAGS:append:powerpc = " --cfg crossbeam_no_atomic_64"
45
46do_configure[postfuncs] += "cargo_common_do_configure"
47
48inherit rust-target-config
49
50# rust-cross writes the target linker binary into target json definition without any flags.
51# This breaks here because the linker isn't going to work without at least knowing where
52# the sysroot is. So copy the json to workdir, and patch in the path to wrapper from rust class
53# which supplies the needed flags.
54do_compile:prepend() {
55 sed -ie 's,"linker": ".*","linker": "${RUST_TARGET_CC}",g' ${RUST_TARGETS_DIR}/${RUST_HOST_SYS}.json
56}
57
58EXTRA_OEMESON = "-Dtriplet=${RUST_HOST_SYS}"
59LDFLAGS += " -L${B}/rsvg"
60# needed on ubuntu 20.04/debian 11 to avoid 'undefined reference to `dlsym'' errors
61BUILD_LDFLAGS += " -ldl"
62
63PACKAGECONFIG ??= "gdkpixbuf ${@bb.utils.contains('PTEST_ENABLED', '1', 'apitest', '', d)}"
64PACKAGECONFIG:append:class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'vala', '', d)}"
65# The gdk-pixbuf loader
66PACKAGECONFIG[gdkpixbuf] = "-Dpixbuf-loader=enabled,-Dpixbuf-loader=disabled,gdk-pixbuf-native"
67PACKAGECONFIG[vala] = "-Dvala=enabled,-Dvala=disabled"
68PACKAGECONFIG[apitest] = "-Dtests=true,-Dtests=false"
69
70do_install:append() {
71 # Loadable modules don't need .a or .la on Linux
72 rm -f ${D}${libdir}/gdk-pixbuf-2.0/*/loaders/*.a ${D}${libdir}/gdk-pixbuf-2.0/*/loaders/*.la
73}
74
75do_compile_ptest_cargo:prepend() {
76 # The packageconfig is for meson, but the rust tests are compiled directly with cargo,
77 # so these arguments don't apply. Note that this is Python, the intendation is intentional.
78 d.setVar('PACKAGECONFIG_CONFARGS', '')
79}
80
81do_compile_ptest:prepend() {
82 # rsvg-convert is the tested binary, which shouldn't be executed as a test.
83 # Beside this, it is not bit-identical to the actual rsvg-convert binary, so
84 # remove it from this list, as create a symlink to the real thing from run-ptest script
85 sed -i '/rsvg-convert$/d' ${CARGO_TEST_BINARIES_FILES}
86}
87
88do_install_ptest:append() {
89 install -d ${D}${PTEST_PATH}/api_test/bin
90 cp -r ${S}/rsvg/tests ${D}${PTEST_PATH}
91 cp -r ${S}/rsvg_convert/tests ${D}${PTEST_PATH}
92 install ${B}/librsvg-c/tests-c/api ${D}${PTEST_PATH}/api_test/bin
93 # the api tests look for the required files in rsvg folder, so simulate it
94 # with a symlink that points to the current folder
95 ln -s . ${D}${PTEST_PATH}/rsvg
96}
97
98PACKAGES =+ "librsvg-gtk rsvg"
99FILES:rsvg = "${bindir}/rsvg* \
100 ${datadir}/pixmaps/svg-viewer.svg \
101 ${datadir}/themes"
102FILES:librsvg-gtk = "${libdir}/gdk-pixbuf-2.0/*/*/*.so \
103 ${datadir}/thumbnailers/librsvg.thumbnailer"
104RRECOMMENDS:librsvg-gtk = "gdk-pixbuf-bin"
105
106PIXBUF_PACKAGES = "librsvg-gtk"
107
108SYSROOT_PREPROCESS_FUNCS:append:class-target = " pkgconfig_sysroot_preprocess"
109
110# installed .pc file contains
111# prefix=${pcfiledir}/../..
112# which is expanded to an absolute path, and thus doesn't work when additionally prefixed with a sysroot directory
113pkgconfig_sysroot_preprocess() {
114 sed -i -e "s:^prefix=.*:prefix=${prefix}:g" ${SYSROOT_DESTDIR}${libdir}/pkgconfig/librsvg-2.0.pc
115}
diff --git a/meta/recipes-gnome/libsecret/libsecret/0001-meson-add-option-to-disable-pam-tests.patch b/meta/recipes-gnome/libsecret/libsecret/0001-meson-add-option-to-disable-pam-tests.patch
deleted file mode 100644
index e0a5737eab..0000000000
--- a/meta/recipes-gnome/libsecret/libsecret/0001-meson-add-option-to-disable-pam-tests.patch
+++ /dev/null
@@ -1,81 +0,0 @@
1From a9fd7dcddf8bc64646f2945ab564357c23111541 Mon Sep 17 00:00:00 2001
2From: Markus Volk <f_l_k@t-online.de>
3Date: Tue, 3 Dec 2024 15:58:17 +0100
4Subject: [PATCH] meson: add option to disable pam tests
5
6Upstream-Status: Denied [https://gitlab.gnome.org/GNOME/libsecret/-/merge_requests/151]
7
8Signed-off-by: Markus Volk <f_l_k@t-online.de>
9---
10 meson_options.txt | 1 +
11 pam/meson.build | 44 +++++++++++++++++++++++---------------------
12 2 files changed, 24 insertions(+), 21 deletions(-)
13
14diff --git a/meson_options.txt b/meson_options.txt
15index 936eff8..2ae14f2 100644
16--- a/meson_options.txt
17+++ b/meson_options.txt
18@@ -61,3 +61,8 @@
19 description: 'Build PAM module',
20 )
21
22+option('pam-tests',
23+ type: 'boolean',
24+ value: true,
25+ description: 'Build PAM Tests'
26+)
27diff --git a/pam/meson.build b/pam/meson.build
28index 8413b58..5155329 100644
29--- a/pam/meson.build
30+++ b/pam/meson.build
31@@ -19,27 +19,29 @@ pam_gnome_keyring = shared_library('pam_gnome_keyring',
32 )
33
34 # pam tests
35-pam_wrapper = dependency('pam_wrapper', required: true)
36-libpamtest = dependency('libpamtest', required: true)
37+if get_option('pam-tests')
38+ pam_wrapper = dependency('pam_wrapper', required: true)
39+ libpamtest = dependency('libpamtest', required: true)
40
41-subdir('servicedir')
42+ subdir('servicedir')
43
44-test_bin = executable('pam_test',
45- sources: [
46- 'test-pam.c',
47- ],
48- dependencies: [
49- libpamtest,
50- glib_deps,
51- ],
52-)
53+ test_bin = executable('pam_test',
54+ sources: [
55+ 'test-pam.c',
56+ ],
57+ dependencies: [
58+ libpamtest,
59+ glib_deps,
60+ ],
61+ )
62
63-test('pam-test',
64- test_bin,
65- env: {
66- 'LD_PRELOAD': 'libpam_wrapper.so',
67- 'PAM_WRAPPER': '1',
68- 'PAM_WRAPPER_DEBUGLEVEL': '5',
69- 'PAM_WRAPPER_SERVICE_DIR': meson.current_build_dir() + '/servicedir',
70- },
71-)
72+ test('pam-test',
73+ test_bin,
74+ env: {
75+ 'LD_PRELOAD': 'libpam_wrapper.so',
76+ 'PAM_WRAPPER': '1',
77+ 'PAM_WRAPPER_DEBUGLEVEL': '5',
78+ 'PAM_WRAPPER_SERVICE_DIR': meson.current_build_dir() + '/servicedir',
79+ },
80+ )
81+endif
diff --git a/meta/recipes-gnome/libsecret/libsecret_0.21.7.bb b/meta/recipes-gnome/libsecret/libsecret_0.21.7.bb
deleted file mode 100644
index e77f83e92f..0000000000
--- a/meta/recipes-gnome/libsecret/libsecret_0.21.7.bb
+++ /dev/null
@@ -1,31 +0,0 @@
1SUMMARY = "libsecret is a library for storing and retrieving passwords and other secrets"
2DESCRIPTION = "A GObject-based library for accessing the Secret Service API of \
3the freedesktop.org project, a cross-desktop effort to access passwords, \
4tokens and other types of secrets. libsecret provides a convenient wrapper \
5for these methods so consumers do not have to call the low-level DBus methods."
6LICENSE = "LGPL-2.1-only"
7HOMEPAGE = "https://github.com/GNOME/libsecret"
8BUGTRACKER = "https://gitlab.gnome.org/GNOME/libsecret/issues"
9LIC_FILES_CHKSUM = "file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6"
10
11inherit gnomebase gi-docgen vala gobject-introspection manpages
12
13DEPENDS += "glib-2.0 libgcrypt gettext-native"
14
15SRC_URI += "file://0001-meson-add-option-to-disable-pam-tests.patch"
16SRC_URI[archive.sha256sum] = "6b452e4750590a2b5617adc40026f28d2f4903de15f1250e1d1c40bfd68ed55e"
17
18EXTRA_OEMESON += "-Dpam-tests=false"
19
20GTKDOC_MESON_OPTION = 'gtk_doc'
21
22PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
23PACKAGECONFIG[manpages] = "-Dmanpage=true,-Dmanpage=false,libxslt-native xmlto-native"
24PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam"
25
26inherit bash-completion
27
28# http://errors.yoctoproject.org/Errors/Details/20228/
29ARM_INSTRUCTION_SET:armv4 = "arm"
30ARM_INSTRUCTION_SET:armv5 = "arm"
31ARM_INSTRUCTION_SET:armv6 = "arm"
diff --git a/meta/recipes-gnome/libxmlb/libxmlb/0001-xb-selftest.c-hardcode-G_TEST_SRCDIR.patch b/meta/recipes-gnome/libxmlb/libxmlb/0001-xb-selftest.c-hardcode-G_TEST_SRCDIR.patch
deleted file mode 100644
index 1c46f6fc1e..0000000000
--- a/meta/recipes-gnome/libxmlb/libxmlb/0001-xb-selftest.c-hardcode-G_TEST_SRCDIR.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From 2dbc50d49e2048f7227c406931a69f747e0eb12c Mon Sep 17 00:00:00 2001
2From: Markus Volk <f_l_k@t-online.de>
3Date: Sat, 16 Sep 2023 14:02:57 +0200
4Subject: [PATCH] xb-self-test.c: hardcode G_TEST_SRCDIR
5
6This avoids:
7 libxmlb-0.3.14-r0 do_package_qa: QA Issue: File
8 /usr/libexec/installed-tests/libxmlb/xb-self-test in package libxmlb-ptest
9 contains reference to TMPDIR [buildpaths]
10
11and also fixes the runtime for the ptest.
12
13Upstream-Status: Inappropriate [oe-specific]
14
15Signed-off-by: Markus Volk <f_l_k@t-online.de>
16---
17 src/xb-self-test.c | 2 +-
18 1 file changed, 1 insertion(+), 1 deletion(-)
19
20diff --git a/src/xb-self-test.c b/src/xb-self-test.c
21index 76b2e12..c68c13a 100644
22--- a/src/xb-self-test.c
23+++ b/src/xb-self-test.c
24@@ -2912,7 +2912,7 @@ xb_speed_func(void)
25 int
26 main(int argc, char **argv)
27 {
28- g_setenv("G_TEST_SRCDIR", SRCDIR, FALSE);
29+ g_setenv("G_TEST_SRCDIR", "/usr/libexec/installed-tests/libxmlb", FALSE);
30
31 g_test_init(&argc, &argv, NULL);
32
diff --git a/meta/recipes-gnome/libxmlb/libxmlb/run-ptest b/meta/recipes-gnome/libxmlb/libxmlb/run-ptest
deleted file mode 100644
index 6d0bb95d3a..0000000000
--- a/meta/recipes-gnome/libxmlb/libxmlb/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
1#! /bin/sh
2
3gnome-desktop-testing-runner libxmlb
diff --git a/meta/recipes-gnome/libxmlb/libxmlb_0.3.23.bb b/meta/recipes-gnome/libxmlb/libxmlb_0.3.23.bb
deleted file mode 100644
index 54df81c718..0000000000
--- a/meta/recipes-gnome/libxmlb/libxmlb_0.3.23.bb
+++ /dev/null
@@ -1,24 +0,0 @@
1SUMMARY = "A library to help create and query binary XML blobs"
2HOMEPAGE = "https://github.com/hughsie/libxmlb"
3LICENSE = "LGPL-2.1-only"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=1803fa9c2c3ce8cb06b4861d75310742"
5
6SRC_URI = " \
7 git://github.com/hughsie/libxmlb.git;branch=main;protocol=https \
8 file://0001-xb-selftest.c-hardcode-G_TEST_SRCDIR.patch \
9 file://run-ptest \
10"
11SRCREV = "65bfb3099beeb7a5ffae995db124f55bea70f41e"
12
13DEPENDS = "glib-2.0 xz zstd"
14
15inherit gobject-introspection gtk-doc meson ptest-gnome lib_package pkgconfig
16
17PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
18PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false"
19
20GTKDOC_MESON_OPTION = "gtkdoc"
21
22FILES:${PN} += "${datadir}"
23
24BBCLASSEXTEND = "native"