diff options
Diffstat (limited to 'meta/recipes-gnome')
78 files changed, 1590 insertions, 2259 deletions
diff --git a/meta/recipes-gnome/epiphany/epiphany_3.30.2.bb b/meta/recipes-gnome/epiphany/epiphany_3.30.2.bb deleted file mode 100644 index 3dd699d4fe..0000000000 --- a/meta/recipes-gnome/epiphany/epiphany_3.30.2.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "WebKit based web browser for GNOME" -LICENSE = "GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -DEPENDS = "libsoup-2.4 webkitgtk gtk+3 iso-codes avahi libnotify gcr \ - gsettings-desktop-schemas libxml2-native \ - glib-2.0 glib-2.0-native json-glib libdazzle" - -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase gsettings distro_features_check upstream-version-is-even gettext -REQUIRED_DISTRO_FEATURES = "x11 opengl" - -SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \ - file://0002-help-meson.build-disable-the-use-of-yelp.patch \ - " -SRC_URI[archive.md5sum] = "1b7c072880562c33f52a3347a94bfe6c" -SRC_URI[archive.sha256sum] = "8c7ef1e51b9fa825a43a603265ce8b06cacc42229e9337c8611c357bc65a8104" - -EXTRA_OEMESON += " -Ddistributor_name=${DISTRO}" - -FILES_${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo" -RDEPENDS_${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas" diff --git a/meta/recipes-gnome/epiphany/epiphany_41.3.bb b/meta/recipes-gnome/epiphany/epiphany_41.3.bb new file mode 100644 index 0000000000..6dca6a7305 --- /dev/null +++ b/meta/recipes-gnome/epiphany/epiphany_41.3.bb @@ -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 \ + libarchive \ + libdazzle \ + libhandy \ + glib-2.0-native \ + " + +GNOMEBASEBUILDCLASS = "meson" +inherit gnomebase gsettings features_check gettext mime-xdg +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://bfbb5f7bab38301d8a4a444173acdae8d9692146.patch \ + file://migrator.patch \ + file://distributor.patch \ + " +SRC_URI[archive.sha256sum] = "ba01268ee54f318dfdac2e01eba38a3fc96940c1cbf640ed2613ae29f8bcb9ad" + +PACKAGECONFIG_SOUP ?= "soup2" +PACKAGECONFIG ??= "${PACKAGECONFIG_SOUP}" + +# Developer mode enables debugging +PACKAGECONFIG[developer-mode] = "-Ddeveloper_mode=true,-Ddeveloper_mode=false" +PACKAGECONFIG[soup2] = "-Dsoup2=enabled,-Dsoup2=disabled,libsoup-2.4,,,soup3" +PACKAGECONFIG[soup3] = ",,libsoup,,,soup2" +PACKAGECONFIG[libportal] = "-Dlibportal=enabled,-Dlibportal=disabled,libportal" + +FILES:${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo" +RDEPENDS:${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas" diff --git a/meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch b/meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch index d4f3cc1d35..a6c4f92c86 100644 --- a/meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch +++ b/meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch @@ -1,4 +1,4 @@ -From 0048ae2d225d25cc58f378718ca6f9ddb1a228f9 Mon Sep 17 00:00:00 2001 +From 77c9f87dc2b3ad0854a678e234e22dfb31902b82 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 @@ -13,11 +13,11 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/help/meson.build b/help/meson.build -index fddcf4c..f7d76c6 100644 +index ff324dd..f5e421d 100644 --- a/help/meson.build +++ b/help/meson.build -@@ -32,7 +32,7 @@ help_media = [ - 'media/web-browser.png' +@@ -31,7 +31,7 @@ help_media = [ + 'media/org.gnome.Epiphany.svg' ] -gnome.yelp(meson.project_name(), diff --git a/meta/recipes-gnome/epiphany/files/bfbb5f7bab38301d8a4a444173acdae8d9692146.patch b/meta/recipes-gnome/epiphany/files/bfbb5f7bab38301d8a4a444173acdae8d9692146.patch new file mode 100644 index 0000000000..f20975c3bd --- /dev/null +++ b/meta/recipes-gnome/epiphany/files/bfbb5f7bab38301d8a4a444173acdae8d9692146.patch @@ -0,0 +1,35 @@ +From bfbb5f7bab38301d8a4a444173acdae8d9692146 Mon Sep 17 00:00:00 2001 +From: rvalue <i@rvalue.moe> +Date: Wed, 24 Nov 2021 04:52:42 +0000 +Subject: [PATCH] Remove incorrect args for i18n.merge_file + +Part-of: <https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/1031> +Upstream-Status: Backport +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + data/meson.build | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/data/meson.build b/data/meson.build +index 46df3fd80..eac6b8224 100644 +--- a/data/meson.build ++++ b/data/meson.build +@@ -16,7 +16,6 @@ install_data( + desktop_conf = configuration_data() + desktop_conf.set('icon', application_id) + desktop = i18n.merge_file( +- 'desktop', + input: configure_file( + input: files('org.gnome.Epiphany.desktop.in.in'), + output: 'org.gnome.Epiphany.desktop.in', +@@ -32,7 +31,6 @@ desktop = i18n.merge_file( + appdata_conf = configuration_data() + appdata_conf.set('appid', application_id) + appdata = i18n.merge_file( +- 'appdata', + input: configure_file( + input: files('org.gnome.Epiphany.appdata.xml.in.in'), + output: 'org.gnome.Epiphany.appdata.xml.in', +-- +GitLab + diff --git a/meta/recipes-gnome/epiphany/files/distributor.patch b/meta/recipes-gnome/epiphany/files/distributor.patch new file mode 100644 index 0000000000..b09c9b38d2 --- /dev/null +++ b/meta/recipes-gnome/epiphany/files/distributor.patch @@ -0,0 +1,17 @@ +Don't encode the distro from /etc/os-release into the binaries. + +Upstream-Status: Pending +RP 2021/2/26 + +Index: epiphany-3.38.2/meson.build +=================================================================== +--- epiphany-3.38.2.orig/meson.build ++++ epiphany-3.38.2/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')) diff --git a/meta/recipes-gnome/epiphany/files/migrator.patch b/meta/recipes-gnome/epiphany/files/migrator.patch new file mode 100644 index 0000000000..a9a650a64a --- /dev/null +++ b/meta/recipes-gnome/epiphany/files/migrator.patch @@ -0,0 +1,24 @@ +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 + +Index: epiphany-3.38.2/lib/ephy-profile-utils.c +=================================================================== +--- epiphany-3.38.2.orig/lib/ephy-profile-utils.c ++++ epiphany-3.38.2/lib/ephy-profile-utils.c +@@ -130,10 +130,10 @@ ephy_profile_utils_do_migration (const c + 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, diff --git a/meta/recipes-gnome/gcr/gcr/0001-gcr-meson.build-fix-one-parallel-build-failure.patch b/meta/recipes-gnome/gcr/gcr/0001-gcr-meson.build-fix-one-parallel-build-failure.patch new file mode 100644 index 0000000000..81c4bdbbcc --- /dev/null +++ b/meta/recipes-gnome/gcr/gcr/0001-gcr-meson.build-fix-one-parallel-build-failure.patch @@ -0,0 +1,37 @@ +From cb3708bad88e713e4ccf705cb8c14c5996cd9d06 Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Fri, 23 Apr 2021 16:32:38 +0800 +Subject: [PATCH] gcr/meson.build: fix one parallel build failure + +ui/gcr-live-search.c includes gcr/gcr-marshal.h. Because missing +dependency, following error occurred intermittently during doing parallel +build: + + -o ui/libgcr-ui-3.so.1.0.0.p/gcr-live-search.c.o -c ../gcr-3.38.1/ui/gcr-live-search.c +../gcr-3.38.1/ui/gcr-live-search.c:32:10: fatal error: gcr/gcr-marshal.h: No such file or directory + 32 | #include "gcr/gcr-marshal.h" + | ^~~~~~~~~~~~~~~~~~~ +compilation terminated. + +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gcr/-/merge_requests/68/diffs] + +Signed-off-by: Changqing Li <changqing.li@windriver.com> +--- + gcr/meson.build | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gcr/meson.build b/gcr/meson.build +index 06c3a63..d9d4b8f 100644 +--- a/gcr/meson.build ++++ b/gcr/meson.build +@@ -181,6 +181,7 @@ gcr_base_dep = declare_dependency( + sources: [ + gcr_enums_gen[1], + gcr_oids[1], ++ gcr_marshal_gen[1], + ], + ) + +-- +2.17.1 + diff --git a/meta/recipes-gnome/gcr/gcr/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch b/meta/recipes-gnome/gcr/gcr/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch new file mode 100644 index 0000000000..ae4e2ac1eb --- /dev/null +++ b/meta/recipes-gnome/gcr/gcr/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch @@ -0,0 +1,61 @@ +From b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8 Mon Sep 17 00:00:00 2001 +From: Jakub Jirutka <jakub@jirutka.cz> +Date: Wed, 12 Jan 2022 00:24:20 +0100 +Subject: [PATCH] meson: Fix unknown kw argument in gnome.generate_gir + +This argument has been removed in Meson 0.61.0: + + gck/meson.build:130:2: ERROR: gnome.generate_gir got unknown keyword arguments "packages" + +https://github.com/mesonbuild/meson/commit/f8fc5cb860465718fe7c79a1bf1fe00659f138de: + +> The packages argument to gnome.generate_gir was allowed, but never did anything, so stop passing it. + +Fixes #89 +Upstream-Status: Backport +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + gck/meson.build | 1 - + gcr/meson.build | 1 - + ui/meson.build | 1 - + 3 files changed, 3 deletions(-) + +diff --git a/gck/meson.build b/gck/meson.build +index 756b486..a21a1e9 100644 +--- a/gck/meson.build ++++ b/gck/meson.build +@@ -131,7 +131,6 @@ if get_option('introspection') + sources: gck_gir_sources, + namespace: 'Gck', + nsversion: '@0@'.format(gck_major_version), +- packages: gck_deps, + export_packages: 'gck-@0@'.format(gck_major_version), + includes: [ 'GObject-2.0', 'Gio-2.0' ], + header: 'gck/gck.h', +diff --git a/gcr/meson.build b/gcr/meson.build +index 2233a44..c83641b 100644 +--- a/gcr/meson.build ++++ b/gcr/meson.build +@@ -190,7 +190,6 @@ if get_option('introspection') + sources: [ gcr_base_public_sources, gcr_base_headers ], + namespace: 'Gcr', + nsversion: '@0@'.format(gcr_major_version), +- packages: gcr_base_deps, + export_packages: 'gcr-base-@0@'.format(gcr_major_version), + includes: [ + 'GObject-2.0', +diff --git a/ui/meson.build b/ui/meson.build +index e656ea2..32ee057 100644 +--- a/ui/meson.build ++++ b/ui/meson.build +@@ -152,7 +152,6 @@ if get_option('introspection') + export_packages: 'gcr-ui-@0@'.format(gcr_major_version), + identifier_prefix: 'Gcr', + symbol_prefix: 'gcr', +- packages: gcr_ui_deps, + includes: [ + 'GObject-2.0', + 'Gio-2.0', +-- +GitLab + diff --git a/meta/recipes-gnome/gcr/gcr_3.28.0.bb b/meta/recipes-gnome/gcr/gcr_3.28.0.bb deleted file mode 100644 index 0796362e4b..0000000000 --- a/meta/recipes-gnome/gcr/gcr_3.28.0.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "A library for bits of crypto UI and parsing etc" -HOMEPAGE = "http://www.gnome.org/" -BUGTRACKER = "https://bugzilla.gnome.org/" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605" - -DEPENDS = "intltool-native gtk+3 p11-kit glib-2.0 libgcrypt \ - ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'libxslt-native', '', d)}" - -inherit gnomebase gtk-icon-cache gtk-doc distro_features_check upstream-version-is-even vala gobject-introspection -# depends on gtk+3, but also x11 through gtk+-x11 -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[archive.md5sum] = "5321319307dad34dca2fd52e7c9c01ab" -SRC_URI[archive.sha256sum] = "15e175d1da7ec486d59749ba34906241c442898118ce224a7b70bf2e849faf0b" - -FILES_${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/gcr-3 \ -" - -# http://errors.yoctoproject.org/Errors/Details/20229/ -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" -ARM_INSTRUCTION_SET_armv6 = "arm" - -# These files may be out of date or missing our fixes -# libgcrypt.m4 in particular is calling into libgcrypt-config -do_configure_prepend() { - rm -f ${S}/build/m4/* -} diff --git a/meta/recipes-gnome/gcr/gcr_3.40.0.bb b/meta/recipes-gnome/gcr/gcr_3.40.0.bb new file mode 100644 index 0000000000..717c31c325 --- /dev/null +++ b/meta/recipes-gnome/gcr/gcr_3.40.0.bb @@ -0,0 +1,44 @@ +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 = "GPL-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'" + +GNOMEBASEBUILDCLASS = "meson" +GTKDOC_MESON_OPTION = "gtk_doc" +inherit gnomebase gtk-icon-cache gtk-doc features_check upstream-version-is-even vala gobject-introspection gettext mime mime-xdg + +SRC_URI += "file://0001-gcr-meson.build-fix-one-parallel-build-failure.patch \ + file://b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch" + +SRC_URI[archive.sha256sum] = "b9d3645a5fd953a54285cc64d4fc046736463dbd4dcc25caf5c7b59bed3027f5" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)}" +PACKAGECONFIG[gtk] = "-Dgtk=true,-Dgtk=false,gtk+3" + +FILES:${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/gcr-3 \ +" + +# 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' +EOF +} diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Add-use_prebuilt_tools-option.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Add-use_prebuilt_tools-option.patch new file mode 100644 index 0000000000..a8206a4507 --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Add-use_prebuilt_tools-option.patch @@ -0,0 +1,171 @@ +From ba73bb0f3d2023839bc3b681c49b7ec1192cceb4 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Sat, 8 May 2021 21:58:54 +0200 +Subject: [PATCH] Add use_prebuilt_tools option + +This allows using the gdk-pixbuf tools from the host to +build and install tests in a cross-compile scenarion. + +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/merge_requests/119] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> + +--- + gdk-pixbuf/meson.build | 11 +++++++++-- + meson.build | 6 +++--- + meson_options.txt | 4 ++++ + tests/meson.build | 16 ++++++++-------- + thumbnailer/meson.build | 24 ++++++++++++++++++------ + 5 files changed, 42 insertions(+), 19 deletions(-) + +diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build +index 8b0590b..7331491 100644 +--- a/gdk-pixbuf/meson.build ++++ b/gdk-pixbuf/meson.build +@@ -342,13 +342,20 @@ foreach bin: gdkpixbuf_bin + include_directories: [ root_inc, gdk_pixbuf_inc ], + c_args: common_cflags + gdk_pixbuf_cflags, + install: true) +- meson.override_find_program(bin_name, bin) ++ if not get_option('use_prebuilt_tools') ++ meson.override_find_program(bin_name, bin) ++ endif + + # Used in tests + set_variable(bin_name.underscorify(), bin) + endforeach + +-if not meson.is_cross_build() ++if get_option('use_prebuilt_tools') ++ gdk_pixbuf_query_loaders = find_program('gdk-pixbuf-query-loaders', required: true) ++ gdk_pixbuf_pixdata = find_program('gdk-pixbuf-pixdata', required: true) ++endif ++ ++if not meson.is_cross_build() or get_option('use_prebuilt_tools') + # The 'loaders.cache' used for testing, so we don't accidentally + # load the installed cache; we always build it by default + loaders_cache = custom_target('loaders.cache', +diff --git a/meson.build b/meson.build +index 7a1409b..0bc73eb 100644 +--- a/meson.build ++++ b/meson.build +@@ -403,16 +403,16 @@ subdir('gdk-pixbuf') + # i18n + subdir('po') + +-if not meson.is_cross_build() ++if not meson.is_cross_build() or get_option('use_prebuilt_tools') + subdir('tests') +- subdir('thumbnailer') + endif ++subdir('thumbnailer') + + # Documentation + build_docs = get_option('gtk_doc') or get_option('docs') + subdir('docs') + +-if not meson.is_cross_build() ++if not meson.is_cross_build() or get_option('use_prebuilt_tools') + meson.add_install_script('build-aux/post-install.py', + gdk_pixbuf_bindir, + gdk_pixbuf_libdir, +diff --git a/meson_options.txt b/meson_options.txt +index 0ee6718..cc29855 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -49,4 +49,8 @@ option('gio_sniffing', + description: 'Perform file type detection using GIO (Unused on MacOS and Windows)', + type: 'boolean', + value: true) ++option('use_prebuilt_tools', ++ description: 'Use prebuilt gdk-pixbuf tools from the host for cross-compilation', ++ type: 'boolean', ++ value: false) + +diff --git a/tests/meson.build b/tests/meson.build +index 7c6cb11..1029e6a 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -5,6 +5,12 @@ + # $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' ++ ++ resources_deps = [loaders_cache,] ++ if not get_option('use_prebuilt_tools') ++ resources_deps += [gdk_pixbuf_pixdata,] ++ endif ++ + # 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 +@@ -21,10 +27,7 @@ if enabled_loaders.contains('png') and host_system != 'windows' + '@INPUT@', + '@OUTPUT@', + ], +- depends: [ +- gdk_pixbuf_pixdata, +- loaders_cache, +- ], ++ depends: resources_deps, + ) + + resources_h = custom_target('resources.h', +@@ -40,10 +43,7 @@ if enabled_loaders.contains('png') and host_system != 'windows' + '@INPUT@', + '@OUTPUT@', + ], +- depends: [ +- gdk_pixbuf_pixdata, +- loaders_cache, +- ], ++ depends: resources_deps, + ) + no_resources = false + else +diff --git a/thumbnailer/meson.build b/thumbnailer/meson.build +index b6a206d..9336c21 100644 +--- a/thumbnailer/meson.build ++++ b/thumbnailer/meson.build +@@ -6,13 +6,29 @@ bin = executable('gdk-pixbuf-thumbnailer', + ], + dependencies: gdk_pixbuf_deps + [ gdkpixbuf_dep ], + install: true) +-meson.override_find_program('gdk-pixbuf-thumbnailer', bin) ++if not get_option('use_prebuilt_tools') ++ meson.override_find_program('gdk-pixbuf-thumbnailer', bin) ++endif + + gdk_pixbuf_print_mime_types = executable('gdk-pixbuf-print-mime-types', + 'gdk-pixbuf-print-mime-types.c', ++ install: true, + c_args: common_cflags, + dependencies: gdk_pixbuf_deps + [ gdkpixbuf_dep ]) + ++if get_option('use_prebuilt_tools') ++ gdk_pixbuf_print_mime_types = find_program('gdk-pixbuf-print-mime-types', required: true) ++endif ++ ++thumbnailer_deps = [loaders_cache,] ++ ++if not get_option('use_prebuilt_tools') ++ thumbnailer_deps += [ ++ gdk_pixbuf_print_mime_types, ++ gdk_pixbuf_pixdata, ++ ] ++endif ++ + custom_target('thumbnailer', + input: 'gdk-pixbuf-thumbnailer.thumbnailer.in', + output: 'gdk-pixbuf-thumbnailer.thumbnailer', +@@ -25,10 +41,6 @@ custom_target('thumbnailer', + '@INPUT@', + '@OUTPUT@', + ], +- depends: [ +- gdk_pixbuf_print_mime_types, +- gdk_pixbuf_pixdata, +- loaders_cache, +- ], ++ depends: thumbnailer_deps, + install: true, + install_dir: join_paths(gdk_pixbuf_datadir, 'thumbnailers')) diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-without-libtiff-not-having-an-effect.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-without-libtiff-not-having-an-effect.patch deleted file mode 100644 index 2a54d8ed76..0000000000 --- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-without-libtiff-not-having-an-effect.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 460befc992adb32434b0408b453be39a6866ccf8 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Tue, 10 Oct 2017 14:33:18 +0300 -Subject: [PATCH] Fix --without-libtiff not having an effect. - -Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=788770] -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 315e0cc..98e780c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -676,7 +676,7 @@ if test x$gio_can_sniff = x; then - AC_DEFINE(GDK_PIXBUF_USE_GIO_MIME, 1, [Define if gio can sniff image data]) - fi - --AM_CONDITIONAL(HAVE_TIFF, test "x$libtiff_found" != x) -+AM_CONDITIONAL(HAVE_TIFF, test "x$libtiff_found" != xno) - AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x) - AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x) - AM_CONDITIONAL(HAVE_JASPER, test "x$LIBJASPER" != x) --- -2.14.1 - diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-cross-compile-failure.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-cross-compile-failure.patch deleted file mode 100644 index 31ed988f32..0000000000 --- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-cross-compile-failure.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 6646e8aadc4030d891ac27c25494e5793d59dc85 Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen <jussi.kukkonen@intel.com> -Date: Wed, 22 Feb 2017 11:24:39 +0200 -Subject: [PATCH] Work-around thumbnailer cross-compile failure - -Install gdk-pixbuf-print-mime-types that's needed for thumbnail -metadata generation. - -Use native gdk-pixbuf-print-mime-types when generating the thumbnail -metadata. This works but the mime types will come from native -loader.cache (which will only contain in-tree loaders), not from the -target loader.cache. - -The upstream issue is https://bugzilla.gnome.org/show_bug.cgi?id=779057 - -Upstream-Status: Inappropriate [workaround] -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> ---- - thumbnailer/Makefile.am | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -diff --git a/thumbnailer/Makefile.am b/thumbnailer/Makefile.am -index c9fe123..b0c6c70 100644 ---- a/thumbnailer/Makefile.am -+++ b/thumbnailer/Makefile.am -@@ -1,5 +1,4 @@ --bin_PROGRAMS = gdk-pixbuf-thumbnailer --noinst_PROGRAMS = gdk-pixbuf-print-mime-types -+bin_PROGRAMS = gdk-pixbuf-thumbnailer gdk-pixbuf-print-mime-types - - gdk_pixbuf_thumbnailer_SOURCES = gdk-pixbuf-thumbnailer.c gnome-thumbnailer-skeleton.c gnome-thumbnailer-skeleton.h - gdk_pixbuf_thumbnailer_CPPFLAGS = \ -@@ -25,9 +24,9 @@ gdk_pixbuf_print_mime_types_LDADD = \ - - thumbnailerdir = $(datadir)/thumbnailers/ - thumbnailer_DATA = gdk-pixbuf-thumbnailer.thumbnailer --gdk-pixbuf-thumbnailer.thumbnailer: gdk-pixbuf-thumbnailer.thumbnailer.in Makefile gdk-pixbuf-print-mime-types$(EXEEXT) $(top_builddir)/gdk-pixbuf/loaders.cache -+gdk-pixbuf-thumbnailer.thumbnailer: gdk-pixbuf-thumbnailer.thumbnailer.in Makefile gdk-pixbuf-print-mime-types$(EXEEXT) - $(AM_V_GEN) $(SED) -e "s|\@bindir\@|$(bindir)|" \ -- -e "s|\@mimetypes\@|`GDK_PIXBUF_MODULE_FILE=$(top_builddir)/gdk-pixbuf/loaders.cache GDK_PIXBUF_PIXDATA=$(top_builddir)/gdk-pixbuf/gdk-pixbuf-pixdata $(builddir)/gdk-pixbuf-print-mime-types`|" \ -+ -e "s|\@mimetypes\@|`gdk-pixbuf-print-mime-types`|" \ - $< > $@ - - EXTRA_DIST = gdk-pixbuf-thumbnailer.thumbnailer.in --- -2.1.4 - diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/extending-libinstall-dependencies.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/extending-libinstall-dependencies.patch deleted file mode 100644 index edbdced43a..0000000000 --- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/extending-libinstall-dependencies.patch +++ /dev/null @@ -1,42 +0,0 @@ -Upstream-Status: Pending - -This patch fixes parallel install issue that lib libpixbufloader-png.la -depends on libgdk_pixbuf-2.0.la which will be regenerated during insta- -llation, if libgdk_pixbuf-2.0.la is regenerating and at the same time -libpixbufloader-png.la links it, the error will happen. - -Error message is: -* usr/bin/ld: cannot find -lgdk_pixbuf-2.0 -* collect2: ld returned 1 exit status - -Make an explicit dependency to the libs install targets would fix this -issue. - -Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> ---- - gdk-pixbuf/Makefile.am | 1 + - libdeps.mk | 3 +++ - 2 files changed, 4 insertions(+), 0 deletions(-) - create mode 100644 libdeps.mk - -diff --git a/gdk-pixbuf/Makefile.am b/gdk-pixbuf/Makefile.am -index 95a93a8..db44cae 100644 ---- a/gdk-pixbuf/Makefile.am -+++ b/gdk-pixbuf/Makefile.am -@@ -783,3 +783,4 @@ loaders.cache: - endif - - -include $(top_srcdir)/git.mk -+-include $(top_srcdir)/libdeps.mk -diff --git a/libdeps.mk b/libdeps.mk -new file mode 100644 -index 0000000..d7a10a8 ---- /dev/null -+++ b/libdeps.mk -@@ -0,0 +1,3 @@ -+# Extending dependencies of install-loaderLTLIBRARIES: -+# The $(lib-LTLIBRARIES) is needed by relinking $(loader_LTLIBRARIES) -+install-loaderLTLIBRARIES: install-libLTLIBRARIES --- -1.7.6.1 - diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch index 7d0d54bafe..25410b11ea 100644 --- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch @@ -1,7 +1,7 @@ -From b6a7b30522455cab39a0b9ea8463313380146e70 Mon Sep 17 00:00:00 2001 +From f00603d58d844422363b896ea7d07aaf48ddaa66 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 3/4] gdk-pixbuf: add an option so that loader errors are fatal +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). @@ -14,10 +14,10 @@ Signed-off-by: Ross Burton <ross.burton@intel.com> 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/gdk-pixbuf/queryloaders.c b/gdk-pixbuf/queryloaders.c -index a81c804..350bec8 100644 +index 312aa78..b813d99 100644 --- a/gdk-pixbuf/queryloaders.c +++ b/gdk-pixbuf/queryloaders.c -@@ -146,7 +146,7 @@ write_loader_info (GString *contents, const char *path, GdkPixbufFormat *info) +@@ -212,7 +212,7 @@ write_loader_info (GString *contents, const char *path, GdkPixbufFormat *info) g_string_append_c (contents, '\n'); } @@ -26,7 +26,7 @@ index a81c804..350bec8 100644 query_module (GString *contents, const char *dir, const char *file) { char *path; -@@ -155,6 +155,7 @@ query_module (GString *contents, const char *dir, const char *file) +@@ -221,6 +221,7 @@ query_module (GString *contents, const char *dir, const char *file) void (*fill_vtable) (GdkPixbufModule *module); gpointer fill_info_ptr; gpointer fill_vtable_ptr; @@ -34,7 +34,7 @@ index a81c804..350bec8 100644 if (g_path_is_absolute (file)) path = g_strdup (file); -@@ -204,10 +205,13 @@ query_module (GString *contents, const char *dir, const char *file) +@@ -270,10 +271,13 @@ query_module (GString *contents, const char *dir, const char *file) g_module_error()); else g_fprintf (stderr, "Cannot load loader %s\n", path); @@ -48,26 +48,26 @@ index a81c804..350bec8 100644 } #ifdef G_OS_WIN32 -@@ -257,6 +261,7 @@ int main (int argc, char **argv) - GString *contents; - gchar *cache_file = NULL; +@@ -314,6 +318,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; -@@ -370,7 +375,9 @@ int main (int argc, char **argv) +@@ -452,7 +457,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, path, l->data); -+ if (!query_module (contents, path, l->data)) +- 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 - g_string_append_printf (contents, "# dynamic loading of modules not supported\n"); -@@ -385,7 +392,8 @@ int main (int argc, char **argv) +@@ -468,7 +475,8 @@ int main (int argc, char **argv) infilename = g_locale_to_utf8 (infilename, -1, NULL, NULL, NULL); #endif @@ -77,9 +77,9 @@ index a81c804..350bec8 100644 } g_free (cwd); } -@@ -401,5 +409,8 @@ int main (int argc, char **argv) - else - g_print ("%s\n", contents->str); +@@ -486,5 +494,8 @@ int main (int argc, char **argv) + + g_free (pixbuf_libdir); - return 0; + if (g_getenv ("GDK_PIXBUF_FATAL_LOADER")) @@ -87,6 +87,3 @@ index a81c804..350bec8 100644 + else + return 0; } --- -2.14.1 - diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/hardcoded_libtool.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/hardcoded_libtool.patch deleted file mode 100644 index ecca62a712..0000000000 --- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/hardcoded_libtool.patch +++ /dev/null @@ -1,33 +0,0 @@ -Upstream-Status: Inappropriate [configuration] - -Index: gdk-pixbuf-2.22.1/configure.ac -=================================================================== ---- gdk-pixbuf-2.22.1.orig/configure.ac 2010-11-26 09:06:34.000000000 +0800 -+++ gdk-pixbuf-2.22.1/configure.ac 2010-11-26 09:07:33.000000000 +0800 -@@ -287,7 +287,7 @@ - case $enable_explicit_deps in - auto) - export SED -- deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh` -+ deplibs_check_method=`(./$host_alias-libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh` - if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then - enable_explicit_deps=yes - else -@@ -484,7 +484,7 @@ - dnl Now we check to see if our libtool supports shared lib deps - dnl (in a rather ugly way even) - if $dynworks; then -- pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config" -+ pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./$host_alias-libtool --config" - pixbuf_deplibs_check=`$pixbuf_libtool_config | \ - grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \ - sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'` -@@ -957,7 +957,7 @@ - # We are using gmodule-no-export now, but I'm leaving the stripping - # code in place for now, since pango and atk still require gmodule. - export SED --export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` -+export_dynamic=`(./$host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` - if test -n "$export_dynamic"; then - GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"` - fi diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.11.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.11.bb deleted file mode 100644 index a7d3884d1f..0000000000 --- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.11.bb +++ /dev/null @@ -1,102 +0,0 @@ -SUMMARY = "Image loading library for GTK+" -HOMEPAGE = "http://www.gtk.org/" -BUGTRACKER = "https://bugzilla.gnome.org/" - -LICENSE = "LGPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ - file://gdk-pixbuf/gdk-pixbuf.h;endline=26;md5=72b39da7cbdde2e665329fef618e1d6b" - -SECTION = "libs" - -DEPENDS = "glib-2.0 gdk-pixbuf-native shared-mime-info" - -MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" - -SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \ - file://hardcoded_libtool.patch \ - file://extending-libinstall-dependencies.patch \ - file://run-ptest \ - file://fatal-loader.patch \ - file://0001-Work-around-thumbnailer-cross-compile-failure.patch \ - file://0001-Fix-without-libtiff-not-having-an-effect.patch \ - " - -SRC_URI[md5sum] = "6e84e5485c17ce7c25df77fe76eb2d6a" -SRC_URI[sha256sum] = "ae62ab87250413156ed72ef756347b10208c00e76b222d82d9ed361ed9dde2f3" - -inherit autotools pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc lib_package - -LIBV = "2.10.0" - -GDK_PIXBUF_LOADERS ?= "png jpeg" - -PACKAGECONFIG ??= "${GDK_PIXBUF_LOADERS}" -PACKAGECONFIG_linuxstdbase = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} ${GDK_PIXBUF_LOADERS}" -PACKAGECONFIG_class-native = "${GDK_PIXBUF_LOADERS}" - -PACKAGECONFIG[png] = "--with-libpng,--without-libpng,libpng" -PACKAGECONFIG[jpeg] = "--with-libjpeg,--without-libjpeg,jpeg" -PACKAGECONFIG[tiff] = "--with-libtiff,--without-libtiff,tiff" -PACKAGECONFIG[jpeg2000] = "--with-libjasper,--without-libjasper,jasper" - -PACKAGECONFIG[x11] = "--with-x11,--without-x11,virtual/libx11" - -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() { - # Move gdk-pixbuf-query-loaders into libdir so it is always available - # in multilib builds. - mv ${D}/${bindir}/gdk-pixbuf-query-loaders ${D}/${libdir}/gdk-pixbuf-2.0/ -} - -do_install_append_class-native() { - find ${D}${libdir} -name "libpixbufloader-*.la" -exec rm \{\} \; - - create_wrapper ${D}/${bindir}/gdk-pixbuf-csource \ - GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache - - create_wrapper ${D}/${bindir}/gdk-pixbuf-pixdata \ - GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache - - create_wrapper ${D}/${bindir}/gdk-pixbuf-print-mime-types \ - 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 \ - 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" diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.6.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.6.bb new file mode 100644 index 0000000000..55c16e4d66 --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.6.bb @@ -0,0 +1,128 @@ +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 gdk-pixbuf-native shared-mime-info" +DEPENDS:remove:class-native = "gdk-pixbuf-native" + +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-Add-use_prebuilt_tools-option.patch \ + " + +SRC_URI[sha256sum] = "c4a6b75b7ed8f58ca48da830b9fa00ed96d668d3ab4b1f723dcf902f78bde77f" + +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=true,-Dpng=false,libpng" +PACKAGECONFIG[jpeg] = "-Djpeg=true,-Djpeg=false,jpeg" +PACKAGECONFIG[tiff] = "-Dtiff=true,-Dtiff=false,tiff" +PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false" + +EXTRA_OEMESON:class-target = " \ + -Duse_prebuilt_tools=true \ +" + +EXTRA_OEMESON:class-nativesdk = " \ + -Duse_prebuilt_tools=true \ +" + +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/ + +} + +# Remove a bad fuzzing attempt that sporadically fails without a way to reproduce +do_install_ptest() { + rm ${D}/${datadir}/installed-tests/gdk-pixbuf/pixbuf-randomly-modified.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}/${bindir}/gdk-pixbuf-print-mime-types \ + 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" diff --git a/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb b/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb new file mode 100644 index 0000000000..6a7124c3fe --- /dev/null +++ b/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb @@ -0,0 +1,22 @@ +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" + +PV = "2022.1" +SRCREV = "37b04455ff58cb2ec3f58917d0737c435344f2fb" + +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" diff --git a/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch b/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch index b5992eba76..5afba3c644 100644 --- a/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch +++ b/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch @@ -1,4 +1,4 @@ -From 9661951838773251d0a914e897e8a0d95ce027f6 Mon Sep 17 00:00:00 2001 +From 63d97fefdbc90f5c68f67bdc30844776d9a1b720 Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen <jussi.kukkonen@intel.com> Date: Tue, 30 May 2017 14:55:49 +0300 Subject: [PATCH] Don't use AC_CANONICAL_HOST @@ -14,12 +14,12 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> 1 file changed, 1 deletion(-) diff --git a/configure.ac b/configure.ac -index fb787dc..5caef0c 100644 +index f2659a5..1e8b016 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,6 @@ AC_PREREQ(2.53) - AC_INIT([adwaita-icon-theme], [3.28.0], + AC_INIT([adwaita-icon-theme], [41.0], [http://bugzilla.gnome.org/enter_bug.cgi?product=adwaita-icon-theme]) -AC_CANONICAL_HOST AC_CONFIG_MACRO_DIR([m4]) diff --git a/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Run-installation-commands-as-shell-jobs.patch b/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Run-installation-commands-as-shell-jobs.patch index 6c38e237f4..a1d39cf558 100644 --- a/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Run-installation-commands-as-shell-jobs.patch +++ b/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Run-installation-commands-as-shell-jobs.patch @@ -1,20 +1,21 @@ -From 8dcd73b45a660dbdc560676835ba46f495334f14 Mon Sep 17 00:00:00 2001 +From 79da031e9811f3eef34b14cce419be93fea34319 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Tue, 13 Jun 2017 18:10:06 +0300 Subject: [PATCH] Run installation commands as shell jobs This greatly speeds up installation time on multi-core systems. -Upstream-Status: Pending +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/adwaita-icon-theme/-/merge_requests/39] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> + --- - src/fullcolor/Makefile.am | 3 ++- - src/spinner/Makefile.am | 5 +++-- - src/symbolic/Makefile.am | 7 ++++--- - 3 files changed, 9 insertions(+), 6 deletions(-) + src/fullcolor/Makefile.am | 5 +++-- + src/spinner/Makefile.am | 7 ++++--- + src/symbolic/Makefile.am | 11 ++++++----- + 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/fullcolor/Makefile.am b/src/fullcolor/Makefile.am -index 1c940a5..3998ee6 100644 +index d73529b..b7d0808 100644 --- a/src/fullcolor/Makefile.am +++ b/src/fullcolor/Makefile.am @@ -9,9 +9,10 @@ install-data-local: @@ -24,13 +25,14 @@ index 1c940a5..3998ee6 100644 - $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/$$size/$$file $(DESTDIR)$(themedir)/$$size/$$file; \ + $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/$$size/$$file $(DESTDIR)$(themedir)/$$size/$$file & \ done; \ - done; +- done; ++ done; \ + wait ## FIXME we should add a way to remove links generated by icon mapping uninstall-local: diff --git a/src/spinner/Makefile.am b/src/spinner/Makefile.am -index 86f4d7c..3fae8c1 100644 +index c14caf6..322dc0d 100644 --- a/src/spinner/Makefile.am +++ b/src/spinner/Makefile.am @@ -24,13 +24,14 @@ install-data-local: @@ -44,24 +46,26 @@ index 86f4d7c..3fae8c1 100644 context="`dirname $$file`"; \ $(mkdir_p) $(DESTDIR)$(themedir)/scalable-up-to-32/$$context; \ - $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/scalable-up-to-32/$$file $(DESTDIR)$(themedir)/scalable-up-to-32/$$file; \ +- done + $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/scalable-up-to-32/$$file $(DESTDIR)$(themedir)/scalable-up-to-32/$$file & \ - done ++ done; \ + wait uninstall-local: for file in `cd $(top_srcdir)/$(SVGOUTDIR)/scalable-up-to-32; find . -name "*.svg"`; do \ diff --git a/src/symbolic/Makefile.am b/src/symbolic/Makefile.am -index 24aac9b..61ba071 100644 +index 957c0ee..e1f8818 100644 --- a/src/symbolic/Makefile.am +++ b/src/symbolic/Makefile.am -@@ -25,18 +25,19 @@ install-data-local: +@@ -34,18 +34,19 @@ install-data-local: for file in `cd $(top_srcdir)/$(SVGOUTDIR)/$$size; find . -name "*.png"`; do \ context="`dirname $$file`"; \ $(mkdir_p) $(DESTDIR)$(themedir)/$$size/$$context; \ - $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/$$size/$$file $(DESTDIR)$(themedir)/$$size/$$file; \ + $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/$$size/$$file $(DESTDIR)$(themedir)/$$size/$$file & \ done; \ - done +- done ++ done; \ for file in `cd $(top_srcdir)/$(SVGOUTDIR)/scalable; find . -name "*.svg"`; do \ context="`dirname $$file`"; \ $(mkdir_p) $(DESTDIR)$(themedir)/scalable/$$context; \ @@ -72,11 +76,9 @@ index 24aac9b..61ba071 100644 - $(GTK_ENCODE_SYMBOLIC_SVG) $(top_srcdir)/$(SVGOUTDIR)/scalable/$$file $$size -o $(DESTDIR)$(themedir)/$$size/$$context; \ + $(GTK_ENCODE_SYMBOLIC_SVG) $(top_srcdir)/$(SVGOUTDIR)/scalable/$$file $$size -o $(DESTDIR)$(themedir)/$$size/$$context & \ done \ - done +- done ++ done; \ + wait uninstall-local: for file in `cd $(top_srcdir)/$(SVGOUTDIR)/scalable; find . -name "*.svg"`; do \ --- -2.11.0 - diff --git a/meta/recipes-gnome/gnome/adwaita-icon-theme_3.28.0.bb b/meta/recipes-gnome/gnome/adwaita-icon-theme_3.28.0.bb deleted file mode 100644 index 7102a89595..0000000000 --- a/meta/recipes-gnome/gnome/adwaita-icon-theme_3.28.0.bb +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY = "GTK+ icon theme" -HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/sources/adwaita-icon-theme/" -BUGTRACKER = "https://bugzilla.gnome.org/" -SECTION = "x11/gnome" - -LICENSE = "LGPL-3.0 | CC-BY-SA-3.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=c84cac88e46fc07647ea07e6c24eeb7c" - -inherit allarch autotools pkgconfig gettext gtk-icon-cache upstream-version-is-even - - -MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" -SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \ - file://0001-Don-t-use-AC_CANONICAL_HOST.patch \ - file://0001-Run-installation-commands-as-shell-jobs.patch \ - " - -SRC_URI[md5sum] = "b25b2d82cbebf2cc9cd469457b604f2c" -SRC_URI[sha256sum] = "7aae8c1dffd6772fd1a21a3d365a0ea28b7c3988bdbbeafbf8742cda68242150" - -do_install_append() { - # Build uses gtk-encode-symbolic-svg to create png versions: - # no need to store the svgs anymore. - rm -f ${D}${prefix}/share/icons/Adwaita/scalable/*/*-symbolic.svg \ - ${D}${prefix}/share/icons/Adwaita/scalable/*/*-symbolic-rtl.svg -} - -PACKAGES = "${PN}-cursors ${PN}-symbolic-hires ${PN}-symbolic ${PN}-hires ${PN}" - -RREPLACES_${PN} = "gnome-icon-theme" -RCONFLICTS_${PN} = "gnome-icon-theme" -RPROVIDES_${PN} = "gnome-icon-theme" - -FILES_${PN}-cursors = "${prefix}/share/icons/Adwaita/cursors/" -FILES_${PN}-symbolic-hires = "${prefix}/share/icons/Adwaita/96x96/*/*.symbolic.png \ - ${prefix}/share/icons/Adwaita/64x64/*/*.symbolic.png \ - ${prefix}/share/icons/Adwaita/48x48/*/*.symbolic.png \ - ${prefix}/share/icons/Adwaita/32x32/*/*.symbolic.png" -FILES_${PN}-symbolic = "${prefix}/share/icons/Adwaita/16x16/*/*.symbolic.png \ - ${prefix}/share/icons/Adwaita/24x24/*/*.symbolic.png" -FILES_${PN}-hires = "${prefix}/share/icons/Adwaita/256x256/ \ - ${prefix}/share/icons/Adwaita/512x512/" -FILES_${PN} = "${prefix}/share/icons/Adwaita/ \ - ${prefix}/share/pkgconfig/adwaita-icon-theme.pc" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-gnome/gnome/adwaita-icon-theme_41.0.bb b/meta/recipes-gnome/gnome/adwaita-icon-theme_41.0.bb new file mode 100644 index 0000000000..46f9f4772c --- /dev/null +++ b/meta/recipes-gnome/gnome/adwaita-icon-theme_41.0.bb @@ -0,0 +1,43 @@ +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 allarch autotools pkgconfig gettext gtk-icon-cache gnomebase + +SRC_URI += " \ + file://0001-Don-t-use-AC_CANONICAL_HOST.patch \ + file://0001-Run-installation-commands-as-shell-jobs.patch \ + " + +SRC_URI[archive.sha256sum] = "ef5339d8c35fcad5d10481b70480803f0fa20b3d3cbc339238fcaceeaee01eba" + +DEPENDS += "librsvg-native" + +PACKAGES = "${PN}-cursors ${PN}-symbolic-hires ${PN}-symbolic ${PN}-hires ${PN}" + +RREPLACES:${PN} = "gnome-icon-theme" +RCONFLICTS:${PN} = "gnome-icon-theme" +RPROVIDES:${PN} = "gnome-icon-theme" + +FILES:${PN}-cursors = "${prefix}/share/icons/Adwaita/cursors/" +FILES:${PN}-symbolic-hires = "${prefix}/share/icons/Adwaita/96x96/*/*.symbolic.png \ + ${prefix}/share/icons/Adwaita/64x64/*/*.symbolic.png \ + ${prefix}/share/icons/Adwaita/48x48/*/*.symbolic.png \ + ${prefix}/share/icons/Adwaita/32x32/*/*.symbolic.png" +FILES:${PN}-symbolic = "${prefix}/share/icons/Adwaita/16x16/*/*.symbolic.png \ + ${prefix}/share/icons/Adwaita/24x24/*/*.symbolic.png \ + ${prefix}/share/icons/Adwaita/scalable/*/*-symbolic*.svg" +FILES:${PN}-hires = "${prefix}/share/icons/Adwaita/256x256/ \ + ${prefix}/share/icons/Adwaita/512x512/" +FILES:${PN} = "${prefix}/share/icons/Adwaita/ \ + ${prefix}/share/pkgconfig/adwaita-icon-theme.pc" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-gnome/gnome/gconf/python3.patch b/meta/recipes-gnome/gnome/gconf/python3.patch new file mode 100644 index 0000000000..7c022a2e1b --- /dev/null +++ b/meta/recipes-gnome/gnome/gconf/python3.patch @@ -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 + diff --git a/meta/recipes-gnome/gnome/gconf_3.2.6.bb b/meta/recipes-gnome/gnome/gconf_3.2.6.bb index e6742f37d8..776f6091aa 100644 --- a/meta/recipes-gnome/gnome/gconf_3.2.6.bb +++ b/meta/recipes-gnome/gnome/gconf_3.2.6.bb @@ -1,7 +1,10 @@ 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://projects.gnome.org/gconf/" -LICENSE = "LGPLv2+" +HOMEPAGE = "https://gitlab.gnome.org/Archive/gconf" +LICENSE = "LGPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605" DEPENDS = "glib-2.0 dbus dbus-glib libxml2 intltool-native" @@ -12,6 +15,7 @@ SRC_URI = "${GNOME_MIRROR}/GConf/${@gnome_verdir("${PV}")}/GConf-${PV}.tar.xz;na 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" @@ -24,12 +28,12 @@ EXTRA_OECONF = "--enable-shared --disable-static \ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}" # We really don't want Polkit for native -PACKAGECONFIG_class-native = "" +PACKAGECONFIG:class-native = "" PACKAGECONFIG[polkit] = "--enable-defaults-service,--disable-defaults-service,polkit" PACKAGECONFIG[debug] = "--enable-debug=yes, --enable-debug=minimum" -do_install_append() { +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 @@ -38,17 +42,19 @@ do_install_append() { rm -f ${D}${libdir}/gio/*/*.*a } -do_install_append_class-native() { +do_install:append:class-native() { create_wrapper ${D}/${bindir}/gconftool-2 \ GCONF_BACKEND_DIR=${STAGING_LIBDIR_NATIVE}/GConf/2 } -FILES_${PN} += "${libdir}/GConf/* \ +FILES:${PN} += "${libdir}/GConf/* \ ${libdir}/gio/*/*.so \ ${datadir}/polkit* \ ${datadir}/dbus-1/services/*.service \ ${datadir}/dbus-1/system-services/*.service \ " -FILES_${PN}-dev += "${datadir}/sgml/gconf/gconf-1.0.dtd" +RDEPENDS:${PN} = "python3-xml" + +FILES:${PN}-dev += "${datadir}/sgml/gconf/gconf-1.0.dtd" BBCLASSEXTEND = "native" diff --git a/meta/recipes-gnome/gnome/gnome-doc-utils/0001-glib-gettext.m4-Update-AM_GLIB_GNU_GETTEXT-to-match-.patch b/meta/recipes-gnome/gnome/gnome-doc-utils/0001-glib-gettext.m4-Update-AM_GLIB_GNU_GETTEXT-to-match-.patch deleted file mode 100644 index 4cfcabd385..0000000000 --- a/meta/recipes-gnome/gnome/gnome-doc-utils/0001-glib-gettext.m4-Update-AM_GLIB_GNU_GETTEXT-to-match-.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 426e38468463a4abb495cf6a269b9635b2107519 Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen <jussi.kukkonen@intel.com> -Date: Tue, 17 May 2016 13:51:24 +0300 -Subject: [PATCH] glib-gettext.m4: Update AM_GLIB_GNU_GETTEXT to match glib - -This avoids - error: m4_copy: won't overwrite defined macro: glib_DEFUN - -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> -Upstream-Status: Inappropriate [No upstream] ---- - m4/glib-gettext.m4 | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/m4/glib-gettext.m4 b/m4/glib-gettext.m4 -index 81f8fd2..e2b142b 100644 ---- a/m4/glib-gettext.m4 -+++ b/m4/glib-gettext.m4 -@@ -310,7 +310,7 @@ msgstr "" - # on various variables needed by the Makefile.in.in installed by - # glib-gettextize. - dnl --glib_DEFUN([GLIB_GNU_GETTEXT], -+AU_DEFUN([GLIB_GNU_GETTEXT], - [AC_REQUIRE([AC_PROG_CC])dnl - AC_REQUIRE([AC_HEADER_STDC])dnl - -@@ -381,7 +381,8 @@ glib_DEFUN([GLIB_GNU_GETTEXT], - rm -f po/POTFILES - sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ - < $srcdir/po/POTFILES.in > po/POTFILES -- ]) -+ ] -+ [[$0: This macro is deprecated. You should use upstream gettext instead.]]) - - # AX_GLIB_DEFINE_LOCALEDIR(VARIABLE) - # ------------------------------- --- -2.1.4 - diff --git a/meta/recipes-gnome/gnome/gnome-themes-standard_3.22.3.bb b/meta/recipes-gnome/gnome/gnome-themes-standard_3.22.3.bb deleted file mode 100644 index 55ee277606..0000000000 --- a/meta/recipes-gnome/gnome/gnome-themes-standard_3.22.3.bb +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY = "GTK+2 standard themes" -HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/sources/gnome-themes-standard/" -BUGTRACKER = "https://bugzilla.gnome.org/" -SECTION = "x11/gnome" - -LICENSE = "LGPL-2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" - -inherit autotools pkgconfig gettext gtk-icon-cache upstream-version-is-even distro_features_check - -ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}" - -DEPENDS += "intltool-native gtk+" - -MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" -SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \ - " - -SRC_URI[md5sum] = "b51c362b157b6407303d44f93c31ee11" -SRC_URI[sha256sum] = "61dc87c52261cfd5b94d65e8ffd923ddeb5d3944562f84942eeeb197ab8ab56a" - -EXTRA_OECONF = "--disable-gtk3-engine" - -do_install_append() { - # Only building Adwaita, remove highcontrast files - rm -rf ${D}${prefix}/share/themes/HighContrast \ - ${D}${prefix}/share/icons - - # The libtool archive file is unneeded with shared libs on modern Linux - rm -rf ${D}${libdir}/gtk-2.0/2.10.0/engines/libadwaita.la -} - -# There could be gnome-theme-highcontrast as well but that requires -# gtk+3 and includes lots of icons (is also broken with B != S). -PACKAGES += "gnome-theme-adwaita \ - gnome-theme-adwaita-dark \ - " - -FILES_gnome-theme-adwaita = "${prefix}/share/themes/Adwaita \ - ${libdir}/gtk-2.0/2.10.0/engines/libadwaita.so" - -FILES_gnome-theme-adwaita-dark = "${prefix}/share/themes/Adwaita-dark" -RDEPENDS_gnome-theme-adwaita-dark = "gnome-theme-adwaita" - -# gnome-themes-standard is empty and doesn't exist -RDEPENDS_${PN}-dev = "" diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Port-cross-compilation-support-to-meson.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Port-cross-compilation-support-to-meson.patch deleted file mode 100644 index 80c9e71ad5..0000000000 --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Port-cross-compilation-support-to-meson.patch +++ /dev/null @@ -1,160 +0,0 @@ -From ea25a5a755bc839d5b504aac207f860ae68109bc Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Thu, 15 Nov 2018 15:10:05 +0100 -Subject: [PATCH] Port cross-compilation support to meson - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - gir/meson.build | 59 ++++++++++++++++++++++++++++++++++------------- - meson.build | 4 +++- - meson_options.txt | 20 ++++++++++++++++ - 3 files changed, 66 insertions(+), 17 deletions(-) - -diff --git a/gir/meson.build b/gir/meson.build -index 1cb514a..f873068 100644 ---- a/gir/meson.build -+++ b/gir/meson.build -@@ -36,15 +36,27 @@ gir_files = [ - typelibdir = join_paths(get_option('libdir'), 'girepository-1.0') - install_data(gir_files, install_dir: girdir) - --scanner_command = [ -- python, -- girscanner, -- '--output=@OUTPUT@', -- '--no-libtool', -- '--reparse-validate', -- '--add-include-path', join_paths(meson.current_build_dir()), -- '--add-include-path', join_paths(meson.current_source_dir()), --] -+if get_option('enable-host-gi') -+ scanner_command = [ -+ 'g-ir-scanner', -+ '--output=@OUTPUT@', -+ '--no-libtool', -+ '--reparse-validate', -+ '--add-include-path', join_paths(meson.current_build_dir()), -+ '--add-include-path', join_paths(meson.current_source_dir()), -+ ] -+else -+ scanner_command = [ -+ python, -+ girscanner, -+ '--output=@OUTPUT@', -+ '--no-libtool', -+ '--reparse-validate', -+ '--add-include-path', join_paths(meson.current_build_dir()), -+ '--add-include-path', join_paths(meson.current_source_dir()), -+ ] -+endif -+ - - dep_type = glib_dep.type_name() - if dep_type == 'internal' -@@ -57,6 +69,12 @@ if dep_type == 'internal' - '--extra-library=glib-2.0', '--extra-library=gobject-2.0'] - endif - -+if get_option('enable-gi-cross-wrapper') != '' -+ scanner_command += ['--use-binary-wrapper=' + get_option('enable-gi-cross-wrapper')] -+endif -+if get_option('enable-gi-ldd-wrapper') != '' -+ scanner_command += ['--use-ldd-wrapper=' + get_option('enable-gi-ldd-wrapper')] -+endif - # Take a glob and print to newlines - globber = ''' - from glob import glob -@@ -83,8 +101,8 @@ glib_command = scanner_command + [ - - if dep_type == 'pkgconfig' - glib_command += ['--external-library', '--pkg=glib-2.0'] -- glib_libdir = glib_dep.get_pkgconfig_variable('libdir') -- glib_incdir = join_paths(glib_dep.get_pkgconfig_variable('includedir'), 'glib-2.0') -+ glib_libdir = get_option('pkgconfig-sysroot-path') + glib_dep.get_pkgconfig_variable('libdir') -+ glib_incdir = get_option('pkgconfig-sysroot-path') + join_paths(glib_dep.get_pkgconfig_variable('includedir'), 'glib-2.0') - glib_libincdir = join_paths(glib_libdir, 'glib-2.0', 'include') - glib_files += join_paths(glib_incdir, 'gobject', 'glib-types.h') - glib_files += join_paths(glib_libincdir, 'glibconfig.h') -@@ -338,7 +356,7 @@ endforeach - if giounix_dep.found() - if dep_type == 'pkgconfig' - gio_command += ['--pkg=gio-unix-2.0'] -- giounix_includedir = join_paths(giounix_dep.get_pkgconfig_variable('includedir'), 'gio-unix-2.0') -+ giounix_includedir = get_option('pkgconfig-sysroot-path') + join_paths(giounix_dep.get_pkgconfig_variable('includedir'), 'gio-unix-2.0') - # Get the installed gio-unix header list - ret = run_command(python, '-c', globber.format(join_paths(giounix_includedir, 'gio', '*.h'))) - if ret.returncode() != 0 -@@ -416,15 +434,24 @@ gir_files += custom_target('gir-girepository', - ] - ) - -+if get_option('enable-gi-cross-wrapper') != '' -+ gircompiler_command = [get_option('enable-gi-cross-wrapper'), gircompiler.full_path(), '-o', '@OUTPUT@', '@INPUT@', -+ '--includedir', meson.current_build_dir(), -+ '--includedir', meson.current_source_dir(), -+ ] -+else -+ gircompiler_command = [gircompiler, '-o', '@OUTPUT@', '@INPUT@', -+ '--includedir', meson.current_build_dir(), -+ '--includedir', meson.current_source_dir(), -+ ] -+endif -+ - foreach gir : gir_files - custom_target('generate-typelib-@0@'.format(gir).underscorify(), - input: gir, - output: '@BASENAME@.typelib', - depends: [gobject_gir, ], -- command: [gircompiler, '-o', '@OUTPUT@', '@INPUT@', -- '--includedir', meson.current_build_dir(), -- '--includedir', meson.current_source_dir(), -- ], -+ command: gircompiler_command, - install: true, - install_dir: typelibdir, - ) -diff --git a/meson.build b/meson.build -index 17acd82..e0bb495 100644 ---- a/meson.build -+++ b/meson.build -@@ -81,7 +81,9 @@ libffi_dep = dependency('libffi', - subdir('girepository') - subdir('tools') - subdir('giscanner') --subdir('gir') -+if get_option('enable-introspection-data') == true -+ subdir('gir') -+endif - subdir('examples') - subdir('docs') - subdir('tests') -diff --git a/meson_options.txt b/meson_options.txt -index ee6958d..b168142 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -25,3 +25,23 @@ option('python', type: 'string', value: 'python3', - option('gir-dir-prefix', type: 'string', - description: 'Intermediate prefix for gir installation under ${prefix}' - ) -+ -+option('enable-host-gi', type: 'boolean', value : false, -+ description: 'Use gobject introspection tools installed in the host system (useful when cross-compiling)' -+) -+ -+option('enable-gi-cross-wrapper', type: 'string', -+ description: 'Use a wrapper to run gicompiler and binaries produced by giscanner (useful when cross-compiling)' -+) -+ -+option('enable-gi-ldd-wrapper', type: 'string', -+ description: 'Use a ldd wrapper instead of system ldd command in giscanner (useful when cross-compiling)' -+) -+ -+option('enable-introspection-data', type: 'boolean', value : true, -+ description: 'Build introspection data (.gir and .typelib files) in addition to library and tools' -+) -+ -+option('pkgconfig-sysroot-path', type: 'string', -+ description: 'Specify a sysroot path to prepend to pkgconfig output (useful when cross-compiling)' -+) diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch index a91d22afa7..ba965092e1 100644 --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch +++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch @@ -1,4 +1,4 @@ -From 7ea8c83d84a05f686128e652a5447fb5f6fb68be Mon Sep 17 00:00:00 2001 +From 74a0fee892235c722ac60ddea6ee79bc3d7a93f5 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 @@ -21,7 +21,7 @@ Signed-off-by: Sascha Silbe <x-yo17@se-silbe.de> 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/girepository/girepository.c b/girepository/girepository.c -index c1fa3d3..efa557e 100644 +index 7d03485..20f4813 100644 --- a/girepository/girepository.c +++ b/girepository/girepository.c @@ -21,6 +21,8 @@ @@ -42,7 +42,7 @@ index c1fa3d3..efa557e 100644 /** * SECTION:girepository * @short_description: GObject Introspection repository manager -@@ -188,9 +192,16 @@ init_globals (void) +@@ -215,9 +219,16 @@ init_globals (void) g_free (custom_dirs); } @@ -62,12 +62,12 @@ index c1fa3d3..efa557e 100644 typelib_search_path = g_slist_prepend (typelib_search_path, typelib_dir); diff --git a/girepository/meson.build b/girepository/meson.build -index 6a8c5b5..8892f2a 100644 +index 786749a..15cf2a9 100644 --- a/girepository/meson.build +++ b/girepository/meson.build -@@ -27,7 +27,7 @@ girepo_internals_lib = static_library('girepository-internals', +@@ -45,7 +45,7 @@ girepo_internals_lib = static_library('girepository-internals', ], - c_args: gi_hidden_visibility_cflags, + 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')], diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch deleted file mode 100644 index 86cd4ead2a..0000000000 --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch +++ /dev/null @@ -1,48 +0,0 @@ -From ca0fb17e268c176ac89df081b1efa4a42989f014 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Wed, 23 Mar 2016 17:07:28 +0200 -Subject: [PATCH] Revert an incomplete upstream attempt at cross-compile - support - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - common.mk | 4 ---- - giscanner/gdumpparser.py | 6 ------ - 2 files changed, 10 deletions(-) - -diff --git a/common.mk b/common.mk -index b778f7a..e26c637 100644 ---- a/common.mk -+++ b/common.mk -@@ -24,12 +24,8 @@ INTROSPECTION_SCANNER_ARGS = \ - --add-include-path=$(top_builddir) \ - --add-include-path=$(top_builddir)/gir - --# GI_CROSS_LAUNCHER is the command to use for executing g-ir-compiler. --# Normally will be undefined but can be set (e.g. to wine or qemu) --# when cross-compiling - INTROSPECTION_COMPILER = \ - env PATH=".libs:$(PATH)" \ -- $(GI_CROSS_LAUNCHER) \ - $(top_builddir)/g-ir-compiler$(EXEEXT) - - INTROSPECTION_COMPILER_ARGS = \ -diff --git a/giscanner/gdumpparser.py b/giscanner/gdumpparser.py -index cd9d94d..b41772c 100644 ---- a/giscanner/gdumpparser.py -+++ b/giscanner/gdumpparser.py -@@ -161,12 +161,6 @@ blob containing data gleaned from GObject's primitive introspection.""" - out_path = os.path.join(self._binary.tmpdir, 'dump.xml') - - args = [] -- -- # Prepend the launcher command and arguments, if defined -- launcher = os.environ.get('GI_CROSS_LAUNCHER') -- if launcher: -- args.extend(launcher.split()) -- - args.extend(self._binary.args) - args.append('--introspect-dump=%s,%s' % (in_path, out_path)) - diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-build-Avoid-the-doctemplates-hack.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-build-Avoid-the-doctemplates-hack.patch new file mode 100644 index 0000000000..b7d31ccfb0 --- /dev/null +++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-build-Avoid-the-doctemplates-hack.patch @@ -0,0 +1,219 @@ +From effb1e09dee263cdac4ec593e8caf316e6f01fe2 Mon Sep 17 00:00:00 2001 +From: Emmanuele Bassi <ebassi@gnome.org> +Date: Tue, 11 Jan 2022 15:51:10 +0000 +Subject: [PATCH] build: Avoid the doctemplates hack +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The hack that copies the doctemplates directory into the build +directory has stopped working with newer versions of Meson; while it's +possible to copy files, custom_target() cannot depend on a directory. +Additionally, the dependency has always been broken. + +Instead, we enumerate the template files—after all, it's not like they +change a lot—and then we list them as dependencies for the test targets. + +Fixes: #414 +Upstream-Status: Backport +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + giscanner/doctemplates/devdocs/meson.build | 19 +++++++ + giscanner/doctemplates/mallard/meson.build | 63 ++++++++++++++++++++++ + giscanner/meson.build | 14 ++--- + tests/scanner/meson.build | 24 +++++---- + 4 files changed, 98 insertions(+), 22 deletions(-) + create mode 100644 giscanner/doctemplates/devdocs/meson.build + create mode 100644 giscanner/doctemplates/mallard/meson.build + +diff --git a/giscanner/doctemplates/devdocs/meson.build b/giscanner/doctemplates/devdocs/meson.build +new file mode 100644 +index 00000000..2037182a +--- /dev/null ++++ b/giscanner/doctemplates/devdocs/meson.build +@@ -0,0 +1,19 @@ ++doc_templates += files([ ++ 'Gjs/_doc.tmpl', ++ 'Gjs/_index.tmpl', ++ 'Gjs/_method.tmpl', ++ 'Gjs/_methods.tmpl', ++ 'Gjs/_properties.tmpl', ++ 'Gjs/_signals.tmpl', ++ 'Gjs/_staticmethods.tmpl', ++ 'Gjs/_vfuncs.tmpl', ++ 'Gjs/base.tmpl', ++ 'Gjs/callback.tmpl', ++ 'Gjs/class.tmpl', ++ 'Gjs/default.tmpl', ++ 'Gjs/enum.tmpl', ++ 'Gjs/function.tmpl', ++ 'Gjs/interface.tmpl', ++ 'Gjs/method.tmpl', ++ 'Gjs/namespace.tmpl', ++]) +diff --git a/giscanner/doctemplates/mallard/meson.build b/giscanner/doctemplates/mallard/meson.build +new file mode 100644 +index 00000000..5fe4e2af +--- /dev/null ++++ b/giscanner/doctemplates/mallard/meson.build +@@ -0,0 +1,63 @@ ++base_templates = files([ ++ 'base.tmpl', ++ 'class.tmpl', ++ 'namespace.tmpl', ++]) ++ ++c_templates = files([ ++ 'C/callback.tmpl', ++ 'C/class.tmpl', ++ 'C/constructor.tmpl', ++ 'C/default.tmpl', ++ 'C/enum.tmpl', ++ 'C/field.tmpl', ++ 'C/function.tmpl', ++ 'C/interface.tmpl', ++ 'C/method.tmpl', ++ 'C/namespace.tmpl', ++ 'C/property.tmpl', ++ 'C/record.tmpl', ++ 'C/signal.tmpl', ++ 'C/vfunc.tmpl', ++]) ++ ++gjs_templates = files([ ++ 'Gjs/callback.tmpl', ++ 'Gjs/class.tmpl', ++ 'Gjs/constructor.tmpl', ++ 'Gjs/default.tmpl', ++ 'Gjs/enum.tmpl', ++ 'Gjs/field.tmpl', ++ 'Gjs/function.tmpl', ++ 'Gjs/interface.tmpl', ++ 'Gjs/method.tmpl', ++ 'Gjs/namespace.tmpl', ++ 'Gjs/property.tmpl', ++ 'Gjs/record.tmpl', ++ 'Gjs/signal.tmpl', ++ 'Gjs/vfunc.tmpl', ++]) ++ ++py_templates = files([ ++ 'Python/callback.tmpl', ++ 'Python/class.tmpl', ++ 'Python/constructor.tmpl', ++ 'Python/default.tmpl', ++ 'Python/enum.tmpl', ++ 'Python/field.tmpl', ++ 'Python/function.tmpl', ++ 'Python/interface.tmpl', ++ 'Python/method.tmpl', ++ 'Python/namespace.tmpl', ++ 'Python/property.tmpl', ++ 'Python/record.tmpl', ++ 'Python/signal.tmpl', ++ 'Python/vfunc.tmpl', ++]) ++ ++doc_templates += [ ++ base_templates, ++ c_templates, ++ gjs_templates, ++ py_templates, ++] +diff --git a/giscanner/meson.build b/giscanner/meson.build +index 41edcd44..3d7dc678 100644 +--- a/giscanner/meson.build ++++ b/giscanner/meson.build +@@ -53,17 +53,9 @@ configure_file(input : '../girepository/gdump.c', + + install_subdir('doctemplates', install_dir: giscannerdir) + +-# XXX: this doesn't track the input, but there is nothing to copy many files +-# in meson. +-doc_templates = custom_target('copy-templates', +- input : 'doctemplates', +- output : 'doctemplates', +- command : [ +- python, '-c', +- 'import sys, shutil;' + +- 'shutil.rmtree(sys.argv[2], ignore_errors=True);' + +- 'shutil.copytree(sys.argv[1], sys.argv[2])', +- '@INPUT@', '@OUTPUT@']) ++doc_templates = [] ++subdir('doctemplates/devdocs') ++subdir('doctemplates/mallard') + + flex = find_program('flex', 'win_flex') + bison = find_program('bison', 'win_bison') +diff --git a/tests/scanner/meson.build b/tests/scanner/meson.build +index 5176b957..b81b3fd5 100644 +--- a/tests/scanner/meson.build ++++ b/tests/scanner/meson.build +@@ -525,19 +525,26 @@ foreach gir : test_girs + endforeach + + if has_girdoctool and glib_dep.type_name() == 'pkgconfig' ++ doctool_env = environment() ++ doctool_env.set('srcdir', meson.current_source_dir()) ++ doctool_env.set('builddir', meson.current_build_dir()) ++ + foreach language : ['C', 'Python', 'Gjs'] + regress_docs = custom_target( + 'generate-docs-' + language, + input: regress_gir, +- depends: [doc_templates], ++ depend_files: doc_templates, + build_by_default: not cairo_deps_found, ++ env: doctool_env, + output: 'Regress-1.0-' + language, + command: [ + python, girdoctool, + '--add-include-path=' + join_paths(build_root, 'gir'), + '--add-include-path=' + meson.current_build_dir(), + '--language', language, +- '@INPUT@', '-o', '@OUTPUT@'], ++ '--templates-dir=' + join_paths(meson.current_source_dir(), '../../giscanner/doctemplates'), ++ '@INPUT@', '-o', '@OUTPUT@', ++ ], + ) + + if cairo_deps_found +@@ -546,10 +553,7 @@ if has_girdoctool and glib_dep.type_name() == 'pkgconfig' + python, + args: [gi_tester, 'Regress-1.0-' + language], + depends: [regress_docs], +- env: [ +- 'srcdir=' + meson.current_source_dir(), +- 'builddir=' + meson.current_build_dir(), +- ], ++ env: doctool_env, + ) + endif + endforeach +@@ -557,9 +561,10 @@ if has_girdoctool and glib_dep.type_name() == 'pkgconfig' + regress_sections = custom_target( + 'generate-docs-sections', + input: regress_gir, +- depends: [doc_templates], ++ depend_files: [doc_templates], + build_by_default: not cairo_deps_found, + output: 'Regress-1.0-sections.txt', ++ env: doctool_env, + command: [ + python, girdoctool, + '--add-include-path=' + join_paths(build_root, 'gir'), +@@ -574,10 +579,7 @@ if has_girdoctool and glib_dep.type_name() == 'pkgconfig' + python, + args: [gi_tester, 'Regress-1.0-sections.txt'], + depends: [regress_sections], +- env: [ +- 'srcdir=' + meson.current_source_dir(), +- 'builddir=' + meson.current_build_dir(), +- ], ++ env: doctool_env, + ) + endif + endif +-- +2.20.1 + diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-make-GIR_DIR-configurable.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-make-GIR_DIR-configurable.patch deleted file mode 100644 index e0402f8f49..0000000000 --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-make-GIR_DIR-configurable.patch +++ /dev/null @@ -1,68 +0,0 @@ -configure.ac: make GIR_DIR configurable - -Some .gir files such as GLib-2.0.gir are arch related which contain such -as lengths of pointers that they are different for 64 and 32 bit target. -It causes install file conflicts for multilib when intall -gobject-introspection and lib32-gobject-introspection both. - -Add configure option 'with-gir-dir-prefix' for autotools to make .gir -could be installed to a configured path such as ${libdir}. And update -girdir in .pc files as well. - -Upstream-Status: Accepted [https://gitlab.gnome.org/GNOME/gobject-introspection/commit/3301c7e] - -Signed-off-by: Kai Kang <kai.kang@windriver.com> ---- - configure.ac | 7 +++++-- - gobject-introspection-1.0.pc.in | 2 +- - gobject-introspection-no-export-1.0.pc.in | 2 +- - 3 files changed, 7 insertions(+), 4 deletions(-) - -diff --git a/configure.ac b/configure.ac -index b4294c57..60506947 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -114,9 +114,12 @@ GIR_SUFFIX="gir-1.0" - AC_SUBST(GIR_SUFFIX) - AC_DEFINE_UNQUOTED(GIR_SUFFIX, "$GIR_SUFFIX", [Name of the gir directory]) - --GIR_DIR="$EXPANDED_DATADIR/$GIR_SUFFIX" -+AC_ARG_WITH([gir-dir-prefix], -+ [AS_HELP_STRING([--with-gir-dir-prefix], [Directory prefix for gir installation])], -+ [GIR_DIR_PREFIX="$withval"], [GIR_DIR_PREFIX="$EXPANDED_DATADIR"]) -+GIR_DIR="$GIR_DIR_PREFIX/$GIR_SUFFIX" - AC_SUBST(GIR_DIR) --AC_DEFINE_UNQUOTED(GIR_DIR, "$GIR_DIR", [Director prefix for gir installation]) -+AC_DEFINE_UNQUOTED(GIR_DIR, "$GIR_DIR", [Directory prefix for gir installation]) - - PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.58.0]) - -diff --git a/gobject-introspection-1.0.pc.in b/gobject-introspection-1.0.pc.in -index a08b5d27..3409856c 100644 ---- a/gobject-introspection-1.0.pc.in -+++ b/gobject-introspection-1.0.pc.in -@@ -10,7 +10,7 @@ g_ir_scanner=${bindir}/g-ir-scanner - g_ir_compiler=${bindir}/g-ir-compiler@EXEEXT@ - g_ir_generate=${bindir}/g-ir-generate@EXEEXT@ - gidatadir=${datadir}/gobject-introspection-1.0 --girdir=${datadir}/gir-1.0 -+girdir=@GIR_DIR@ - typelibdir=${libdir}/girepository-1.0 - - Cflags: -I${includedir}/gobject-introspection-1.0 @FFI_PC_CFLAGS@ -diff --git a/gobject-introspection-no-export-1.0.pc.in b/gobject-introspection-no-export-1.0.pc.in -index d214d22d..745aaade 100644 ---- a/gobject-introspection-no-export-1.0.pc.in -+++ b/gobject-introspection-no-export-1.0.pc.in -@@ -9,7 +9,7 @@ includedir=@includedir@ - g_ir_scanner=${bindir}/g-ir-scanner - g_ir_compiler=${bindir}/g-ir-compiler@EXEEXT@ - g_ir_generate=${bindir}/g-ir-generate@EXEEXT@ --girdir=${datadir}/gir-1.0 -+girdir=@GIR_DIR@ - typelibdir=${libdir}/girepository-1.0 - - Cflags: -I${includedir}/gobject-introspection-1.0 @FFI_PC_CFLAGS@ --- -2.17.0 - diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch deleted file mode 100644 index e9338e92e2..0000000000 --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 3fea5e83803f4cfef21b2e06e37a6ba56f2bb914 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Wed, 3 Jan 2018 17:02:01 +0200 -Subject: [PATCH] giscanner: add a --lib-dirs-envvar option - -By default LD_LIBRARY_PATH is set to the list of target library paths; -this breaks down in cross-compilation environment, as we need to run a -native emulation wrapper rather than the target binary itself. This patch -allows exporting those paths to a different environment variable -which can be picked up and used by the wrapper. - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - giscanner/ccompiler.py | 4 ++-- - giscanner/dumper.py | 3 ++- - giscanner/scannermain.py | 3 +++ - 3 files changed, 7 insertions(+), 3 deletions(-) - -diff --git a/giscanner/ccompiler.py b/giscanner/ccompiler.py -index c003828..8a8ba2b 100644 ---- a/giscanner/ccompiler.py -+++ b/giscanner/ccompiler.py -@@ -109,7 +109,7 @@ class CCompiler(object): - - self._cflags_no_deprecation_warnings = "-Wno-deprecated-declarations" - -- def get_internal_link_flags(self, args, libtool, libraries, extra_libraries, libpaths): -+ def get_internal_link_flags(self, args, libtool, libraries, extra_libraries, libpaths, lib_dirs_envvar): - # An "internal" link is where the library to be introspected - # is being built in the current directory. - -@@ -119,7 +119,7 @@ class CCompiler(object): - if os.name == 'nt': - runtime_path_envvar = ['LIB', 'PATH'] - else: -- runtime_path_envvar = ['LD_LIBRARY_PATH', 'DYLD_FALLBACK_LIBRARY_PATH'] -+ runtime_path_envvar = ['LD_LIBRARY_PATH', 'DYLD_FALLBACK_LIBRARY_PATH'] if not lib_dirs_envvar else [lib_dirs_envvar] - # Search the current directory first - # (This flag is not supported nor needed for Visual C++) - args.append('-L.') -diff --git a/giscanner/dumper.py b/giscanner/dumper.py -index 2c668f5..2e515a0 100644 ---- a/giscanner/dumper.py -+++ b/giscanner/dumper.py -@@ -249,7 +249,8 @@ class DumpCompiler(object): - libtool, - self._options.libraries, - self._options.extra_libraries, -- self._options.library_paths) -+ self._options.library_paths, -+ self._options.lib_dirs_envvar) - args.extend(pkg_config_libs) - - else: -diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py -index 5cb793e..87227e2 100644 ---- a/giscanner/scannermain.py -+++ b/giscanner/scannermain.py -@@ -132,6 +132,9 @@ def _get_option_parser(): - parser.add_option("", "--use-ldd-wrapper", - action="store", dest="ldd_wrapper", default=None, - help="wrapper to use instead of ldd (useful when cross-compiling)") -+ parser.add_option("", "--lib-dirs-envvar", -+ action="store", dest="lib_dirs_envvar", default=None, -+ help="environment variable to write a list of library directories to (for running the transient binary), instead of standard LD_LIBRARY_PATH") - parser.add_option("", "--program-arg", - action="append", dest="program_args", default=[], - help="extra arguments to program") diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch deleted file mode 100644 index 9167f042e5..0000000000 --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch +++ /dev/null @@ -1,27 +0,0 @@ -From f128cbeead687bfc6532cc1f2cc3e2dc5a2b5b30 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Wed, 5 Sep 2018 16:46:52 +0200 -Subject: [PATCH] giscanner: ignore error return codes from ldd-wrapper - -prelink-rtld, which we use instead of ldd returns 127 when it can't find a library. -It is not an error per se, but it breaks subprocess.check_output(). - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - giscanner/shlibs.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py -index 01d21a3..3bd3250 100644 ---- a/giscanner/shlibs.py -+++ b/giscanner/shlibs.py -@@ -108,7 +108,7 @@ def _resolve_non_libtool(options, binary, libraries): - args.extend(['otool', '-L', binary.args[0]]) - else: - args.extend(['ldd', binary.args[0]]) -- output = subprocess.check_output(args) -+ output = subprocess.run(args, check=False, stdout=subprocess.PIPE).stdout - if isinstance(output, bytes): - output = output.decode("utf-8", "replace") - diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch deleted file mode 100644 index 03ef2b0059..0000000000 --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch +++ /dev/null @@ -1,201 +0,0 @@ -From a28cc8413b68bec5b4cf2ee5f37b40a8965490a5 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Mon, 19 Oct 2015 18:29:21 +0300 -Subject: [PATCH] configure.ac: add host-gi, gi-cross-wrapper, gi-ldd-wrapper - and introspection-data options - -With the first option, gobject-introspection tools (g-ir-doc-tool and g-ir-scanner) -that are already installed in the host system will be used for building the source tree. - -With the second option, g-ir-scanner will be instructed to use an executable -wrapper to run binaries it's producing, and g-ir-compiler will be run -through the same wrapper (host system's g-ir-compiler cannot be used because -it's producing architecture-specific output). - -With the third option, giscanner will be instructed to use a special ldd -command instead of system's ldd (which does not work when the binary to inspect -is compiled for a different architecture). - -With the fourth option, it is possible to disable building of introspection data -(.gir and .typelib files), which may be difficult or impossible in cross-compilation -environments, because of lack of emulation (or native hardware) for the target architecture -on which the target binaries can be run. - -These options are useful when cross-compiling for a different target architecture. - -Upstream-Status: Pending [review on oe-core list] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - Makefile.am | 2 ++ - common.mk | 39 +++++++++++++++++++++++++++++++++++++++ - configure.ac | 42 ++++++++++++++++++++++++++++++++++++++++++ - tests/Makefile.am | 5 ++++- - 4 files changed, 87 insertions(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index 44ed115..2a1fa56 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -21,7 +21,9 @@ include Makefile-cmph.am - include Makefile-girepository.am - include Makefile-giscanner.am - include Makefile-examples.am -+if BUILD_INTROSPECTION_DATA - include Makefile-gir.am -+endif - include Makefile-tools.am - - ## Process this file with automake to produce Makefile.in -diff --git a/common.mk b/common.mk -index e26c637..9f3a65f 100644 ---- a/common.mk -+++ b/common.mk -@@ -6,6 +6,15 @@ - # module itself. - # - -+if USE_HOST_GI -+INTROSPECTION_SCANNER = \ -+ env PATH="$(PATH)" \ -+ LPATH=.libs \ -+ CC="$(CC)" \ -+ PYTHONPATH=$(top_builddir):$(top_srcdir) \ -+ UNINSTALLED_INTROSPECTION_BUILDDIR=$(top_builddir) \ -+ g-ir-scanner -+else - INTROSPECTION_SCANNER = \ - env PATH=".libs:$(PATH)" \ - LPATH=.libs \ -@@ -14,9 +23,24 @@ INTROSPECTION_SCANNER = \ - UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir) \ - UNINSTALLED_INTROSPECTION_BUILDDIR=$(top_builddir) \ - $(top_builddir)/g-ir-scanner -+endif -+ -+if USE_CROSS_WRAPPER -+CROSS_WRAPPER_ARG = --use-binary-wrapper=$(GI_CROSS_WRAPPER) -+else -+CROSS_WRAPPER_ARG = -+endif -+ -+if USE_LDD_WRAPPER -+LDD_WRAPPER_ARG = --use-ldd-wrapper=$(GI_LDD_WRAPPER) -+else -+LDD_WRAPPER_ARG = -+endif - - INTROSPECTION_SCANNER_ARGS = \ - --verbose \ -+ $(CROSS_WRAPPER_ARG) \ -+ $(LDD_WRAPPER_ARG) \ - -I$(top_srcdir) \ - --add-include-path=$(srcdir) \ - --add-include-path=$(top_srcdir)/gir \ -@@ -24,9 +48,15 @@ INTROSPECTION_SCANNER_ARGS = \ - --add-include-path=$(top_builddir) \ - --add-include-path=$(top_builddir)/gir - -+if USE_CROSS_WRAPPER -+INTROSPECTION_COMPILER = \ -+ env PATH=".libs:$(PATH)" \ -+ $(GI_CROSS_WRAPPER) $(top_builddir)/.libs/g-ir-compiler$(EXEEXT) -+else - INTROSPECTION_COMPILER = \ - env PATH=".libs:$(PATH)" \ - $(top_builddir)/g-ir-compiler$(EXEEXT) -+endif - - INTROSPECTION_COMPILER_ARGS = \ - --includedir=$(srcdir) \ -@@ -35,6 +65,14 @@ INTROSPECTION_COMPILER_ARGS = \ - --includedir=$(top_builddir) \ - --includedir=$(top_builddir)/gir - -+if USE_HOST_GI -+INTROSPECTION_DOCTOOL = \ -+ env PATH="$(PATH)" \ -+ LPATH=.libs \ -+ PYTHONPATH=$(top_builddir):$(top_srcdir) \ -+ UNINSTALLED_INTROSPECTION_BUILDDIR=$(top_builddir) \ -+ g-ir-doc-tool -+else - INTROSPECTION_DOCTOOL = \ - env PATH=".libs:$(PATH)" \ - LPATH=.libs \ -@@ -42,6 +80,7 @@ INTROSPECTION_DOCTOOL = \ - UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir) \ - UNINSTALLED_INTROSPECTION_BUILDDIR=$(top_builddir) \ - $(top_builddir)/g-ir-doc-tool -+endif - - INTROSPECTION_DOCTOOL_ARGS = \ - --add-include-path=$(srcdir) \ -diff --git a/configure.ac b/configure.ac -index d48e6c3..ed5f8a2 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -367,6 +367,48 @@ dnl - AM_CONDITIONAL(MSVC_BASE_NO_TOOLSET_SET, [test x$MSVC_BASE_TOOLSET = x]) - AM_CONDITIONAL(MSVC_NO_TOOLSET_SET, [test x$MSVC_TOOLSET = x]) - -+AC_ARG_ENABLE([host-gi], -+[AS_HELP_STRING([--enable-host-gi],[Use gobject introspection tools installed in the host system (useful when cross-compiling)])], -+[case "${enableval}" in -+ yes) host_gi=true ;; -+ no) host_gi=false ;; -+ *) AC_MSG_ERROR([bad value ${enableval} for --enable-host-gi]) ;; -+esac],[host_gi=false]) -+AM_CONDITIONAL([USE_HOST_GI], [test x$host_gi = xtrue]) -+ -+AC_ARG_ENABLE([gi-cross-wrapper], -+[AS_HELP_STRING([--enable-gi-cross-wrapper=path],[Use a wrapper to run gicompiler and binaries produced by giscanner (useful when cross-compiling)])], -+[ -+GI_CROSS_WRAPPER="${enableval}" -+use_wrapper=true -+],[ -+GI_CROSS_WRAPPER="" -+use_wrapper=false -+]) -+AC_SUBST(GI_CROSS_WRAPPER) -+AM_CONDITIONAL([USE_CROSS_WRAPPER], [test x$use_wrapper = xtrue]) -+ -+AC_ARG_ENABLE([gi-ldd-wrapper], -+[AS_HELP_STRING([--enable-gi-ldd-wrapper=path],[Use a ldd wrapper instead of system's ldd command in giscanner (useful when cross-compiling)])], -+[ -+GI_LDD_WRAPPER="${enableval}" -+use_ldd_wrapper=true -+],[ -+GI_LDD_WRAPPER="" -+use_ldd_wrapper=false -+]) -+AC_SUBST(GI_LDD_WRAPPER) -+AM_CONDITIONAL([USE_LDD_WRAPPER], [test x$use_ldd_wrapper = xtrue]) -+ -+AC_ARG_ENABLE([introspection-data], -+[AS_HELP_STRING([--enable-introspection-data],[Build introspection data (.gir and .typelib files) in addition to library and tools])], -+[case "${enableval}" in -+ yes) introspection_data=true ;; -+ no) introspection_data=false ;; -+ *) AC_MSG_ERROR([bad value ${enableval} for --enable-introspection-data]) ;; -+esac],[introspection_data=true]) -+AM_CONDITIONAL([BUILD_INTROSPECTION_DATA], [test x$introspection_data = xtrue]) -+ - AC_CONFIG_FILES([ - Makefile - tests/Makefile -diff --git a/tests/Makefile.am b/tests/Makefile.am -index 4bdb9c3..10b0f27 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -1,6 +1,9 @@ - include $(top_srcdir)/common.mk - --SUBDIRS = . scanner repository offsets warn -+SUBDIRS = . scanner repository warn -+if BUILD_INTROSPECTION_DATA -+SUBDIRS += offsets -+endif - - EXTRA_DIST= - BUILT_SOURCES= diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-g-ir-tools-respect-gir_dir_prefix.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-g-ir-tools-respect-gir_dir_prefix.patch deleted file mode 100644 index 5e4176725c..0000000000 --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-g-ir-tools-respect-gir_dir_prefix.patch +++ /dev/null @@ -1,76 +0,0 @@ -g-ir-tools: respect gir_dir_prefix - -Configure option gir_dir_prefix is used to configure install dir for -.gir files, so add its value to include file search paths. - -Upstream-Status: Accepted [https://gitlab.gnome.org/GNOME/gobject-introspection/commit/3fe995a] - -Signed-off-by: Kai Kang <kai.kang@windriver.com> ---- - Makefile-tools.am | 2 +- - giscanner/transformer.py | 1 + - tests/warn/warningtester.py | 1 + - tools/g-ir-tool-template.in | 10 ++++++++++ - 6 files changed, 15 insertions(+), 2 deletions(-) - -diff --git a/Makefile-tools.am b/Makefile-tools.am -index c70d9850..fcaf1e01 100644 ---- a/Makefile-tools.am -+++ b/Makefile-tools.am -@@ -9,7 +9,7 @@ EXTRA_DIST += \ - tools/g-ir-tool-template.in \ - tools/meson.build - --TOOL_SUBSTITUTIONS = -e s,@libdir\@,$(libdir), -e s,@datarootdir\@,$(datarootdir), -e s,@PYTHON_CMD\@,\/usr\/bin\/env\ $(PYTHON), -+TOOL_SUBSTITUTIONS = -e s,@libdir\@,$(libdir), -e s,@datarootdir\@,$(datarootdir), -e s,@PYTHON_CMD\@,\/usr\/bin\/env\ $(PYTHON), -e s,@GIR_DIR\@,$(GIR_DIR),g - - g-ir-scanner: tools/g-ir-tool-template.in _giscanner.la Makefile - $(AM_V_GEN) sed $(TOOL_SUBSTITUTIONS) -e s,@TOOL_MODULE\@,scannermain, -e s,@TOOL_FUNCTION\@,scanner_main, $< > $@.tmp && mv $@.tmp $@ -diff --git a/giscanner/transformer.py b/giscanner/transformer.py -index 335e229f..2c412339 100644 ---- a/giscanner/transformer.py -+++ b/giscanner/transformer.py -@@ -184,6 +184,7 @@ None.""" - def _get_gi_data_dirs(self): - data_dirs = utils.get_system_data_dirs() - data_dirs.append(DATADIR) -+ data_dirs.append(GIRDIR) - if os.name != 'nt': - # For backwards compatibility, was always unconditionally added to the list. - data_dirs.append('/usr/share') -diff --git a/tests/warn/warningtester.py b/tests/warn/warningtester.py -index f17c8889..be5aec13 100644 ---- a/tests/warn/warningtester.py -+++ b/tests/warn/warningtester.py -@@ -18,6 +18,7 @@ sys.path.insert(0, path) - - # Not correct, but enough to get the tests going uninstalled - builtins.__dict__['DATADIR'] = path -+builtins.__dict__['GIRDIR'] = '' - - from giscanner.annotationparser import GtkDocCommentBlockParser - from giscanner.ast import Include, Namespace -diff --git a/tools/g-ir-tool-template.in b/tools/g-ir-tool-template.in -index ed33d16b..b9cf0911 100755 ---- a/tools/g-ir-tool-template.in -+++ b/tools/g-ir-tool-template.in -@@ -60,6 +60,16 @@ if not os.path.isdir(os.path.join(datadir, 'gir-1.0')): - - builtins.__dict__['DATADIR'] = datadir - -+# Respect gir_dir_prefix for meson and autotools -+girdir = '' -+# for meson -+if '@gir_dir_prefix@' and not '@gir_dir_prefix@'.startswith('@'): -+ girdir = os.path.abspath(os.path.join(filedir, '..', '@gir_dir_prefix@')) -+# for autotools -+elif '@GIR_DIR@' and not '@GIR_DIR@'.startswith('@'): -+ girdir = os.path.dirname(os.path.abspath('@GIR_DIR@')) -+builtins.__dict__['GIRDIR'] = girdir -+ - # Again, relative paths first so that the installation prefix is relocatable - pylibdir = os.path.abspath(os.path.join(filedir, '..', 'lib', 'gobject-introspection')) - --- -2.17.0 - diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0003-giscanner-add-use-binary-wrapper-option.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0003-giscanner-add-use-binary-wrapper-option.patch deleted file mode 100644 index 45fe27ad61..0000000000 --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0003-giscanner-add-use-binary-wrapper-option.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 46dbe963aa6435591c87e788cdb54bc0daeac42e Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Mon, 19 Oct 2015 18:26:40 +0300 -Subject: [PATCH] giscanner: add --use-binary-wrapper option - -With this option, giscanner will use a wrapper executable to run -binaries it's producing, instead of running them directly. This -is useful when binaries are cross-compiled and cannot be run directly, -but they can be run using for example QEMU emulation. - -Upstream-Status: Pending [review on oe-core list] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - giscanner/scannermain.py | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py -index ccb14e9..061def0 100644 ---- a/giscanner/scannermain.py -+++ b/giscanner/scannermain.py -@@ -126,6 +126,9 @@ def _get_option_parser(): - parser.add_option("", "--program", - action="store", dest="program", default=None, - help="program to execute") -+ parser.add_option("", "--use-binary-wrapper", -+ action="store", dest="wrapper", default=None, -+ help="wrapper to use for running programs (useful when cross-compiling)") - parser.add_option("", "--program-arg", - action="append", dest="program_args", default=[], - help="extra arguments to program") -@@ -418,6 +421,17 @@ def create_binary(transformer, options, args): - gdump_parser.get_error_quark_functions()) - - shlibs = resolve_shlibs(options, binary, options.libraries) -+ if options.wrapper: -+ # The wrapper needs the binary itself, not the libtool wrapper script, -+ # so we check if libtool has sneaked the binary into .libs subdirectory -+ # and adjust the path accordingly -+ import os.path -+ dir_name, binary_name = os.path.split(binary.args[0]) -+ libtool_binary = os.path.join(dir_name, '.libs', binary_name) -+ if os.path.exists(libtool_binary): -+ binary.args[0] = libtool_binary -+ # Then prepend the wrapper to the command line to execute -+ binary.args = [options.wrapper] + binary.args - gdump_parser.set_introspection_binary(binary) - gdump_parser.parse() - return shlibs diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0004-giscanner-add-a-use-ldd-wrapper-option.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0004-giscanner-add-a-use-ldd-wrapper-option.patch deleted file mode 100644 index 2e36b64bab..0000000000 --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0004-giscanner-add-a-use-ldd-wrapper-option.patch +++ /dev/null @@ -1,45 +0,0 @@ -From eba2b999e81d81b5f43bb1f0ab33881786bebdec Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Fri, 30 Oct 2015 16:28:46 +0200 -Subject: [PATCH] giscanner: add a --use-ldd-wrapper option - -This is useful in cross-compile environments where system's ldd -command does not work on binaries built for a different architecture - -Upstream-Status: Pending [review in oe-core] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - giscanner/scannermain.py | 3 +++ - giscanner/shlibs.py | 4 +++- - 2 files changed, 6 insertions(+), 1 deletion(-) - -diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py -index 061def0..5cb793e 100644 ---- a/giscanner/scannermain.py -+++ b/giscanner/scannermain.py -@@ -129,6 +129,9 @@ def _get_option_parser(): - parser.add_option("", "--use-binary-wrapper", - action="store", dest="wrapper", default=None, - help="wrapper to use for running programs (useful when cross-compiling)") -+ parser.add_option("", "--use-ldd-wrapper", -+ action="store", dest="ldd_wrapper", default=None, -+ help="wrapper to use instead of ldd (useful when cross-compiling)") - parser.add_option("", "--program-arg", - action="append", dest="program_args", default=[], - help="extra arguments to program") -diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py -index 7b7b2d0..01d21a3 100644 ---- a/giscanner/shlibs.py -+++ b/giscanner/shlibs.py -@@ -102,7 +102,9 @@ def _resolve_non_libtool(options, binary, libraries): - args.extend(libtool) - args.append('--mode=execute') - platform_system = platform.system() -- if platform_system == 'Darwin': -+ if options.ldd_wrapper: -+ args.extend([options.ldd_wrapper, binary.args[0]]) -+ elif platform_system == 'Darwin': - args.extend(['otool', '-L', binary.args[0]]) - else: - args.extend(['ldd', binary.args[0]]) diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch deleted file mode 100644 index 2a31117b13..0000000000 --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch +++ /dev/null @@ -1,94 +0,0 @@ -From a97d060933932e478c03f1de9513b69bc459eefc Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Thu, 8 Oct 2015 18:30:35 +0300 -Subject: [PATCH] Prefix pkg-config paths with PKG_CONFIG_SYSROOT_DIR - environment variable - -This environment variable sets the location of sysroot directory in cross-compilation -environments; if the variable is not set, the prefix will be empty. - -Upstream-Status: Pending [review on oe-core list] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - Makefile-gir.am | 18 +++++++++--------- - m4/introspection.m4 | 8 ++++---- - 2 files changed, 13 insertions(+), 13 deletions(-) - -diff --git a/Makefile-gir.am b/Makefile-gir.am -index 2cd7358..eaf0afd 100644 ---- a/Makefile-gir.am -+++ b/Makefile-gir.am -@@ -58,8 +58,8 @@ else - endif - - # glib --GLIB_INCLUDEDIR=$(shell "${PKG_CONFIG}" --variable=includedir glib-2.0)/glib-2.0 --GLIB_LIBDIR=$(shell "${PKG_CONFIG}" --variable=libdir glib-2.0) -+GLIB_INCLUDEDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=includedir glib-2.0)/glib-2.0 -+GLIB_LIBDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=libdir glib-2.0) - - GLIB_LIBRARY=glib-2.0 - -@@ -95,8 +95,8 @@ GLib-2.0.gir: g-ir-scanner g-ir-compiler$(EXEEXT) - gir/DBusGLib-1.0.typelib: GObject-2.0.gir - - # gobject --GOBJECT_INCLUDEDIR=$(shell "${PKG_CONFIG}" --variable=includedir gobject-2.0)/glib-2.0 --GOBJECT_LIBDIR=$(shell "${PKG_CONFIG}" --variable=libdir gobject-2.0) -+GOBJECT_INCLUDEDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=includedir gobject-2.0)/glib-2.0 -+GOBJECT_LIBDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=libdir gobject-2.0) - - GOBJECT_LIBRARY=gobject-2.0 - -@@ -123,8 +123,8 @@ GObject_2_0_gir_FILES = \ - BUILT_GIRSOURCES += GObject-2.0.gir - - # gmodule --GMODULE_INCLUDEDIR=$(shell "${PKG_CONFIG}" --variable=includedir gmodule-2.0)/glib-2.0 --GMODULE_LIBDIR=$(shell "${PKG_CONFIG}" --variable=libdir gmodule-2.0) -+GMODULE_INCLUDEDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=includedir gmodule-2.0)/glib-2.0 -+GMODULE_LIBDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=libdir gmodule-2.0) - - GMODULE_LIBRARY=gmodule-2.0 - -@@ -149,13 +149,13 @@ GModule_2_0_gir_FILES = $(GLIB_INCLUDEDIR)/gmodule.h \ - BUILT_GIRSOURCES += GModule-2.0.gir - - # gio --GIO_INCLUDEDIR=$(shell "${PKG_CONFIG}" --variable=includedir gio-2.0)/glib-2.0 --GIO_LIBDIR=$(shell "${PKG_CONFIG}" --variable=libdir gio-2.0) -+GIO_INCLUDEDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=includedir gio-2.0)/glib-2.0 -+GIO_LIBDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=libdir gio-2.0) - - GIO_LIBRARY=gio-2.0 - - if HAVE_GIO_UNIX --GIO_UNIX_INCLUDEDIR = $(shell "${PKG_CONFIG}" --variable=includedir gio-unix-2.0)/gio-unix-2.0 -+GIO_UNIX_INCLUDEDIR = $(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=includedir gio-unix-2.0)/gio-unix-2.0 - GIO_UNIX_HDRS = $(GIO_UNIX_INCLUDEDIR)/gio/*.h - GIO_UNIX_PACKAGES = gio-unix-2.0 - else -diff --git a/m4/introspection.m4 b/m4/introspection.m4 -index d89c3d9..b562266 100644 ---- a/m4/introspection.m4 -+++ b/m4/introspection.m4 -@@ -56,14 +56,14 @@ m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL], - INTROSPECTION_GIRDIR= - INTROSPECTION_TYPELIBDIR= - if test "x$found_introspection" = "xyes"; then -- INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0` -- INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0` -- INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0` -+ INTROSPECTION_SCANNER=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0` -+ INTROSPECTION_COMPILER=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0` -+ INTROSPECTION_GENERATE=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0` - INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0` - INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)" - INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0` - INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0` -- INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection -+ INTROSPECTION_MAKEFILE=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection - fi - AC_SUBST(INTROSPECTION_SCANNER) - AC_SUBST(INTROSPECTION_COMPILER) diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0010-meson-add-option-gir-dir-prefix.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0010-meson-add-option-gir-dir-prefix.patch deleted file mode 100644 index 8eec5f867e..0000000000 --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0010-meson-add-option-gir-dir-prefix.patch +++ /dev/null @@ -1,66 +0,0 @@ -From bbc34f00fd30a13eafc607a956de60d822260355 Mon Sep 17 00:00:00 2001 -From: Kai Kang <kai.kang@windriver.com> -Date: Fri, 14 Sep 2018 01:26:38 -0700 -Subject: [PATCH] meson: add option 'gir-dir-prefix' - -Add option 'gir-dir-prefix' for meson to make the installation path of -.gir files could be configured which has been done for autoconf. - -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gobject-introspection/commit/3938b86f5289c2b28a5ec42965b8da4b509445c4] -Signed-off-by: Kai Kang <kai.kang@windriver.com> ---- - gir/meson.build | 1 - - meson.build | 8 +++++++- - meson_options.txt | 4 ++++ - 3 files changed, 11 insertions(+), 2 deletions(-) - -diff --git a/gir/meson.build b/gir/meson.build -index 607bbc4..1cb514a 100644 ---- a/gir/meson.build -+++ b/gir/meson.build -@@ -34,7 +34,6 @@ gir_files = [ - ] - - typelibdir = join_paths(get_option('libdir'), 'girepository-1.0') --girdir = join_paths(get_option('datadir'), 'gir-1.0') - install_data(gir_files, install_dir: girdir) - - scanner_command = [ -diff --git a/meson.build b/meson.build -index a1432f7..17acd82 100644 ---- a/meson.build -+++ b/meson.build -@@ -18,7 +18,12 @@ python = pymod.find_installation(get_option('python')) - cc = meson.get_compiler('c') - config = configuration_data() - config.set_quoted('GIR_SUFFIX', 'gir-1.0') --config.set_quoted('GIR_DIR', join_paths(get_option('prefix'), get_option('datadir'), 'gir-1.0')) -+gir_dir_prefix = get_option('gir-dir-prefix') -+if gir_dir_prefix == '' -+ gir_dir_prefix = get_option('datadir') -+endif -+girdir = join_paths(get_option('prefix'), gir_dir_prefix, 'gir-1.0') -+config.set_quoted('GIR_DIR', girdir) - config.set_quoted('GOBJECT_INTROSPECTION_LIBDIR', join_paths(get_option('prefix'), get_option('libdir'))) - - foreach type : ['char', 'short', 'int', 'long'] -@@ -93,6 +98,7 @@ pkgconfig_conf.set('libdir', join_paths('${prefix}', get_option('libdir'))) - pkgconfig_conf.set('datarootdir', join_paths('${prefix}', get_option('datadir'))) - pkgconfig_conf.set('datadir', '${datarootdir}') - pkgconfig_conf.set('includedir', join_paths('${prefix}', get_option('includedir'))) -+pkgconfig_conf.set('GIR_DIR', join_paths('${prefix}', gir_dir_prefix, 'gir-1.0')) - if host_system == 'windows' or host_system == 'cygwin' - pkgconfig_conf.set('EXEEXT', '.exe') - else -diff --git a/meson_options.txt b/meson_options.txt -index 49726be..ee6958d 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -21,3 +21,7 @@ option('cairo-libname', type: 'string', - option('python', type: 'string', value: 'python3', - description: 'Path or name of the Python interpreter to build for' - ) -+ -+option('gir-dir-prefix', type: 'string', -+ description: 'Intermediate prefix for gir installation under ${prefix}' -+) diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.3.bb b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.70.0.bb index 4ff9b7bf4b..fcda10bd33 100644 --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.3.bb +++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.70.0.bb @@ -1,8 +1,12 @@ 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://bugzilla.gnome.org/" +BUGTRACKER = "https://gitlab.gnome.org/GNOME/gobject-introspection/issues" SECTION = "libs" -LICENSE = "LGPLv2+ & GPLv2+" +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 \ @@ -10,70 +14,52 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c434e8128a68bedd59b80b2ac1eb1c4a \ " SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-${PV}.tar.xz \ - file://0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch \ - file://0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch \ - file://0003-giscanner-add-use-binary-wrapper-option.patch \ - file://0004-giscanner-add-a-use-ldd-wrapper-option.patch \ - file://0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch \ - file://0001-giscanner-add-a-lib-dirs-envvar-option.patch \ - file://0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch \ - file://0001-configure.ac-make-GIR_DIR-configurable.patch \ - file://0002-g-ir-tools-respect-gir_dir_prefix.patch \ - file://0010-meson-add-option-gir-dir-prefix.patch \ - file://0001-Port-cross-compilation-support-to-meson.patch \ + file://0001-build-Avoid-the-doctemplates-hack.patch \ " -SRC_URI[md5sum] = "182432c1f33886be8f4da073218b597d" -SRC_URI[sha256sum] = "025b632bbd944dcf11fc50d19a0ca086b83baf92b3e34936d008180d28cdc3c8" +SRC_URI[sha256sum] = "902b4906e3102d17aa2fcb6dad1c19971c70f2a82a159ddc4a94df73a3cafc4a" -SRC_URI_append_class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch" +SRC_URI:append:class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch" inherit meson pkgconfig gtk-doc python3native 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_append = " libffi zlib glib-2.0 python3 flex-native bison-native autoconf-archive" +DEPENDS += " libffi zlib glib-2.0 python3 flex-native bison-native autoconf-archive" # 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. -# Also prelink-rtld is used to find out library dependencies of introspection binaries -# (standard ldd doesn't work when cross-compiling). -DEPENDS_class-target_append = " gobject-introspection-native qemu-native prelink-native" +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=true,-Ddoctool=false,python3-mako," +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 = " \ - -Denable-host-gi=true \ - -Denable-gi-cross-wrapper=${B}/g-ir-scanner-qemuwrapper \ - -Denable-gi-ldd-wrapper=${B}/g-ir-scanner-lddwrapper \ - -Dpkgconfig-sysroot-path=${PKG_CONFIG_SYSROOT_DIR} \ - ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Denable-introspection-data=true', '-Denable-introspection-data=false', d)} \ - ${@'-Dgir-dir-prefix=${libdir}' if d.getVar('MULTILIBS') else ''} \ +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 ''} \ " -# Need to ensure ld.so.conf exists so prelink-native works -# both before we build and if we install from sstate -do_configure[prefuncs] += "gobject_introspection_preconfigure" -python gobject_introspection_preconfigure () { - oe.utils.write_ld_so_conf(d) -} - -do_configure_prepend_class-native() { +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() { +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}'])}" @@ -94,11 +80,11 @@ EOF # 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 + # 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 $HOME +# 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 "\$@" @@ -117,7 +103,7 @@ EOF # for a different architecture cat > ${B}/g-ir-scanner-lddwrapper << EOF #!/bin/sh -prelink-rtld --root=$STAGING_DIR_HOST "\$@" +$OBJDUMP -p "\$@" EOF chmod +x ${B}/g-ir-scanner-lddwrapper @@ -126,7 +112,7 @@ EOF sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in } -do_compile_prepend() { +do_compile:prepend() { # This prevents g-ir-scanner from writing cache data to $HOME export GI_SCANNER_DISABLE_CACHE=1 @@ -134,9 +120,14 @@ do_compile_prepend() { export GIR_EXTRA_LIBS_PATH=$B/.libs } -# Our wrappers need to be available system-wide, because they will be used +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() { +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}/ @@ -146,9 +137,9 @@ do_install_append_class-target() { # 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_DIRS:append:class-target = " ${bindir}" -SYSROOT_PREPROCESS_FUNCS_append_class-target = " gi_binaries_sysroot_preprocess" +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. @@ -158,7 +149,7 @@ gi_binaries_sysroot_preprocess() { ${SYSROOT_DESTDIR}${libdir}/pkgconfig/gobject-introspection-1.0.pc } -SYSROOT_PREPROCESS_FUNCS_append = " gi_ldsoconf_sysroot_preprocess" +SYSROOT_PREPROCESS_FUNCS:append = " gi_ldsoconf_sysroot_preprocess" gi_ldsoconf_sysroot_preprocess () { mkdir -p ${SYSROOT_DESTDIR}${bindir} dest=${SYSROOT_DESTDIR}${bindir}/postinst-ldsoconf-${PN} @@ -181,26 +172,26 @@ gi_package_preprocess() { 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" +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" +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 \ +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 \ +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" +FILES:${PN}-dbg += "${libdir}/gobject-introspection/giscanner/.debug/" +FILES:${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a" -RDEPENDS_${PN} = "python3-pickle python3-xml" +RDEPENDS:${PN} = "python3-pickle python3-xml" BBCLASSEXTEND = "native" diff --git a/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.28.1.bb b/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.28.1.bb deleted file mode 100644 index 693c109d83..0000000000 --- a/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.28.1.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "GNOME desktop-wide GSettings schemas" -HOMEPAGE = "http://live.gnome.org/gsettings-desktop-schemas" -BUGTRACKER = "https://bugzilla.gnome.org/" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -DEPENDS = "glib-2.0 intltool-native" - -inherit gnomebase gsettings gettext gobject-introspection upstream-version-is-even - -SRC_URI[archive.md5sum] = "83bb19d025f126fae495ab43a2f26f40" -SRC_URI[archive.sha256sum] = "f88ea6849ffe897c51cfeca5e45c3890010c82c58be2aee18b01349648e5502f" diff --git a/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_41.0.bb b/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_41.0.bb new file mode 100644 index 0000000000..280e3c8b50 --- /dev/null +++ b/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_41.0.bb @@ -0,0 +1,16 @@ +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" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gsettings gobject-introspection gettext + +SRC_URI[archive.sha256sum] = "77289972e596d044583f0c056306d8f1dbd8adcf912910a50da0a663e65332ed" diff --git a/meta/recipes-gnome/gtk+/gtk+.inc b/meta/recipes-gnome/gtk+/gtk+.inc deleted file mode 100644 index 14ed8d812c..0000000000 --- a/meta/recipes-gnome/gtk+/gtk+.inc +++ /dev/null @@ -1,107 +0,0 @@ -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/" - -LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+" - -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" - -SECTION = "libs" - -inherit distro_features_check -ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}" - -# This picks stable releases in the 2.x series (but not 2.90 onwards, -# which were GNOME 3 betas). -UPSTREAM_CHECK_REGEX = "(?P<pver>2\.([0-8]*[02468])+(\.\d+)+)" - -X11DEPENDS = "virtual/libx11 libxext libxcursor libxrandr libxdamage libxrender libxcomposite" -DEPENDS = "glib-2.0 pango atk jpeg libpng gdk-pixbuf-native \ - cairo gdk-pixbuf" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'directfb x11', d)}" - -PACKAGECONFIG[x11] = "--with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS}" -# without --with-gdktarget=directfb it will check for cairo-xlib which isn't available without X11 DISTRO_FEATURE -PACKAGECONFIG[directfb] = "--with-gdktarget=directfb,,directfb" -PACKAGECONFIG[manpages] = "--enable-man --with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog.xml, --disable-man, libxslt-native xmlto-native" - -inherit autotools gtk-doc pkgconfig update-alternatives gtk-immodules-cache gobject-introspection manpages - -PACKAGES += "libgail gtk-demo" - -FILES_${PN} += "${bindir}/gtk-update-icon-cache-2.0 \ - ${bindir}/gtk-query-immodules-2.0 \ - ${datadir}/themes ${sysconfdir} \ - ${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so" - -FILES_${PN}-dev += " \ - ${datadir}/gtk-2.0/include \ - ${libdir}/gtk-2.0/include \ - ${libdir}/gtk-2.0/modules/*.la \ - ${libdir}/gtk-2.0/${LIBV}/loaders/*.la \ - ${libdir}/gtk-2.0/${LIBV}/immodules/*.la \ - ${libdir}/gtk-2.0/${LIBV}/printbackends/*.la \ - ${libdir}/gtk-2.0/${LIBV}/engines/*.la \ - ${bindir}/gtk-builder-convert" - -FILES_gtk-demo = " \ - ${datadir}/gtk-2.0/demo/* \ - ${bindir}/gtk-demo \ - " - -FILES_libgail = " \ - ${libdir}/gtk-2.0/modules/libgail.so \ - ${libdir}/gtk-2.0/modules/libferret.so \ - " - -GTKBASE_RRECOMMENDS ?= "liberation-fonts \ - gdk-pixbuf-loader-png \ - gdk-pixbuf-loader-jpeg \ - gdk-pixbuf-loader-gif \ - gdk-pixbuf-loader-xpm \ - shared-mime-info \ - gnome-theme-adwaita \ - " -GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1" - -RRECOMMENDS_${PN} = "${GTKBASE_RRECOMMENDS}" -RRECOMMENDS_${PN}_libc-glibc = "${GTKGLIBC_RRECOMMENDS}" - -ALTERNATIVE_${PN} = "gtk-update-icon-cache" -ALTERNATIVE_TARGET[gtk-update-icon-cache] = "${bindir}/gtk-update-icon-cache-2.0" - -do_compile_prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/gdk/.libs" -} - -do_install () { - autotools_do_install - - install -d ${D}${sysconfdir}/gtk-2.0 - - mkdir -p ${D}${libdir}/gtk-2.0/include - install -m 0644 gdk/gdkconfig.h ${D}${libdir}/gtk-2.0/include/gdkconfig.h - - install -m 0644 ${S}/gtk/gtkfilechooserprivate.h ${D}${includedir}/gtk-2.0/gtk/ - install -m 0644 ${S}/gtk/gtkfilechooserutils.h ${D}${includedir}/gtk-2.0/gtk/ - install -m 0644 ${S}/gtk/gtkfilesystemmodel.h ${D}${includedir}/gtk-2.0/gtk/ - - mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-2.0 - - # duplicate gtk-query-immodules for post install script update_gtk_immodules_cache - mkdir -p ${D}${libexecdir} - ln ${D}${bindir}/gtk-query-immodules-2.0 ${D}${libexecdir}/${MLPREFIX}gtk-query-immodules-2.0 -} - -SYSROOT_PREPROCESS_FUNCS += "gtk_sysroot_preprocess" - -gtk_sysroot_preprocess () { - if [ -e ${D}${bindir}/gtk-builder-convert ]; then - install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ - install -m 755 ${D}${bindir}/gtk-builder-convert ${SYSROOT_DESTDIR}${bindir_crossscripts}/ - fi -} - diff --git a/meta/recipes-gnome/gtk+/gtk+/0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch b/meta/recipes-gnome/gtk+/gtk+/0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch deleted file mode 100644 index 83be39c3bf..0000000000 --- a/meta/recipes-gnome/gtk+/gtk+/0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 34ce93e1c50bfb88f92a687d4f82de55584f3f6a Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Wed, 11 Apr 2018 14:20:39 +0300 -Subject: [PATCH] Do not look into $HOME when looking for gtk modules - -On the host it causes host contamination, on the target it's a -potential security issue. Gtk+3 has already removed this. - -Upstream-Status: Inappropriate [gtk2 is in maintenance mode] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - gtk/gtkmodules.c | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/gtk/gtkmodules.c b/gtk/gtkmodules.c -index 50729b6..e09b583 100644 ---- a/gtk/gtkmodules.c -+++ b/gtk/gtkmodules.c -@@ -65,10 +65,6 @@ get_module_path (void) - if (result) - return result; - -- home_dir = g_get_home_dir(); -- if (home_dir) -- home_gtk_dir = g_build_filename (home_dir, ".gtk-2.0", NULL); -- - module_path_env = g_getenv ("GTK_PATH"); - exe_prefix = g_getenv ("GTK_EXE_PREFIX"); - diff --git a/meta/recipes-gnome/gtk+/gtk+/doc-fixes.patch b/meta/recipes-gnome/gtk+/gtk+/doc-fixes.patch deleted file mode 100644 index 74e479fd1b..0000000000 --- a/meta/recipes-gnome/gtk+/gtk+/doc-fixes.patch +++ /dev/null @@ -1,22 +0,0 @@ -There are issues building the gtk+ tutorial and faq documentation. -Since they were removed in gtk+ upstream and are superfluous in -embedded applications, just don't build them. - -Thanks to Joshua Lock for suggesting this approach. - -Signed-off-by: Scott Garman <scott.a.garman@intel.com> - -Upstream-Status: Inappropriate [embedded specific] - -diff -urN gtk+-2.22.1.orig/docs/Makefile.am gtk+-2.22.1/docs/Makefile.am ---- gtk+-2.22.1.orig/docs/Makefile.am 2010-11-15 04:13:09.000000000 -0800 -+++ gtk+-2.22.1/docs/Makefile.am 2011-02-23 19:25:16.914815097 -0800 -@@ -1,7 +1,7 @@ - ## Process this file with automake to produce Makefile.in - include $(top_srcdir)/Makefile.decl - --SUBDIRS = tutorial faq reference tools -+SUBDIRS = reference tools - - EXTRA_DIST += \ - defsformat.txt \ diff --git a/meta/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch b/meta/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch deleted file mode 100644 index 9eb7f6bf5c..0000000000 --- a/meta/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch +++ /dev/null @@ -1,36 +0,0 @@ -Upstream-Status: Inappropriate [embedded specific] - -Updated to apply to gtk+-2.24.15 - -Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> -Index: gtk+-2.24.31/configure.ac -=================================================================== ---- gtk+-2.24.31.orig/configure.ac -+++ gtk+-2.24.31/configure.ac -@@ -415,7 +415,7 @@ AC_MSG_CHECKING([Whether to write depend - case $enable_explicit_deps in - auto) - export SED -- deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh` -+ deplibs_check_method=`(./$host_alias-libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh` - if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then - enable_explicit_deps=yes - else -@@ -772,7 +772,7 @@ else - dnl Now we check to see if our libtool supports shared lib deps - dnl (in a rather ugly way even) - if $dynworks; then -- module_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config" -+ module_libtool_config="${CONFIG_SHELL-/bin/sh} $host_alias-libtool --config" - module_deplibs_check=`$module_libtool_config | \ - grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \ - sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'` -@@ -1579,7 +1579,7 @@ fi - # We are using gmodule-no-export now, but I'm leaving the stripping - # code in place for now, since pango and atk still require gmodule. - export SED --export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` -+export_dynamic=`($host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` - if test -n "$export_dynamic"; then - GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"` - GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"` diff --git a/meta/recipes-gnome/gtk+/gtk+/strict-prototypes.patch b/meta/recipes-gnome/gtk+/gtk+/strict-prototypes.patch deleted file mode 100644 index 96e1f5feac..0000000000 --- a/meta/recipes-gnome/gtk+/gtk+/strict-prototypes.patch +++ /dev/null @@ -1,24 +0,0 @@ -Fixes - -include/gtk-2.0/gtk/gtkitemfactory.h:47:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - typedef void (*GtkItemFactoryCallback) (); - -gcc5 has -Wstrict-prototypes on by default for -Werror so this becomes a build failure for consumers -of this header e.g. matchbox-panel-2 - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Index: gtk+-2.24.27/gtk/gtkitemfactory.h -=================================================================== ---- gtk+-2.24.27.orig/gtk/gtkitemfactory.h -+++ gtk+-2.24.27/gtk/gtkitemfactory.h -@@ -44,7 +44,7 @@ typedef void (*GtkPrintFunc) (gpoint - * (Note that if we are included from a C++ program () will mean - * (void) so an explicit cast will be needed.) - */ --typedef void (*GtkItemFactoryCallback) (); -+typedef void (*GtkItemFactoryCallback) (void); - typedef void (*GtkItemFactoryCallback1) (gpointer callback_data, - guint callback_action, - GtkWidget *widget); diff --git a/meta/recipes-gnome/gtk+/gtk+/toggle-font.diff b/meta/recipes-gnome/gtk+/gtk+/toggle-font.diff deleted file mode 100644 index 340d12008b..0000000000 --- a/meta/recipes-gnome/gtk+/gtk+/toggle-font.diff +++ /dev/null @@ -1,102 +0,0 @@ -Upstream-Status: Pending - -Index: gtk/gtkcellrenderertoggle.c -=================================================================== ---- gtk/gtkcellrenderertoggle.c.orig 2010-06-22 18:11:33.000000000 +0800 -+++ gtk/gtkcellrenderertoggle.c 2010-06-22 18:11:43.000000000 +0800 -@@ -71,6 +71,8 @@ - PROP_INDICATOR_SIZE - }; - -+/* This is a hard-coded default which promptly gets overridden by a size -+ calculated from the font size. */ - #define TOGGLE_WIDTH 13 - - static guint toggle_cell_signals[LAST_SIGNAL] = { 0 }; -@@ -80,8 +82,9 @@ - typedef struct _GtkCellRendererTogglePrivate GtkCellRendererTogglePrivate; - struct _GtkCellRendererTogglePrivate - { -- gint indicator_size; -- -+ gint indicator_size; /* This is the real size */ -+ gint override_size; /* This is the size set from the indicator-size property */ -+ GtkWidget *cached_widget; - guint inconsistent : 1; - }; - -@@ -104,6 +107,7 @@ - GTK_CELL_RENDERER (celltoggle)->ypad = 2; - - priv->indicator_size = TOGGLE_WIDTH; -+ priv->override_size = 0; - priv->inconsistent = FALSE; - } - -@@ -210,7 +214,7 @@ - g_value_set_boolean (value, celltoggle->radio); - break; - case PROP_INDICATOR_SIZE: -- g_value_set_int (value, priv->indicator_size); -+ g_value_set_int (value, priv->override_size ? priv->override_size : priv->indicator_size); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); -@@ -245,7 +249,7 @@ - celltoggle->radio = g_value_get_boolean (value); - break; - case PROP_INDICATOR_SIZE: -- priv->indicator_size = g_value_get_int (value); -+ priv->override_size = g_value_get_int (value); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); -@@ -273,6 +277,27 @@ - } - - static void -+on_widget_style_set (GtkWidget *widget, GtkStyle *previous, gpointer user_data) -+{ -+ GtkCellRendererTogglePrivate *priv = user_data; -+ PangoContext *context; -+ PangoFontMetrics *metrics; -+ int height; -+ -+ context = gtk_widget_get_pango_context (widget); -+ metrics = pango_context_get_metrics (context, -+ widget->style->font_desc, -+ pango_context_get_language (context)); -+ -+ height = pango_font_metrics_get_ascent (metrics) + -+ pango_font_metrics_get_descent (metrics); -+ -+ pango_font_metrics_unref (metrics); -+ -+ priv->indicator_size = PANGO_PIXELS (height * 0.85); -+} -+ -+static void - gtk_cell_renderer_toggle_get_size (GtkCellRenderer *cell, - GtkWidget *widget, - GdkRectangle *cell_area, -@@ -287,6 +312,20 @@ - - priv = GTK_CELL_RENDERER_TOGGLE_GET_PRIVATE (cell); - -+ if (priv->override_size) { -+ priv->indicator_size = priv->override_size; -+ } else if (priv->cached_widget != widget) { -+ if (priv->cached_widget) { -+ g_object_remove_weak_pointer (widget, &priv->cached_widget); -+ g_signal_handlers_disconnect_by_func (priv->cached_widget, on_widget_style_set, priv); -+ } -+ priv->cached_widget = widget; -+ g_object_add_weak_pointer (widget, &priv->cached_widget); -+ g_signal_connect (widget, "style-set", on_widget_style_set, priv); -+ -+ on_widget_style_set (widget, NULL, priv); -+ } -+ - calc_width = (gint) cell->xpad * 2 + priv->indicator_size; - calc_height = (gint) cell->ypad * 2 + priv->indicator_size; - diff --git a/meta/recipes-gnome/gtk+/gtk+/xsettings.patch b/meta/recipes-gnome/gtk+/gtk+/xsettings.patch deleted file mode 100644 index d0a970ad4d..0000000000 --- a/meta/recipes-gnome/gtk+/gtk+/xsettings.patch +++ /dev/null @@ -1,20 +0,0 @@ -Upstream-Status: Pending - -Index: gtk+-2.21.2/gdk/x11/gdkevents-x11.c -=================================================================== ---- gtk+-2.21.2.orig/gdk/x11/gdkevents-x11.c 2010-06-22 17:28:04.000000000 +0800 -+++ gtk+-2.21.2/gdk/x11/gdkevents-x11.c 2010-06-22 17:28:06.000000000 +0800 -@@ -3062,10 +3062,9 @@ - { - GdkScreenX11 *screen = data; - -- if (xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent)) -- return GDK_FILTER_REMOVE; -- else -- return GDK_FILTER_CONTINUE; -+ xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent); -+ -+ return GDK_FILTER_CONTINUE; - } - - static Bool diff --git a/meta/recipes-gnome/gtk+/gtk+3.inc b/meta/recipes-gnome/gtk+/gtk+3.inc index 77b6c31536..7d50d7bd2e 100644 --- a/meta/recipes-gnome/gtk+/gtk+3.inc +++ b/meta/recipes-gnome/gtk+/gtk+3.inc @@ -1,3 +1,4 @@ + 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." @@ -8,13 +9,13 @@ SECTION = "libs" DEPENDS = "glib-2.0 cairo pango atk jpeg libpng gdk-pixbuf \ gdk-pixbuf-native" -LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+" +LICENSE = "LGPL-2.0-only & LGPL-2.0-or-later & LGPL-2.1-or-later" -inherit autotools gettext pkgconfig gtk-doc update-alternatives gtk-immodules-cache gsettings distro_features_check gobject-introspection +inherit autotools gettext pkgconfig gtk-doc update-alternatives gtk-immodules-cache gsettings features_check gobject-introspection BBCLASSEXTEND = "native nativesdk" -GSETTINGS_PACKAGE_class-native = "" +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" @@ -25,35 +26,39 @@ ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" # it here avoids rebuilding everything. export PKG_CONFIG_FOR_BUILD = "${STAGING_BINDIR_NATIVE}/pkg-config-native" -do_configure_prepend() { - # Do this because the configure script is running ./libtool directly - rm -f libtool - ln -s ${TARGET_PREFIX}libtool libtool +do_configure:prepend() { #delete a file that will get confused with generated one in ${B} rm -f ${S}/gtk/gtktypefuncs.c + + # 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. + # 3.24.22 will not be shipping these files so this can be deleted then: + # https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2183 + rm -f ${S}/modules/input/text-input-unstable-v3*.[ch] } EXTRA_OECONF += " \ --disable-glibtest \ --disable-xinerama \ --enable-modules \ - --disable-colord \ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "", "--disable-gtk-doc", d)} \ " -do_compile_prepend() { +do_compile:prepend() { export GIR_EXTRA_LIBS_PATH="${B}/gdk/.libs" } -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl wayland x11', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'glx', '', d)}" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl wayland x11', d)}" +PACKAGECONFIG:class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" +PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" PACKAGECONFIG[x11] = "--enable-x11-backend,--disable-x11-backend,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] = "--enable-opengl,--disable-opengl,libepoxy" -PACKAGECONFIG[glx] = "--enable-glx,--disable-glx,,libgl" -PACKAGECONFIG[wayland] = "--enable-wayland-backend,--disable-wayland-backend,wayland wayland-protocols libxkbcommon virtual/mesa wayland-native" +PACKAGECONFIG[wayland] = "--enable-wayland-backend,--disable-wayland-backend,wayland wayland-protocols libxkbcommon virtual/egl virtual/libgles2 wayland-native" PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups" +PACKAGECONFIG[colord] = "--enable-colord,--disable-colord,colord" prepare_gtk_scripts() { mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0 @@ -63,15 +68,15 @@ prepare_gtk_scripts() { ln ${D}${bindir}/gtk-query-immodules-3.0 ${D}${libexecdir}/${MLPREFIX}gtk-query-immodules-3.0 } -do_install_append_class-target() { +do_install:append:class-target() { prepare_gtk_scripts } -do_install_append_class-nativesdk() { +do_install:append:class-nativesdk() { prepare_gtk_scripts } -do_install_append_class-native() { +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 \ @@ -82,7 +87,7 @@ PROVIDES += "gtk-icon-utils" PACKAGES =+ "${PN}-demo" LIBV = "3.0.0" -FILES_${PN}-demo = "${bindir}/gtk3-demo \ +FILES:${PN}-demo = "${bindir}/gtk3-demo \ ${bindir}/gtk3-demo-application \ ${bindir}/gtk3-icon-browser \ ${bindir}/gtk3-widget-factory \ @@ -93,16 +98,17 @@ FILES_${PN}-demo = "${bindir}/gtk3-demo \ ${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 \ +FILES:${PN}:append = " ${bindir}/gtk-update-icon-cache-3.0 \ ${bindir}/gtk-query-immodules-3.0 \ ${bindir}/gtk-launch \ ${datadir}/themes ${sysconfdir} ${datadir}/glib-2.0/schemas/ \ ${libdir}/gtk-3.0/${LIBV}/engines/libpixmap.so \ ${libdir}/gtk-3.0/modules/*.so" -FILES_${PN}-dev += " \ +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 \ @@ -125,22 +131,22 @@ GTKBASE_RRECOMMENDS ?= "liberation-fonts \ adwaita-icon-theme-symbolic \ " -GTKBASE_RRECOMMENDS_class-native ?= "\ +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)}" +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:${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 () { +python populate_packages:prepend () { import os.path gtk_libdir = d.expand('${libdir}/gtk-3.0/${LIBV}') @@ -154,5 +160,5 @@ python populate_packages_prepend () { 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') + d.setVar(d.expand('PKG:${PN}'), '${MLPREFIX}libgtk-3.0') } diff --git a/meta/recipes-gnome/gtk+/gtk+3/0001-Hardcoded-libtool.patch b/meta/recipes-gnome/gtk+/gtk+3/0001-Hardcoded-libtool.patch deleted file mode 100644 index c210bbc7d5..0000000000 --- a/meta/recipes-gnome/gtk+/gtk+3/0001-Hardcoded-libtool.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 0ecaa5bab162abf0cb2057d77beeb7b89d5873b4 Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen <jussi.kukkonen@intel.com> -Date: Tue, 21 Jun 2016 14:53:56 +0300 -Subject: [PATCH 1/4] Hardcoded libtool - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> ---- - configure.ac | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 6628e21..f43ac09 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -617,7 +617,7 @@ AC_MSG_CHECKING([whether to write dependencies into .pc files]) - case $enable_explicit_deps in - auto) - export SED -- deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh` -+ deplibs_check_method=`(./$host_alias-libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh` - if test "x$deplibs_check_method" != xpass_all || test "x$enable_static" = xyes ; then - enable_explicit_deps=yes - else -@@ -895,7 +895,7 @@ else - dnl Now we check to see if our libtool supports shared lib deps - dnl (in a rather ugly way even) - if $dynworks; then -- module_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config" -+ module_libtool_config="${CONFIG_SHELL-/bin/sh} ./$host_alias-libtool --config" - module_deplibs_check=`$module_libtool_config | \ - grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \ - sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'` -@@ -1649,7 +1649,7 @@ AC_SUBST(GTK_PRINT_BACKENDS) - # We are using gmodule-no-export now, but I'm leaving the stripping - # code in place for now, since pango and atk still require gmodule. - export SED --export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` -+export_dynamic=`(./$host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` - if test -n "$export_dynamic"; then - GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"` - GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"` --- -2.12.0 - diff --git a/meta/recipes-gnome/gtk+/gtk+3/0002-Do-not-try-to-initialize-GL-without-libGL.patch b/meta/recipes-gnome/gtk+/gtk+3/0002-Do-not-try-to-initialize-GL-without-libGL.patch index cc7edf7607..80dc2d7a05 100644 --- a/meta/recipes-gnome/gtk+/gtk+3/0002-Do-not-try-to-initialize-GL-without-libGL.patch +++ b/meta/recipes-gnome/gtk+/gtk+3/0002-Do-not-try-to-initialize-GL-without-libGL.patch @@ -1,7 +1,7 @@ -From 23a563155406980dfc8cf6f7c2da6cce0ac310f0 Mon Sep 17 00:00:00 2001 +From 6575ab0f0e8c1bba033ad1616511e37a2ec995ff 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 2/4] Do not try to initialize GL without libGL +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 @@ -22,10 +22,10 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> 2 files changed, 11 insertions(+) diff --git a/configure.ac b/configure.ac -index 757fd7c..0a48875 100644 +index e9f5583..bd651bb 100644 --- a/configure.ac +++ b/configure.ac -@@ -351,6 +351,12 @@ AC_ARG_ENABLE(cloudproviders, +@@ -346,6 +346,12 @@ AC_ARG_ENABLE(cloudproviders, [AS_HELP_STRING([--enable-cloudproviders], [enable libcloudproviders integration])], [cloudproviders_set=yes]) @@ -36,8 +36,8 @@ index 757fd7c..0a48875 100644 + AC_DEFINE([HAVE_GLX], [], [GLX will be available at runtime]) +]) - if test -z "$backend_set"; then - if test "$platform_win32" = yes; then + AC_ARG_ENABLE(profiler, + [AS_HELP_STRING([--enable-profiler], diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c index 81479d8..3c8c5c0 100644 --- a/gdk/x11/gdkvisual-x11.c @@ -55,6 +55,3 @@ index 81479d8..3c8c5c0 100644 } gint --- -2.14.1 - diff --git a/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch b/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch index e5a67d098e..35cbab8761 100644 --- a/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch +++ b/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch @@ -1,4 +1,4 @@ -From 9e243474eea4330b593e0f6dd418b61b79699d8b Mon Sep 17 00:00:00 2001 +From eef50c94587fc30cd624adb5eb213eb9fa663dc1 Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen <jussi.kukkonen@intel.com> Date: Tue, 21 Jun 2016 15:11:39 +0300 Subject: [PATCH] Add --disable-opengl configure option @@ -25,6 +25,7 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> demos/gtk-demo/glarea.c | 14 ++++++ docs/tools/Makefile.am | 9 +++- docs/tools/widgets.c | 4 +- + gdk/Makefile.am | 8 ++- gdk/gdkdisplay.c | 4 +- gdk/gdkgl.c | 10 ++++ gdk/gdkglcontext.c | 6 +++ @@ -36,20 +37,20 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> gdk/x11/gdkx-autocleanups.h | 2 + gdk/x11/{gdkx.h => gdkx-with-gl-context.h} | 1 - gdk/x11/gdkx-without-gl-context.h | 58 ++++++++++++++++++++++ - gtk/Makefile.am | 3 +- + gtk/Makefile.am | 2 +- gtk/gtkglarea.c | 20 +++++++- gtk/inspector/general.c | 6 +++ tests/Makefile.am | 10 ++-- testsuite/gtk/objects-finalize.c | 2 + - 20 files changed, 202 insertions(+), 18 deletions(-) + 21 files changed, 208 insertions(+), 19 deletions(-) rename gdk/x11/{gdkx.h => gdkx-with-gl-context.h} (98%) create mode 100644 gdk/x11/gdkx-without-gl-context.h diff --git a/configure.ac b/configure.ac -index a91b29c..561d3b5 100644 +index 851bcbf..6cbf6a2 100644 --- a/configure.ac +++ b/configure.ac -@@ -351,6 +351,15 @@ AC_ARG_ENABLE(cloudproviders, +@@ -346,6 +346,15 @@ AC_ARG_ENABLE(cloudproviders, [AS_HELP_STRING([--enable-cloudproviders], [enable libcloudproviders integration])], [cloudproviders_set=yes]) @@ -65,21 +66,21 @@ index a91b29c..561d3b5 100644 AC_ARG_ENABLE(glx, [AS_HELP_STRING([--enable-glx], [When enabled Gdk will try to initialize GLX])]) -@@ -1381,7 +1390,7 @@ CFLAGS="$saved_cflags" +@@ -1345,7 +1354,7 @@ CFLAGS="$saved_cflags" LDFLAGS="$saved_ldflags" GDK_PACKAGES="$PANGO_PACKAGES gdk-pixbuf-2.0 >= gdk_pixbuf_required_version cairo >= cairo_required_version cairo-gobject >= cairo_required_version" --GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES $cairo_backends epoxy >= epoxy_required_version $CLOUDPROVIDER_PACKAGES" -+GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES $cairo_backends $EPOXY_PACKAGES $CLOUDPROVIDER_PACKAGES" +-GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $cairo_backends epoxy >= epoxy_required_version $CLOUDPROVIDER_PACKAGES $PROFILER_PACKAGES fribidi >= fribidi_required_version" ++GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $cairo_backends $EPOXY_PACKAGES $CLOUDPROVIDER_PACKAGES $PROFILER_PACKAGES fribidi >= fribidi_required_version" PKG_CHECK_MODULES(GDK_DEP, $GDK_PACKAGES $GDK_PRIVATE_PACKAGES) GDK_DEP_LIBS="$GDK_EXTRA_LIBS $GDK_DEP_LIBS $MATH_LIB" -@@ -1415,7 +1424,7 @@ fi +@@ -1379,7 +1388,7 @@ fi PKG_CHECK_MODULES(ATK, $ATK_PACKAGES) GTK_PACKAGES="atk >= atk_required_version cairo >= cairo_required_version cairo-gobject >= cairo_required_version gdk-pixbuf-2.0 >= gdk_pixbuf_required_version gio-2.0 >= glib_required_version" --GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES epoxy >= epoxy_required_version" -+GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES $EPOXY_PACKAGES" +-GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES epoxy >= epoxy_required_version fribidi >= fribidi_required_version" ++GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES $EPOXY_PACKAGES fribidi >= fribidi_required_version" if test "x$enable_x11_backend" = xyes -o "x$enable_wayland_backend" = xyes; then GTK_PRIVATE_PACKAGES="$GTK_PRIVATE_PACKAGES pangoft2" fi @@ -167,7 +168,7 @@ index b51e4ae..82409c7 100644 return TRUE; } diff --git a/docs/tools/Makefile.am b/docs/tools/Makefile.am -index 6a6d70f..5cdf312 100644 +index bec43e3..189e8fc 100644 --- a/docs/tools/Makefile.am +++ b/docs/tools/Makefile.am @@ -9,13 +9,18 @@ AM_CPPFLAGS = \ @@ -208,11 +209,44 @@ index 932daf1..54239d6 100644 info = new_widget_info ("glarea", widget, MEDIUM); return info; +diff --git a/gdk/Makefile.am b/gdk/Makefile.am +index 710a548..b45f631 100644 +--- a/gdk/Makefile.am ++++ b/gdk/Makefile.am +@@ -274,7 +274,6 @@ x11_introspection_files = \ + x11/gdkeventsource.c \ + x11/gdkeventtranslator.c \ + x11/gdkgeometry-x11.c \ +- x11/gdkglcontext-x11.c \ + x11/gdkkeys-x11.c \ + x11/gdkmain-x11.c \ + x11/gdkmonitor-x11.c \ +@@ -300,7 +299,6 @@ x11_introspection_files = \ + x11/gdkx11display.h \ + x11/gdkx11displaymanager.h \ + x11/gdkx11dnd.h \ +- x11/gdkx11glcontext.h \ + x11/gdkx11keys.h \ + x11/gdkx11monitor.h \ + x11/gdkx11property.h \ +@@ -310,6 +308,12 @@ x11_introspection_files = \ + x11/gdkx11visual.h \ + x11/gdkx11window.h + ++if HAVE_OPENGL ++x11_introspection_files += \ ++ x11/gdkglcontext-x11.c \ ++ x11/gdkx11glcontext.h ++endif ++ + GdkX11-3.0.gir: libgdk-3.la Gdk-3.0.gir Makefile + GdkX11_3_0_gir_SCANNERFLAGS = \ + --identifier-prefix=Gdk \ diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c -index 40225e9..c55e1de 100644 +index 748f548..911ab2a 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c -@@ -2406,7 +2406,9 @@ gboolean +@@ -2420,7 +2420,9 @@ gboolean gdk_display_make_gl_context_current (GdkDisplay *display, GdkGLContext *context) { @@ -224,7 +258,7 @@ index 40225e9..c55e1de 100644 GdkRenderingMode diff --git a/gdk/gdkgl.c b/gdk/gdkgl.c -index 933e204..1767508 100644 +index 9690077..55f85ef 100644 --- a/gdk/gdkgl.c +++ b/gdk/gdkgl.c @@ -26,7 +26,9 @@ @@ -300,7 +334,7 @@ index 933e204..1767508 100644 +#endif } diff --git a/gdk/gdkglcontext.c b/gdk/gdkglcontext.c -index dfbed63..556f0a3 100644 +index 3b23639..1f04f8e 100644 --- a/gdk/gdkglcontext.c +++ b/gdk/gdkglcontext.c @@ -85,7 +85,9 @@ @@ -346,7 +380,7 @@ index dfbed63..556f0a3 100644 /** diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c -index 6b231f0..904b86d 100644 +index 2de8ba4..1883a79 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -45,7 +45,9 @@ @@ -359,7 +393,7 @@ index 6b231f0..904b86d 100644 /* for the use of round() */ #include "fallback-c89.c" -@@ -2822,6 +2824,13 @@ gdk_window_get_paint_gl_context (GdkWindow *window, +@@ -2844,6 +2846,13 @@ gdk_window_get_paint_gl_context (GdkWindow *window, { GError *internal_error = NULL; @@ -373,7 +407,7 @@ index 6b231f0..904b86d 100644 if (_gdk_gl_flags & GDK_GL_DISABLE) { g_set_error_literal (error, GDK_GL_ERROR, -@@ -2957,6 +2966,7 @@ gdk_window_begin_paint_internal (GdkWindow *window, +@@ -2979,6 +2988,7 @@ gdk_window_begin_paint_internal (GdkWindow *window, } else { @@ -381,7 +415,7 @@ index 6b231f0..904b86d 100644 gdk_gl_context_make_current (context); /* With gl we always need a surface to combine the gl drawing with the native drawing. */ -@@ -2971,6 +2981,7 @@ gdk_window_begin_paint_internal (GdkWindow *window, +@@ -2993,6 +3003,7 @@ gdk_window_begin_paint_internal (GdkWindow *window, glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA); glViewport (0, 0, ww, wh); @@ -389,7 +423,7 @@ index 6b231f0..904b86d 100644 } } -@@ -3034,6 +3045,7 @@ gdk_window_end_paint_internal (GdkWindow *window) +@@ -3056,6 +3067,7 @@ gdk_window_end_paint_internal (GdkWindow *window) gdk_gl_context_make_current (window->gl_paint_context); @@ -397,7 +431,7 @@ index 6b231f0..904b86d 100644 if (!cairo_region_is_empty (opaque_region)) gdk_gl_texture_from_surface (window->current_paint.surface, opaque_region); -@@ -3044,6 +3056,7 @@ gdk_window_end_paint_internal (GdkWindow *window) +@@ -3066,6 +3078,7 @@ gdk_window_end_paint_internal (GdkWindow *window) window->current_paint.need_blend_region); glDisable(GL_BLEND); } @@ -406,7 +440,7 @@ index 6b231f0..904b86d 100644 cairo_region_destroy (opaque_region); diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am -index 6289f3a..cbbac79 100644 +index 32b1f24..6352313 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -40,8 +40,6 @@ libgdk_x11_la_SOURCES = \ @@ -460,7 +494,7 @@ index 6289f3a..cbbac79 100644 gdkx11keys.h \ gdkx11monitor.h \ gdkx11property.h \ -@@ -87,9 +102,16 @@ libgdkx11include_HEADERS = \ +@@ -87,10 +102,17 @@ libgdkx11include_HEADERS = \ gdkx11visual.h \ gdkx11window.h @@ -472,13 +506,14 @@ index 6289f3a..cbbac79 100644 # don't seem to be correctly expanded for the dist files. EXTRA_DIST += \ + gdkx.h \ - gdksettings.c + gdksettings.c \ + meson.build +MAINTAINERCLEANFILES = gdkx.h + -include $(top_srcdir)/git.mk diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c -index 659b9fa..b15536b 100644 +index 7e08f47..30fd7b6 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -37,7 +37,9 @@ @@ -489,9 +524,9 @@ index 659b9fa..b15536b 100644 #include "gdkglcontext-x11.h" +#endif #include "gdk-private.h" + #include "gdkprofilerprivate.h" - #include <glib.h> -@@ -3194,7 +3196,9 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class) +@@ -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; @@ -503,10 +538,10 @@ index 659b9fa..b15536b 100644 display_class->get_default_seat = gdk_x11_display_get_default_seat; diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c -index 272cecd..2bb34ac 100644 +index bb4df05..46f5349 100644 --- a/gdk/x11/gdkscreen-x11.c +++ b/gdk/x11/gdkscreen-x11.c -@@ -1675,3 +1675,8 @@ gdk_x11_screen_get_current_desktop (GdkScreen *screen) +@@ -1827,3 +1827,8 @@ gdk_x11_screen_get_current_desktop (GdkScreen *screen) { return get_netwm_cardinal_property (screen, "_NET_CURRENT_DESKTOP"); } @@ -516,7 +551,7 @@ index 272cecd..2bb34ac 100644 +void _gdk_x11_screen_update_visuals_for_gl (GdkScreen *screen) {} +#endif diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c -index c6205e4..df2334f 100644 +index 721d9bb..8e87acc 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -36,7 +36,9 @@ @@ -529,7 +564,7 @@ index c6205e4..df2334f 100644 #include "gdkprivate-x11.h" #include "gdk-private.h" -@@ -5804,7 +5806,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass) +@@ -5881,7 +5883,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; @@ -633,30 +668,23 @@ index 0000000..c9e2617 + +#endif /* __GDK_X_H__ */ diff --git a/gtk/Makefile.am b/gtk/Makefile.am -index 5594429..2259bb3 100644 +index 074fb35..4fa9eb6 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am -@@ -1434,14 +1434,13 @@ gtkprivatetypebuiltins.c: $(gtk_private_type_h_sources) gtkprivatetypebuiltins. - && cp xgen-gptbc gtkprivatetypebuiltins.c \ - && rm -f xgen-gptbc - -- - gtktypefuncs.c: stamp-gtktypebuiltins.h stamp-gtkprivatetypebuiltins.h $(top_srcdir)/gtk/*.h $(top_srcdir)/gtk/a11y/*.h $(top_srcdir)/gtk/deprecated/*.h $(top_srcdir)/gdk/*.h Makefile - $(AM_V_GEN) (echo '#undef GTK_COMPILATION' && echo '#include <gtk/gtkx.h>') > xgen-gtfsrc.c && \ - echo 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS' > xgen-gtf && \ +@@ -1457,7 +1457,7 @@ gtktypefuncs.inc: stamp-gtktypebuiltins.h stamp-gtkprivatetypebuiltins.h $(top_s ${CPP} $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-gtfsrc.c | \ $(GREP) -o '\bg[td]k_[a-zA-Z0-9_]*_get_type\b' | \ sort | uniq | \ - $(SED) '{ s/^/*tp++ = /; s/$$/();/; s/^.*\(gdk_x11\|gtk_plug_\|gtk_socket_\).*$$/#ifdef GDK_WINDOWING_X11\n&\n#endif/; }' >> xgen-gtf \ + $(SED) '{ s/^/*tp++ = /; s/$$/();/; s/^.*\(gdk_x11\|gtk_plug_\|gtk_socket_\).*$$/#ifdef GDK_WINDOWING_X11\n&\n#endif/; s/^.*gdk_x11_gl.*$$/#ifdef HAVE_OPENGL\n&\n#endif/; }' >> xgen-gtf \ && cp xgen-gtf $@ && rm -f xgen-gtf - $(srcdir)/gtktestutils.c: gtktypefuncs.c + $(srcdir)/gtktestutils.c: gtktypefuncs.inc diff --git a/gtk/gtkglarea.c b/gtk/gtkglarea.c -index ea383c0..bb4eb64 100644 +index 802303e..33001cf 100644 --- a/gtk/gtkglarea.c +++ b/gtk/gtkglarea.c -@@ -28,7 +28,9 @@ +@@ -29,7 +29,9 @@ #include "gtkprivate.h" #include "gtkrender.h" @@ -666,7 +694,7 @@ index ea383c0..bb4eb64 100644 /** * SECTION:gtkglarea -@@ -368,9 +370,12 @@ gtk_gl_area_real_create_context (GtkGLArea *area) +@@ -369,9 +371,12 @@ gtk_gl_area_real_create_context (GtkGLArea *area) static void gtk_gl_area_resize (GtkGLArea *area, int width, int height) { @@ -679,7 +707,7 @@ index ea383c0..bb4eb64 100644 /* * Creates all the buffer objects needed for rendering the scene */ -@@ -482,6 +487,7 @@ gtk_gl_area_allocate_buffers (GtkGLArea *area) +@@ -483,6 +488,7 @@ gtk_gl_area_allocate_buffers (GtkGLArea *area) priv->needs_render = TRUE; } @@ -687,7 +715,7 @@ index ea383c0..bb4eb64 100644 /** * gtk_gl_area_attach_buffers: -@@ -500,6 +506,7 @@ gtk_gl_area_allocate_buffers (GtkGLArea *area) +@@ -501,6 +507,7 @@ gtk_gl_area_allocate_buffers (GtkGLArea *area) void gtk_gl_area_attach_buffers (GtkGLArea *area) { @@ -695,9 +723,9 @@ index ea383c0..bb4eb64 100644 GtkGLAreaPrivate *priv = gtk_gl_area_get_instance_private (area); g_return_if_fail (GTK_IS_GL_AREA (area)); -@@ -532,11 +539,13 @@ gtk_gl_area_attach_buffers (GtkGLArea *area) - glFramebufferRenderbufferEXT (GL_FRAMEBUFFER_EXT, GL_STENCIL_ATTACHMENT_EXT, - GL_RENDERBUFFER_EXT, priv->depth_stencil_buffer); +@@ -533,11 +540,13 @@ gtk_gl_area_attach_buffers (GtkGLArea *area) + glFramebufferRenderbuffer (GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, + GL_RENDERBUFFER, priv->depth_stencil_buffer); } +#endif } @@ -709,15 +737,15 @@ index ea383c0..bb4eb64 100644 GtkGLAreaPrivate *priv = gtk_gl_area_get_instance_private (area); if (priv->context == NULL) -@@ -568,6 +577,7 @@ gtk_gl_area_delete_buffers (GtkGLArea *area) - glDeleteFramebuffersEXT (1, &priv->frame_buffer); +@@ -569,6 +578,7 @@ gtk_gl_area_delete_buffers (GtkGLArea *area) + glDeleteFramebuffers (1, &priv->frame_buffer); priv->frame_buffer = 0; } +#endif } static void -@@ -678,6 +688,7 @@ gtk_gl_area_draw (GtkWidget *widget, +@@ -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; @@ -725,7 +753,7 @@ index ea383c0..bb4eb64 100644 int w, h, scale; GLenum status; -@@ -689,7 +700,6 @@ gtk_gl_area_draw (GtkWidget *widget, +@@ -690,7 +701,6 @@ gtk_gl_area_draw (GtkWidget *widget, gtk_widget_get_allocated_height (widget)); return FALSE; } @@ -733,7 +761,7 @@ index ea383c0..bb4eb64 100644 if (priv->context == NULL) return FALSE; -@@ -735,6 +745,14 @@ gtk_gl_area_draw (GtkWidget *widget, +@@ -736,6 +746,14 @@ gtk_gl_area_draw (GtkWidget *widget, } return TRUE; @@ -749,7 +777,7 @@ index ea383c0..bb4eb64 100644 static gboolean diff --git a/gtk/inspector/general.c b/gtk/inspector/general.c -index c241ec8..24576dd 100644 +index 48237d1..1f9b9be 100644 --- a/gtk/inspector/general.c +++ b/gtk/inspector/general.c @@ -33,8 +33,10 @@ @@ -796,7 +824,7 @@ index c241ec8..24576dd 100644 if (GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ())) { diff --git a/tests/Makefile.am b/tests/Makefile.am -index 7c5ca99..e4a4546 100644 +index f283e89..5e7180e 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -80,8 +80,6 @@ noinst_PROGRAMS = $(TEST_PROGS) \ @@ -829,10 +857,10 @@ index 7c5ca99..e4a4546 100644 noinst_PROGRAMS += testforeign endif diff --git a/testsuite/gtk/objects-finalize.c b/testsuite/gtk/objects-finalize.c -index 0b3a519..07b096f 100644 +index 24540e3..e0f863a 100644 --- a/testsuite/gtk/objects-finalize.c +++ b/testsuite/gtk/objects-finalize.c -@@ -115,7 +115,9 @@ main (int argc, char **argv) +@@ -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 && diff --git a/meta/recipes-gnome/gtk+/gtk+3/link_fribidi.patch b/meta/recipes-gnome/gtk+/gtk+3/link_fribidi.patch new file mode 100644 index 0000000000..e4bbd799f1 --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+3/link_fribidi.patch @@ -0,0 +1,19 @@ +Link with libfribidi, this is to avoid under linking where these functions are +used but the library is not linked in, and they are marked undefined by BFD linker +but gold linker refuses to link + +| ./.libs/libgdk-3.so: error: undefined reference to 'fribidi_get_bidi_type' + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending + +--- a/gdk/Makefile.am ++++ b/gdk/Makefile.am +@@ -55,6 +55,7 @@ LDADD = \ + -version-info $(LT_VERSION_INFO) \ + -export-dynamic \ + -rpath $(libdir) \ ++ -lfribidi \ + $(no_undefined) + + # diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.24.1.bb b/meta/recipes-gnome/gtk+/gtk+3_3.24.31.bb index 6de3e73f2f..a53cd7a45e 100644 --- a/meta/recipes-gnome/gtk+/gtk+3_3.24.1.bb +++ b/meta/recipes-gnome/gtk+/gtk+3_3.24.31.bb @@ -3,12 +3,11 @@ 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://0001-Hardcoded-libtool.patch \ file://0002-Do-not-try-to-initialize-GL-without-libGL.patch \ file://0003-Add-disable-opengl-configure-option.patch \ - " -SRC_URI[md5sum] = "9dfe16f486573815f242fa400763feb7" -SRC_URI[sha256sum] = "68387be307b99aadcdc653561d7a2a7f0113b93561fb18ded7075ec9ced5b02f" + file://link_fribidi.patch \ + " +SRC_URI[sha256sum] = "423c3e7fdb4c459ee889e35fd4d71fd2623562541c1041b11c07e5ad1ff10bf9" S = "${WORKDIR}/gtk+-${PV}" diff --git a/meta/recipes-gnome/gtk+/gtk+_2.24.32.bb b/meta/recipes-gnome/gtk+/gtk+_2.24.32.bb deleted file mode 100644 index 682d31e49e..0000000000 --- a/meta/recipes-gnome/gtk+/gtk+_2.24.32.bb +++ /dev/null @@ -1,35 +0,0 @@ -require gtk+.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ - file://gtk/gtk.h;endline=27;md5=c59e0b4490dd135a5726ebf851f9b17f \ - file://gdk/gdk.h;endline=27;md5=07db285ec208fb3e0bf7d861b0614202 \ - file://tests/testgtk.c;endline=27;md5=262db5db5f776f9863e56df31423e24c" -SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-${PV}.tar.xz \ - file://xsettings.patch \ - file://hardcoded_libtool.patch \ - file://toggle-font.diff;striplevel=0 \ - file://doc-fixes.patch \ - file://strict-prototypes.patch \ - file://0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch \ - " - -SRC_URI[md5sum] = "d5742aa42275203a499b59b4c382a784" -SRC_URI[sha256sum] = "b6c8a93ddda5eabe3bfee1eb39636c9a03d2a56c7b62828b359bf197943c582e" - -EXTRA_OECONF = "--enable-xkb --disable-glibtest --disable-cups --disable-xinerama" - -LIBV = "2.10.0" - -PACKAGES_DYNAMIC += "^gtk-immodule-.* ^gtk-printbackend-.*" - -python populate_packages_prepend () { - gtk_libdir = d.expand('${libdir}/gtk-2.0/${LIBV}') - immodules_root = os.path.join(gtk_libdir, 'immodules') - printmodules_root = os.path.join(gtk_libdir, 'printbackends'); - - d.setVar('GTKIMMODULES_PACKAGES', ' '.join(do_split_packages(d, immodules_root, r'^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s'))) - do_split_packages(d, printmodules_root, r'^libprintbackend-(.*)\.so$', 'gtk-printbackend-%s', 'GTK printbackend module for %s') - - if (d.getVar('DEBIAN_NAMES')): - d.setVar(d.expand('PKG_${PN}'), '${MLPREFIX}libgtk-2.0') -} diff --git a/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch b/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch index 9b128e1ce1..1d260aa72b 100644 --- a/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch +++ b/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch @@ -1,4 +1,4 @@ -From 04af15322f677db42ecc2acc465334a04de9a871 Mon Sep 17 00:00:00 2001 +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. @@ -7,10 +7,10 @@ Upstream-Status: Inappropriate Signed-off-by: Ross Burton <ross.burton@intel.com> --- - gtk-doc.m4 | 7 ++++++- + buildsystems/autotools/gtk-doc.m4 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) -diff --git a/gtk-doc.m4 b/gtk-doc.m4 +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 diff --git a/meta/recipes-gnome/gtk-doc/gtk-doc_1.29.bb b/meta/recipes-gnome/gtk-doc/gtk-doc_1.33.2.bb index 2c4ee175a9..150d2c0b23 100644 --- a/meta/recipes-gnome/gtk-doc/gtk-doc_1.29.bb +++ b/meta/recipes-gnome/gtk-doc/gtk-doc_1.33.2.bb @@ -1,8 +1,8 @@ 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 = "http://www.gtk.org/gtk-doc/" -LICENSE = "GPLv2" +HOMEPAGE = "https://www.gtk.org/docs/" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" inherit gnomebase @@ -15,32 +15,42 @@ PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "api-documentation", # 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] = "--with-highlight=source-highlight,--with-highlight=no,libxslt-native xmlto-native source-highlight-native python3-six" +PACKAGECONFIG[working-scripts] = ",,libxslt-native xmlto-native python3-six python3-pygments" PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,glib-2.0" -SRC_URI[archive.md5sum] = "df26a38c209b3d7358f26268fcbdb9e3" -SRC_URI[archive.sha256sum] = "14578e002496567276d310a62c9ffd6c56ee8806ce5079ffb0b81c4111f586b1" +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 \ " -SRC_URI_append_class-native = " file://pkg-config-native.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() { +do_configure:prepend() { sed -i -e 's,^JH_CHECK_XML_CATALOG.*,,' ${S}/configure.ac } -FILES_${PN} += "${datadir}/sgml" -FILES_${PN}-dev += "${libdir}/cmake" -FILES_${PN}-doc = "" +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,' \ + -i ${D}$fn + done +} + +FILES:${PN} += "${datadir}/sgml" +FILES:${PN}-doc = "" -SYSROOT_PREPROCESS_FUNCS_append_class-native = " gtkdoc_makefiles_sysroot_preprocess" +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 diff --git a/meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.17.bb b/meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.17.bb index fb8033448d..bb6cb000ab 100644 --- a/meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.17.bb +++ b/meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.17.bb @@ -1,16 +1,18 @@ SUMMARY = "Default icon theme that all icon themes automatically inherit from" -HOMEPAGE = "http://icon-theme.freedesktop.org/wiki/HicolorTheme" +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 = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=f08a446809913fc9b3c718f0eaea0426" -SRC_URI = "http://icon-theme.freedesktop.org/releases/${BPN}-${PV}.tar.xz" +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" +FILES:${PN} += "${datadir}/icons" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-gnome/json-glib/json-glib_1.4.4.bb b/meta/recipes-gnome/json-glib/json-glib_1.4.4.bb deleted file mode 100644 index 95f90569de..0000000000 --- a/meta/recipes-gnome/json-glib/json-glib_1.4.4.bb +++ /dev/null @@ -1,44 +0,0 @@ -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 = "http://live.gnome.org/JsonGlib" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" - -DEPENDS = "glib-2.0" - -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase lib_package gobject-introspection gtk-doc gettext ptest-gnome manpages - -SRC_URI += "file://run-ptest" -SRC_URI[archive.md5sum] = "4d4bb9837f6d31e32d0ce658ae135f68" -SRC_URI[archive.sha256sum] = "720c5f4379513dc11fd97dc75336eb0c0d3338c53128044d9fabec4374f4bc47" - -PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native" - -# This builds both API docs (via gtk-doc) -GTKDOC_ENABLE_FLAG = "-Ddocs=true" -GTKDOC_DISABLE_FLAG = "-Ddocs=false" - -GI_ENABLE_FLAG = "-Dintrospection=true" -GI_DISABLE_FLAG = "-Dintrospection=false" - -EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \ - '${GTKDOC_DISABLE_FLAG}', d)} " -EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \ - '${GI_DISABLE_FLAG}', d)} " - -do_install_append() { - if ! ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then - rm -rf ${D}${datadir}/installed-tests ${D}${libexecdir} - fi -} - -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" diff --git a/meta/recipes-gnome/json-glib/json-glib_1.6.6.bb b/meta/recipes-gnome/json-glib/json-glib_1.6.6.bb new file mode 100644 index 0000000000..627f389536 --- /dev/null +++ b/meta/recipes-gnome/json-glib/json-glib_1.6.6.bb @@ -0,0 +1,32 @@ +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" + +GNOMEBASEBUILDCLASS = "meson" +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] = "96ec98be7a91f6dde33636720e3da2ff6ecbb90e76ccaa49497f31a6855a490e" + +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" diff --git a/meta/recipes-gnome/libdazzle/libdazzle/0001-Add-a-define-so-that-gir-compilation-succeeds.patch b/meta/recipes-gnome/libdazzle/libdazzle/0001-Add-a-define-so-that-gir-compilation-succeeds.patch deleted file mode 100644 index c959d43972..0000000000 --- a/meta/recipes-gnome/libdazzle/libdazzle/0001-Add-a-define-so-that-gir-compilation-succeeds.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 546d53c3515e8a488a204763437d1fa0917097e5 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Tue, 11 Dec 2018 12:39:30 +0100 -Subject: [PATCH] Add a define so that gir compilation succeeds - -For some reason meson 0.49.0 does not anymore pass global arguments to gir compiler. - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - src/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/meson.build b/src/meson.build -index 6ff8a6a..f0b2887 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -132,7 +132,7 @@ if get_option('with_introspection') - install_dir_gir: girdir, - install_dir_typelib: typelibdir, - export_packages: libdazzle_package, -- extra_args: [ '--c-include=dazzle.h', '--quiet' ], -+ extra_args: [ '--c-include=dazzle.h', '--quiet', '-DDAZZLE_COMPILATION' ], - ) - - if get_option('with_vapi') diff --git a/meta/recipes-gnome/libdazzle/libdazzle_3.30.2.bb b/meta/recipes-gnome/libdazzle/libdazzle_3.30.2.bb deleted file mode 100644 index 5441c10f99..0000000000 --- a/meta/recipes-gnome/libdazzle/libdazzle_3.30.2.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "The libdazzle library is a companion library to GObject and Gtk+." -LICENSE = "GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a" - -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase upstream-version-is-even vala gobject-introspection - -DEPENDS = "glib-2.0-native glib-2.0 gtk+3" - -SRC_URI += " file://0001-Add-a-define-so-that-gir-compilation-succeeds.patch" -SRC_URI[archive.md5sum] = "24e2e1b914a34f5b8868a9507d1f3c4c" -SRC_URI[archive.sha256sum] = "78770eae9fa15ac5acb9c733d29459330b2540affbf72933119e36dbd90b36d5" - -GI_ENABLE_FLAG = "-Dwith_introspection=true" -GI_DISABLE_FLAG = "-Dwith_introspection=false" - -EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \ - '${GI_DISABLE_FLAG}', d)} " diff --git a/meta/recipes-gnome/libdazzle/libdazzle_3.42.0.bb b/meta/recipes-gnome/libdazzle/libdazzle_3.42.0.bb new file mode 100644 index 0000000000..a10acc6ada --- /dev/null +++ b/meta/recipes-gnome/libdazzle/libdazzle_3.42.0.bb @@ -0,0 +1,19 @@ +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" + +GNOMEBASEBUILDCLASS = "meson" +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] = "eae67a3b3d9cce408ee9ec0ab6adecb83e52eb53f9bc93713f4df1e84da16925" + +GIR_MESON_OPTION = 'with_introspection' + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" diff --git a/meta/recipes-gnome/libgudev/libgudev_232.bb b/meta/recipes-gnome/libgudev/libgudev_232.bb deleted file mode 100644 index 19fe962e46..0000000000 --- a/meta/recipes-gnome/libgudev/libgudev_232.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "GObject wrapper for libudev" -HOMEPAGE = "https://wiki.gnome.org/Projects/libgudev" -SRC_URI[archive.sha256sum] = "ee4cb2b9c573cdf354f6ed744f01b111d4b5bed3503ffa956cefff50489c7860" -SRC_URI[archive.md5sum] = "6914852377156665567abf8a38d89236" - -DEPENDS = "glib-2.0 udev" - -EXTRA_OECONF = "--disable-umockdev" - -RCONFLICTS_${PN} = "systemd (<= 220)" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -inherit gnomebase gobject-introspection gtk-doc - -UPSTREAM_CHECK_URI = "http://ftp.gnome.org/pub/GNOME/sources/libgudev/" -UPSTREAM_CHECK_REGEX = "(?P<pver>(\d+))" diff --git a/meta/recipes-gnome/libgudev/libgudev_237.bb b/meta/recipes-gnome/libgudev/libgudev_237.bb new file mode 100644 index 0000000000..9ce43ce34b --- /dev/null +++ b/meta/recipes-gnome/libgudev/libgudev_237.bb @@ -0,0 +1,31 @@ +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] = "0d06b21170d20c93e4f0534dbb9b0a8b4f1119ffb00b4031aaeb5b9148b686aa" + +DEPENDS = "glib-2.0 udev" + +RCONFLICTS:${PN} = "systemd (<= 220)" + +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +GNOMEBASEBUILDCLASS = "meson" +inherit gnomebase gobject-introspection gtk-doc + +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+))" + +# 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 diff --git a/meta/recipes-gnome/libhandy/libhandy/0001-Add-private-headers.patch b/meta/recipes-gnome/libhandy/libhandy/0001-Add-private-headers.patch new file mode 100644 index 0000000000..7b2a512738 --- /dev/null +++ b/meta/recipes-gnome/libhandy/libhandy/0001-Add-private-headers.patch @@ -0,0 +1,37 @@ +From e7c3e8fa00f6a68b2e0629db5ee115e641ea710e Mon Sep 17 00:00:00 2001 +From: Mingli Yu <mingli.yu@windriver.com> +Date: Wed, 8 Dec 2021 07:35:52 +0000 +Subject: [PATCH] Add private headers + +After the commit(8157ecc Separate public and private enums) introduced, +there comes a race as below: + | In file included from ../git/src/hdy-settings.c:11: + | ../git/src/hdy-settings-private.h:16:10: fatal error: hdy-enums-private.h: No such file or directory + | 16 | #include "hdy-enums-private.h" + +So also add private headers like private sources to libhandy_sources to +fix the issue. + +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/libhandy/-/merge_requests/796] + +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> +--- + src/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/meson.build b/src/meson.build +index d087323..6f11f27 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -64,7 +64,7 @@ hdy_private_enums = gnome.mkenums('hdy-enums-private', + ) + + libhandy_public_sources += [hdy_public_enums[0]] +-libhandy_private_sources += [hdy_private_enums[0]] ++libhandy_private_sources += hdy_private_enums + libhandy_generated_headers += [hdy_public_enums[1]] + + src_headers = [ +-- +2.32.0 + diff --git a/meta/recipes-gnome/libhandy/libhandy_1.5.0.bb b/meta/recipes-gnome/libhandy/libhandy_1.5.0.bb new file mode 100644 index 0000000000..722593dfb1 --- /dev/null +++ b/meta/recipes-gnome/libhandy/libhandy_1.5.0.bb @@ -0,0 +1,30 @@ +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=master \ + file://0001-Add-private-headers.patch \ +" +SRCREV = "8fa8306a79215fc6ebf2483145da98bf9b2495ab" +S = "${WORKDIR}/git" + +UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.(\d*[02468])+(\.\d+))" +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' +GTKDOC_MESON_OPTION = 'gtk_doc' + +inherit meson gobject-introspection vala gettext gtk-doc features_check + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +DEPENDS += "gtk+3" + +PACKAGES =+ "${PN}-examples" +FILES:${PN}-examples = "${bindir}" diff --git a/meta/recipes-gnome/libnotify/libnotify_0.7.7.bb b/meta/recipes-gnome/libnotify/libnotify_0.7.7.bb deleted file mode 100644 index 6c299bc175..0000000000 --- a/meta/recipes-gnome/libnotify/libnotify_0.7.7.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Library for sending desktop notifications to a notification daemon" -HOMEPAGE = "http://www.gnome.org" -SECTION = "libs" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" - -DEPENDS = "dbus gtk+3 dbus-glib" - -inherit gnomebase gtk-doc distro_features_check gobject-introspection -# depends on gtk+3 -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" - -SRC_URI[archive.md5sum] = "e9d911f6a22435e0b922f2fe71212b59" -SRC_URI[archive.sha256sum] = "9cb4ce315b2655860c524d46b56010874214ec27e854086c1a1d0260137efc04" - -# 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" diff --git a/meta/recipes-gnome/libnotify/libnotify_0.7.9.bb b/meta/recipes-gnome/libnotify/libnotify_0.7.9.bb new file mode 100644 index 0000000000..fa3253b616 --- /dev/null +++ b/meta/recipes-gnome/libnotify/libnotify_0.7.9.bb @@ -0,0 +1,38 @@ +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 = "dbus glib-2.0 gdk-pixbuf" + +PACKAGECONFIG ?= "" +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,gtk+3" + +GNOMEBASEBUILDCLASS = "meson" +GTKDOC_MESON_OPTION = "gtk_doc" +GIR_MESON_ENABLE_FLAG = "enabled" +GIR_MESON_DISABLE_FLAG = "disabled" +inherit gnomebase gtk-doc 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.md5sum] = "ccd9c53364174cc8d13e18a1988faa76" +SRC_URI[archive.sha256sum] = "66c0517ed16df7af258e83208faaf5069727dfd66995c4bbc51c16954d674761" + +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_CHECK_IGNORE += "CVE-2013-7381" diff --git a/meta/recipes-gnome/librsvg/librsvg/0001-Makefile.am-pass-rust-target-to-cargo-also-when-not-.patch b/meta/recipes-gnome/librsvg/librsvg/0001-Makefile.am-pass-rust-target-to-cargo-also-when-not-.patch new file mode 100644 index 0000000000..d7487c234c --- /dev/null +++ b/meta/recipes-gnome/librsvg/librsvg/0001-Makefile.am-pass-rust-target-to-cargo-also-when-not-.patch @@ -0,0 +1,47 @@ +From 95b2cd0169cb1b4694c2bce67169b1aa1d5e2be0 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 e93714e..effe5d3 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -137,9 +137,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 41590ca..84cd56b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -255,9 +255,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 =========================================================================== +-- +2.20.1 + diff --git a/meta/recipes-gnome/librsvg/librsvg/0001-system-deps-src-lib.rs-do-not-probe-into-harcoded-li.patch b/meta/recipes-gnome/librsvg/librsvg/0001-system-deps-src-lib.rs-do-not-probe-into-harcoded-li.patch new file mode 100644 index 0000000000..992ff8dee7 --- /dev/null +++ b/meta/recipes-gnome/librsvg/librsvg/0001-system-deps-src-lib.rs-do-not-probe-into-harcoded-li.patch @@ -0,0 +1,51 @@ +From c0b0ef51b3c997a1c20ef9381ba2201ed477f609 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Tue, 21 Sep 2021 16:54:23 +0200 +Subject: [PATCH] system-deps/src/lib.rs: do not probe into harcoded list of + targets + +Oe-core defines custom targets, and this probe fails. + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> + +--- + vendor/system-deps/.cargo-checksum.json | 2 +- + vendor/system-deps/src/lib.rs | 16 +--------------- + 2 files changed, 2 insertions(+), 16 deletions(-) + +diff --git a/vendor/system-deps/.cargo-checksum.json b/vendor/system-deps/.cargo-checksum.json +index 862df8b..931748e 100644 +--- a/vendor/system-deps/.cargo-checksum.json ++++ b/vendor/system-deps/.cargo-checksum.json +@@ -1 +1 @@ +-{"files":{"Cargo.toml":"927df7476ebf5f5983169cfd973f4c95b84da17caeb20d33cccf50e326af5316","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"3fe7396637bf9233908f41c6001cfcb00a379225e06e36e508c8b3d7264a8aae","src/lib.rs":"c38fd96ca3233ebee3bb7e37ca8f8a7a2685cdd7fcccf0210eaa879aa91dc684","src/metadata.rs":"657bc1b77e949e4800f9dd808790ffa535820e1658d412121a1da548e0cdd02c","src/test.rs":"9d5f8c1fb7a821352d6ba75cb005ead3e36b4f359e61feb605ab8a36d4fd31f8","src/tests/lib/libteststatic.a":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","src/tests/testanotherlib.pc":"bb4fd942324e6d49ce3becd827aa5c948d1924ca6681904a3695c19b1424eb3c","src/tests/testdata.pc":"43f481e989c03674fed5ef78c6420b3f8d36a2ce001928d86c418d1844acd5e7","src/tests/testlib-2.0.pc":"152eb0c70c14c3d948118408f3d1fd3bb7531b02aa792db85bd957f7db90b45b","src/tests/testlib-3.0.pc":"cd39c2ef88f6828c9291150cc4b624e769abef484674eaebaa4f67979501315f","src/tests/testlib.pc":"75c0d8a5345f65794f583c83e1cf0dbf3385af6e6abea1d61bb86eef707a52db","src/tests/teststaticlib.pc":"77df23f6c7c1d47aff18453b47c87e53ec8a96017546e0a55c8c4d1e13b70134","src/tests/toml-missing-file/no-cargo-toml-here":"6ab4da4b56f15315df6538610cfcd2ba3d0f9a7a8414678ff00ab5a78f7d41fa"},"package":"a1a45a1c4c9015217e12347f2a411b57ce2c4fc543913b14b6fe40483328e709"} +\ No newline at end of file ++{"files":{"Cargo.toml":"927df7476ebf5f5983169cfd973f4c95b84da17caeb20d33cccf50e326af5316","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"3fe7396637bf9233908f41c6001cfcb00a379225e06e36e508c8b3d7264a8aae","src/lib.rs":"534efc2f977d8c67d5be3a4c3e81093a6c00ab2de1102404166b1573ad96dbd2","src/metadata.rs":"657bc1b77e949e4800f9dd808790ffa535820e1658d412121a1da548e0cdd02c","src/test.rs":"9d5f8c1fb7a821352d6ba75cb005ead3e36b4f359e61feb605ab8a36d4fd31f8","src/tests/lib/libteststatic.a":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","src/tests/testanotherlib.pc":"bb4fd942324e6d49ce3becd827aa5c948d1924ca6681904a3695c19b1424eb3c","src/tests/testdata.pc":"43f481e989c03674fed5ef78c6420b3f8d36a2ce001928d86c418d1844acd5e7","src/tests/testlib-2.0.pc":"152eb0c70c14c3d948118408f3d1fd3bb7531b02aa792db85bd957f7db90b45b","src/tests/testlib-3.0.pc":"cd39c2ef88f6828c9291150cc4b624e769abef484674eaebaa4f67979501315f","src/tests/testlib.pc":"75c0d8a5345f65794f583c83e1cf0dbf3385af6e6abea1d61bb86eef707a52db","src/tests/teststaticlib.pc":"77df23f6c7c1d47aff18453b47c87e53ec8a96017546e0a55c8c4d1e13b70134","src/tests/toml-missing-file/no-cargo-toml-here":"6ab4da4b56f15315df6538610cfcd2ba3d0f9a7a8414678ff00ab5a78f7d41fa"},"package":"a1a45a1c4c9015217e12347f2a411b57ce2c4fc543913b14b6fe40483328e709"} +diff --git a/vendor/system-deps/src/lib.rs b/vendor/system-deps/src/lib.rs +index 45ab1ce..f87d1ec 100644 +--- a/vendor/system-deps/src/lib.rs ++++ b/vendor/system-deps/src/lib.rs +@@ -800,21 +800,7 @@ impl Config { + } + + fn check_cfg(&self, cfg: &cfg_expr::Expression) -> Result<bool, Error> { +- use cfg_expr::{targets::get_builtin_target_by_triple, Predicate}; +- +- let target = self +- .env +- .get("TARGET") +- .expect("no TARGET env variable defined"); +- let target = get_builtin_target_by_triple(&target) +- .unwrap_or_else(|| panic!("Invalid TARGET: {}", target)); +- +- let res = cfg.eval(|pred| match pred { +- Predicate::Target(tp) => Some(tp.matches(target)), +- _ => None, +- }); +- +- res.ok_or_else(|| Error::UnsupportedCfg(cfg.original().to_string())) ++ Ok(true) + } + } + diff --git a/meta/recipes-gnome/librsvg/librsvg/gtk-option.patch b/meta/recipes-gnome/librsvg/librsvg/gtk-option.patch deleted file mode 100644 index 6c23071cd3..0000000000 --- a/meta/recipes-gnome/librsvg/librsvg/gtk-option.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 4e0ce3f22d45033a108cbacca3e5ec6728bd44f3 Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen <jussi.kukkonen@intel.com> -Date: Tue, 11 Aug 2015 16:25:38 +0300 -Subject: [PATCH] configure: add option to enable/disable use of GTK+ - -Distro packagers like predictability and automatically detected optional -dependencies are not predicable. Add a --with-gtk3 option (default to "auto") -for forcibly controlling whether GTK+ will be used or not. - -Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=712693] - -Signed-off-by: Ross Burton <ross.burton@intel.com> -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> ---- - configure.ac | 17 +++++++++++------ - 1 file changed, 11 insertions(+), 6 deletions(-) - -diff --git a/configure.ac b/configure.ac -index e61a952..c3aae84 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -130,17 +130,22 @@ AC_CHECK_FUNCS(strtok_r) - # GTK - # =========================================================================== - --PKG_CHECK_MODULES([GTK3],[gtk+-3.0 >= $GTK3_REQUIRED],[have_gtk_3=yes],[have_gtk_3=no]) -- - GTK3_BINARY_VERSION= - --if test "$have_gtk_3" = "yes"; then -- GTK3_BINARY_VERSION="`$PKG_CONFIG --variable=gtk_binary_version gtk+-3.0`" -+AC_MSG_CHECKING([whether to use GTK+ 3]) -+AC_ARG_WITH([gtk3], -+ [AS_HELP_STRING([--without-gtk3],[Don't build GTK+3 tools (default=auto)])], -+ [],[PKG_CHECK_EXISTS([gtk+-3.0 >= $GTK3_REQUIRED],[with_gtk3=yes],[with_gtk3=no])]) -+AC_MSG_RESULT([$with_gtk3]) -+ -+if test "$with_gtk3" = "yes"; then -+ PKG_CHECK_MODULES(GTK3, [gtk+-3.0 >= $GTK3_REQUIRED]) -+ GTK3_BINARY_VERSION="`$PKG_CONFIG --variable=gtk_binary_version gtk+-3.0`" - fi - - AC_SUBST([GTK3_BINARY_VERSION]) - --AM_CONDITIONAL([HAVE_GTK_3],[test "$have_gtk_3" = "yes"]) -+AM_CONDITIONAL([HAVE_GTK_3],[test "$with_gtk3" = "yes"]) - - dnl =========================================================================== - dnl GDK-Pixbuf SVG loader -@@ -298,6 +303,6 @@ librsvg-$VERSION - Build introspectable bindings: ${found_introspection} - Build Vala bindings: ${enable_vala} - Build GdkPixbuf loader: ${enable_pixbuf_loader} -- GTK+ $GTK3_REQUIRED or later: ${have_gtk_3} -+ GTK+ $GTK3_REQUIRED or later: ${with_gtk_3} - Build miscellaneous tools: ${build_misc_tools} - " --- -2.1.4 - diff --git a/meta/recipes-gnome/librsvg/librsvg_2.40.20.bb b/meta/recipes-gnome/librsvg/librsvg_2.40.20.bb deleted file mode 100644 index e376d52ef3..0000000000 --- a/meta/recipes-gnome/librsvg/librsvg_2.40.20.bb +++ /dev/null @@ -1,47 +0,0 @@ -SUMMARY = "Library for rendering SVG files" -HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/sources/librsvg/" -BUGTRACKER = "https://bugzilla.gnome.org/" - -RECIPE_NO_UPDATE_REASON = "Versions from 2.41.0 requires Rust compiler to build it" - -LICENSE = "LGPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://rsvg.h;beginline=3;endline=24;md5=20b4113c4909bbf0d67e006778302bc6" - -SECTION = "x11/utils" -DEPENDS = "cairo gdk-pixbuf glib-2.0 libcroco libxml2 pango" -BBCLASSEXTEND = "native" - -inherit gnomebase gtk-doc pixbufcache upstream-version-is-even gobject-introspection - -SRC_URI += "file://gtk-option.patch" - -SRC_URI[archive.md5sum] = "4949d313b0c5d9161a5c259104af5568" -SRC_URI[archive.sha256sum] = "cff4dd3c3b78bfe99d8fcfad3b8ba1eee3289a0823c0e118d78106be6b84c92b" - -CACHED_CONFIGUREVARS = "ac_cv_path_GDK_PIXBUF_QUERYLOADERS=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" - -# The older ld (2.22) on the host (Centos 6.5) doesn't have the -# -Bsymbolic-functions option, we can disable it for native. -EXTRA_OECONF_append_class-native = " --enable-Bsymbolic=auto" - -PACKAGECONFIG ??= "gdkpixbuf" -# The gdk-pixbuf loader -PACKAGECONFIG[gdkpixbuf] = "--enable-pixbuf-loader,--disable-pixbuf-loader,gdk-pixbuf-native" -# GTK+ test application (rsvg-view) -PACKAGECONFIG[gtk] = "--with-gtk3,--without-gtk3,gtk+3" - -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" diff --git a/meta/recipes-gnome/librsvg/librsvg_2.52.7.bb b/meta/recipes-gnome/librsvg/librsvg_2.52.7.bb new file mode 100644 index 0000000000..eb420e732c --- /dev/null +++ b/meta/recipes-gnome/librsvg/librsvg_2.52.7.bb @@ -0,0 +1,75 @@ +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 libcroco libxml2 pango" +BBCLASSEXTEND = "native" + +inherit gnomebase gtk-doc pixbufcache upstream-version-is-even gobject-introspection rust vala + +SRC_URI += "file://0001-Makefile.am-pass-rust-target-to-cargo-also-when-not-.patch \ + file://0001-system-deps-src-lib.rs-do-not-probe-into-harcoded-li.patch \ + " + +SRC_URI[archive.sha256sum] = "057c1eeeaf85c84e254bdb707459207f5840da5b4d52b4711c03140ed09e6887" + +# 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_PATH + +export RUST_TARGET = "${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" +RUSTFLAGS:append:riscv32 = " --cfg crossbeam_no_atomic_64" + +# 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() { + cp ${STAGING_LIBDIR_NATIVE}/rustlib/${HOST_SYS}.json ${WORKDIR} + cp ${STAGING_LIBDIR_NATIVE}/rustlib/${BUILD_SYS}.json ${WORKDIR} + sed -ie 's,"linker": ".*","linker": "${RUST_TARGET_CC}",g' ${WORKDIR}/${HOST_SYS}.json + RUST_TARGET_PATH="${WORKDIR}" + export RUST_TARGET_PATH +} + +# Issue only on windows +CVE_CHECK_IGNORE += "CVE-2018-1000041" + +CACHED_CONFIGUREVARS = "ac_cv_path_GDK_PIXBUF_QUERYLOADERS=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" + +PACKAGECONFIG ??= "gdkpixbuf" +# The gdk-pixbuf loader +PACKAGECONFIG[gdkpixbuf] = "--enable-pixbuf-loader,--disable-pixbuf-loader,gdk-pixbuf-native" + +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" diff --git a/meta/recipes-gnome/libsecret/libsecret_0.18.7.bb b/meta/recipes-gnome/libsecret/libsecret_0.18.7.bb deleted file mode 100644 index 0061b88053..0000000000 --- a/meta/recipes-gnome/libsecret/libsecret_0.18.7.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "libsecret is a library for storing and retrieving passwords and other secrets" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6" - -inherit gnomebase gtk-doc vala gobject-introspection manpages - -DEPENDS += "glib-2.0 libgcrypt gettext-native intltool-native" - -PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, libxslt-native xmlto-native" - -SRC_URI[archive.md5sum] = "376153ece17081eb5410870e0dc5c031" -SRC_URI[archive.sha256sum] = "0d66fe1fc4561b3e046ee281d7c5a703a9baac88a8c4fb42ebc739d31dabd487" - -# http://errors.yoctoproject.org/Errors/Details/20228/ -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" -ARM_INSTRUCTION_SET_armv6 = "arm" - -# vapigen.m4 bundled with the tarball does not yet have our cross-compilation fixes -do_configure_prepend() { - rm -f ${S}/build/m4/vapigen.m4 -} diff --git a/meta/recipes-gnome/libsecret/libsecret_0.20.5.bb b/meta/recipes-gnome/libsecret/libsecret_0.20.5.bb new file mode 100644 index 0000000000..9b09c3bee4 --- /dev/null +++ b/meta/recipes-gnome/libsecret/libsecret_0.20.5.bb @@ -0,0 +1,26 @@ +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" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gi-docgen vala gobject-introspection manpages + +DEPENDS += "glib-2.0 libgcrypt gettext-native" + +SRC_URI[archive.sha256sum] = "3fb3ce340fcd7db54d87c893e69bfc2b1f6e4d4b279065ffe66dac9f0fd12b4d" + +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" |