Complete Yocto mirror with license table for TQMa6UL (2038-compliance)

- 264 license table entries with exact download URLs (224/264 resolved)
- Complete sources/ directory with all BitBake recipes
- Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl)
- Full traceability for Softwarefreigabeantrag
- GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4
- License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
Siggi (OpenClaw Agent)
2026-03-01 20:58:18 +00:00
commit 16accb6b24
15086 changed files with 1292356 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
SUMMARY = "WebKit based web browser for GNOME"
DESCRIPTION = "Epiphany is an open source web browser for the Linux desktop environment. \
It provides a simple and easy-to-use internet browsing experience."
HOMEPAGE = "https://wiki.gnome.org/Apps/Web"
BUGTRACKER = "https://gitlab.gnome.org/GNOME/epiphany"
LICENSE = "GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
DEPENDS = " \
webkitgtk \
gcr \
gsettings-desktop-schemas \
nettle \
json-glib \
libadwaita \
libarchive \
libdazzle \
libhandy \
libportal \
libsoup \
glib-2.0-native \
coreutils-native \
desktop-file-utils-native \
"
inherit gnomebase gsettings features_check gettext mime-xdg gtk-icon-cache
REQUIRED_DISTRO_FEATURES = "x11 opengl"
SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@oe.utils.trim_version("${PV}", 1)}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
file://0002-help-meson.build-disable-the-use-of-yelp.patch \
file://migrator.patch \
file://distributor.patch \
"
SRC_URI[archive.sha256sum] = "f4348f2cf51c07c0c106d130172d4d23f2cd4068771e1de007b758ca2ade5660"
# Developer mode enables debugging
PACKAGECONFIG[developer-mode] = "-Ddeveloper_mode=true,-Ddeveloper_mode=false"
FILES:${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo"
RDEPENDS:${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas"
# ANGLE requires SSE support as of webkit 2.40.x on 32 bit x86
COMPATIBLE_HOST:x86 = "${@bb.utils.contains_any('TUNE_FEATURES', 'core2 corei7', '.*', 'null', d)}"

View File

@@ -0,0 +1,29 @@
From bd45c75fe691e275d7a7d7e641ac66b153369a1c Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Wed, 31 Jan 2018 15:50:38 +0200
Subject: [PATCH] help/meson.build: disable the use of yelp
In particular this avoids calling itstool which oe-core doesn't provide.
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
help/meson.build | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/help/meson.build b/help/meson.build
index ff324dd..f5e421d 100644
--- a/help/meson.build
+++ b/help/meson.build
@@ -31,7 +31,7 @@ help_media = [
'media/org.gnome.Epiphany.svg'
]
-gnome.yelp(meson.project_name(),
- sources: help_files,
- media: help_media,
-)
+#gnome.yelp(meson.project_name(),
+# sources: help_files,
+# media: help_media,
+#)

View File

@@ -0,0 +1,24 @@
From c297f5b89d7c8e98ac98e1d9a7506df6db6fc025 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Fri, 26 Feb 2021 10:17:52 +0000
Subject: [PATCH] Don't encode the distro from /etc/os-release into the
binaries.
Upstream-Status: Pending
RP 2021/2/26
---
meson.build | 1 +
1 file changed, 1 insertion(+)
diff --git a/meson.build b/meson.build
index e416cc7..ee5f7b1 100644
--- a/meson.build
+++ b/meson.build
@@ -15,6 +15,7 @@ if r.returncode() == 0
else
distributor_name = 'GNOME Web'
endif
+distributor_name = 'OpenEmbedded'
prefix = get_option('prefix')
datadir = join_paths(prefix, get_option('datadir'))

View File

@@ -0,0 +1,32 @@
From b38a4ceaeec05efb1b822d52c43590e7fd518113 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Thu, 25 Feb 2021 14:52:32 +0000
Subject: [PATCH] epiphany: Fix reproducibility issue
We don't want to encide BUILD_ROOT into target packages. This is used
for build time tests but in our case those would be on target anyway
do use the target paths.
Upstream-Status: Pending
RP 2021/2/25
---
lib/ephy-profile-utils.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/ephy-profile-utils.c b/lib/ephy-profile-utils.c
index a2f6181..5218077 100644
--- a/lib/ephy-profile-utils.c
+++ b/lib/ephy-profile-utils.c
@@ -130,10 +130,10 @@ ephy_profile_utils_do_migration (const char *profile_directory,
argv[i++] = NULL;
#if DEVELOPER_MODE
- argv[0] = BUILD_ROOT "/src/" EPHY_PROFILE_MIGRATOR;
+ argv[0] = PKGLIBEXECDIR "/" EPHY_PROFILE_MIGRATOR;
#else
if (debug)
- argv[0] = BUILD_ROOT "/src/" EPHY_PROFILE_MIGRATOR;
+ argv[0] = PKGLIBEXECDIR "/" EPHY_PROFILE_MIGRATOR;
#endif
g_spawn_sync (NULL, (char **)argv, envp, G_SPAWN_SEARCH_PATH,

View File

@@ -0,0 +1,58 @@
SUMMARY = "A library for bits of crypto UI and parsing etc"
DESCRIPTION = "GCR is a library for displaying certificates, and crypto UI, \
accessing key stores. It also provides the viewer for crypto files on the \
GNOME desktop."
HOMEPAGE = "https://gitlab.gnome.org/GNOME/gcr"
BUGTRACKER = "https://gitlab.gnome.org/GNOME/gcr/issues"
LICENSE = "LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
DEPENDS = "p11-kit glib-2.0 libgcrypt gnupg-native \
${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'libxslt-native', '', d)}"
CACHED_CONFIGUREVARS += "ac_cv_path_GPG='gpg2'"
CFLAGS += "-D_GNU_SOURCE"
GTKDOC_MESON_OPTION = "gtk_doc"
inherit gnomebase gtk-icon-cache gi-docgen features_check vala gobject-introspection gettext mime mime-xdg
REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'opengl', '', d)}"
SRC_URI[archive.sha256sum] = "ed783b5c80373cd058c02ea9e3e2a64e558599ca190a5abd598122e479967de5"
PACKAGECONFIG ??= " \
${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'gtk', '', d)} \
${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'vapi', '', d)} \
"
PACKAGECONFIG[gtk] = "-Dgtk4=true,-Dgtk4=false,gtk4"
PACKAGECONFIG[ssh_agent] = "-Dssh_agent=true,-Dssh_agent=false,libsecret,openssh"
#'Use systemd socket activation for server programs'
PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
PACKAGECONFIG[vapi] = "-Dvapi=true,-Dvapi=false,"
FILES:${PN} += " \
${datadir}/dbus-1 \
${datadir}/gcr-4 \
${systemd_user_unitdir}/gcr-ssh-agent.socket \
${systemd_user_unitdir}/gcr-ssh-agent.service \
"
# http://errors.yoctoproject.org/Errors/Details/20229/
ARM_INSTRUCTION_SET:armv4 = "arm"
ARM_INSTRUCTION_SET:armv5 = "arm"
ARM_INSTRUCTION_SET:armv6 = "arm"
EXTRA_OEMESON += "--cross-file=${WORKDIR}/meson-${PN}.cross"
do_write_config:append() {
cat >${WORKDIR}/meson-${PN}.cross <<EOF
[binaries]
gpg2 = '${bindir}/gpg2'
ssh-add = '${bindir}/ssh-add'
ssh-agent = '${bindir}/ssh-agent'
EOF
}

View File

@@ -0,0 +1,66 @@
From 325a4cde99a00b84116ab7111d27e6973f3c5026 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex@linutronix.de>
Date: Thu, 26 Jan 2023 20:29:46 +0100
Subject: [PATCH] meson.build: allow (a subset of) tests in cross compile
settings
There is no need to completely disable tests: most of them
do not require running target executables at build time,
and so can be built and installed.
This requires inserting a couple of specific guards around
items that do require running target executables.
Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/merge_requests/150]
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
meson.build | 6 +++---
tests/meson.build | 10 ++++++----
2 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/meson.build b/meson.build
index 3eb3fcc..dc7e790 100644
--- a/meson.build
+++ b/meson.build
@@ -390,10 +390,10 @@ subdir('gdk-pixbuf')
# i18n
subdir('po')
+if get_option('tests')
+ subdir('tests')
+endif
if not meson.is_cross_build()
- if get_option('tests')
- subdir('tests')
- endif
subdir('thumbnailer')
endif
diff --git a/tests/meson.build b/tests/meson.build
index 3781066..911b5fb 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -4,7 +4,7 @@
# gdk-pixbuf-pixdata from build directory because it needs all DLL locations in
# $PATH. Ideally we should use gnome.compile_resources() and let Meson deal with
# this problem: See https://github.com/mesonbuild/meson/issues/8266.
-if enabled_loaders.contains('png') and host_system != 'windows'
+if enabled_loaders.contains('png') and host_system != 'windows' and not meson.is_cross_build()
# Resources; we cannot use gnome.compile_resources() here, because we need to
# override the environment in order to use the utilities we just built instead
# of the system ones
@@ -164,9 +164,11 @@ endif
test_deps = gdk_pixbuf_deps + [ gdkpixbuf_dep, ]
test_args = [ '-k' ]
test_env = environment()
-test_env.set('G_TEST_SRCDIR', meson.current_source_dir())
-test_env.set('G_TEST_BUILDDIR', meson.current_build_dir())
-test_env.set('GDK_PIXBUF_MODULE_FILE', loaders_cache.full_path())
+if not meson.is_cross_build()
+ test_env.set('G_TEST_SRCDIR', meson.current_source_dir())
+ test_env.set('G_TEST_BUILDDIR', meson.current_build_dir())
+ test_env.set('GDK_PIXBUF_MODULE_FILE', loaders_cache.full_path())
+endif
foreach test_name, test_data: installed_tests
test_sources = [ test_name + '.c', 'test-common.c' ]

View File

@@ -0,0 +1,55 @@
From 4af78023ce7d3b5e3cec422a59bb4f48fa4f5886 Mon Sep 17 00:00:00 2001
From: Matthias Clasen <mclasen@redhat.com>
Date: Fri, 11 Jul 2025 11:02:05 -0400
Subject: [PATCH] jpeg: Be more careful with chunked icc data
We we inadvertendly trusting the sequence numbers not to lie.
If they do we would report a larger data size than we actually
allocated, leading to out of bounds memory access in base64
encoding later on.
This has been assigned CVE-2025-7345.
Fixes: #249
CVE: CVE-2025-7345
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/commit/4af78023ce7d3b5e3cec422a59bb4f48fa4f5886]
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
---
gdk-pixbuf/io-jpeg.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/gdk-pixbuf/io-jpeg.c b/gdk-pixbuf/io-jpeg.c
index 3841fc0..9ee1d21 100644
--- a/gdk-pixbuf/io-jpeg.c
+++ b/gdk-pixbuf/io-jpeg.c
@@ -356,6 +356,7 @@ jpeg_parse_exif_app2_segment (JpegExifContext *context, jpeg_saved_marker_ptr ma
context->icc_profile = g_new (gchar, chunk_size);
/* copy the segment data to the profile space */
memcpy (context->icc_profile, marker->data + 14, chunk_size);
+ ret = TRUE;
goto out;
}
@@ -377,12 +378,15 @@ jpeg_parse_exif_app2_segment (JpegExifContext *context, jpeg_saved_marker_ptr ma
/* copy the segment data to the profile space */
memcpy (context->icc_profile + offset, marker->data + 14, chunk_size);
- /* it's now this big plus the new data we've just copied */
- context->icc_profile_size += chunk_size;
+ context->icc_profile_size = MAX (context->icc_profile_size, offset + chunk_size);
/* success */
ret = TRUE;
out:
+ if (!ret) {
+ g_free (context->icc_profile);
+ context->icc_profile = NULL;
+ }
return ret;
}
--
2.40.0

View File

@@ -0,0 +1,88 @@
From f78ab4edaee5f62663a9a4bcfa56e5c524da4474 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Tue, 1 Apr 2014 17:23:36 +0100
Subject: [PATCH] gdk-pixbuf: add an option so that loader errors are fatal
If an environment variable is specified set the return value from main() to
non-zero if the loader had errors (missing libraries, generally).
Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/merge_requests/144]
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
gdk-pixbuf/queryloaders.c | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/gdk-pixbuf/queryloaders.c b/gdk-pixbuf/queryloaders.c
index baa9a5c..9b6fa89 100644
--- a/gdk-pixbuf/queryloaders.c
+++ b/gdk-pixbuf/queryloaders.c
@@ -216,7 +216,7 @@ write_loader_info (GString *contents, const char *path, GdkPixbufFormat *info)
g_string_append_c (contents, '\n');
}
-static void
+static gboolean
query_module (GString *contents, const char *dir, const char *file)
{
char *path;
@@ -225,6 +225,7 @@ query_module (GString *contents, const char *dir, const char *file)
void (*fill_vtable) (GdkPixbufModule *module);
gpointer fill_info_ptr;
gpointer fill_vtable_ptr;
+ gboolean ret = TRUE;
if (g_path_is_absolute (file))
path = g_strdup (file);
@@ -274,10 +275,13 @@ query_module (GString *contents, const char *dir, const char *file)
g_module_error());
else
g_fprintf (stderr, "Cannot load loader %s\n", path);
+ ret = FALSE;
}
if (module)
g_module_close (module);
g_free (path);
+
+ return ret;
}
#if defined(G_OS_WIN32) && defined(GDK_PIXBUF_RELOCATABLE)
@@ -318,6 +322,7 @@ int main (int argc, char **argv)
gint first_file = 1;
GFile *pixbuf_libdir_file;
gchar *pixbuf_libdir;
+ gboolean success = TRUE;
#ifdef G_OS_WIN32
gchar *libdir;
@@ -456,7 +461,9 @@ int main (int argc, char **argv)
}
modules = g_list_sort (modules, (GCompareFunc)strcmp);
for (l = modules; l != NULL; l = l->next)
- query_module (contents, moduledir, l->data);
+ if (!query_module (contents, moduledir, l->data))
+ success = FALSE;
+
g_list_free_full (modules, g_free);
g_free (moduledir);
#else
@@ -472,7 +479,8 @@ int main (int argc, char **argv)
infilename = g_locale_to_utf8 (infilename,
-1, NULL, NULL, NULL);
#endif
- query_module (contents, cwd, infilename);
+ if (!query_module (contents, cwd, infilename))
+ success = FALSE;
}
g_free (cwd);
}
@@ -492,5 +500,8 @@ int main (int argc, char **argv)
g_free (pixbuf_libdir);
- return 0;
+ if (g_getenv ("GDK_PIXBUF_FATAL_LOADER"))
+ return success ? 0 : 1;
+ else
+ return 0;
}

View File

@@ -0,0 +1,3 @@
#! /bin/sh
gnome-desktop-testing-runner gdk-pixbuf

View File

@@ -0,0 +1,120 @@
SUMMARY = "Image loading library for GTK+"
DESCRIPTION = "The GDK Pixbuf library provides: Image loading and saving \
facilities, fast scaling and compositing of pixbufs and Simple animation \
loading (ie. animated GIFs)"
HOMEPAGE = "https://wiki.gnome.org/Projects/GdkPixbuf"
BUGTRACKER = "https://gitlab.gnome.org/GNOME/gdk-pixbuf/issues"
LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
file://gdk-pixbuf/gdk-pixbuf.h;endline=26;md5=72b39da7cbdde2e665329fef618e1d6b \
"
SECTION = "libs"
DEPENDS = "glib-2.0 shared-mime-info"
MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
file://run-ptest \
file://fatal-loader.patch \
file://0001-meson.build-allow-a-subset-of-tests-in-cross-compile.patch \
file://CVE-2025-7345.patch \
"
SRC_URI[sha256sum] = "b9505b3445b9a7e48ced34760c3bcb73e966df3ac94c95a148cb669ab748e3c7"
inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gi-docgen lib_package
GIR_MESON_OPTION = 'introspection'
GIR_MESON_ENABLE_FLAG = "enabled"
GIR_MESON_DISABLE_FLAG = "disabled"
LIBV = "2.10.0"
GDK_PIXBUF_LOADERS ?= "png jpeg"
PACKAGECONFIG = "${GDK_PIXBUF_LOADERS} \
${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
PACKAGECONFIG:class-native = "${GDK_PIXBUF_LOADERS}"
PACKAGECONFIG[png] = "-Dpng=enabled,-Dpng=disabled,libpng"
PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,jpeg"
PACKAGECONFIG[tiff] = "-Dtiff=enabled,-Dtiff=disabled,tiff"
PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false"
EXTRA_OEMESON = "-Dman=false"
PACKAGES =+ "${PN}-xlib"
# For GIO image type sniffing
RDEPENDS:${PN} = "shared-mime-info"
FILES:${PN}-xlib = "${libdir}/*pixbuf_xlib*${SOLIBS}"
ALLOW_EMPTY:${PN}-xlib = "1"
FILES:${PN} += "${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders"
FILES:${PN}-bin += "${datadir}/thumbnailers/gdk-pixbuf-thumbnailer.thumbnailer"
FILES:${PN}-dev += " \
${bindir}/gdk-pixbuf-csource \
${bindir}/gdk-pixbuf-pixdata \
${bindir}/gdk-pixbuf-print-mime-types \
${includedir}/* \
${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/*.la \
"
PACKAGES_DYNAMIC += "^gdk-pixbuf-loader-.*"
PACKAGES_DYNAMIC:class-native = ""
python populate_packages:prepend () {
postinst_pixbufloader = d.getVar("postinst_pixbufloader")
loaders_root = d.expand('${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders')
packages = ' '.join(do_split_packages(d, loaders_root, r'^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s'))
d.setVar('PIXBUF_PACKAGES', packages)
# The test suite exercises all the loaders, so ensure they are all
# dependencies of the ptest package.
d.appendVar("RDEPENDS:%s-ptest" % d.getVar('PN'), " " + packages)
}
do_install:append() {
# Copy gdk-pixbuf-query-loaders into libdir so it is always available
# in multilib builds.
cp ${D}/${bindir}/gdk-pixbuf-query-loaders ${D}/${libdir}/gdk-pixbuf-2.0/
}
do_install_ptest() {
# Remove a bad fuzzing attempt that sporadically fails without a way to reproduce
rm ${D}/${datadir}/installed-tests/gdk-pixbuf/pixbuf-randomly-modified.test
# https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/215
rm ${D}/${datadir}/installed-tests/gdk-pixbuf/pixbuf-jpeg.test
}
do_install:append:class-native() {
find ${D}${libdir} -name "libpixbufloader-*.la" -exec rm \{\} \;
create_wrapper ${D}/${bindir}/gdk-pixbuf-csource \
XDG_DATA_DIRS=${STAGING_DATADIR} \
GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
create_wrapper ${D}/${bindir}/gdk-pixbuf-pixdata \
XDG_DATA_DIRS=${STAGING_DATADIR} \
GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
create_wrapper ${D}/${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders \
XDG_DATA_DIRS=${STAGING_DATADIR} \
GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \
GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders
create_wrapper ${D}/${bindir}/gdk-pixbuf-query-loaders \
XDG_DATA_DIRS=${STAGING_DATADIR} \
GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \
GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders
}
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,21 @@
SUMMARY = "Documentation tool for GObject-based libraries"
DESCRIPTION = "GI-DocGen is a document generator for GObject-based libraries. GObject is \
the base type system of the GNOME project. GI-Docgen reuses the \
introspection data generated by GObject-based libraries to generate the API \
reference of these libraries, as well as other ancillary documentation."
HOMEPAGE = "https://gnome.pages.gitlab.gnome.org/gi-docgen/"
LICENSE = "GPL-3.0-or-later & Apache-2.0"
LIC_FILES_CHKSUM = "file://gi-docgen.py;beginline=1;endline=5;md5=2dc0f1f01202478cfe813c0e7f80b326"
SRC_URI = "git://gitlab.gnome.org/GNOME/gi-docgen.git;protocol=https;branch=main"
SRCREV = "96f2e9b93e1d8a5338eb05b87fd879856ab7b3cc"
S = "${WORKDIR}/git"
inherit setuptools3
RDEPENDS:${PN} += "python3-asyncio python3-core python3-jinja2 python3-json python3-markdown python3-markupsafe python3-pygments python3-toml python3-typogrify python3-xml"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,29 @@
SUMMARY = "GTK+ icon theme"
DESCRIPTION = "The Adwaita icon theme is the default icon theme of the GNOME desktop \
This package package contains an icon theme for Gtk+ 3 applications."
HOMEPAGE = "https://gitlab.gnome.org/GNOME/adwaita-icon-theme"
BUGTRACKER = "https://gitlab.gnome.org/GNOME/adwaita-icon-theme/issues"
SECTION = "x11/gnome"
LICENSE = "LGPL-3.0-only | CC-BY-SA-3.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=c84cac88e46fc07647ea07e6c24eeb7c \
file://COPYING_CCBYSA3;md5=96143d33de3a79321b1006c4e8ed07e7 \
file://COPYING_LGPL;md5=e6a600fd5e1d9cbde2d983680233ad02"
inherit gnomebase allarch gtk-icon-cache
SRC_URI[archive.sha256sum] = "2442bfb06f4e6cc95bf6e2682fdff98fa5eddc688751b9d6215c623cb4e42ff1"
DEPENDS += "librsvg-native"
PACKAGES =+ "${PN}-cursors ${PN}-symbolic"
RREPLACES:${PN} = "gnome-icon-theme"
RCONFLICTS:${PN} = "gnome-icon-theme"
RPROVIDES:${PN} = "gnome-icon-theme"
FILES:${PN}-cursors = "${datadir}/icons/Adwaita/cursors/"
FILES:${PN}-symbolic = "${datadir}/icons/Adwaita/symbolic*/"
FILES:${PN}-doc += "${datadir}/licenses/adwaita-icon-theme"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,28 @@
Upstream-Status: Pending
In some circumstances, gconf isn't able to save configurations
because ~/.config folder aka root_dir doesn't exist.
This issue was not seen before because ~/.config directory is shared
between several packages and one of those packages usually creates it
by the time gconf wants to use it.
This patch makes sure that gconf creates the .config directory if it
doesn't exist, along with the gconf directory inside it.
Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com>
Signed-off-by: Alejandro Hernandez <alejandr@xilinx.com>
Index: GConf-3.2.6/backends/markup-backend.c
===================================================================
--- GConf-3.2.6.orig/backends/markup-backend.c
+++ GConf-3.2.6/backends/markup-backend.c
@@ -276,7 +276,7 @@ resolve_address (const char *address,
/* dir_mode without search bits */
file_mode = dir_mode & (~0111);
}
- else if (g_mkdir (root_dir, dir_mode) < 0)
+ else if (g_mkdir_with_parents (root_dir, dir_mode) < 0)
{
/* Error out even on EEXIST - shouldn't happen anyway */
gconf_set_error (err, GCONF_ERROR_FAILED,

View File

@@ -0,0 +1,60 @@
gconf: use python3
Convert gsettings-schema-convert to use python3.
Upstream-Status: Inappropriate [gconf is deprecated]
Signed-off-by: Joe Slater <joe.slater@windriver.com>
--- a/gsettings/gsettings-schema-convert
+++ b/gsettings/gsettings-schema-convert
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# vim: set ts=4 sw=4 et: coding=UTF-8
#
# Copyright (c) 2010, Novell, Inc.
@@ -603,7 +603,7 @@ class SimpleSchemaParser:
for line in lines:
current_line_nb += 1
self.parse_line(line)
- except GSettingsSchemaConvertException, e:
+ except GSettingsSchemaConvertException as e:
raise GSettingsSchemaConvertException('%s:%s: %s' % (os.path.basename(self.file), current_line_nb, e))
return self.root
@@ -1095,7 +1095,7 @@ def main(args):
try:
parser = GConfSchemaParser(argfile, options.gettext_domain, options.schema_id, options.keep_underscores)
schema_root = parser.parse()
- except SyntaxError, e:
+ except SyntaxError as e:
raise GSettingsSchemaConvertException('\'%s\' does not look like a valid gconf schema file: %s' % (argfile, e))
else:
# autodetect if file is XML or not
@@ -1104,7 +1104,7 @@ def main(args):
schema_root = parser.parse()
if not options.simple and not options.xml:
options.simple = True
- except SyntaxError, e:
+ except SyntaxError as e:
parser = SimpleSchemaParser(argfile)
schema_root = parser.parse()
if not options.simple and not options.xml:
@@ -1127,13 +1127,13 @@ def main(args):
fout = open(options.output, 'w')
fout.write(output)
fout.close()
- except GSettingsSchemaConvertException, e:
+ except GSettingsSchemaConvertException as e:
fout.close()
if os.path.exists(options.output):
os.unlink(options.output)
raise e
- except GSettingsSchemaConvertException, e:
+ except GSettingsSchemaConvertException as e:
print >> sys.stderr, '%s' % e
return 1

View File

@@ -0,0 +1,19 @@
Upstream-Status: Pending
Remove '+' from invalid characters list
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Index: GConf-3.2.5/gconf/gconf-backend.c
===================================================================
--- GConf-3.2.5.orig/gconf/gconf-backend.c
+++ GConf-3.2.5/gconf/gconf-backend.c
@@ -37,7 +37,7 @@ static const char invalid_chars[] =
/* Space is common in user names (and thus home directories) on Windows */
" "
#endif
- "\t\r\n\"$&<>,+=#!()'|{}[]?~`;%\\";
+ "\t\r\n\"$&<>,=#!()'|{}[]?~`;%\\";
static gboolean
gconf_address_valid (const char *address,

View File

@@ -0,0 +1,95 @@
Fixes errors such as this in the rootfs generation:
(gconftool-2.real:10095): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
Using X11 for dbus-daemon autolaunch was disabled at compile time, set your DBUS_SESSION_BUS_ADDRESS instead
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@intel.com>
From b0895e1998ebc83ab030ec0f17c0685439f5b404 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Mon, 15 Apr 2013 09:57:34 -0400
Subject: [PATCH] dbus: Don't spew to console when unable to connect to dbus
daemon
Instead pass the error up for the caller to decide what to do.
This prevent untrappable warning messages from showing up at the
console if gconftool --makefile-install-rule is called.
---
gconf/gconf-dbus.c | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/gconf/gconf-dbus.c b/gconf/gconf-dbus.c
index 5610fcf..048e3ea 100644
--- a/gconf/gconf-dbus.c
+++ b/gconf/gconf-dbus.c
@@ -105,7 +105,7 @@ static GHashTable *engines_by_db = NULL;
static GHashTable *engines_by_address = NULL;
static gboolean dbus_disconnected = FALSE;
-static gboolean ensure_dbus_connection (void);
+static gboolean ensure_dbus_connection (GError **error);
static gboolean ensure_service (gboolean start_if_not_found,
GError **err);
static gboolean ensure_database (GConfEngine *conf,
@@ -383,7 +383,7 @@ gconf_engine_detach (GConfEngine *conf)
}
static gboolean
-ensure_dbus_connection (void)
+ensure_dbus_connection (GError **err)
{
DBusError error;
@@ -392,7 +392,9 @@ ensure_dbus_connection (void)
if (dbus_disconnected)
{
- g_warning ("The connection to DBus was broken. Can't reinitialize it.");
+ g_set_error (err, GCONF_ERROR,
+ GCONF_ERROR_NO_SERVER,
+ "The connection to DBus was broken. Can't reinitialize it.");
return FALSE;
}
@@ -402,7 +404,10 @@ ensure_dbus_connection (void)
if (!global_conn)
{
- g_warning ("Client failed to connect to the D-BUS daemon:\n%s", error.message);
+ g_set_error (err, GCONF_ERROR,
+ GCONF_ERROR_NO_SERVER,
+ "Client failed to connect to the D-BUS daemon:\n%s",
+ error.message);
dbus_error_free (&error);
return FALSE;
@@ -431,13 +436,8 @@ ensure_service (gboolean start_if_not_found,
if (global_conn == NULL)
{
- if (!ensure_dbus_connection ())
- {
- g_set_error (err, GCONF_ERROR,
- GCONF_ERROR_NO_SERVER,
- _("No D-BUS daemon running\n"));
- return FALSE;
- }
+ if (!ensure_dbus_connection (err))
+ return FALSE;
g_assert (global_conn != NULL);
}
@@ -2512,7 +2512,7 @@ gconf_ping_daemon (void)
{
if (global_conn == NULL)
{
- if (!ensure_dbus_connection ())
+ if (!ensure_dbus_connection (NULL))
{
return FALSE;
}
--
1.7.10.4

View File

@@ -0,0 +1,61 @@
SUMMARY = "GNOME configuration system"
DESCRIPTION = "GConf is a system for storing application preferences. \
It is intended for user preferences; not configuration of something like \
Apache, or arbitrary data storage."
SECTION = "x11/gnome"
HOMEPAGE = "https://gitlab.gnome.org/Archive/gconf"
LICENSE = "LGPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
DEPENDS = "glib-2.0 glib-2.0-native dbus dbus-glib libxml2 intltool-native"
GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase gtk-doc gettext gobject-introspection gio-module-cache
SRC_URI = "${GNOME_MIRROR}/GConf/${@gnome_verdir("${PV}")}/GConf-${PV}.tar.xz;name=archive \
file://remove_plus_from_invalid_characters_list.patch \
file://unable-connect-dbus.patch \
file://create_config_directory.patch \
file://python3.patch \
"
SRC_URI[archive.md5sum] = "2b16996d0e4b112856ee5c59130e822c"
SRC_URI[archive.sha256sum] = "1912b91803ab09a5eed34d364bf09fe3a2a9c96751fde03a4e0cfa51a04d784c"
S = "${WORKDIR}/GConf-${PV}"
EXTRA_OECONF = "--enable-shared --disable-static \
--disable-orbit --with-openldap=no --disable-gtk"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}"
# We really don't want Polkit for native
PACKAGECONFIG:class-native = ""
PACKAGECONFIG[polkit] = "--enable-defaults-service,--disable-defaults-service,polkit"
PACKAGECONFIG[debug] = "--enable-debug=yes, --enable-debug=minimum"
do_install:append() {
# this directory need to be created to avoid an Error 256 at gdm launch
install -d ${D}${sysconfdir}/gconf/gconf.xml.system
# this stuff is unusable
rm -f ${D}${libdir}/GConf/*/*.*a
rm -f ${D}${libdir}/gio/*/*.*a
}
do_install:append:class-native() {
create_wrapper ${D}/${bindir}/gconftool-2 \
GCONF_BACKEND_DIR=${STAGING_LIBDIR_NATIVE}/GConf/2
}
FILES:${PN} += "${libdir}/GConf/* \
${libdir}/gio/*/*.so \
${datadir}/polkit* \
${datadir}/dbus-1/services/*.service \
${datadir}/dbus-1/system-services/*.service \
"
RDEPENDS:${PN} = "python3-xml"
FILES:${PN}-dev += "${datadir}/sgml/gconf/gconf-1.0.dtd"
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,76 @@
From aeb5532f8be42d42f4e8725ca42e239b36983a4d Mon Sep 17 00:00:00 2001
From: Sascha Silbe <x-yo17@se-silbe.de>
Date: Fri, 8 Jun 2018 13:55:10 +0200
Subject: [PATCH] Relocate the repository directory for native builds
Instead of hard-coding GOBJECT_INTROSPECTION_LIBDIR when
gobject-introspection is built, use dladdr() to determine where
GOBJECT_INTROSPECTION_LIBDIR is and use that path to calculate the
repository directory.
This fixes gobject-introspection-native accessing paths across build
directories (e.g. if the build directories use the same shared state
cache or sstate mirror).
Upstream-Status: Inappropriate
Signed-off-by: Sascha Silbe <x-yo17@se-silbe.de>
---
girepository/girepository.c | 15 +++++++++++++--
girepository/meson.build | 2 +-
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/girepository/girepository.c b/girepository/girepository.c
index a0754f4..2d456f9 100644
--- a/girepository/girepository.c
+++ b/girepository/girepository.c
@@ -21,6 +21,8 @@
* Boston, MA 02111-1307, USA.
*/
+#define _GNU_SOURCE
+
#include "config.h"
#include <stdio.h>
@@ -34,6 +36,8 @@
#include "gitypelib-internal.h"
#include "girepository-private.h"
+#include <dlfcn.h>
+
/**
* SECTION:girepository
* @short_description: GObject Introspection repository manager
@@ -215,9 +219,16 @@ init_globals (void)
g_free (custom_dirs);
}
- libdir = GOBJECT_INTROSPECTION_LIBDIR;
+ Dl_info gi_lib_info;
- typelib_dir = g_build_filename (libdir, "girepository-1.0", NULL);
+ if (dladdr (g_irepository_get_default, &gi_lib_info)) {
+ char *libdir = g_path_get_dirname (gi_lib_info.dli_fname);
+ typelib_dir = g_build_filename (libdir, "girepository-1.0", NULL);
+ g_free (libdir);
+ } else {
+ libdir = GOBJECT_INTROSPECTION_LIBDIR;
+ typelib_dir = g_build_filename (libdir, "girepository-1.0", NULL);
+ }
typelib_search_path = g_slist_prepend (typelib_search_path, typelib_dir);
diff --git a/girepository/meson.build b/girepository/meson.build
index 786749a..15cf2a9 100644
--- a/girepository/meson.build
+++ b/girepository/meson.build
@@ -45,7 +45,7 @@ girepo_internals_lib = static_library('girepository-internals',
],
c_args: gi_hidden_visibility_cflags + custom_c_args,
include_directories : configinc,
- dependencies: [girepo_gthash_dep, libffi_dep],
+ dependencies: [girepo_gthash_dep, libffi_dep, cc.find_library('dl')],
)
girepo_internals_dep = declare_dependency(

View File

@@ -0,0 +1,194 @@
SUMMARY = "Middleware layer between GObject-using C libraries and language bindings"
DESCRIPTION = "GObject Introspection is a project for providing machine \
readable introspection data of the API of C libraries. This introspection \
data can be used in several different use cases, for example automatic code \
generation for bindings, API verification and documentation generation."
HOMEPAGE = "https://wiki.gnome.org/action/show/Projects/GObjectIntrospection"
BUGTRACKER = "https://gitlab.gnome.org/GNOME/gobject-introspection/issues"
SECTION = "libs"
LICENSE = "LGPL-2.0-or-later & GPL-2.0-or-later & MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=c434e8128a68bedd59b80b2ac1eb1c4a \
file://tools/compiler.c;endline=20;md5=fc5007fc20022720e6c0b0cdde41fabd \
file://giscanner/sourcescanner.c;endline=22;md5=194d6e0c1d00662f32d030ce44de8d39 \
file://girepository/giregisteredtypeinfo.c;endline=21;md5=661847611ae6979465415f31a759ba27 \
"
SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-${PV}.tar.xz \
"
SRC_URI[sha256sum] = "bd7babd99af7258e76819e45ba4a6bc399608fe762d83fde3cac033c50841bb4"
SRC_URI:append:class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch"
inherit meson pkgconfig gtk-doc python3targetconfig qemu gobject-introspection-data upstream-version-is-even multilib_script
GTKDOC_MESON_OPTION = "gtk_doc"
MULTILIB_SCRIPTS = "${PN}:${bindir}/g-ir-annotation-tool ${PN}:${bindir}/g-ir-scanner"
DEPENDS += " libffi zlib glib-2.0 python3 flex-native bison-native"
# target build needs qemu to run temporary introspection binaries created
# on the fly by g-ir-scanner and a native version of itself to run
# native versions of its own tools during build.
DEPENDS:append:class-target = " gobject-introspection-native qemu-native"
# needed for writing out the qemu wrapper script
export STAGING_DIR_HOST
export B
PACKAGECONFIG ?= ""
PACKAGECONFIG[doctool] = "-Ddoctool=enabled,-Ddoctool=disabled,python3-mako,"
# Configure target build to use native tools of itself and to use a qemu wrapper
# and optionally to generate introspection data
EXTRA_OEMESON:class-target = " \
-Dgi_cross_use_prebuilt_gi=true \
-Dgi_cross_binary_wrapper=${B}/g-ir-scanner-qemuwrapper \
-Dgi_cross_ldd_wrapper=${B}/g-ir-scanner-lddwrapper \
-Dgi_cross_pkgconfig_sysroot_path=${PKG_CONFIG_SYSROOT_DIR} \
${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dbuild_introspection_data=true', '-Dbuild_introspection_data=false', d)} \
${@'-Dgir_dir_prefix=${libdir}' if d.getVar('MULTILIBS') else ''} \
"
do_configure:prepend:class-native() {
# Tweak the native python scripts so that they don't refer to the
# full path of native python binary (the solution is taken from glib-2.0 recipe)
# This removes the risk of exceeding Linux kernel's shebang line limit (128 bytes)
sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in
}
do_configure:prepend:class-target() {
# Write out a qemu wrapper that will be given to gi-scanner so that it
# can run target helper binaries through that.
qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['\\$GIR_EXTRA_LIBS_PATH','.libs','$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}"
cat > ${B}/g-ir-scanner-qemuwrapper << EOF
#!/bin/sh
# Use a modules directory which doesn't exist so we don't load random things
# which may then get deleted (or their dependencies) and potentially segfault
export GIO_MODULE_DIR=${STAGING_LIBDIR}/gio/modules-dummy
$qemu_binary "\$@"
if [ \$? -ne 0 ]; then
echo "If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the recipe should help."
echo "(typically like this: GIR_EXTRA_LIBS_PATH=\"$""{B}/something/.libs\" )"
exit 1
fi
EOF
chmod +x ${B}/g-ir-scanner-qemuwrapper
# Write out a wrapper for g-ir-scanner itself, which will be used when building introspection files
# for glib-based packages. This wrapper calls the native version of the scanner, and tells it to use
# a qemu wrapper for running transient target binaries produced by the scanner, and an include directory
# from the target sysroot.
cat > ${B}/g-ir-scanner-wrapper << EOF
#!/bin/sh
# This prevents g-ir-scanner from writing cache data to user's HOME dir
export GI_SCANNER_DISABLE_CACHE=1
g-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 "\$@"
EOF
chmod +x ${B}/g-ir-scanner-wrapper
# Write out a wrapper for g-ir-compiler, which runs the target version of it through qemu.
# g-ir-compiler writes out the raw content of a C struct to disk, and therefore is architecture dependent.
cat > ${B}/g-ir-compiler-wrapper << EOF
#!/bin/sh
${STAGING_BINDIR}/g-ir-scanner-qemuwrapper ${STAGING_BINDIR}/g-ir-compiler "\$@"
EOF
chmod +x ${B}/g-ir-compiler-wrapper
# Write out a wrapper to use instead of ldd, which does not work when a binary is built
# for a different architecture
cat > ${B}/g-ir-scanner-lddwrapper << EOF
#!/bin/sh
\$OBJDUMP -p "\$@"
EOF
chmod +x ${B}/g-ir-scanner-lddwrapper
# Also tweak the target python scripts so that they don't refer to the
# native version of python binary (the solution is taken from glib-2.0 recipe)
sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in
}
do_compile:prepend() {
# Needed to run g-ir unit tests, which won't be able to find the built libraries otherwise
export GIR_EXTRA_LIBS_PATH=$B/.libs
}
do_install:prepend() {
# This prevents g-ir-scanner from writing cache data to $HOME
export GI_SCANNER_DISABLE_CACHE=1
}
# Our wrappers need to be available system-wide, because they will be used
# to build introspection files for all other gobject-based packages
do_install:append:class-target() {
install -d ${D}${bindir}/
install ${B}/g-ir-scanner-qemuwrapper ${D}${bindir}/
install ${B}/g-ir-scanner-wrapper ${D}${bindir}/
install ${B}/g-ir-compiler-wrapper ${D}${bindir}/
install ${B}/g-ir-scanner-lddwrapper ${D}${bindir}/
}
# we need target versions of introspection tools in sysroot so that they can be run via qemu
# when building introspection files in other packages
SYSROOT_DIRS:append:class-target = " ${bindir}"
SYSROOT_PREPROCESS_FUNCS:append:class-target = " gi_binaries_sysroot_preprocess"
gi_binaries_sysroot_preprocess() {
# Tweak the binary names in the introspection pkgconfig file, so that it
# picks up our wrappers which do the cross-compile and qemu magic.
sed -i \
-e "s|g_ir_scanner=.*|g_ir_scanner=${bindir}/g-ir-scanner-wrapper|" \
-e "s|g_ir_compiler=.*|g_ir_compiler=${bindir}/g-ir-compiler-wrapper|" \
${SYSROOT_DESTDIR}${libdir}/pkgconfig/gobject-introspection-1.0.pc
}
SYSROOT_PREPROCESS_FUNCS:append = " gi_ldsoconf_sysroot_preprocess"
gi_ldsoconf_sysroot_preprocess () {
mkdir -p ${SYSROOT_DESTDIR}${bindir}
dest=${SYSROOT_DESTDIR}${bindir}/postinst-ldsoconf-${PN}
echo "#!/bin/sh" > $dest
echo "mkdir -p ${STAGING_DIR_TARGET}${sysconfdir}" >> $dest
echo "echo ${base_libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest
echo "echo ${libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest
chmod 755 $dest
}
# Remove wrapper files from the package, only used for cross-compiling
PACKAGE_PREPROCESS_FUNCS += "gi_package_preprocess"
gi_package_preprocess() {
rm -f ${PKGD}${bindir}/g-ir-scanner-qemuwrapper
rm -f ${PKGD}${bindir}/g-ir-scanner-wrapper
rm -f ${PKGD}${bindir}/g-ir-compiler-wrapper
rm -f ${PKGD}${bindir}/g-ir-scanner-lddwrapper
}
SSTATE_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}"
# .typelib files are needed at runtime and so they go to the main package
FILES:${PN}:append = " ${libdir}/girepository-*/*.typelib"
# .gir files go to dev package, as they're needed for developing (but not for running)
# things that depends on introspection.
FILES:${PN}-dev:append = " ${datadir}/gir-*/*.gir ${libdir}/gir-*/*.gir"
FILES:${PN}-dev:append = " ${datadir}/gir-*/*.rnc"
# These are used by gobject-based packages
# to generate transient introspection binaries
FILES:${PN}-dev:append = " ${datadir}/gobject-introspection-1.0/gdump.c \
${datadir}/gobject-introspection-1.0/Makefile.introspection"
# These are used by dependent packages (e.g. pygobject) to build their
# testsuites.
FILES:${PN}-dev:append = " ${datadir}/gobject-introspection-1.0/tests/*.c \
${datadir}/gobject-introspection-1.0/tests/*.h"
FILES:${PN}-dbg += "${libdir}/gobject-introspection/giscanner/.debug/"
FILES:${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a"
# setuptools can be removed when upstream removes all uses of distutils
RDEPENDS:${PN} = "python3-pickle python3-xml python3-setuptools"
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,15 @@
SUMMARY = "GNOME desktop-wide GSettings schemas"
DESCRIPTION = "GSettings desktop-wide schemas contains a collection of \
GSettings schemas for settings shared by various components of a desktop."
HOMEPAGE = "https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas"
BUGTRACKER = "https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas/issues"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
DEPENDS = "glib-2.0"
inherit gnomebase gsettings gobject-introspection gettext
SRC_URI[archive.sha256sum] = "493a46a1161b6388d57aa72f632a79ce96c42d5ffbd1d0b00f496ec5876f8575"

View File

@@ -0,0 +1,154 @@
SUMMARY = "Multi-platform toolkit for creating GUIs"
DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites."
HOMEPAGE = "http://www.gtk.org"
BUGTRACKER = "https://bugzilla.gnome.org/"
SECTION = "libs"
DEPENDS = "glib-2.0 cairo pango atk jpeg libpng gdk-pixbuf gdk-pixbuf-native"
LICENSE = "LGPL-2.0-only & LGPL-2.0-or-later & LGPL-2.1-or-later"
inherit meson gettext pkgconfig gtk-doc update-alternatives gtk-immodules-cache gsettings features_check gobject-introspection
BBCLASSEXTEND = "native nativesdk"
GSETTINGS_PACKAGE:class-native = ""
# versions >= 3.90 are development versions, otherwise like upstream-version-is-even
UPSTREAM_CHECK_REGEX = "[^\d\.](?P<pver>3\.([1-8]?[02468])+(\.\d+)+)\.tar"
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
do_configure:prepend() {
# These files are generated by wayland-scanner but will race over modification
# time between the copies in the sysroot from wayland-protocols and the copy
# in the source tree. Solve the race by deleting so they need to be regenerated.
rm -f ${S}/modules/input/*-text-input-*.[ch]
}
GTKDOC_MESON_OPTION = 'gtk_doc'
EXTRA_OEMESON = "-Dxinerama=no -Dtests=false"
EXTRA_OEMESON:append:class-native = " -Ddemos=false -Dexamples=false"
PACKAGECONFIG ??= " \
${@bb.utils.filter('DISTRO_FEATURES', 'opengl x11', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl wayland', 'wayland', '', d)} \
"
PACKAGECONFIG:class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
PACKAGECONFIG[x11] = "-Dx11_backend=true,-Dx11_backend=false,at-spi2-atk fontconfig libx11 libxext libxcursor libxi libxdamage libxrandr libxrender libxcomposite libxfixes"
# this is provided by oe-core patch that removes epoxy/gl dependency from a X11 build
PACKAGECONFIG[opengl] = "-Dopengl=true,-Dopengl=false,libepoxy"
PACKAGECONFIG[wayland] = "-Dwayland_backend=true,-Dwayland_backend=false,wayland wayland-protocols libxkbcommon virtual/egl virtual/libgles2 wayland-native"
PACKAGECONFIG[cups] = ",,cups,cups gtk3-printbackend-cups"
PACKAGECONFIG[colord] = "-Dcolord=yes,-Dcolord=no,colord"
PACKAGECONFIG[cloudproviders] = "-Dcloudproviders=true,-Dcloudproviders=false,libcloudproviders"
PACKAGECONFIG[tracker3] = "-Dtracker3=true,-Dtracker3=false,tracker,tracker-miners"
prepare_gtk_scripts() {
mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0
# duplicate gtk-query-immodules for post install script update_gtk_immodules_cache
mkdir -p ${D}${libexecdir}
ln ${D}${bindir}/gtk-query-immodules-3.0 ${D}${libexecdir}/${MLPREFIX}gtk-query-immodules-3.0
}
do_install:append:class-target() {
prepare_gtk_scripts
}
do_install:append:class-nativesdk() {
prepare_gtk_scripts
}
do_install:append:class-native() {
create_wrapper ${D}/${bindir}/gtk-update-icon-cache \
GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
create_wrapper ${D}/${bindir}/gtk-encode-symbolic-svg \
GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
}
PROVIDES += "gtk-icon-utils"
PACKAGES =+ "${PN}-demo"
LIBV = "3.0.0"
FILES:${PN}-demo = "${bindir}/gtk3-demo \
${bindir}/gtk3-demo-application \
${bindir}/gtk3-icon-browser \
${bindir}/gtk3-widget-factory \
${datadir}/gtk-3.0/demo \
${datadir}/applications/gtk3-demo.desktop \
${datadir}/applications/gtk3-icon-browser.desktop \
${datadir}/applications/gtk3-widget-factory.desktop \
${datadir}/icons/hicolor/*/apps/gtk3-demo*.png \
${datadir}/icons/hicolor/*/apps/gtk3-widget-factory*.png"
FILES:${PN}:append = " ${bindir}/gtk-update-icon-cache-3.0 \
${bindir}/gtk-query-immodules-3.0 \
${bindir}/gtk-launch \
${datadir}/themes ${datadir}/gtk-3.0/emoji \
${sysconfdir} ${datadir}/glib-2.0/schemas/ \
${libdir}/gtk-3.0/${LIBV}/engines/libpixmap.so \
${libdir}/gtk-3.0/modules/*.so"
FILES:${PN}-dev += " \
${datadir}/gtk-3.0/gtkbuilder.rng \
${datadir}/gtk-3.0/include \
${datadir}/gtk-3.0/valgrind \
${datadir}/gettext/its \
${libdir}/gtk-3.0/include \
${libdir}/gtk-3.0/${LIBV}/loaders/*.la \
${libdir}/gtk-3.0/${LIBV}/immodules/*.la \
${libdir}/gtk-3.0/3.0.0/printbackends/*.la \
${libdir}/gtk-3.0/${LIBV}/engines/*.la \
${libdir}/gtk-3.0/modules/*.la \
${bindir}/gtk-builder-convert \
${bindir}/gtk-encode-symbolic-svg \
${bindir}/gtk-builder-tool \
${bindir}/gtk-query-settings \
"
GTKBASE_RRECOMMENDS ?= "liberation-fonts \
gdk-pixbuf-loader-png \
gdk-pixbuf-loader-jpeg \
gdk-pixbuf-loader-gif \
gdk-pixbuf-loader-xpm \
shared-mime-info \
adwaita-icon-theme-symbolic \
"
GTKBASE_RRECOMMENDS:class-native ?= "\
"
GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1"
RRECOMMENDS:${PN} = "${GTKBASE_RRECOMMENDS}"
RRECOMMENDS:${PN}:libc-glibc = "${GTKGLIBC_RRECOMMENDS}"
RDEPENDS:${PN}-dev += "${@bb.utils.contains("PACKAGECONFIG", "wayland", "wayland-protocols", "", d)}"
PACKAGES_DYNAMIC += "^gtk3-immodule-.* ^gtk3-printbackend-.*"
ALTERNATIVE:${PN} = "gtk-update-icon-cache"
ALTERNATIVE_TARGET[gtk-update-icon-cache] = "${bindir}/gtk-update-icon-cache-3.0"
ALTERNATIVE_PRIORITY = "30"
python populate_packages:prepend () {
import os.path
gtk_libdir = d.expand('${libdir}/gtk-3.0/${LIBV}')
immodules_root = os.path.join(gtk_libdir, 'immodules')
printmodules_root = os.path.join(gtk_libdir, 'printbackends');
immodules = do_split_packages(d, immodules_root, r'^im-(.*)\.so$', 'gtk3-immodule-%s', 'GTK input module for %s')
if immodules:
d.setVar("GTKIMMODULES_PACKAGES", " ".join(immodules))
do_split_packages(d, printmodules_root, r'^libprintbackend-(.*)\.so$', 'gtk3-printbackend-%s', 'GTK printbackend module for %s')
if (d.getVar('DEBIAN_NAMES')):
d.setVar(d.expand('PKG:${PN}'), '${MLPREFIX}libgtk-3.0')
}

View File

@@ -0,0 +1,738 @@
From 4a0716f04fb25b51b08e994bd5a900b2e7f7fed5 Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Fri, 16 Oct 2015 16:35:16 +0300
Subject: [PATCH] Do not try to initialize GL without libGL
_gdk_x11_screen_update_visuals_for_gl() will end up calling epoxys
GLX api which will exit() if libGL.so.1 is not present. We do not
want that to happen and we don't want every app to have to set
"GDK_GL=disabled" environment variable: so use #ifdef set based on
opengl distro feature.
Upstream is not interested in the fix as it is: Either epoxy should be
fixed (to not exit) or GTK+ possibly could do some additional probing
before calling epoxy APIs.
Upstream-Status: Denied
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
demos/gtk-demo/meson.build | 5 ++++-
docs/tools/meson.build | 7 +++++--
docs/tools/widgets.c | 6 +++++-
gdk/gdkconfig.h.meson | 1 +
gdk/gdkdisplay.c | 4 ++++
gdk/gdkgl.c | 10 ++++++++++
gdk/gdkglcontext.c | 6 ++++++
gdk/gdkwindow.c | 13 +++++++++++++
gdk/meson.build | 8 +++++++-
gdk/x11/gdkdisplay-x11.c | 6 +++++-
gdk/x11/gdkvisual-x11.c | 5 +++++
gdk/x11/gdkwindow-x11.c | 4 ++++
gdk/x11/gdkx-autocleanups.h | 2 ++
gdk/x11/gdkx.h | 2 ++
gdk/x11/meson.build | 7 +++++--
gtk/gtkglarea.c | 19 +++++++++++++++++++
gtk/inspector/general.c | 6 ++++++
meson.build | 17 ++++++++++++++---
meson_options.txt | 2 ++
tests/meson.build | 9 +++++++--
testsuite/gtk/objects-finalize.c | 2 ++
21 files changed, 128 insertions(+), 13 deletions(-)
diff --git a/demos/gtk-demo/meson.build b/demos/gtk-demo/meson.build
index 252da16d05..4b57cff6ac 100644
--- a/demos/gtk-demo/meson.build
+++ b/demos/gtk-demo/meson.build
@@ -28,7 +28,6 @@ demos = files([
'fishbowl.c',
'foreigndrawing.c',
'gestures.c',
- 'glarea.c',
'headerbar.c',
'hypertext.c',
'iconview.c',
@@ -87,6 +86,10 @@ elif harfbuzz_dep.found() and pangoft_dep.found()
gtkdemo_deps += [harfbuzz_dep, pangoft_dep]
endif
+if opengl_enabled
+ demos += files('glarea.c')
+endif
+
if os_unix
demos += files('pagesetup.c')
endif
diff --git a/docs/tools/meson.build b/docs/tools/meson.build
index 05621ee7ed..3d0a333b32 100644
--- a/docs/tools/meson.build
+++ b/docs/tools/meson.build
@@ -2,10 +2,13 @@ if x11_enabled
doc_shooter_sources = [
'shadow.c',
'shooter.c',
- 'widgets.c',
- '../../tests/gtkgears.c',
+ 'widgets.c'
]
+ if opengl_enabled
+ doc_shooter_sources += ['../../tests/gtkgears.c']
+ endif
+
doc_shooter = executable('doc-shooter', doc_shooter_sources,
include_directories: [ confinc, gdkinc, gtkinc, testinc, ],
dependencies: libgtk_dep)
diff --git a/docs/tools/widgets.c b/docs/tools/widgets.c
index 932daf1746..348807e133 100644
--- a/docs/tools/widgets.c
+++ b/docs/tools/widgets.c
@@ -8,7 +8,9 @@
#include <X11/Xatom.h>
#include <gdkx.h>
#include "widgets.h"
+#ifdef HAVE_OPENGL
#include "gtkgears.h"
+#endif
#define SMALL_WIDTH 240
#define SMALL_HEIGHT 75
@@ -1526,9 +1528,11 @@ create_gl_area (void)
widget = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (widget), GTK_SHADOW_IN);
+#ifdef HAVE_OPENGL
gears = gtk_gears_new ();
gtk_container_add (GTK_CONTAINER (widget), gears);
-
+#endif
+
info = new_widget_info ("glarea", widget, MEDIUM);
return info;
diff --git a/gdk/gdkconfig.h.meson b/gdk/gdkconfig.h.meson
index 7db19e0470..088651bafa 100644
--- a/gdk/gdkconfig.h.meson
+++ b/gdk/gdkconfig.h.meson
@@ -15,6 +15,7 @@ G_BEGIN_DECLS
#mesondefine GDK_WINDOWING_WAYLAND
#mesondefine GDK_WINDOWING_WIN32
#mesondefine GDK_WINDOWING_QUARTZ
+#mesondefine GDK_WITH_OPENGL
G_END_DECLS
diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c
index 748f54860c..04ef2c09d4 100644
--- a/gdk/gdkdisplay.c
+++ b/gdk/gdkdisplay.c
@@ -2420,7 +2420,11 @@ gboolean
gdk_display_make_gl_context_current (GdkDisplay *display,
GdkGLContext *context)
{
+#ifdef HAVE_OPENGL
return GDK_DISPLAY_GET_CLASS (display)->make_gl_context_current (display, context);
+#else
+ return FALSE;
+#endif
}
GdkRenderingMode
diff --git a/gdk/gdkgl.c b/gdk/gdkgl.c
index 9690077cc2..55f85ef605 100644
--- a/gdk/gdkgl.c
+++ b/gdk/gdkgl.c
@@ -21,8 +21,9 @@
#include "gdkglcontextprivate.h"
#include "gdkinternals.h"
-
+#ifdef HAVE_OPENGL
#include <epoxy/gl.h>
+#endif
#include <math.h>
#include <string.h>
@@ -36,6 +37,7 @@
g_object_ref (window), g_object_unref);
}
+#ifdef HAVE_OPENGL
static const char *
get_vertex_type_name (int type)
{
@@ -208,6 +210,7 @@
glUseProgram (paint_data->current_program->program);
}
}
+#endif
void
gdk_gl_texture_quads (GdkGLContext *paint_context,
@@ -216,6 +219,7 @@
GdkTexturedQuad *quads,
gboolean flip_colors)
{
+#ifdef HAVE_OPENGL
GdkGLContextPaintData *paint_data = gdk_gl_context_get_paint_data (paint_context);
GdkGLContextProgram *program;
GdkWindow *window = gdk_gl_context_get_window (paint_context);
@@ -289,6 +293,7 @@
glDisableVertexAttribArray (program->position_location);
glDisableVertexAttribArray (program->uv_location);
+#endif
}
/* x,y,width,height describes a rectangle in the gl render buffer
@@ -337,6 +342,7 @@
int width,
int height)
{
+#ifdef HAVE_OPENGL
GdkGLContext *paint_context, *current_context;
cairo_surface_t *image;
cairo_matrix_t matrix;
@@ -703,6 +709,7 @@
if (clip_region)
cairo_region_destroy (clip_region);
+#endif
}
/* This is always called with the paint context current */
@@ -710,6 +717,7 @@
gdk_gl_texture_from_surface (cairo_surface_t *surface,
cairo_region_t *region)
{
+#ifdef HAVE_OPENGL
GdkGLContext *paint_context;
cairo_surface_t *image;
double device_x_offset, device_y_offset;
@@ -810,4 +818,5 @@
glDisable (GL_SCISSOR_TEST);
glDeleteTextures (1, &texture_id);
+#endif
}
diff --git a/gdk/gdkglcontext.c b/gdk/gdkglcontext.c
index 3b23639e1c..1f04f8e0b2 100644
--- a/gdk/gdkglcontext.c
+++ b/gdk/gdkglcontext.c
@@ -85,7 +85,9 @@
#include "gdkintl.h"
#include "gdk-private.h"
+#ifdef HAVE_OPENGL
#include <epoxy/gl.h>
+#endif
typedef struct {
GdkDisplay *display;
@@ -243,6 +245,7 @@ gdk_gl_context_upload_texture (GdkGLContext *context,
int height,
guint texture_target)
{
+#ifdef HAVE_OPENGL
GdkGLContextPrivate *priv = gdk_gl_context_get_instance_private (context);
g_return_if_fail (GDK_IS_GL_CONTEXT (context));
@@ -286,6 +289,7 @@ gdk_gl_context_upload_texture (GdkGLContext *context,
glTexSubImage2D (texture_target, 0, 0, i, width, 1, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, (unsigned char*) data + (i * stride));
}
}
+#endif
}
static gboolean
@@ -774,6 +778,7 @@ gdk_gl_context_realize (GdkGLContext *context,
static void
gdk_gl_context_check_extensions (GdkGLContext *context)
{
+#ifdef HAVE_OPENGL
GdkGLContextPrivate *priv = gdk_gl_context_get_instance_private (context);
gboolean has_npot, has_texture_rectangle;
@@ -853,6 +858,7 @@ gdk_gl_context_check_extensions (GdkGLContext *context)
priv->use_texture_rectangle ? "yes" : "no"));
priv->extensions_checked = TRUE;
+#endif
}
/**
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index 727b0cf1f4..d4d91b0d16 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -45,7 +45,9 @@
#include <math.h>
+#ifdef HAVE_OPENGL
#include <epoxy/gl.h>
+#endif
/* for the use of round() */
#include "fallback-c89.c"
@@ -2844,6 +2846,13 @@ gdk_window_get_paint_gl_context (GdkWindow *window,
{
GError *internal_error = NULL;
+#ifndef HAVE_OPENGL
+ g_set_error_literal (error, GDK_GL_ERROR,
+ GDK_GL_ERROR_NOT_AVAILABLE,
+ _("GL support disabled with --disable-opengl"));
+ return NULL;
+#endif
+
if (_gdk_gl_flags & GDK_GL_DISABLE)
{
g_set_error_literal (error, GDK_GL_ERROR,
@@ -2979,6 +2988,7 @@ gdk_window_begin_paint_internal (GdkWindow *window,
}
else
{
+#ifdef HAVE_OPENGL
gdk_gl_context_make_current (context);
/* With gl we always need a surface to combine the gl
drawing with the native drawing. */
@@ -2993,6 +3003,7 @@ gdk_window_begin_paint_internal (GdkWindow *window,
glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
glViewport (0, 0, ww, wh);
+#endif
}
}
@@ -3056,6 +3067,7 @@ gdk_window_end_paint_internal (GdkWindow *window)
gdk_gl_context_make_current (window->gl_paint_context);
+#ifdef HAVE_OPENGL
if (!cairo_region_is_empty (opaque_region))
gdk_gl_texture_from_surface (window->current_paint.surface,
opaque_region);
@@ -3066,6 +3078,7 @@ gdk_window_end_paint_internal (GdkWindow *window)
window->current_paint.need_blend_region);
glDisable(GL_BLEND);
}
+#endif
cairo_region_destroy (opaque_region);
diff --git a/gdk/meson.build b/gdk/meson.build
index 4bb1bf2b6c..64172b8d3e 100644
--- a/gdk/meson.build
+++ b/gdk/meson.build
@@ -56,7 +56,6 @@ gdk_gir_public_headers = files(
'gdkdrawingcontext.h',
'gdkevents.h',
'gdkframetimings.h',
- 'gdkglcontext.h',
'gdkkeys.h',
'gdkkeysyms.h',
'gdkmain.h',
@@ -78,6 +77,12 @@ gdk_gir_public_headers = files(
'gdkwindow.h',
)
gdk_nogir_public_headers = [files('gdkkeysyms-compat.h')]
+if opengl_enabled
+gdk_gir_public_headers += files('gdkglcontext.h')
+else
+gdk_nogir_public_headers += files('gdkglcontext.h')
+endif
+
gdk_public_headers = gdk_gir_public_headers + gdk_nogir_public_headers
install_headers(gdk_public_headers, subdir : 'gtk-3.0/gdk')
@@ -166,6 +171,7 @@ gdkconfig_cdata.set('GDK_WINDOWING_WAYLAND', wayland_enabled)
gdkconfig_cdata.set('GDK_WINDOWING_WIN32', win32_enabled)
gdkconfig_cdata.set('GDK_WINDOWING_BROADWAY', broadway_enabled)
gdkconfig_cdata.set('GDK_WINDOWING_QUARTZ', quartz_enabled)
+gdkconfig_cdata.set('GDK_WITH_OPENGL', opengl_enabled)
gdkconfig = configure_file(
input : 'gdkconfig.h.meson',
diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
index 7e08f472cc..30fd7b6089 100644
--- a/gdk/x11/gdkdisplay-x11.c
+++ b/gdk/x11/gdkdisplay-x11.c
@@ -37,7 +37,9 @@
#include "gdkdisplay-x11.h"
#include "gdkprivate-x11.h"
#include "gdkscreen-x11.h"
+#ifdef HAVE_OPENGL
#include "gdkglcontext-x11.h"
+#endif
#include "gdk-private.h"
#include "gdkprofilerprivate.h"
@@ -3191,7 +3193,9 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class)
display_class->text_property_to_utf8_list = _gdk_x11_display_text_property_to_utf8_list;
display_class->utf8_to_string_target = _gdk_x11_display_utf8_to_string_target;
- display_class->make_gl_context_current = gdk_x11_display_make_gl_context_current;
+#ifdef HAVE_OPENGL
+ display_class->make_gl_context_current = gdk_x11_display_make_gl_context_current;
+#endif
display_class->get_default_seat = gdk_x11_display_get_default_seat;
diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c
index 81479d81f4..3c8c5c02ff 100644
--- a/gdk/x11/gdkvisual-x11.c
+++ b/gdk/x11/gdkvisual-x11.c
@@ -306,7 +306,12 @@ _gdk_x11_screen_init_visuals (GdkScreen *screen)
/* If GL is available we want to pick better default/rgba visuals,
as we care about glx details such as alpha/depth/stencil depth,
stereo and double buffering */
+ /* update_visuals_for_gl() will end up calling epoxy GLX api which
+ will exit if libgl is not there: so only do this if we know GL
+ is available */
+#ifdef HAVE_GLX
_gdk_x11_screen_update_visuals_for_gl (screen);
+#endif
}
gint
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
index 194bc82e29..0302bb68d4 100644
--- a/gdk/x11/gdkwindow-x11.c
+++ b/gdk/x11/gdkwindow-x11.c
@@ -36,7 +36,9 @@
#include "gdkasync.h"
#include "gdkeventsource.h"
#include "gdkdisplay-x11.h"
+#ifdef HAVE_OPENGL
#include "gdkglcontext-x11.h"
+#endif
#include "gdkprivate-x11.h"
#include "gdk-private.h"
@@ -5888,7 +5890,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
impl_class->set_opaque_region = gdk_x11_window_set_opaque_region;
impl_class->set_shadow_width = gdk_x11_window_set_shadow_width;
impl_class->show_window_menu = gdk_x11_window_show_window_menu;
+#ifdef HAVE_OPENGL
impl_class->create_gl_context = gdk_x11_window_create_gl_context;
impl_class->invalidate_for_new_frame = gdk_x11_window_invalidate_for_new_frame;
+#endif
impl_class->get_unscaled_size = gdk_x11_window_get_unscaled_size;
}
diff --git a/gdk/x11/gdkx-autocleanups.h b/gdk/x11/gdkx-autocleanups.h
index edb0ea7dbf..a317d61cca 100644
--- a/gdk/x11/gdkx-autocleanups.h
+++ b/gdk/x11/gdkx-autocleanups.h
@@ -30,7 +30,9 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DeviceXI2, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Display, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DisplayManager, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DragContext, g_object_unref)
+#ifdef HAVE_OPENGL
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11GLContext, g_object_unref)
+#endif
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Keymap, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Screen, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Visual, g_object_unref)
diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h
index 1f64bccb6d..4db6c18351 100644
--- a/gdk/x11/gdkx.h
+++ b/gdk/x11/gdkx.h
@@ -43,7 +43,9 @@
#include <gdk/x11/gdkx11display.h>
#include <gdk/x11/gdkx11displaymanager.h>
#include <gdk/x11/gdkx11dnd.h>
+#ifdef GDK_WITH_OPENGL
#include <gdk/x11/gdkx11glcontext.h>
+#endif
#include <gdk/x11/gdkx11keys.h>
#include <gdk/x11/gdkx11monitor.h>
#include <gdk/x11/gdkx11property.h>
diff --git a/gdk/x11/meson.build b/gdk/x11/meson.build
index 754ae0a615..0318c83877 100644
--- a/gdk/x11/meson.build
+++ b/gdk/x11/meson.build
@@ -14,7 +14,6 @@ gdk_x11_sources = files(
'gdkeventsource.c',
'gdkeventtranslator.c',
'gdkgeometry-x11.c',
- 'gdkglcontext-x11.c',
'gdkkeys-x11.c',
'gdkmain-x11.c',
'gdkproperty-x11.c',
@@ -42,7 +41,6 @@ gdk_x11_public_headers = files(
'gdkx11display.h',
'gdkx11displaymanager.h',
'gdkx11dnd.h',
- 'gdkx11glcontext.h',
'gdkx11keys.h',
'gdkx11monitor.h',
'gdkx11property.h',
@@ -53,6 +51,11 @@ gdk_x11_public_headers = files(
'gdkx11window.h',
)
+if opengl_enabled
+ gdk_x11_sources += files('gdkglcontext-x11.c')
+ gdk_x11_public_headers += files('gdkx11glcontext.h')
+endif
+
install_headers(gdk_x11_public_headers, subdir: 'gtk-3.0/gdk/x11/')
install_headers('gdkx.h', subdir: 'gtk-3.0/gdk/')
diff --git a/gtk/gtkglarea.c b/gtk/gtkglarea.c
index 802303ea9f..6439d7745d 100644
--- a/gtk/gtkglarea.c
+++ b/gtk/gtkglarea.c
@@ -29,7 +29,9 @@
#include "gtkprivate.h"
#include "gtkrender.h"
+#ifdef HAVE_OPENGL
#include <epoxy/gl.h>
+#endif
/**
* SECTION:gtkglarea
@@ -369,9 +371,12 @@ gtk_gl_area_real_create_context (GtkGLArea *area)
static void
gtk_gl_area_resize (GtkGLArea *area, int width, int height)
{
+#ifdef HAVE_OPENGL
glViewport (0, 0, width, height);
+#endif
}
+#ifdef HAVE_OPENGL
/*
* Creates all the buffer objects needed for rendering the scene
*/
@@ -483,6 +488,7 @@ gtk_gl_area_allocate_buffers (GtkGLArea *area)
priv->needs_render = TRUE;
}
+#endif
/**
* gtk_gl_area_attach_buffers:
@@ -501,6 +507,7 @@ gtk_gl_area_allocate_buffers (GtkGLArea *area)
void
gtk_gl_area_attach_buffers (GtkGLArea *area)
{
+#ifdef HAVE_OPENGL
GtkGLAreaPrivate *priv = gtk_gl_area_get_instance_private (area);
g_return_if_fail (GTK_IS_GL_AREA (area));
@@ -533,11 +540,13 @@ gtk_gl_area_attach_buffers (GtkGLArea *area)
glFramebufferRenderbuffer (GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT,
GL_RENDERBUFFER, priv->depth_stencil_buffer);
}
+#endif
}
static void
gtk_gl_area_delete_buffers (GtkGLArea *area)
{
+#ifdef HAVE_OPENGL
GtkGLAreaPrivate *priv = gtk_gl_area_get_instance_private (area);
if (priv->context == NULL)
@@ -569,6 +578,7 @@ gtk_gl_area_delete_buffers (GtkGLArea *area)
glDeleteFramebuffers (1, &priv->frame_buffer);
priv->frame_buffer = 0;
}
+#endif
}
static void
@@ -679,6 +689,7 @@ gtk_gl_area_draw (GtkWidget *widget,
GtkGLArea *area = GTK_GL_AREA (widget);
GtkGLAreaPrivate *priv = gtk_gl_area_get_instance_private (area);
gboolean unused;
+#ifdef HAVE_OPENGL
int w, h, scale;
GLenum status;
@@ -736,6 +747,14 @@ gtk_gl_area_draw (GtkWidget *widget,
}
return TRUE;
+#else
+ if (priv->error != NULL)
+ gtk_gl_area_draw_error_screen (area,
+ cr,
+ gtk_widget_get_allocated_width (widget),
+ gtk_widget_get_allocated_height (widget));
+ return FALSE;
+#endif
}
static gboolean
diff --git a/gtk/inspector/general.c b/gtk/inspector/general.c
index 4fd0c3039c..a8e59ed077 100644
--- a/gtk/inspector/general.c
+++ b/gtk/inspector/general.c
@@ -33,8 +33,10 @@
#ifdef GDK_WINDOWING_X11
#include "x11/gdkx.h"
+#ifdef HAVE_OPENGL
#include <epoxy/glx.h>
#endif
+#endif
#ifdef GDK_WINDOWING_WIN32
#include "win32/gdkwin32.h"
@@ -217,6 +219,7 @@ add_label_row (GtkInspectorGeneral *gen,
gtk_size_group_add_widget (GTK_SIZE_GROUP (gen->priv->labels), label);
}
+#ifdef HAVE_OPENGL
#ifdef GDK_WINDOWING_X11
static void
append_glx_extension_row (GtkInspectorGeneral *gen,
@@ -226,6 +229,7 @@ append_glx_extension_row (GtkInspectorGeneral *gen,
add_check_row (gen, GTK_LIST_BOX (gen->priv->gl_box), ext, epoxy_has_glx_extension (dpy, 0, ext), 0);
}
#endif
+#endif
#ifdef GDK_WINDOWING_WAYLAND
static void
@@ -275,6 +279,7 @@ wayland_get_display (struct wl_display *wl_display)
static void
init_gl (GtkInspectorGeneral *gen)
{
+#ifdef HAVE_OPENGL
#ifdef GDK_WINDOWING_X11
if (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))
{
@@ -301,6 +306,7 @@ init_gl (GtkInspectorGeneral *gen)
}
else
#endif
+#endif
#ifdef GDK_WINDOWING_WAYLAND
if (GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ()))
{
diff --git a/meson.build b/meson.build
index aed48fc3f6..bfc33af0f6 100644
--- a/meson.build
+++ b/meson.build
@@ -137,6 +137,7 @@ wayland_enabled = get_option('wayland_backend')
broadway_enabled = get_option('broadway_backend')
quartz_enabled = get_option('quartz_backend')
win32_enabled = get_option('win32_backend')
+opengl_enabled = get_option('opengl')
os_unix = false
os_linux = false
@@ -430,7 +431,7 @@ pangocairo_dep = dependency('pangocairo', version: cairo_req,
fallback : ['pango', 'libpangocairo_dep'])
pixbuf_dep = dependency('gdk-pixbuf-2.0', version: gdk_pixbuf_req,
fallback : ['gdk-pixbuf', 'gdkpixbuf_dep'])
-epoxy_dep = dependency('epoxy', version: epoxy_req,
+epoxy_dep = dependency('epoxy', version: epoxy_req, required: opengl_enabled,
fallback: ['libepoxy', 'libepoxy_dep'])
atk_dep = dependency('atk', version: atk_req,
fallback : ['atk', 'libatk_dep'])
@@ -476,6 +477,10 @@ if tracker3_enabled
endif
endif
+if opengl_enabled
+ cdata.set('HAVE_OPENGL', 1)
+endif
+
if iso_codes_dep.found()
cdata.set_quoted('ISO_CODES_PREFIX', iso_codes_dep.get_variable(pkgconfig: 'prefix'))
else
@@ -912,9 +917,15 @@ else
gio_packages = ['gio-2.0', glib_req]
endif
+if opengl_enabled
+ epoxy_packages = ['epoxy', epoxy_req]
+else
+ epoxy_packages = []
+endif
+
pkgconf.set('GDK_PRIVATE_PACKAGES',
' '.join(gio_packages + x11_pkgs + wayland_pkgs + cairo_backends +
- ['epoxy', epoxy_req] + cloudproviders_packages +
+ epoxy_packages + cloudproviders_packages +
['fribidi', fribidi_req]))
gtk_packages = ' '.join([
@@ -928,7 +939,7 @@ pkgconf.set('GTK_PACKAGES', gtk_packages)
# Requires.private
pc_gdk_extra_libs += cairo_libs
-gtk_private_packages = atk_pkgs + wayland_pkgs + ['epoxy', epoxy_req, 'fribidi', fribidi_req]
+gtk_private_packages = atk_pkgs + wayland_pkgs + epoxy_packages + ['fribidi', fribidi_req]
if wayland_enabled or x11_enabled
gtk_private_packages += ['pangoft2']
endif
diff --git a/meson_options.txt b/meson_options.txt
index 94099aa01e..8bd096896d 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -19,6 +19,8 @@ option('profiler', type: 'boolean', value: false,
description : 'Enable profiler support')
option('tracker3', type: 'boolean', value: false,
description : 'Enable Tracker3 filechooser search')
+option('opengl', type: 'boolean', value: true,
+ description : 'Enable use of GL')
# Print backends
option('print_backends', type : 'string', value : 'auto',
diff --git a/tests/meson.build b/tests/meson.build
index 586fe2f45e..6ecf317dde 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -5,7 +5,6 @@ gtk_tests = [
['scrolling-performance', ['frame-stats.c', 'variable.c']],
['blur-performance', ['../gtk/gtkcairoblur.c']],
['flicker'],
- ['gdkgears', ['gtkgears.c']],
['listmodel'],
['motion-compression'],
['styleexamples'],
@@ -54,7 +53,6 @@ gtk_tests = [
['testfullscreen'],
['testgeometry'],
['testgiconpixbuf'],
- ['testglblending', ['gtkgears.c']],
['testgmenu'],
['testgrid'],
['testgrouping'],
@@ -137,6 +135,13 @@ if x11_enabled
]
endif
+if opengl_enabled
+ gtk_tests += [
+ ['gdkgears', ['gtkgears.c']],
+ ['testglblending', ['gtkgears.c']],
+ ]
+endif
+
if os_linux
gtk_tests += [['testfontchooserdialog']]
endif
diff --git a/testsuite/gtk/objects-finalize.c b/testsuite/gtk/objects-finalize.c
index 24540e313f..e0f863ab6a 100644
--- a/testsuite/gtk/objects-finalize.c
+++ b/testsuite/gtk/objects-finalize.c
@@ -116,7 +116,9 @@ main (int argc, char **argv)
all_types[i] != GDK_TYPE_X11_DEVICE_MANAGER_CORE &&
all_types[i] != GDK_TYPE_X11_DEVICE_MANAGER_XI2 &&
all_types[i] != GDK_TYPE_X11_DISPLAY_MANAGER &&
+#ifdef HAVE_OPENGL
all_types[i] != GDK_TYPE_X11_GL_CONTEXT &&
+#endif
#endif
/* Not allowed to finalize a GdkPixbufLoader without calling gdk_pixbuf_loader_close() */
all_types[i] != GDK_TYPE_PIXBUF_LOADER &&
--
2.30.2

View File

@@ -0,0 +1,17 @@
require gtk+3.inc
MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \
file://opengl.patch \
"
SRC_URI[sha256sum] = "47da61487af3087a94bc49296fd025ca0bc02f96ef06c556e7c8988bd651b6fa"
S = "${WORKDIR}/gtk+-${PV}"
LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \
file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \
file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1"
CVE_PRODUCT = "gnome:gtk"

View File

@@ -0,0 +1,135 @@
SUMMARY = "Multi-platform toolkit for creating GUIs"
DESCRIPTION = "GTK is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
set of widgets, GTK is suitable for projects ranging from small one-off projects to complete application suites."
HOMEPAGE = "http://www.gtk.org"
BUGTRACKER = "https://bugzilla.gnome.org/"
SECTION = "libs"
DEPENDS = " \
atk \
cairo \
fribidi \
gdk-pixbuf \
gdk-pixbuf-native \
gi-docgen \
glib-2.0 \
graphene \
harfbuzz \
jpeg \
libdrm \
libepoxy \
libpng \
librsvg \
libxkbcommon \
pango \
tiff \
"
LICENSE = "LGPL-2.0-only & LGPL-2.0-or-later & LGPL-2.1-or-later"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
file://gtk/gtk.h;endline=25;md5=61900d77e8d5bc67cf15ad93de9a3490 \
file://gdk/gdk.h;endline=25;md5=a0fb26c1f6b94e66d148279e192c333f \
file://tests/testgtk.c;endline=25;md5=49d06770681b8322466b52ed19d29fb2 \
"
MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
UPSTREAM_CHECK_REGEX = "gtk-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz"
SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk/${MAJ_VER}/gtk-${PV}.tar.xz"
SRC_URI[sha256sum] = "fcefb3f132f8cc4711a9efa5b353c9ae9bb5eeff0246fa74dbc2f2f839b9e308"
S = "${WORKDIR}/gtk-${PV}"
CVE_PRODUCT = "gnome:gtk"
inherit meson gettext pkgconfig gi-docgen update-alternatives gsettings features_check gobject-introspection
# TBD: nativesdk
# gobject-introspection.bbclass pins introspection off for nativesk. As long as
# we do not remove this wisdom or hack gtk4, it is not possible to build
# nativesdk-gtk4
BBCLASSEXTEND = "native"
GSETTINGS_PACKAGE:class-native = ""
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
REQUIRED_DISTRO_FEATURES = "opengl"
GTKDOC_MESON_OPTION = "documentation"
GIR_MESON_ENABLE_FLAG = 'enabled'
GIR_MESON_DISABLE_FLAG = 'disabled'
EXTRA_OEMESON = " -Dbuild-tests=false -Dbuild-testsuite=false -Dbuild-demos=false"
PACKAGECONFIG ??= "gstreamer ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11 vulkan', d)}"
PACKAGECONFIG:class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
PACKAGECONFIG[x11] = "-Dx11-backend=true,-Dx11-backend=false,at-spi2-atk fontconfig libx11 libxext libxcursor libxi libxdamage libxrandr libxrender libxcomposite libxfixes xinerama"
PACKAGECONFIG[wayland] = "-Dwayland-backend=true,-Dwayland-backend=false,wayland wayland-protocols virtual/egl virtual/libgles2 wayland-native"
PACKAGECONFIG[cloudproviders] = "-Dcloudproviders=enabled,-Dcloudproviders=disabled,libcloudproviders"
PACKAGECONFIG[cups] = "-Dprint-cups=enabled,-Dprint-cups=disabled,cups,cups gtk4-printbackend-cups"
PACKAGECONFIG[colord] = "-Dcolord=enabled,-Dcolord=disabled,colord"
PACKAGECONFIG[iso-codes] = ",,iso-codes,iso-codes"
# gtk4 wants gstreamer-player-1.0 -> gstreamer1.0-plugins-bad
PACKAGECONFIG[gstreamer] = "-Dmedia-gstreamer=enabled,-Dmedia-gstreamer=disabled,gstreamer1.0-plugins-bad"
PACKAGECONFIG[tracker] = "-Dtracker=enabled,-Dtracker=disabled,tracker,tracker-miners"
PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled, vulkan-loader vulkan-headers shaderc-native"
# Disable int-conversion warning as error until [1] is fixed
# [1] https://gitlab.gnome.org/GNOME/gtk/-/issues/6033
CFLAGS:append = " -Wno-error=int-conversion"
LIBV = "4.0.0"
FILES:${PN}:append = " \
${datadir}/glib-2.0/schemas/ \
${datadir}/gtk-4.0/emoji/ \
${datadir}/metainfo/ \
${datadir}/icons/hicolor/*/apps/org.gtk.PrintEditor4*.* \
${libdir}/gtk-4.0/${LIBV}/media \
${bindir}/gtk4-update-icon-cache \
${bindir}/gtk4-launch \
"
FILES:${PN}-dev += " \
${datadir}/gtk-4.0/gtk4builder.rng \
${datadir}/gtk-4.0/include \
${datadir}/gtk-4.0/valgrind \
${datadir}/gettext/its \
${bindir}/gtk4-builder-tool \
${bindir}/gtk4-encode-symbolic-svg \
${bindir}/gtk4-query-settings \
"
GTKBASE_RRECOMMENDS ?= " \
liberation-fonts \
gdk-pixbuf-loader-png \
gdk-pixbuf-loader-jpeg \
gdk-pixbuf-loader-gif \
gdk-pixbuf-loader-xpm \
shared-mime-info \
adwaita-icon-theme-symbolic \
"
GTKBASE_RRECOMMENDS:class-native ?= ""
GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1"
RRECOMMENDS:${PN} = "${GTKBASE_RRECOMMENDS}"
RRECOMMENDS:${PN}:libc-glibc = "${GTKGLIBC_RRECOMMENDS}"
RDEPENDS:${PN}-dev += "${@bb.utils.contains("PACKAGECONFIG", "wayland", "wayland-protocols", "", d)}"
PACKAGES_DYNAMIC += "^gtk4-printbackend-.*"
python populate_packages:prepend () {
import os.path
gtk_libdir = d.expand('${libdir}/gtk-4.0/${LIBV}')
printmodules_root = os.path.join(gtk_libdir, 'printbackends');
do_split_packages(d, printmodules_root, r'^libprintbackend-(.*)\.so$', 'gtk4-printbackend-%s', 'GTK printbackend module for %s')
if (d.getVar('DEBIAN_NAMES')):
d.setVar(d.expand('PKG:${PN}'), '${MLPREFIX}libgtk-4.0')
}

View File

@@ -0,0 +1,31 @@
From 8b7fbbb405959f2868ad6eadd7dd00018758a8a5 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Wed, 7 Sep 2016 14:52:04 +0300
Subject: [PATCH] Do not error out if xsltproc is not found.
This allows us to drop the hard xsltproc dependency, if we're not
going to actually run the gtkdoc scripts (when api documentation is
disabled).
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index b0c88d7..2a61d6e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -58,7 +58,7 @@ dnl Check for xsltproc
dnl
AC_PATH_PROG([XSLTPROC], [xsltproc])
if test -z "$XSLTPROC"; then
- AC_MSG_ERROR([xsltproc not found])
+ AC_MSG_WARN([xsltproc not found])
fi
dnl
--
2.9.3

View File

@@ -0,0 +1,139 @@
From 80e6aff72affa6d92f5abd7ff6353dfc4a7bff38 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Wed, 31 Aug 2016 16:44:46 +0300
Subject: [PATCH] Do not hardocode paths to perl/python in scripts.
Doing so when the interpreters are somewhere deep in a sysroot directory
can reach the shebang line limit, and resulting scripts wouldn't work
on targets either.
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
gtkdoc-check.in | 2 +-
gtkdoc-depscan.in | 2 +-
gtkdoc-fixxref.in | 2 +-
gtkdoc-mkdb.in | 2 +-
gtkdoc-mkhtml.in | 2 +-
gtkdoc-mkman.in | 2 +-
gtkdoc-mkpdf.in | 2 +-
gtkdoc-rebase.in | 2 +-
gtkdoc-scan.in | 2 +-
gtkdoc-scangobj.in | 2 +-
tests/tools.sh.in | 2 +-
11 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/gtkdoc-check.in b/gtkdoc-check.in
index 8c8e917..f6a25f6 100755
--- a/gtkdoc-check.in
+++ b/gtkdoc-check.in
@@ -1,4 +1,4 @@
-#!@PYTHON@
+#!/usr/bin/env python3
# -*- python; coding: utf-8 -*-
#
# gtk-doc - GTK DocBook documentation generator.
diff --git a/gtkdoc-depscan.in b/gtkdoc-depscan.in
index 9bfaf30..aadc952 100755
--- a/gtkdoc-depscan.in
+++ b/gtkdoc-depscan.in
@@ -1,4 +1,4 @@
-#!@PYTHON@
+#!/usr/bin/env python3
from __future__ import print_function
diff --git a/gtkdoc-fixxref.in b/gtkdoc-fixxref.in
index 44f6bd1..26fbd93 100755
--- a/gtkdoc-fixxref.in
+++ b/gtkdoc-fixxref.in
@@ -1,4 +1,4 @@
-#!@PYTHON@
+#!/usr/bin/env python3
# -*- python -*-
#
# gtk-doc - GTK DocBook documentation generator.
diff --git a/gtkdoc-mkdb.in b/gtkdoc-mkdb.in
index 42d5731..3a56d56 100755
--- a/gtkdoc-mkdb.in
+++ b/gtkdoc-mkdb.in
@@ -1,4 +1,4 @@
-#!@PYTHON@
+#!/usr/bin/env python3
# -*- python; coding: utf-8 -*-
#
# gtk-doc - GTK DocBook documentation generator.
diff --git a/gtkdoc-mkhtml.in b/gtkdoc-mkhtml.in
index 0d0a15d..914ff55 100755
--- a/gtkdoc-mkhtml.in
+++ b/gtkdoc-mkhtml.in
@@ -1,4 +1,4 @@
-#!@PYTHON@
+#!/usr/bin/env python3
# -*- python; coding: utf-8 -*-
#
# gtk-doc - GTK DocBook documentation generator.
diff --git a/gtkdoc-mkman.in b/gtkdoc-mkman.in
index c5445cd..65db71a 100755
--- a/gtkdoc-mkman.in
+++ b/gtkdoc-mkman.in
@@ -1,4 +1,4 @@
-#!@PYTHON@
+#!/usr/bin/env python3
# -*- python; coding: utf-8 -*-
#
# gtk-doc - GTK DocBook documentation generator.
diff --git a/gtkdoc-mkpdf.in b/gtkdoc-mkpdf.in
index e8c0c03..f807236 100755
--- a/gtkdoc-mkpdf.in
+++ b/gtkdoc-mkpdf.in
@@ -1,4 +1,4 @@
-#!@PYTHON@
+#!/usr/bin/env python3
# -*- python; coding: utf-8 -*-
#
# gtk-doc - GTK DocBook documentation generator.
diff --git a/gtkdoc-rebase.in b/gtkdoc-rebase.in
index 17a71c2..ec3fd28 100755
--- a/gtkdoc-rebase.in
+++ b/gtkdoc-rebase.in
@@ -1,4 +1,4 @@
-#!@PYTHON@
+#!/usr/bin/env python3
# -*- python -*-
#
# gtk-doc - GTK DocBook documentation generator.
diff --git a/gtkdoc-scan.in b/gtkdoc-scan.in
index 954c811..f461504 100755
--- a/gtkdoc-scan.in
+++ b/gtkdoc-scan.in
@@ -1,4 +1,4 @@
-#!@PYTHON@
+#!/usr/bin/env python3
# -*- python -*-
#
# gtk-doc - GTK DocBook documentation generator.
diff --git a/gtkdoc-scangobj.in b/gtkdoc-scangobj.in
index 4cbe130..52c2c24 100755
--- a/gtkdoc-scangobj.in
+++ b/gtkdoc-scangobj.in
@@ -1,4 +1,4 @@
-#!@PYTHON@
+#!/usr/bin/env python3
# -*- python -*-
#
# gtk-doc - GTK DocBook documentation generator.
diff --git a/tests/tools.sh.in b/tests/tools.sh.in
index 343844a..9dc6692 100644
--- a/tests/tools.sh.in
+++ b/tests/tools.sh.in
@@ -30,7 +30,7 @@ done
# TODO: also test the module files
for file in gtkdoc-check gtkdoc-depscan gtkdoc-fixxref gtkdoc-mkdb gtkdoc-mkhtml gtkdoc-mkhtml2 gtkdoc-mkman gtkdoc-mkpdf gtkdoc-rebase gtkdoc-scangobj; do
fullfile=`which $file`
- @PYTHON@ -m py_compile $fullfile
+ python3 -m py_compile $fullfile
if test $? != 0 ; then failed=`expr $failed + 1`; fi
tested=`expr $tested + 1`
done

View File

@@ -0,0 +1,24 @@
From 72dfeec0e49478b0bfb471c4155044391bad8e6c Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@arm.com>
Date: Fri, 8 Dec 2023 10:35:25 +0000
Subject: [PATCH] Don't use docdir from environment
Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gtk-doc/-/merge_requests/73]
Signed-off-by: Ross Burton <ross.burton@arm.com>
---
buildsystems/autotools/gtkdocize.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/buildsystems/autotools/gtkdocize.in b/buildsystems/autotools/gtkdocize.in
index 83127bf..76dcbfd 100755
--- a/buildsystems/autotools/gtkdocize.in
+++ b/buildsystems/autotools/gtkdocize.in
@@ -39,7 +39,7 @@ set - $args
# assume working directory if srcdir is not set
test "$srcdir" || srcdir=.
-test "$docdir" || docdir="$srcdir"
+docdir="$srcdir"
# detect configure script
no_configure_found=0

View File

@@ -0,0 +1,46 @@
From 78bbf185934147a69ceb4b617d424e12e70997bf Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Tue, 27 Jun 2017 21:00:58 +0100
Subject: [PATCH 3/3] gtk-doc: Handle floating gtk-doc dependency
Allow the tests to be explicitly disabled to avoid floating dependnecy
issues. This is not really an issue with RSS but is on previous releases.
RP 2017/6/27
Upstream-Status: Pending
---
configure.ac | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/configure.ac b/configure.ac
index 684e2d1..e5e3aab 100644
--- a/configure.ac
+++ b/configure.ac
@@ -146,6 +146,11 @@ if test "x$GCC" = "xyes"; then
fi
fi
+AC_ARG_ENABLE([tests],
+ AS_HELP_STRING([--enable-tests],
+ [enable tests (default=yes)]),,
+ [enable_tests="yes"])
+
dnl if glib is available we can enable the tests
PKG_CHECK_MODULES(TEST_DEPS, [glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0],
[ glib_prefix="`$PKG_CONFIG --variable=prefix glib-2.0`"
@@ -156,6 +161,11 @@ PKG_CHECK_MODULES(TEST_DEPS, [glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0],
build_tests="no"
]
)
+if test "x$enable_tests" != "xyes"; then
+ gtk_doc_use_libtool="no"
+ build_tests="no"
+fi
+
AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL" -a x$gtk_doc_use_libtool = xyes )
dnl this enables the rule in test/Makefile.am
AM_CONDITIONAL(BUILD_TESTS, test x$build_tests = xyes)
--
2.14.1

View File

@@ -0,0 +1,40 @@
From 8bc4c1f169f89bc5531da5b7e892b8f20e0f9a18 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Wed, 21 Mar 2018 14:47:29 +0000
Subject: [PATCH] gtk-doc: don't regenerate gtk-doc in do_install
In out-of-tree builds gtk-doc's setup-build target copies all the content from $srcdir to $builddir.
However, if some of this content is regenerated at configure time this can happen:
1) configure writes new build/version.xml
2) make compile copies content, including the tarball's src/version.xml
to build/version.xml, and generates gtk-doc.
3) make install notices build/version.xml is older than configure.status,
so regenerates gtk-doc.
gtk-doc generation is a slow process at the best of times, so doing it twice isn't good.
Solve this by changing cp --force to cp --no-clobber, so setup-build only copies
files which don't already exist.
Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=794571]
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
buildsystems/autotools/gtk-doc.make | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/buildsystems/autotools/gtk-doc.make b/buildsystems/autotools/gtk-doc.make
index 7d9a27f..8cb336d 100644
--- a/buildsystems/autotools/gtk-doc.make
+++ b/buildsystems/autotools/gtk-doc.make
@@ -111,7 +111,7 @@ setup-build.stamp:
destdir=`dirname $(abs_builddir)/$$file`; \
test -d "$$destdir" || mkdir -p "$$destdir"; \
test -f $(abs_srcdir)/$$file && \
- cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
+ cp -pn $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
done; \
fi; \
fi

View File

@@ -0,0 +1,42 @@
From ebb0f7313a0931f646e86badce2627eff2fa37a8 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Mon, 5 Sep 2016 22:25:44 +0100
Subject: [PATCH] Use native pkg-config when looking for gtk-doc.
Upstream-Status: Inappropriate
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
buildsystems/autotools/gtk-doc.m4 | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/buildsystems/autotools/gtk-doc.m4 b/buildsystems/autotools/gtk-doc.m4
index 2d12f01..e5afc3f 100644
--- a/buildsystems/autotools/gtk-doc.m4
+++ b/buildsystems/autotools/gtk-doc.m4
@@ -25,7 +25,7 @@
# Macro appear in them. The GNU General Public License (GPL) does govern
# all other use of the material that constitutes the Autoconf Macro.
-# serial 2
+# serial 2.1
dnl Usage:
dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
@@ -35,11 +35,16 @@ AC_DEFUN([GTK_DOC_CHECK],
AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
+ gtkdoc_pkgconfig_save=$PKG_CONFIG
+ PKG_CONFIG=pkg-config-native
+
ifelse([$1],[],[gtk_doc_requires="gtk-doc"],[gtk_doc_requires="gtk-doc >= $1"])
AC_MSG_CHECKING([for gtk-doc])
PKG_CHECK_EXISTS([$gtk_doc_requires],[have_gtk_doc=yes],[have_gtk_doc=no])
AC_MSG_RESULT($have_gtk_doc)
+ PKG_CONFIG=$gtkdoc_pkgconfig_save
+
if test "$have_gtk_doc" = "no"; then
AC_MSG_WARN([
You will not be able to create source packages with 'make dist'

View File

@@ -0,0 +1,65 @@
SUMMARY = "Documentation generator for glib-based software"
DESCRIPTION = "Gtk-doc is a set of scripts that extract specially formatted comments \
from glib-based software and produce a set of html documentation files from them"
HOMEPAGE = "https://www.gtk.org/docs/"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase
# Configure the scripts correctly (and build their dependencies) only if they are actually
# going to be used; otheriwse we need only the m4/makefile includes from the gtk-doc tarball.
PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "api-documentation", "working-scripts", "", d)}"
# This will cause target gtk-doc to hardcode paths of native dependencies
# into its scripts. This means that target gtk-doc package is broken;
# hopefully no one minds because its scripts are not used for anything during build
# and shouldn't be used on targets.
PACKAGECONFIG[working-scripts] = ",,libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets python3-pygments"
PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,glib-2.0"
CACHED_CONFIGUREVARS += "ac_cv_path_XSLTPROC=xsltproc"
SRC_URI[archive.sha256sum] = "cc1b709a20eb030a278a1f9842a362e00402b7f834ae1df4c1998a723152bf43"
SRC_URI += "file://0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch \
file://0001-Do-not-error-out-if-xsltproc-is-not-found.patch \
file://conditionaltests.patch \
file://no-clobber.patch \
file://0001-Don-t-use-docdir-from-environment.patch \
"
SRC_URI:append:class-native = " file://pkg-config-native.patch"
BBCLASSEXTEND = "native nativesdk"
# Do not check for XML catalogs when building because that
# information is not used for anything during build. Recipe
# dependencies make sure we have all the right bits.
do_configure:prepend() {
sed -i -e 's,^JH_CHECK_XML_CATALOG.*,,' ${S}/configure.ac
}
do_install:append () {
# configure values for python3 and pkg-config encoded in scripts
for fn in ${bindir}/gtkdoc-depscan \
${bindir}/gtkdoc-mkhtml2 \
${datadir}/gtk-doc/python/gtkdoc/config_data.py \
${datadir}/gtk-doc/python/gtkdoc/config.py; do
sed -e 's,${RECIPE_SYSROOT_NATIVE}/usr/bin/pkg-config,${bindir}/pkg-config,' \
-e 's,${HOSTTOOLS_DIR}/python3,${bindir}/python3,' \
-e '1s|^#!.*|#!/usr/bin/env python3|' \
-i ${D}$fn
done
}
FILES:${PN} += "${datadir}/sgml"
FILES:${PN}-doc = ""
SYSROOT_PREPROCESS_FUNCS:append:class-native = " gtkdoc_makefiles_sysroot_preprocess"
gtkdoc_makefiles_sysroot_preprocess() {
# Patch the gtk-doc makefiles so that the qemu wrapper is used to run transient binaries
# instead of libtool wrapper or running them directly
sed -i \
-e "s|GTKDOC_RUN =.*|GTKDOC_RUN = \$(top_builddir)/gtkdoc-qemuwrapper|" \
${SYSROOT_DESTDIR}${datadir}/gtk-doc/data/gtk-doc*make
}

View File

@@ -0,0 +1,18 @@
SUMMARY = "Default icon theme that all icon themes automatically inherit from"
DESCRIPTION = "The hicolor-icon-theme package contains a default fallback \
theme for implementations of the icon theme specification."
HOMEPAGE = "https://www.freedesktop.org/wiki/Software/icon-theme"
BUGTRACKER = "https://bugs.freedesktop.org/"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=f08a446809913fc9b3c718f0eaea0426"
SRC_URI = "https://icon-theme.freedesktop.org/releases/${BPN}-${PV}.tar.xz"
SRC_URI[md5sum] = "84eec8d6f810240a069c731f1870b474"
SRC_URI[sha256sum] = "317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8"
inherit allarch autotools
FILES:${PN} += "${datadir}/icons"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,3 @@
#! /bin/sh
gnome-desktop-testing-runner json-glib

View File

@@ -0,0 +1,31 @@
SUMMARY = "JSON-GLib implements a full JSON parser using GLib and GObject"
DESCRIPTION = "Use JSON-GLib it is possible to parse and generate valid JSON\
data structures, using a DOM-like API. JSON-GLib also offers GObject \
integration, providing the ability to serialize and deserialize GObject \
instances to and from JSON data types."
HOMEPAGE = "https://wiki.gnome.org/Projects/JsonGlib"
BUGTRACKER = "https://gitlab.gnome.org/GNOME/json-glib/issues"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
DEPENDS = "glib-2.0 glib-2.0-native"
inherit gnomebase lib_package gobject-introspection gi-docgen gettext ptest-gnome manpages upstream-version-is-even
GIR_MESON_ENABLE_FLAG = 'enabled'
GIR_MESON_DISABLE_FLAG = 'disabled'
GIDOCGEN_MESON_ENABLE_FLAG = 'enabled'
GIDOCGEN_MESON_DISABLE_FLAG = 'disabled'
SRC_URI += " file://run-ptest"
SRC_URI[archive.sha256sum] = "97ef5eb92ca811039ad50a65f06633f1aae64792789307be7170795d8b319454"
PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native"
PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false"
BBCLASSEXTEND = "native nativesdk"
# Currently it's not possible to disable gettext in Meson, so we need to force
# this back on.
USE_NLS:class-native = "yes"

View File

@@ -0,0 +1,26 @@
SUMMARY = "Building blocks for modern GNOME applications"
HOMEPAGE = "https://gitlab.gnome.org/GNOME/libadwaita"
LICENSE="LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
DEPENDS = " \
gtk4 \
appstream \
"
inherit gnomebase gobject-introspection gi-docgen vala features_check
SRC_URI[archive.sha256sum] = "c9faee005cb4912bce34f69f1af26b01a364534e12ede5d9bac44d8226d72c16"
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
REQUIRED_DISTRO_FEATURES = "opengl"
GIR_MESON_ENABLE_FLAG = 'enabled'
GIR_MESON_DISABLE_FLAG = 'disabled'
GTKDOC_MESON_OPTION = 'gtk_doc'
PACKAGECONFIG[examples] = "-Dexamples=true,-Dexamples=false"
FILES:${PN} += "${datadir}/metainfo"
EXTRA_OEMESON += "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dvapi=true', '-Dvapi=false', d)}"

View File

@@ -0,0 +1,18 @@
SUMMARY = "The libdazzle library is a companion library to GObject and Gtk+."
DESCRIPTION = "A wide range of components from utilities for GIO, widgets for \
GTK+, an animation framework, state machines, paneling and high-performance \
counters are included."
LICENSE = "GPL-3.0-or-later"
HOMEPAGE = "https://gitlab.gnome.org/GNOME/libdazzle"
BUGTRACKER = "https://gitlab.gnome.org/GNOME/libdazzle/issues"
LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a"
inherit gnomebase upstream-version-is-even vala features_check gobject-introspection
DEPENDS = "glib-2.0-native glib-2.0 gtk+3"
SRC_URI[archive.sha256sum] = "3cd3e45eb6e2680cb05d52e1e80dd8f9d59d4765212f0e28f78e6c1783d18eae"
GIR_MESON_OPTION = 'with_introspection'
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"

View File

@@ -0,0 +1,38 @@
From dc4fcfb1e1e2326a412b252314af3e9424a31457 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 16 Jan 2024 12:02:46 -0800
Subject: [PATCH] meson: Pass --export-dynamic option to linker
Bypass the compiler driver trying to comprehend and translate it for
linker, since its not clear what the right behavior should be, gcc seems
to translate it into --export-dynamic but clang 18+ rejects it
| x86_64-yoe-linux-clang: error: unknown argument: '-export-dynamic'
also see [1]
This makes it work as intended across gcc and clang
Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/libgudev/-/merge_requests/30]
[1] https://discourse.llvm.org/t/clang-option-export-dynamic-parse-to-e-xport-dynamic-error/72454
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
gudev/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gudev/meson.build b/gudev/meson.build
index e904203..3ed580b 100644
--- a/gudev/meson.build
+++ b/gudev/meson.build
@@ -33,7 +33,7 @@ libgudev_c_args = [
]
libgudev_link_args = [
- '-export-dynamic',
+ '-Wl,--export-dynamic',
'-Wl,--version-script,@0@/libgudev-1.0.sym'.format(top_srcdir),
]
--
2.43.0

View File

@@ -0,0 +1,34 @@
SUMMARY = "GObject wrapper for libudev"
DESCRIPTION = "This library makes it much simpler to use libudev from programs \
already using GObject. It also makes it possible to easily use libudev from \
other programming languages, such as Javascript, because of GObject \
introspection support."
HOMEPAGE = "https://wiki.gnome.org/Projects/libgudev"
BUGTRACKER = "https://gitlab.gnome.org/GNOME/libgudev/issues"
SRC_URI[archive.sha256sum] = "61266ab1afc9d73dbc60a8b2af73e99d2fdff47d99544d085760e4fa667b5dd1"
DEPENDS = "glib-2.0 glib-2.0-native udev"
RCONFLICTS:${PN} = "systemd (<= 220)"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
inherit gnomebase gobject-introspection gtk-doc
SRC_URI += "file://0001-meson-Pass-export-dynamic-option-to-linker.patch"
GIR_MESON_ENABLE_FLAG = 'enabled'
GIR_MESON_DISABLE_FLAG = 'disabled'
GTKDOC_MESON_OPTION = "gtk_doc"
UPSTREAM_CHECK_URI = "http://ftp.gnome.org/pub/GNOME/sources/libgudev/"
UPSTREAM_CHECK_REGEX = "(?P<pver>(\d+))"
EXTRA_OEMESON += "-Dtests=disabled -Dvapi=disabled"
# This isn't a GNOME-style version do gnome_verdir fails. Just return the
# version as that is how the directory is structured.
def gnome_verdir(v):
return v

View File

@@ -0,0 +1,27 @@
SUMMARY = "A library full of GTK+ widgets for mobile phones"
DESCRIPTION = "Library with GTK widgets for mobile phones. Libhandy provides \
GTK widgets and GObjects to ease developing applications for mobile phones. \
It was developed by Purism (and used by several official GNOME projects) \
to extend Gtk by providing mobile-friendly widgets and make the creation of \
responsive apps easier."
HOMEPAGE = "https://gitlab.gnome.org/GNOME/libhandy"
BUGTRACKER = "https://gitlab.gnome.org/GNOME/libhandy/-/issues"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
SRC_URI = "git://gitlab.gnome.org/GNOME/libhandy.git;protocol=https;branch=libhandy-1-8"
SRCREV = "9b0071408ce86a3ef843806fddd723a85f6f2416"
S = "${WORKDIR}/git"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.(\d*[02468])+(\.\d+))"
GIR_MESON_ENABLE_FLAG = 'enabled'
GIR_MESON_DISABLE_FLAG = 'disabled'
inherit meson gobject-introspection vala gettext gi-docgen features_check pkgconfig
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
DEPENDS += "gtk+3"
PACKAGES =+ "${PN}-examples"
FILES:${PN}-examples = "${bindir}"

View File

@@ -0,0 +1,35 @@
SUMMARY = "Library for sending desktop notifications to a notification daemon"
DESCRIPTION = "It sends desktop notifications to a notification daemon, as defined \
in the Desktop Notifications spec. These notifications can be used to inform \
the user about an event or display some form of information without getting \
in the user's way."
HOMEPAGE = "https://gitlab.gnome.org/GNOME/libnotify"
BUGTRACKER = "https://gitlab.gnome.org/GNOME/libnotify/issues"
SECTION = "libs"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
DEPENDS = "glib-2.0 glib-2.0-native gdk-pixbuf"
PACKAGECONFIG ?= ""
PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,gtk+3"
GIR_MESON_ENABLE_FLAG = "enabled"
GIR_MESON_DISABLE_FLAG = "disabled"
inherit gnomebase gi-docgen features_check gobject-introspection
# depends on gtk+3 if tests are enabled
ANY_OF_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'tests', '${GTK3DISTROFEATURES}', '', d)}"
SRC_URI[archive.sha256sum] = "ee8f3ef946156ad3406fdf45feedbdcd932dbd211ab4f16f75eba4f36fb2f6c0"
EXTRA_OEMESON = "-Dman=false"
# there were times, we had two versions of libnotify (oe-core libnotify:0.6.x /
# meta-gnome libnotify3: 0.7.x)
PROVIDES += "libnotify3"
RPROVIDES:${PN} += "libnotify3"
RCONFLICTS:${PN} += "libnotify3"
RREPLACES:${PN} += "libnotify3"
# -7381 is specific to the NodeJS bindings
CVE_STATUS[CVE-2013-7381] = "cpe-incorrect: The issue is specific to the NodeJS bindings"

View File

@@ -0,0 +1,49 @@
From 26f96a178f8a0afded00bdd7238728c0b6e42a6b Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Thu, 9 May 2024 18:44:41 +0000
Subject: [PATCH] meson.build: fix build race when building GTK vapi files
There's a build race when building the GTK vapi files:
FAILED: libportal/libportal-gtk4.vapi
error: Package `libportal' not found in specified Vala API directories or GObject-Introspection GIR directories
This can be verified by adding "sleep 10;" to the command for the
libportal/libportal.vapi target in the generated build.ninja file.
The GTK vapi files need to have access to the generic libportal.vapi file,
but there is no explicit dependency. Switch the dependency name 'libportal'
to the dependency object libportal_vapi so that Meson generates the
dependency correctly.
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@arm.com>
---
libportal/meson.build | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libportal/meson.build b/libportal/meson.build
index fff7603..4e67f40 100644
--- a/libportal/meson.build
+++ b/libportal/meson.build
@@ -168,7 +168,7 @@ if gtk3_dep.found()
if vapi
libportal_gtk3_vapi = gnome.generate_vapi('libportal-gtk3',
sources: libportal_gtk3_gir[0],
- packages: ['gio-2.0', 'gtk+-3.0', 'libportal'],
+ packages: ['gio-2.0', 'gtk+-3.0', libportal_vapi],
gir_dirs: [meson.current_build_dir()],
vapi_dirs: [meson.current_build_dir()],
install: true,
@@ -227,7 +227,7 @@ if gtk4_dep.found()
if vapi
libportal_gtk4_vapi = gnome.generate_vapi('libportal-gtk4',
sources: libportal_gtk4_gir[0],
- packages: ['gio-2.0', 'gtk4', 'libportal'],
+ packages: ['gio-2.0', 'gtk4', libportal_vapi],
gir_dirs: [meson.current_build_dir()],
vapi_dirs: [meson.current_build_dir()],
install: true,
--
2.34.1

View File

@@ -0,0 +1,21 @@
SUMMARY = "libportal provides GIO-style async APIs for most Flatpak portals."
DESCRIPTION = "It provides simple asynchronous wrappers for most Flatpak portals \
with a familiar GObject API along side the D-Bus API"
HOMEPAGE = "https://github.com/flatpak/libportal"
BUGTRACKER = "https://github.com/flatpak/libportal/issues"
LICENSE = "LGPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=3000208d539ec061b899bce1d9ce9404"
SRC_URI = "git://github.com/flatpak/${BPN}.git;protocol=https;branch=main \
file://0001-meson.build-fix-build-race-when-building-GTK-vapi-fi.patch"
SRCREV = "e9ed3a50cdde321eaf42361212480a66eb94a57a"
S = "${WORKDIR}/git"
inherit meson gi-docgen gobject-introspection vala features_check pkgconfig
GIDOCGEN_MESON_OPTION = 'docs'
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
DEPENDS += "glib-2.0 glib-2.0-native gtk+3 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gtk4', '', d)}"
EXTRA_OEMESON = "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dvapi=true', '-Dvapi=false', d)} -Dbackend-qt5=disabled"

View File

@@ -0,0 +1,546 @@
# Autogenerated with 'bitbake -c update_crates librsvg'
# from Cargo.lock
SRC_URI += " \
crate://crates.io/adler/1.0.2 \
crate://crates.io/aho-corasick/1.1.2 \
crate://crates.io/android-tzdata/0.1.1 \
crate://crates.io/android_system_properties/0.1.5 \
crate://crates.io/anes/0.1.6 \
crate://crates.io/anstream/0.6.5 \
crate://crates.io/anstyle/1.0.4 \
crate://crates.io/anstyle-parse/0.2.3 \
crate://crates.io/anstyle-query/1.0.2 \
crate://crates.io/anstyle-wincon/3.0.2 \
crate://crates.io/anyhow/1.0.75 \
crate://crates.io/approx/0.5.1 \
crate://crates.io/assert_cmd/2.0.12 \
crate://crates.io/autocfg/1.1.0 \
crate://crates.io/bit-set/0.5.3 \
crate://crates.io/bit-vec/0.6.3 \
crate://crates.io/bitflags/1.3.2 \
crate://crates.io/bitflags/2.4.1 \
crate://crates.io/block/0.1.6 \
crate://crates.io/bstr/1.8.0 \
crate://crates.io/bumpalo/3.14.0 \
crate://crates.io/bytemuck/1.14.0 \
crate://crates.io/byteorder/1.5.0 \
crate://crates.io/cairo-rs/0.18.3 \
crate://crates.io/cairo-sys-rs/0.18.2 \
crate://crates.io/cast/0.3.0 \
crate://crates.io/cc/1.0.83 \
crate://crates.io/cfg-expr/0.15.5 \
crate://crates.io/cfg-if/1.0.0 \
crate://crates.io/chrono/0.4.31 \
crate://crates.io/ciborium/0.2.1 \
crate://crates.io/ciborium-io/0.2.1 \
crate://crates.io/ciborium-ll/0.2.1 \
crate://crates.io/clap/4.4.11 \
crate://crates.io/clap_builder/4.4.11 \
crate://crates.io/clap_complete/4.4.4 \
crate://crates.io/clap_derive/4.4.7 \
crate://crates.io/clap_lex/0.6.0 \
crate://crates.io/colorchoice/1.0.0 \
crate://crates.io/const-cstr/0.3.0 \
crate://crates.io/core-foundation-sys/0.8.6 \
crate://crates.io/crc32fast/1.3.2 \
crate://crates.io/criterion/0.5.1 \
crate://crates.io/criterion-plot/0.5.0 \
crate://crates.io/crossbeam-deque/0.8.4 \
crate://crates.io/crossbeam-epoch/0.9.16 \
crate://crates.io/crossbeam-utils/0.8.17 \
crate://crates.io/cssparser/0.31.2 \
crate://crates.io/cssparser-macros/0.6.1 \
crate://crates.io/cstr/0.2.11 \
crate://crates.io/data-url/0.3.1 \
crate://crates.io/deranged/0.3.10 \
crate://crates.io/derive_more/0.99.17 \
crate://crates.io/difflib/0.4.0 \
crate://crates.io/dlib/0.5.2 \
crate://crates.io/doc-comment/0.3.3 \
crate://crates.io/dtoa/1.0.9 \
crate://crates.io/dtoa-short/0.3.4 \
crate://crates.io/either/1.9.0 \
crate://crates.io/encoding_rs/0.8.33 \
crate://crates.io/equivalent/1.0.1 \
crate://crates.io/errno/0.3.8 \
crate://crates.io/fastrand/2.0.1 \
crate://crates.io/fdeflate/0.3.1 \
crate://crates.io/flate2/1.0.28 \
crate://crates.io/float-cmp/0.9.0 \
crate://crates.io/fnv/1.0.7 \
crate://crates.io/form_urlencoded/1.2.1 \
crate://crates.io/futf/0.1.5 \
crate://crates.io/futures-channel/0.3.29 \
crate://crates.io/futures-core/0.3.29 \
crate://crates.io/futures-executor/0.3.29 \
crate://crates.io/futures-io/0.3.29 \
crate://crates.io/futures-macro/0.3.29 \
crate://crates.io/futures-task/0.3.29 \
crate://crates.io/futures-util/0.3.29 \
crate://crates.io/fxhash/0.2.1 \
crate://crates.io/gdk-pixbuf/0.18.3 \
crate://crates.io/gdk-pixbuf-sys/0.18.0 \
crate://crates.io/getrandom/0.2.11 \
crate://crates.io/gio/0.18.4 \
crate://crates.io/gio-sys/0.18.1 \
crate://crates.io/glib/0.18.4 \
crate://crates.io/glib-macros/0.18.3 \
crate://crates.io/glib-sys/0.18.1 \
crate://crates.io/gobject-sys/0.18.0 \
crate://crates.io/half/1.8.2 \
crate://crates.io/hashbrown/0.14.3 \
crate://crates.io/heck/0.4.1 \
crate://crates.io/hermit-abi/0.3.3 \
crate://crates.io/iana-time-zone/0.1.58 \
crate://crates.io/iana-time-zone-haiku/0.1.2 \
crate://crates.io/idna/0.5.0 \
crate://crates.io/indexmap/2.1.0 \
crate://crates.io/is-terminal/0.4.9 \
crate://crates.io/itertools/0.10.5 \
crate://crates.io/itertools/0.11.0 \
crate://crates.io/itoa/1.0.10 \
crate://crates.io/js-sys/0.3.66 \
crate://crates.io/language-tags/0.3.2 \
crate://crates.io/lazy_static/1.4.0 \
crate://crates.io/libc/0.2.151 \
crate://crates.io/libloading/0.8.1 \
crate://crates.io/libm/0.2.8 \
crate://crates.io/linked-hash-map/0.5.6 \
crate://crates.io/linux-raw-sys/0.4.12 \
crate://crates.io/locale_config/0.3.0 \
crate://crates.io/lock_api/0.4.11 \
crate://crates.io/log/0.4.20 \
crate://crates.io/lopdf/0.31.0 \
crate://crates.io/mac/0.1.1 \
crate://crates.io/malloc_buf/0.0.6 \
crate://crates.io/markup5ever/0.11.0 \
crate://crates.io/matches/0.1.10 \
crate://crates.io/matrixmultiply/0.3.8 \
crate://crates.io/md5/0.7.0 \
crate://crates.io/memchr/2.6.4 \
crate://crates.io/memoffset/0.9.0 \
crate://crates.io/minimal-lexical/0.2.1 \
crate://crates.io/miniz_oxide/0.7.1 \
crate://crates.io/nalgebra/0.32.3 \
crate://crates.io/nalgebra-macros/0.2.1 \
crate://crates.io/new_debug_unreachable/1.0.4 \
crate://crates.io/nom/7.1.3 \
crate://crates.io/normalize-line-endings/0.3.0 \
crate://crates.io/num-complex/0.4.4 \
crate://crates.io/num-integer/0.1.45 \
crate://crates.io/num-rational/0.4.1 \
crate://crates.io/num-traits/0.2.17 \
crate://crates.io/objc/0.2.7 \
crate://crates.io/objc-foundation/0.1.1 \
crate://crates.io/objc_id/0.1.1 \
crate://crates.io/once_cell/1.19.0 \
crate://crates.io/oorandom/11.1.3 \
crate://crates.io/pango/0.18.3 \
crate://crates.io/pango-sys/0.18.0 \
crate://crates.io/pangocairo/0.18.0 \
crate://crates.io/pangocairo-sys/0.18.0 \
crate://crates.io/parking_lot/0.12.1 \
crate://crates.io/parking_lot_core/0.9.9 \
crate://crates.io/paste/1.0.14 \
crate://crates.io/percent-encoding/2.3.1 \
crate://crates.io/phf/0.10.1 \
crate://crates.io/phf/0.11.2 \
crate://crates.io/phf_codegen/0.10.0 \
crate://crates.io/phf_generator/0.10.0 \
crate://crates.io/phf_generator/0.11.2 \
crate://crates.io/phf_macros/0.11.2 \
crate://crates.io/phf_shared/0.10.0 \
crate://crates.io/phf_shared/0.11.2 \
crate://crates.io/pin-project-lite/0.2.13 \
crate://crates.io/pin-utils/0.1.0 \
crate://crates.io/pkg-config/0.3.27 \
crate://crates.io/plotters/0.3.5 \
crate://crates.io/plotters-backend/0.3.5 \
crate://crates.io/plotters-svg/0.3.5 \
crate://crates.io/png/0.17.10 \
crate://crates.io/powerfmt/0.2.0 \
crate://crates.io/ppv-lite86/0.2.17 \
crate://crates.io/precomputed-hash/0.1.1 \
crate://crates.io/predicates/3.0.4 \
crate://crates.io/predicates-core/1.0.6 \
crate://crates.io/predicates-tree/1.0.9 \
crate://crates.io/proc-macro-crate/2.0.1 \
crate://crates.io/proc-macro-error/1.0.4 \
crate://crates.io/proc-macro-error-attr/1.0.4 \
crate://crates.io/proc-macro2/1.0.70 \
crate://crates.io/proptest/1.4.0 \
crate://crates.io/quick-error/1.2.3 \
crate://crates.io/quick-error/2.0.1 \
crate://crates.io/quote/1.0.33 \
crate://crates.io/rand/0.8.5 \
crate://crates.io/rand_chacha/0.3.1 \
crate://crates.io/rand_core/0.6.4 \
crate://crates.io/rand_xorshift/0.3.0 \
crate://crates.io/rawpointer/0.2.1 \
crate://crates.io/rayon/1.8.0 \
crate://crates.io/rayon-core/1.12.0 \
crate://crates.io/rctree/0.5.0 \
crate://crates.io/redox_syscall/0.4.1 \
crate://crates.io/regex/1.10.2 \
crate://crates.io/regex-automata/0.4.3 \
crate://crates.io/regex-syntax/0.8.2 \
crate://crates.io/rgb/0.8.37 \
crate://crates.io/rustix/0.38.28 \
crate://crates.io/rusty-fork/0.3.0 \
crate://crates.io/ryu/1.0.16 \
crate://crates.io/safe_arch/0.7.1 \
crate://crates.io/same-file/1.0.6 \
crate://crates.io/scopeguard/1.2.0 \
crate://crates.io/selectors/0.25.0 \
crate://crates.io/serde/1.0.193 \
crate://crates.io/serde_derive/1.0.193 \
crate://crates.io/serde_json/1.0.108 \
crate://crates.io/serde_spanned/0.6.4 \
crate://crates.io/servo_arc/0.3.0 \
crate://crates.io/simba/0.8.1 \
crate://crates.io/simd-adler32/0.3.7 \
crate://crates.io/siphasher/0.3.11 \
crate://crates.io/slab/0.4.9 \
crate://crates.io/smallvec/1.11.2 \
crate://crates.io/stable_deref_trait/1.2.0 \
crate://crates.io/string_cache/0.8.7 \
crate://crates.io/string_cache_codegen/0.5.2 \
crate://crates.io/strsim/0.10.0 \
crate://crates.io/syn/1.0.109 \
crate://crates.io/syn/2.0.41 \
crate://crates.io/system-deps/6.2.0 \
crate://crates.io/target-lexicon/0.12.12 \
crate://crates.io/tempfile/3.8.1 \
crate://crates.io/tendril/0.4.3 \
crate://crates.io/termtree/0.4.1 \
crate://crates.io/thiserror/1.0.50 \
crate://crates.io/thiserror-impl/1.0.50 \
crate://crates.io/time/0.3.30 \
crate://crates.io/time-core/0.1.2 \
crate://crates.io/time-macros/0.2.15 \
crate://crates.io/tinytemplate/1.2.1 \
crate://crates.io/tinyvec/1.6.0 \
crate://crates.io/tinyvec_macros/0.1.1 \
crate://crates.io/toml/0.8.2 \
crate://crates.io/toml_datetime/0.6.3 \
crate://crates.io/toml_edit/0.20.2 \
crate://crates.io/typenum/1.17.0 \
crate://crates.io/unarray/0.1.4 \
crate://crates.io/unicode-bidi/0.3.14 \
crate://crates.io/unicode-ident/1.0.12 \
crate://crates.io/unicode-normalization/0.1.22 \
crate://crates.io/url/2.5.0 \
crate://crates.io/utf-8/0.7.6 \
crate://crates.io/utf8parse/0.2.1 \
crate://crates.io/version-compare/0.1.1 \
crate://crates.io/version_check/0.9.4 \
crate://crates.io/wait-timeout/0.2.0 \
crate://crates.io/walkdir/2.4.0 \
crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \
crate://crates.io/wasm-bindgen/0.2.89 \
crate://crates.io/wasm-bindgen-backend/0.2.89 \
crate://crates.io/wasm-bindgen-macro/0.2.89 \
crate://crates.io/wasm-bindgen-macro-support/0.2.89 \
crate://crates.io/wasm-bindgen-shared/0.2.89 \
crate://crates.io/web-sys/0.3.66 \
crate://crates.io/weezl/0.1.7 \
crate://crates.io/wide/0.7.13 \
crate://crates.io/winapi/0.3.9 \
crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
crate://crates.io/winapi-util/0.1.6 \
crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
crate://crates.io/windows-core/0.51.1 \
crate://crates.io/windows-sys/0.48.0 \
crate://crates.io/windows-sys/0.52.0 \
crate://crates.io/windows-targets/0.48.5 \
crate://crates.io/windows-targets/0.52.0 \
crate://crates.io/windows_aarch64_gnullvm/0.48.5 \
crate://crates.io/windows_aarch64_gnullvm/0.52.0 \
crate://crates.io/windows_aarch64_msvc/0.48.5 \
crate://crates.io/windows_aarch64_msvc/0.52.0 \
crate://crates.io/windows_i686_gnu/0.48.5 \
crate://crates.io/windows_i686_gnu/0.52.0 \
crate://crates.io/windows_i686_msvc/0.48.5 \
crate://crates.io/windows_i686_msvc/0.52.0 \
crate://crates.io/windows_x86_64_gnu/0.48.5 \
crate://crates.io/windows_x86_64_gnu/0.52.0 \
crate://crates.io/windows_x86_64_gnullvm/0.48.5 \
crate://crates.io/windows_x86_64_gnullvm/0.52.0 \
crate://crates.io/windows_x86_64_msvc/0.48.5 \
crate://crates.io/windows_x86_64_msvc/0.52.0 \
crate://crates.io/winnow/0.5.28 \
crate://crates.io/xml5ever/0.17.0 \
crate://crates.io/yeslogic-fontconfig-sys/4.0.1 \
"
SRC_URI[adler-1.0.2.sha256sum] = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
SRC_URI[aho-corasick-1.1.2.sha256sum] = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
SRC_URI[android-tzdata-0.1.1.sha256sum] = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
SRC_URI[android_system_properties-0.1.5.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
SRC_URI[anes-0.1.6.sha256sum] = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
SRC_URI[anstream-0.6.5.sha256sum] = "d664a92ecae85fd0a7392615844904654d1d5f5514837f471ddef4a057aba1b6"
SRC_URI[anstyle-1.0.4.sha256sum] = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
SRC_URI[anstyle-parse-0.2.3.sha256sum] = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
SRC_URI[anstyle-query-1.0.2.sha256sum] = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
SRC_URI[anstyle-wincon-3.0.2.sha256sum] = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
SRC_URI[anyhow-1.0.75.sha256sum] = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
SRC_URI[approx-0.5.1.sha256sum] = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6"
SRC_URI[assert_cmd-2.0.12.sha256sum] = "88903cb14723e4d4003335bb7f8a14f27691649105346a0f0957466c096adfe6"
SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
SRC_URI[bit-set-0.5.3.sha256sum] = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
SRC_URI[bit-vec-0.6.3.sha256sum] = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
SRC_URI[bitflags-2.4.1.sha256sum] = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
SRC_URI[block-0.1.6.sha256sum] = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
SRC_URI[bstr-1.8.0.sha256sum] = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c"
SRC_URI[bumpalo-3.14.0.sha256sum] = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
SRC_URI[bytemuck-1.14.0.sha256sum] = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6"
SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
SRC_URI[cairo-rs-0.18.3.sha256sum] = "f33613627f0dea6a731b0605101fad59ba4f193a52c96c4687728d822605a8a1"
SRC_URI[cairo-sys-rs-0.18.2.sha256sum] = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51"
SRC_URI[cast-0.3.0.sha256sum] = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
SRC_URI[cc-1.0.83.sha256sum] = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
SRC_URI[cfg-expr-0.15.5.sha256sum] = "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3"
SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
SRC_URI[chrono-0.4.31.sha256sum] = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
SRC_URI[ciborium-0.2.1.sha256sum] = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926"
SRC_URI[ciborium-io-0.2.1.sha256sum] = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656"
SRC_URI[ciborium-ll-0.2.1.sha256sum] = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b"
SRC_URI[clap-4.4.11.sha256sum] = "bfaff671f6b22ca62406885ece523383b9b64022e341e53e009a62ebc47a45f2"
SRC_URI[clap_builder-4.4.11.sha256sum] = "a216b506622bb1d316cd51328dce24e07bdff4a6128a47c7e7fad11878d5adbb"
SRC_URI[clap_complete-4.4.4.sha256sum] = "bffe91f06a11b4b9420f62103854e90867812cd5d01557f853c5ee8e791b12ae"
SRC_URI[clap_derive-4.4.7.sha256sum] = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
SRC_URI[clap_lex-0.6.0.sha256sum] = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
SRC_URI[colorchoice-1.0.0.sha256sum] = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
SRC_URI[const-cstr-0.3.0.sha256sum] = "ed3d0b5ff30645a68f35ece8cea4556ca14ef8a1651455f789a099a0513532a6"
SRC_URI[core-foundation-sys-0.8.6.sha256sum] = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
SRC_URI[crc32fast-1.3.2.sha256sum] = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
SRC_URI[criterion-0.5.1.sha256sum] = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f"
SRC_URI[criterion-plot-0.5.0.sha256sum] = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
SRC_URI[crossbeam-deque-0.8.4.sha256sum] = "fca89a0e215bab21874660c67903c5f143333cab1da83d041c7ded6053774751"
SRC_URI[crossbeam-epoch-0.9.16.sha256sum] = "2d2fe95351b870527a5d09bf563ed3c97c0cffb87cf1c78a591bf48bb218d9aa"
SRC_URI[crossbeam-utils-0.8.17.sha256sum] = "c06d96137f14f244c37f989d9fff8f95e6c18b918e71f36638f8c49112e4c78f"
SRC_URI[cssparser-0.31.2.sha256sum] = "5b3df4f93e5fbbe73ec01ec8d3f68bba73107993a5b1e7519273c32db9b0d5be"
SRC_URI[cssparser-macros-0.6.1.sha256sum] = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
SRC_URI[cstr-0.2.11.sha256sum] = "8aa998c33a6d3271e3678950a22134cd7dd27cef86dee1b611b5b14207d1d90b"
SRC_URI[data-url-0.3.1.sha256sum] = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a"
SRC_URI[deranged-0.3.10.sha256sum] = "8eb30d70a07a3b04884d2677f06bec33509dc67ca60d92949e5535352d3191dc"
SRC_URI[derive_more-0.99.17.sha256sum] = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
SRC_URI[difflib-0.4.0.sha256sum] = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
SRC_URI[dlib-0.5.2.sha256sum] = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412"
SRC_URI[doc-comment-0.3.3.sha256sum] = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
SRC_URI[dtoa-1.0.9.sha256sum] = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653"
SRC_URI[dtoa-short-0.3.4.sha256sum] = "dbaceec3c6e4211c79e7b1800fb9680527106beb2f9c51904a3210c03a448c74"
SRC_URI[either-1.9.0.sha256sum] = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
SRC_URI[encoding_rs-0.8.33.sha256sum] = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
SRC_URI[equivalent-1.0.1.sha256sum] = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
SRC_URI[errno-0.3.8.sha256sum] = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
SRC_URI[fastrand-2.0.1.sha256sum] = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
SRC_URI[fdeflate-0.3.1.sha256sum] = "64d6dafc854908ff5da46ff3f8f473c6984119a2876a383a860246dd7841a868"
SRC_URI[flate2-1.0.28.sha256sum] = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
SRC_URI[float-cmp-0.9.0.sha256sum] = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
SRC_URI[form_urlencoded-1.2.1.sha256sum] = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
SRC_URI[futf-0.1.5.sha256sum] = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843"
SRC_URI[futures-channel-0.3.29.sha256sum] = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb"
SRC_URI[futures-core-0.3.29.sha256sum] = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c"
SRC_URI[futures-executor-0.3.29.sha256sum] = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc"
SRC_URI[futures-io-0.3.29.sha256sum] = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa"
SRC_URI[futures-macro-0.3.29.sha256sum] = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb"
SRC_URI[futures-task-0.3.29.sha256sum] = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2"
SRC_URI[futures-util-0.3.29.sha256sum] = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104"
SRC_URI[fxhash-0.2.1.sha256sum] = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
SRC_URI[gdk-pixbuf-0.18.3.sha256sum] = "446f32b74d22c33b7b258d4af4ffde53c2bf96ca2e29abdf1a785fe59bd6c82c"
SRC_URI[gdk-pixbuf-sys-0.18.0.sha256sum] = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7"
SRC_URI[getrandom-0.2.11.sha256sum] = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
SRC_URI[gio-0.18.4.sha256sum] = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73"
SRC_URI[gio-sys-0.18.1.sha256sum] = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2"
SRC_URI[glib-0.18.4.sha256sum] = "951bbd7fdc5c044ede9f05170f05a3ae9479239c3afdfe2d22d537a3add15c4e"
SRC_URI[glib-macros-0.18.3.sha256sum] = "72793962ceece3863c2965d7f10c8786323b17c7adea75a515809fa20ab799a5"
SRC_URI[glib-sys-0.18.1.sha256sum] = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898"
SRC_URI[gobject-sys-0.18.0.sha256sum] = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44"
SRC_URI[half-1.8.2.sha256sum] = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
SRC_URI[hashbrown-0.14.3.sha256sum] = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
SRC_URI[hermit-abi-0.3.3.sha256sum] = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
SRC_URI[iana-time-zone-0.1.58.sha256sum] = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20"
SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
SRC_URI[idna-0.5.0.sha256sum] = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
SRC_URI[indexmap-2.1.0.sha256sum] = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
SRC_URI[is-terminal-0.4.9.sha256sum] = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
SRC_URI[itertools-0.10.5.sha256sum] = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
SRC_URI[itertools-0.11.0.sha256sum] = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
SRC_URI[itoa-1.0.10.sha256sum] = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
SRC_URI[js-sys-0.3.66.sha256sum] = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
SRC_URI[language-tags-0.3.2.sha256sum] = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388"
SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
SRC_URI[libc-0.2.151.sha256sum] = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4"
SRC_URI[libloading-0.8.1.sha256sum] = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161"
SRC_URI[libm-0.2.8.sha256sum] = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
SRC_URI[linked-hash-map-0.5.6.sha256sum] = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
SRC_URI[linux-raw-sys-0.4.12.sha256sum] = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
SRC_URI[locale_config-0.3.0.sha256sum] = "08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934"
SRC_URI[lock_api-0.4.11.sha256sum] = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
SRC_URI[log-0.4.20.sha256sum] = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
SRC_URI[lopdf-0.31.0.sha256sum] = "07c8e1b6184b1b32ea5f72f572ebdc40e5da1d2921fa469947ff7c480ad1f85a"
SRC_URI[mac-0.1.1.sha256sum] = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
SRC_URI[malloc_buf-0.0.6.sha256sum] = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
SRC_URI[markup5ever-0.11.0.sha256sum] = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016"
SRC_URI[matches-0.1.10.sha256sum] = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
SRC_URI[matrixmultiply-0.3.8.sha256sum] = "7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2"
SRC_URI[md5-0.7.0.sha256sum] = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771"
SRC_URI[memchr-2.6.4.sha256sum] = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
SRC_URI[memoffset-0.9.0.sha256sum] = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
SRC_URI[miniz_oxide-0.7.1.sha256sum] = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
SRC_URI[nalgebra-0.32.3.sha256sum] = "307ed9b18cc2423f29e83f84fd23a8e73628727990181f18641a8b5dc2ab1caa"
SRC_URI[nalgebra-macros-0.2.1.sha256sum] = "91761aed67d03ad966ef783ae962ef9bbaca728d2dd7ceb7939ec110fffad998"
SRC_URI[new_debug_unreachable-1.0.4.sha256sum] = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
SRC_URI[normalize-line-endings-0.3.0.sha256sum] = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be"
SRC_URI[num-complex-0.4.4.sha256sum] = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214"
SRC_URI[num-integer-0.1.45.sha256sum] = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
SRC_URI[num-rational-0.4.1.sha256sum] = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
SRC_URI[num-traits-0.2.17.sha256sum] = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
SRC_URI[objc-0.2.7.sha256sum] = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
SRC_URI[objc-foundation-0.1.1.sha256sum] = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9"
SRC_URI[objc_id-0.1.1.sha256sum] = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b"
SRC_URI[once_cell-1.19.0.sha256sum] = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
SRC_URI[oorandom-11.1.3.sha256sum] = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
SRC_URI[pango-0.18.3.sha256sum] = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4"
SRC_URI[pango-sys-0.18.0.sha256sum] = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5"
SRC_URI[pangocairo-0.18.0.sha256sum] = "57036589a9cfcacf83f9e606d15813fc6bf03f0e9e69aa2b5e3bb85af86b38a5"
SRC_URI[pangocairo-sys-0.18.0.sha256sum] = "fc3c8ff676a37e7a72ec1d5fc029f91c407278083d2752784ff9f5188c108833"
SRC_URI[parking_lot-0.12.1.sha256sum] = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
SRC_URI[parking_lot_core-0.9.9.sha256sum] = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
SRC_URI[paste-1.0.14.sha256sum] = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
SRC_URI[percent-encoding-2.3.1.sha256sum] = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
SRC_URI[phf-0.10.1.sha256sum] = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
SRC_URI[phf-0.11.2.sha256sum] = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
SRC_URI[phf_codegen-0.10.0.sha256sum] = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd"
SRC_URI[phf_generator-0.10.0.sha256sum] = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
SRC_URI[phf_generator-0.11.2.sha256sum] = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
SRC_URI[phf_macros-0.11.2.sha256sum] = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b"
SRC_URI[phf_shared-0.10.0.sha256sum] = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
SRC_URI[phf_shared-0.11.2.sha256sum] = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
SRC_URI[pin-project-lite-0.2.13.sha256sum] = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
SRC_URI[pin-utils-0.1.0.sha256sum] = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
SRC_URI[pkg-config-0.3.27.sha256sum] = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
SRC_URI[plotters-0.3.5.sha256sum] = "d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45"
SRC_URI[plotters-backend-0.3.5.sha256sum] = "9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609"
SRC_URI[plotters-svg-0.3.5.sha256sum] = "38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab"
SRC_URI[png-0.17.10.sha256sum] = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64"
SRC_URI[powerfmt-0.2.0.sha256sum] = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
SRC_URI[precomputed-hash-0.1.1.sha256sum] = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
SRC_URI[predicates-3.0.4.sha256sum] = "6dfc28575c2e3f19cb3c73b93af36460ae898d426eba6fc15b9bd2a5220758a0"
SRC_URI[predicates-core-1.0.6.sha256sum] = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174"
SRC_URI[predicates-tree-1.0.9.sha256sum] = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf"
SRC_URI[proc-macro-crate-2.0.1.sha256sum] = "97dc5fea232fc28d2f597b37c4876b348a40e33f3b02cc975c8d006d78d94b1a"
SRC_URI[proc-macro-error-1.0.4.sha256sum] = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
SRC_URI[proc-macro-error-attr-1.0.4.sha256sum] = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
SRC_URI[proc-macro2-1.0.70.sha256sum] = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
SRC_URI[proptest-1.4.0.sha256sum] = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf"
SRC_URI[quick-error-1.2.3.sha256sum] = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
SRC_URI[quick-error-2.0.1.sha256sum] = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3"
SRC_URI[quote-1.0.33.sha256sum] = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
SRC_URI[rand_xorshift-0.3.0.sha256sum] = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f"
SRC_URI[rawpointer-0.2.1.sha256sum] = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
SRC_URI[rayon-1.8.0.sha256sum] = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
SRC_URI[rayon-core-1.12.0.sha256sum] = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
SRC_URI[rctree-0.5.0.sha256sum] = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f"
SRC_URI[redox_syscall-0.4.1.sha256sum] = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
SRC_URI[regex-1.10.2.sha256sum] = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
SRC_URI[regex-automata-0.4.3.sha256sum] = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
SRC_URI[regex-syntax-0.8.2.sha256sum] = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
SRC_URI[rgb-0.8.37.sha256sum] = "05aaa8004b64fd573fc9d002f4e632d51ad4f026c2b5ba95fcb6c2f32c2c47d8"
SRC_URI[rustix-0.38.28.sha256sum] = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316"
SRC_URI[rusty-fork-0.3.0.sha256sum] = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f"
SRC_URI[ryu-1.0.16.sha256sum] = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
SRC_URI[safe_arch-0.7.1.sha256sum] = "f398075ce1e6a179b46f51bd88d0598b92b00d3551f1a2d4ac49e771b56ac354"
SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
SRC_URI[selectors-0.25.0.sha256sum] = "4eb30575f3638fc8f6815f448d50cb1a2e255b0897985c8c59f4d37b72a07b06"
SRC_URI[serde-1.0.193.sha256sum] = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
SRC_URI[serde_derive-1.0.193.sha256sum] = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
SRC_URI[serde_json-1.0.108.sha256sum] = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
SRC_URI[serde_spanned-0.6.4.sha256sum] = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80"
SRC_URI[servo_arc-0.3.0.sha256sum] = "d036d71a959e00c77a63538b90a6c2390969f9772b096ea837205c6bd0491a44"
SRC_URI[simba-0.8.1.sha256sum] = "061507c94fc6ab4ba1c9a0305018408e312e17c041eb63bef8aa726fa33aceae"
SRC_URI[simd-adler32-0.3.7.sha256sum] = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
SRC_URI[siphasher-0.3.11.sha256sum] = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
SRC_URI[slab-0.4.9.sha256sum] = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
SRC_URI[smallvec-1.11.2.sha256sum] = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
SRC_URI[stable_deref_trait-1.2.0.sha256sum] = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
SRC_URI[string_cache-0.8.7.sha256sum] = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b"
SRC_URI[string_cache_codegen-0.5.2.sha256sum] = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988"
SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
SRC_URI[syn-2.0.41.sha256sum] = "44c8b28c477cc3bf0e7966561e3460130e1255f7a1cf71931075f1c5e7a7e269"
SRC_URI[system-deps-6.2.0.sha256sum] = "2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331"
SRC_URI[target-lexicon-0.12.12.sha256sum] = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a"
SRC_URI[tempfile-3.8.1.sha256sum] = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
SRC_URI[tendril-0.4.3.sha256sum] = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0"
SRC_URI[termtree-0.4.1.sha256sum] = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76"
SRC_URI[thiserror-1.0.50.sha256sum] = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
SRC_URI[thiserror-impl-1.0.50.sha256sum] = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
SRC_URI[time-0.3.30.sha256sum] = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5"
SRC_URI[time-core-0.1.2.sha256sum] = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
SRC_URI[time-macros-0.2.15.sha256sum] = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20"
SRC_URI[tinytemplate-1.2.1.sha256sum] = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
SRC_URI[tinyvec-1.6.0.sha256sum] = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
SRC_URI[tinyvec_macros-0.1.1.sha256sum] = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
SRC_URI[toml-0.8.2.sha256sum] = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d"
SRC_URI[toml_datetime-0.6.3.sha256sum] = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
SRC_URI[toml_edit-0.20.2.sha256sum] = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338"
SRC_URI[typenum-1.17.0.sha256sum] = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
SRC_URI[unarray-0.1.4.sha256sum] = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
SRC_URI[unicode-bidi-0.3.14.sha256sum] = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416"
SRC_URI[unicode-ident-1.0.12.sha256sum] = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
SRC_URI[unicode-normalization-0.1.22.sha256sum] = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
SRC_URI[url-2.5.0.sha256sum] = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
SRC_URI[utf-8-0.7.6.sha256sum] = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
SRC_URI[version-compare-0.1.1.sha256sum] = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29"
SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
SRC_URI[wait-timeout-0.2.0.sha256sum] = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6"
SRC_URI[walkdir-2.4.0.sha256sum] = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
SRC_URI[wasm-bindgen-0.2.89.sha256sum] = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
SRC_URI[wasm-bindgen-backend-0.2.89.sha256sum] = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
SRC_URI[wasm-bindgen-macro-0.2.89.sha256sum] = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
SRC_URI[wasm-bindgen-macro-support-0.2.89.sha256sum] = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
SRC_URI[wasm-bindgen-shared-0.2.89.sha256sum] = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
SRC_URI[web-sys-0.3.66.sha256sum] = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f"
SRC_URI[weezl-0.1.7.sha256sum] = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
SRC_URI[wide-0.7.13.sha256sum] = "c68938b57b33da363195412cfc5fc37c9ed49aa9cfe2156fde64b8d2c9498242"
SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
SRC_URI[winapi-util-0.1.6.sha256sum] = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
SRC_URI[windows-core-0.51.1.sha256sum] = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
SRC_URI[windows-targets-0.52.0.sha256sum] = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
SRC_URI[windows_aarch64_gnullvm-0.52.0.sha256sum] = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
SRC_URI[windows_aarch64_msvc-0.52.0.sha256sum] = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
SRC_URI[windows_i686_gnu-0.52.0.sha256sum] = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
SRC_URI[windows_i686_msvc-0.52.0.sha256sum] = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
SRC_URI[windows_x86_64_gnu-0.52.0.sha256sum] = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
SRC_URI[windows_x86_64_gnullvm-0.52.0.sha256sum] = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
SRC_URI[windows_x86_64_msvc-0.52.0.sha256sum] = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
SRC_URI[winnow-0.5.28.sha256sum] = "6c830786f7720c2fd27a1a0e27a709dbd3c4d009b56d098fc742d4f4eab91fe2"
SRC_URI[xml5ever-0.17.0.sha256sum] = "4034e1d05af98b51ad7214527730626f019682d797ba38b51689212118d8e650"
SRC_URI[yeslogic-fontconfig-sys-4.0.1.sha256sum] = "ec657fd32bbcbeaef5c7bc8e10b3db95b143fab8db0a50079773dbf936fd4f73"

View File

@@ -0,0 +1,44 @@
From d0f4f5b3ae900b9d092407e29b5372d93910c18c Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex@linutronix.de>
Date: Tue, 21 Sep 2021 16:27:14 +0200
Subject: [PATCH] Makefile.am: pass rust target to cargo also when not cross
compiling
Otherwise oe-core's native build doesn't work either.
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
Makefile.am | 2 --
configure.ac | 4 +---
2 files changed, 1 insertion(+), 5 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 2a89954..4e296d3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -173,9 +173,7 @@ else
CARGO_RELEASE_ARGS=--release
endif
-if CROSS_COMPILING
CARGO_TARGET_ARGS=--target=$(RUST_TARGET)
-endif
CARGO_VERBOSE = $(cargo_verbose_$(V))
cargo_verbose_ = $(cargo_verbose_$(AM_DEFAULT_VERBOSITY))
diff --git a/configure.ac b/configure.ac
index 42215cf..2499c96 100644
--- a/configure.ac
+++ b/configure.ac
@@ -292,9 +292,7 @@ AC_ARG_VAR(RUST_TARGET, [Set rust target (default=$host)])
: ${RUST_TARGET:=$host}
AM_CONDITIONAL([CROSS_COMPILING], [test "x$cross_compiling" = xyes])
-AS_IF([test "x$cross_compiling" = "xyes"], [
- RUST_TARGET_SUBDIR="$RUST_TARGET/$RUST_TARGET_SUBDIR"
-])
+RUST_TARGET_SUBDIR="$RUST_TARGET/$RUST_TARGET_SUBDIR"
AC_SUBST([RUST_TARGET_SUBDIR])
dnl ===========================================================================

View File

@@ -0,0 +1,40 @@
From df94cfa4a637c229fef32c349b5c2dfee2dca3fc Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@arm.com>
Date: Thu, 27 Jun 2024 17:09:11 +0100
Subject: [PATCH] Don't build rsvg-loader in cross builds
This binary is a non-installed test binary that isn't any use in cross builds, and
causes problems because it generates a gdk-pixbuf loader cache at build time using
a mix of host and target libraries.
As we don't install the binary, we can just not build it.
Upstream-Status: Inappropriate [upstream has moved to Meson]
Signed-off-by: Ross Burton <ross.burton@arm.com>
---
gdk-pixbuf-loader/Makefile.am | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gdk-pixbuf-loader/Makefile.am b/gdk-pixbuf-loader/Makefile.am
index 44df9c6c..fb417d24 100644
--- a/gdk-pixbuf-loader/Makefile.am
+++ b/gdk-pixbuf-loader/Makefile.am
@@ -30,6 +30,7 @@ if PLATFORM_WIN32
libpixbufloader_svg_la_LDFLAGS += -no-undefined
endif
+if !CROSS_COMPILING
noinst_PROGRAMS = rsvg-loader
rsvg_loader_SOURCES = \
@@ -52,6 +53,7 @@ EXTRA_rsvg_loader_DEPENDENCIES = libpixbufloader-svg.la gdk-pixbuf-loaders
gdk-pixbuf-loaders: Makefile
$(AM_V_GEN) ( $(GDK_PIXBUF_QUERYLOADERS) ./libpixbufloader-svg.la && GDK_PIXBUF_MODULEDIR=$(gdk_pixbuf_moduledir) $(GDK_PIXBUF_QUERYLOADERS)) > gdk-pixbuf.loaders 2>/dev/null
+endif
if CROSS_COMPILING
RUN_QUERY_LOADER_TEST=false
--
2.34.1

View File

@@ -0,0 +1,80 @@
SUMMARY = "Library for rendering SVG files"
DESCRIPTION = "A small library to render Scalable Vector Graphics (SVG), \
associated with the GNOME Project. It renders SVG files to Cairo surfaces. \
Cairo is the 2D, antialiased drawing library that GNOME uses to draw things to \
the screen or to generate output for printing."
HOMEPAGE = "https://gitlab.gnome.org/GNOME/librsvg"
BUGTRACKER = "https://gitlab.gnome.org/GNOME/librsvg/issues"
LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
"
SECTION = "x11/utils"
DEPENDS = "cairo gdk-pixbuf glib-2.0 libxml2 pango python3-docutils-native"
BBCLASSEXTEND = "native nativesdk"
GNOMEBASEBUILDCLASS = "autotools"
inherit cargo_common gnomebase pixbufcache gobject-introspection rust vala gi-docgen cargo-update-recipe-crates
require ${BPN}-crates.inc
SRC_URI += " \
file://0001-Makefile.am-pass-rust-target-to-cargo-also-when-not-.patch \
file://disable-rsvg-loader-test.patch \
"
SRC_URI[archive.sha256sum] = "074671a3ed6fbcd67cae2a40e539107f4f097ca8a4ab1a894c05e2524ff340ef"
UPSTREAM_CHECK_REGEX = "librsvg-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
# librsvg is still autotools-based, but is calling cargo from its automake-driven makefiles
# so we cannot use cargo class directly, but still need bits and pieces from it
# for cargo to be happy
BASEDEPENDS:append = " cargo-native"
export RUST_BACKTRACE = "full"
export RUSTFLAGS
export RUST_TARGET = "${RUST_HOST_SYS}"
RUSTFLAGS:append:mips = " --cfg crossbeam_no_atomic_64"
RUSTFLAGS:append:mipsel = " --cfg crossbeam_no_atomic_64"
RUSTFLAGS:append:powerpc = " --cfg crossbeam_no_atomic_64"
do_configure[postfuncs] += "cargo_common_do_configure"
inherit rust-target-config
# rust-cross writes the target linker binary into target json definition without any flags.
# This breaks here because the linker isn't going to work without at least knowing where
# the sysroot is. So copy the json to workdir, and patch in the path to wrapper from rust class
# which supplies the needed flags.
do_compile:prepend() {
sed -ie 's,"linker": ".*","linker": "${RUST_TARGET_CC}",g' ${RUST_TARGETS_DIR}/${RUST_HOST_SYS}.json
}
CVE_STATUS[CVE-2018-1000041] = "not-applicable-platform: Issue only applies on Windows"
CACHED_CONFIGUREVARS = "ac_cv_path_GDK_PIXBUF_QUERYLOADERS=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders"
PACKAGECONFIG ??= "gdkpixbuf"
PACKAGECONFIG:append:class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'vala', '', d)}"
# The gdk-pixbuf loader
PACKAGECONFIG[gdkpixbuf] = "--enable-pixbuf-loader,--disable-pixbuf-loader,gdk-pixbuf-native"
PACKAGECONFIG[vala] = "--enable-vala,--disable-vala"
do_install:append() {
# Loadable modules don't need .a or .la on Linux
rm -f ${D}${libdir}/gdk-pixbuf-2.0/*/loaders/*.a ${D}${libdir}/gdk-pixbuf-2.0/*/loaders/*.la
}
PACKAGES =+ "librsvg-gtk rsvg"
FILES:rsvg = "${bindir}/rsvg* \
${datadir}/pixmaps/svg-viewer.svg \
${datadir}/themes"
FILES:librsvg-gtk = "${libdir}/gdk-pixbuf-2.0/*/*/*.so \
${datadir}/thumbnailers/librsvg.thumbnailer"
RRECOMMENDS:librsvg-gtk = "gdk-pixbuf-bin"
PIXBUF_PACKAGES = "librsvg-gtk"

View File

@@ -0,0 +1,25 @@
SUMMARY = "libsecret is a library for storing and retrieving passwords and other secrets"
DESCRIPTION = "A GObject-based library for accessing the Secret Service API of \
the freedesktop.org project, a cross-desktop effort to access passwords, \
tokens and other types of secrets. libsecret provides a convenient wrapper \
for these methods so consumers do not have to call the low-level DBus methods."
LICENSE = "LGPL-2.1-only"
HOMEPAGE = "https://github.com/GNOME/libsecret"
BUGTRACKER = "https://gitlab.gnome.org/GNOME/libsecret/issues"
LIC_FILES_CHKSUM = "file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6"
inherit gnomebase gi-docgen vala gobject-introspection manpages
DEPENDS += "glib-2.0 libgcrypt gettext-native"
SRC_URI[archive.sha256sum] = "163d08d783be6d4ab9a979ceb5a4fecbc1d9660d3c34168c581301cd53912b20"
GTKDOC_MESON_OPTION = 'gtk_doc'
PACKAGECONFIG[manpages] = "-Dmanpage=true,-Dmanpage=false,libxslt-native xmlto-native"
# http://errors.yoctoproject.org/Errors/Details/20228/
ARM_INSTRUCTION_SET:armv4 = "arm"
ARM_INSTRUCTION_SET:armv5 = "arm"
ARM_INSTRUCTION_SET:armv6 = "arm"

View File

@@ -0,0 +1,35 @@
From dc208bafc57c1ccaa0ca260f99c8b4c976271ebc Mon Sep 17 00:00:00 2001
From: Markus Volk <f_l_k@t-online.de>
Date: Sat, 16 Sep 2023 14:02:57 +0200
Subject: [PATCH] xb-self-test.c: hardcode G_TEST_SRCDIR
This avoids:
libxmlb-0.3.14-r0 do_package_qa: QA Issue: File
/usr/libexec/installed-tests/libxmlb/xb-self-test in package libxmlb-ptest
contains reference to TMPDIR [buildpaths]
and also fixes the runtime for the ptest.
Upstream-Status: Inappropriate [oe-specific]
Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
src/xb-self-test.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/xb-self-test.c b/src/xb-self-test.c
index 47d9728..8b3dd0e 100644
--- a/src/xb-self-test.c
+++ b/src/xb-self-test.c
@@ -2870,7 +2870,7 @@ xb_speed_func(void)
int
main(int argc, char **argv)
{
- g_setenv("G_TEST_SRCDIR", SRCDIR, FALSE);
+ g_setenv("G_TEST_SRCDIR", "/usr/libexec/installed-tests/libxmlb", FALSE);
g_test_init(&argc, &argv, NULL);
--
2.41.0

View File

@@ -0,0 +1,3 @@
#! /bin/sh
gnome-desktop-testing-runner libxmlb

View File

@@ -0,0 +1,25 @@
SUMMARY = "A library to help create and query binary XML blobs"
HOMEPAGE = "https://github.com/hughsie/libxmlb"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1803fa9c2c3ce8cb06b4861d75310742"
SRC_URI = " \
git://github.com/hughsie/libxmlb.git;branch=main;protocol=https \
file://0001-xb-selftest.c-hardcode-G_TEST_SRCDIR.patch \
file://run-ptest \
"
SRCREV = "25a6384ad60f7e8550292e6cb4f262cc5da74be4"
S = "${WORKDIR}/git"
DEPENDS = "glib-2.0 xz zstd"
inherit gobject-introspection gtk-doc meson ptest-gnome lib_package pkgconfig
PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false"
GTKDOC_MESON_OPTION = "gtkdoc"
FILES:${PN} += "${datadir}"
BBCLASSEXTEND = "native"