diff options
Diffstat (limited to 'meta/recipes-gnome')
74 files changed, 1082 insertions, 2096 deletions
diff --git a/meta/recipes-gnome/epiphany/epiphany_3.30.2.bb b/meta/recipes-gnome/epiphany/epiphany_3.38.2.bb index 3dd699d4fe..70148c96d8 100644 --- a/meta/recipes-gnome/epiphany/epiphany_3.30.2.bb +++ b/meta/recipes-gnome/epiphany/epiphany_3.38.2.bb @@ -1,22 +1,20 @@ SUMMARY = "WebKit based web browser for GNOME" +BUGTRACKER = "https://gitlab.gnome.org/GNOME/epiphany" 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" + glib-2.0 glib-2.0-native json-glib libdazzle libhandy libportal" GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase gsettings distro_features_check upstream-version-is-even gettext +inherit gnomebase gsettings features_check upstream-version-is-even gettext mime-xdg 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}" +SRC_URI[archive.sha256sum] = "8b05f2bcc1e80ecf4a10f6f01b3285087eb4cbdf5741dffb8c0355715ef5116d" 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..118b5d1825 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 3725c254f1d1d8204fa299e71c1e2bfd0ff6a634 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 484860c..d9b2e80 100644 --- a/help/meson.build +++ b/help/meson.build @@ -32,7 +32,7 @@ help_media = [ - 'media/web-browser.png' + 'media/epiphany-private-3-36.png' ] -gnome.yelp(meson.project_name(), 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.38.0.bb b/meta/recipes-gnome/gcr/gcr_3.38.0.bb new file mode 100644 index 0000000000..49e8f1848b --- /dev/null +++ b/meta/recipes-gnome/gcr/gcr_3.38.0.bb @@ -0,0 +1,30 @@ +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 = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605" + +DEPENDS = "gtk+3 p11-kit glib-2.0 libgcrypt gnupg-native \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'libxslt-native', '', d)}" + +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 +# depends on gtk+3, but also x11 through gtk+-x11 +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[archive.sha256sum] = "a64cc7b65757fc2cd16de1708d132a16d05cd1f62c6eba436d56fe45d4ba27e1" + +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" diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch new file mode 100644 index 0000000000..e461404918 --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch @@ -0,0 +1,38 @@ +From be8a47e0c21e5577d4f5669d339dfec6299b25be Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Thu, 14 Feb 2019 18:06:25 +0100 +Subject: [PATCH] Generate loaders.cache using a native tool when + cross-compiling + +Otherwise meson would attempt to run a target binary. + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> + +--- + gdk-pixbuf/meson.build | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build +index 5cddbec..78c8bd3 100644 +--- a/gdk-pixbuf/meson.build ++++ b/gdk-pixbuf/meson.build +@@ -324,8 +324,16 @@ if not meson.is_cross_build() + build_by_default: true) + loaders_dep = declare_dependency(sources: [ loaders_cache ]) + else +- loaders_cache = [] +- loaders_dep = declare_dependency() ++ loaders_cache = custom_target('loaders.cache', ++ output: 'loaders.cache', ++ capture: true, ++ command: [ ++ 'gdk-pixbuf-query-loaders', ++ dynamic_loaders, ++ ], ++ depends: dynamic_loaders_dep, ++ build_by_default: true) ++ loaders_dep = declare_dependency(sources: [ loaders_cache ]) + endif + + pkgconfig = import('pkgconfig') 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 index 31ed988f32..110b32a490 100644 --- 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 @@ -1,47 +1,28 @@ -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 +From 8c7ced988def52654946458a3779e383b27f14f7 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Thu, 14 Feb 2019 17:56:10 +0100 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> +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> --- - thumbnailer/Makefile.am | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) + thumbnailer/meson.build | 1 + + 1 file changed, 1 insertion(+) -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 = \ +diff --git a/thumbnailer/meson.build b/thumbnailer/meson.build +index e801144..aaafec8 100644 +--- a/thumbnailer/meson.build ++++ b/thumbnailer/meson.build +@@ -10,6 +10,7 @@ executable('gdk-pixbuf-thumbnailer', + gdk_pixbuf_print_mime_types = executable('gdk-pixbuf-print-mime-types', + 'gdk-pixbuf-print-mime-types.c', + c_args: common_cflags, ++ install: true, + dependencies: gdk_pixbuf_deps + [ gdkpixbuf_dep ]) - 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 - + custom_target('thumbnailer', diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch new file mode 100644 index 0000000000..a9c7600eb3 --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch @@ -0,0 +1,94 @@ +From 2d1b65bd1272ad63b7fbd4babd9a8e8c296d15b5 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Fri, 22 Feb 2019 13:22:06 +0100 +Subject: [PATCH] (target only) Work-around thumbnailer and pixdata + cross-compile failure + +Use native gdk-pixbuf-print-mime-types and gdk-pixbuf-pixdata +when generating the thumbnail metadata and resources. + +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: Alexander Kanavin <alex.kanavin@gmail.com> + +--- + build-aux/gen-thumbnailer.py | 2 -- + tests/meson.build | 11 +++++++++-- + thumbnailer/meson.build | 5 +---- + 3 files changed, 10 insertions(+), 8 deletions(-) + +diff --git a/build-aux/gen-thumbnailer.py b/build-aux/gen-thumbnailer.py +index 05ac821..c5b99ab 100644 +--- a/build-aux/gen-thumbnailer.py ++++ b/build-aux/gen-thumbnailer.py +@@ -20,8 +20,6 @@ argparser.add_argument('output', help='Output file') + args = argparser.parse_args() + + newenv = os.environ.copy() +-newenv['GDK_PIXBUF_PIXDATA'] = args.pixdata +-newenv['GDK_PIXBUF_MODULE_FILE'] = args.loaders + # 'nt': NT-based Windows, see https://docs.python.org/3/library/os.html + if os.name == 'nt': + gdk_pixbuf_dll_buildpath = os.path.dirname(args.pixdata) +diff --git a/tests/meson.build b/tests/meson.build +index 8ed7cc1..e011b77 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -1,12 +1,19 @@ + # 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 ++ ++if not meson.is_cross_build() ++pixdata_binary = gdk_pixbuf_pixdata.full_path() ++else ++pixdata_binary = 'gdk-pixbuf-pixdata' ++endif ++ + resources_c = custom_target('resources.c', + input: 'resources.gresource.xml', + output: 'resources.c', + command: [ + gen_resources, +- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()), ++ '--pixdata=@0@'.format(pixdata_binary), + '--loaders=@0@'.format(loaders_cache.full_path()), + '--sourcedir=@0@'.format(meson.current_source_dir()), + '--source', +@@ -24,7 +31,7 @@ resources_h = custom_target('resources.h', + output: 'resources.h', + command: [ + gen_resources, +- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()), ++ '--pixdata=@0@'.format(pixdata_binary), + '--loaders=@0@'.format(loaders_cache.full_path()), + '--sourcedir=@0@'.format(meson.current_source_dir()), + '--header', +diff --git a/thumbnailer/meson.build b/thumbnailer/meson.build +index aaafec8..71bd61b 100644 +--- a/thumbnailer/meson.build ++++ b/thumbnailer/meson.build +@@ -18,9 +18,7 @@ custom_target('thumbnailer', + output: 'gdk-pixbuf-thumbnailer.thumbnailer', + command: [ + gen_thumbnailer, +- '--printer=@0@'.format(gdk_pixbuf_print_mime_types.full_path()), +- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()), +- '--loaders=@0@'.format(loaders_cache.full_path()), ++ '--printer=gdk-pixbuf-print-mime-types', + '--bindir=@0@'.format(gdk_pixbuf_bindir), + '@INPUT@', + '@OUTPUT@', +@@ -28,7 +26,6 @@ custom_target('thumbnailer', + depends: [ + gdk_pixbuf_print_mime_types, + gdk_pixbuf_pixdata, +- loaders_cache, + ], + install: true, + install_dir: join_paths(gdk_pixbuf_datadir, 'thumbnailers')) diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0004-Do-not-run-tests-when-building.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0004-Do-not-run-tests-when-building.patch new file mode 100644 index 0000000000..96c546f271 --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0004-Do-not-run-tests-when-building.patch @@ -0,0 +1,39 @@ +From 3c4a6c147ae8a0962ba9194373d8a41d14eed44f Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Fri, 22 Feb 2019 13:23:55 +0100 +Subject: [PATCH] Do not run tests when building + +Upstream-Status: Inappropriate [cross-compile specific] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + tests/meson.build | 17 ----------------- + 1 file changed, 17 deletions(-) + +diff --git a/tests/meson.build b/tests/meson.build +index 4fa3fbc..6ef7884 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -138,23 +138,6 @@ foreach t: installed_tests + install_dir: installed_test_bindir, + ) + +- # Two particularly slow tests +- if test_suites.contains('slow') +- timeout = 300 +- else +- timeout = 30 +- endif +- +- test(test_name, test_bin, +- suite: test_suites, +- args: [ '-k', '--tap' ], +- env: [ +- 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()), +- 'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir()), +- 'GDK_PIXBUF_MODULE_FILE=@0@'.format(loaders_cache.full_path()), +- ], +- timeout: timeout, +- ) + endforeach + + executable('pixbuf-read', diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch new file mode 100644 index 0000000000..0fe13a387a --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch @@ -0,0 +1,28 @@ +From 1a532e090c558a830de9503f56e23414e880bb95 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Wed, 5 Jun 2019 14:17:55 +0200 +Subject: [PATCH] Build thumbnailer and tests also in cross builds. + +Upstream-Status: Inappropriate [relies on oe-core specific hacks] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + meson.build | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/meson.build b/meson.build +index d104cea..7acb88a 100644 +--- a/meson.build ++++ b/meson.build +@@ -397,10 +397,8 @@ endif + # i18n + subdir('po') + +-if not meson.is_cross_build() +- subdir('tests') +- subdir('thumbnailer') +-endif ++subdir('tests') ++subdir('thumbnailer') + + # Documentation + subdir('docs') diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/CVE-2020-29385.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/CVE-2020-29385.patch new file mode 100644 index 0000000000..3fef2bc1eb --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/CVE-2020-29385.patch @@ -0,0 +1,55 @@ +From bdd3acbd48a575d418ba6bf1b32d7bda2fae1c81 Mon Sep 17 00:00:00 2001 +From: Robert Ancell <robert.ancell@canonical.com> +Date: Mon, 30 Nov 2020 12:26:12 +1300 +Subject: [PATCH 02/13] gif: Fix LZW decoder accepting invalid LZW code. + +The code value after a reset wasn't being validated, which means we would +accept invalid codes. This could cause an infinite loop in the decoder. + +Fixes CVE-2020-29385 + +Fixes https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/164 + +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/commit/bdd3acbd48a575d418ba6bf1b32d7bda2fae1c81] +CVE: CVE-2020-29385 +Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com> + +--- + gdk-pixbuf/lzw.c | 13 +++++++------ + 1 files changed, 7 insertions(+), 6 deletions(-) + create mode 100644 tests/test-images/fail/hang_114.gif + +diff --git a/gdk-pixbuf/lzw.c b/gdk-pixbuf/lzw.c +index 9e052a6f7..105daf2b1 100644 +--- a/gdk-pixbuf/lzw.c ++++ b/gdk-pixbuf/lzw.c +@@ -195,19 +195,20 @@ lzw_decoder_feed (LZWDecoder *self, + if (self->last_code != self->clear_code && self->code_table_size < MAX_CODES) { + if (self->code < self->code_table_size) + add_code (self, self->code); +- else if (self->code == self->code_table_size) ++ else + add_code (self, self->last_code); +- else { +- /* Invalid code received - just stop here */ +- self->last_code = self->eoi_code; +- return output_length; +- } + + /* When table is full increase code size */ + if (self->code_table_size == (1 << self->code_size) && self->code_size < LZW_CODE_MAX) + self->code_size++; + } + ++ /* Invalid code received - just stop here */ ++ if (self->code >= self->code_table_size) { ++ self->last_code = self->eoi_code; ++ return output_length; ++ } ++ + /* Convert codeword into indexes */ + n_written += write_indexes (self, output + n_written, output_length - n_written); + } +-- +2.25.1 + 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/missing-test-data.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/missing-test-data.patch new file mode 100644 index 0000000000..6c758fd61c --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/missing-test-data.patch @@ -0,0 +1,30 @@ +Upstream-Status: Backport +Signed-off-by: Ross Burton <ross.burton@intel.com> + +From d8d231c01ef2e59856da8a5c26ace955e5f29370 Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@intel.com> +Date: Mon, 25 Nov 2019 17:05:46 +0000 +Subject: [PATCH] tests: install circular-table.gif + +This test data was added for the pixbuf-gif-circular-table test (added October +2018 in 0b9d004) but because the file was never actually installed the installed +test suite never passes. +--- + tests/meson.build | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tests/meson.build b/tests/meson.build +index 5116fc2b9..80ed3e8b2 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -97,6 +97,7 @@ test_data = [ + 'bug775693.pixdata', + 'bug775229.pixdata', + 'aero.gif', ++ 'circular-table.gif' + ] + + installed_test_bindir = join_paths(gdk_pixbuf_libexecdir, 'installed-tests', meson.project_name()) +-- +2.20.1 + 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 99c84c6dda..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, '^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" diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.40.0.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.40.0.bb new file mode 100644 index 0000000000..16708fd581 --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.40.0.bb @@ -0,0 +1,133 @@ +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 = "LGPLv2.1+" +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" + +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-Work-around-thumbnailer-cross-compile-failure.patch \ + file://0001-Fix-a-couple-of-decisions-around-cross-compilation.patch \ + file://0004-Do-not-run-tests-when-building.patch \ + file://0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch \ + file://missing-test-data.patch \ + file://CVE-2020-29385.patch \ + " + +SRC_URI_append_class-target = " \ + file://0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch \ + " +SRC_URI_append_class-nativesdk = " \ + file://0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch \ + " + +SRC_URI[md5sum] = "05eb1ebc258ba905f1c8644ef49de064" +SRC_URI[sha256sum] = "1582595099537ca8ff3b99c6804350b4c058bb8ad67411bbaae024ee7cead4e6" + +inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc lib_package + +GIR_MESON_OPTION = 'gir' + +LIBV = "2.10.0" + +GDK_PIXBUF_LOADERS ?= "png jpeg" + +PACKAGECONFIG = "${GDK_PIXBUF_LOADERS} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \ + ${@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[jpeg2000] = "-Djasper=true,-Djasper=false,jasper" +PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false" +PACKAGECONFIG[x11] = "-Dx11=true,-Dx11=false,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() { + # 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/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..c8c70c4b58 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 8b3b153b6b95662316528ef083365b46cf5f7841 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 449865d..888649e 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], [3.38.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..c4d7e2583b 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 @@ -24,7 +24,8 @@ 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 @@ -45,7 +46,8 @@ index 86f4d7c..3fae8c1 100644 $(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; \ + $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/scalable-up-to-32/$$file $(DESTDIR)$(themedir)/scalable-up-to-32/$$file & \ - done +- done ++ done; \ + wait uninstall-local: @@ -61,7 +63,8 @@ index 24aac9b..61ba071 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; \ for file in `cd $(top_srcdir)/$(SVGOUTDIR)/scalable; find . -name "*.svg"`; do \ context="`dirname $$file`"; \ $(mkdir_p) $(DESTDIR)$(themedir)/scalable/$$context; \ @@ -72,7 +75,8 @@ 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: diff --git a/meta/recipes-gnome/gnome/adwaita-icon-theme_3.28.0.bb b/meta/recipes-gnome/gnome/adwaita-icon-theme_3.38.0.bb index 40dd35ba30..ff557978dc 100644 --- a/meta/recipes-gnome/gnome/adwaita-icon-theme_3.28.0.bb +++ b/meta/recipes-gnome/gnome/adwaita-icon-theme_3.38.0.bb @@ -1,29 +1,24 @@ SUMMARY = "GTK+ icon theme" -HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/sources/adwaita-icon-theme/" -BUGTRACKER = "https://bugzilla.gnome.org/" +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 | CC-BY-SA-3.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=c84cac88e46fc07647ea07e6c24eeb7c" +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 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" +SRC_URI[sha256sum] = "6683a1aaf2430ccd9ea638dd4bfe1002bc92b412050c3dba20e480f979faaf97" -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 -} +DEPENDS += "librsvg-native" PACKAGES = "${PN}-cursors ${PN}-symbolic-hires ${PN}-symbolic ${PN}-hires ${PN}" @@ -37,8 +32,11 @@ FILES_${PN}-symbolic-hires = "${prefix}/share/icons/Adwaita/96x96/*/*.symbolic.p ${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/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 120ae3e021..ade93644ec 100644 --- a/meta/recipes-gnome/gnome/gconf_3.2.6.bb +++ b/meta/recipes-gnome/gnome/gconf_3.2.6.bb @@ -1,6 +1,9 @@ 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/" +HOMEPAGE = "https://gitlab.gnome.org/Archive/gconf" LICENSE = "LGPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605" @@ -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" @@ -22,12 +26,11 @@ S = "${WORKDIR}/GConf-${PV}" EXTRA_OECONF = "--enable-shared --disable-static \ --disable-orbit --with-openldap=no --disable-gtk" -# Disable PolicyKit by default -PACKAGECONFIG ??= "" -# We really don't want PolicyKit for native +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}" +# We really don't want Polkit for native PACKAGECONFIG_class-native = "" -PACKAGECONFIG[policykit] = "--enable-defaults-service,--disable-defaults-service,polkit" +PACKAGECONFIG[polkit] = "--enable-defaults-service,--disable-defaults-service,polkit" PACKAGECONFIG[debug] = "--enable-debug=yes, --enable-debug=minimum" do_install_append() { @@ -50,6 +53,8 @@ FILES_${PN} += "${libdir}/GConf/* \ ${datadir}/dbus-1/services/*.service \ ${datadir}/dbus-1/system-services/*.service \ " +RDEPENDS_${PN} = "python3-xml" + FILES_${PN}-dev += "${datadir}/sgml/gconf/gconf-1.0.dtd" BBCLASSEXTEND = "native" 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 4017d445f7..185ebc154a 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 47a596165e253edb45eb48a35e50f488182e13fd Mon Sep 17 00:00:00 2001 +From 41c3ee549787333a073a3ce6303efef625c74dce 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 c8ef6aa..b85ff7f 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-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 index 9167f042e5..b484b5e9e6 100644 --- 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 @@ -1,4 +1,4 @@ -From f128cbeead687bfc6532cc1f2cc3e2dc5a2b5b30 Mon Sep 17 00:00:00 2001 +From f742da8b3913f4818d3f419117076afe62f4dbf4 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 @@ -8,15 +8,16 @@ 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 +index d67df95..80352a6 100644 --- a/giscanner/shlibs.py +++ b/giscanner/shlibs.py -@@ -108,7 +108,7 @@ def _resolve_non_libtool(options, binary, libraries): +@@ -102,7 +102,7 @@ def _resolve_non_libtool(options, binary, libraries): args.extend(['otool', '-L', binary.args[0]]) else: args.extend(['ldd', binary.args[0]]) diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-meson.build-exclude-girepo_dep-if-introspection-data.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-meson.build-exclude-girepo_dep-if-introspection-data.patch new file mode 100644 index 0000000000..8fba0124cf --- /dev/null +++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-meson.build-exclude-girepo_dep-if-introspection-data.patch @@ -0,0 +1,25 @@ +From ef5446af0ddad6a341b47957097ac40c6cb5e6d3 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Tue, 20 Oct 2020 22:40:14 +0200 +Subject: [PATCH] meson.build: exclude girepo_dep if introspection data is + disabled + +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/248] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 14af2b1..a3c27c3 100644 +--- a/meson.build ++++ b/meson.build +@@ -283,7 +283,7 @@ pkg.generate( + # FIXME: meson.override_dependency() and declare_dependency()'s variable arguments + # are new in Meson 0.54.0, older versions of Meson won't be able to use g-i as + # subproject anyway +-if meson.version().version_compare('>=0.54.0') ++if meson.version().version_compare('>=0.54.0') and get_option('build_introspection_data') == true + girepo_dep = declare_dependency( + sources: typelibs, + dependencies: girepo_dep, 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.2.bb b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.66.1.bb index 242899accc..ee0ab2866b 100644 --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.2.bb +++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.66.1.bb @@ -1,6 +1,10 @@ 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+" LIC_FILES_CHKSUM = "file://COPYING;md5=c434e8128a68bedd59b80b2ac1eb1c4a \ @@ -10,26 +14,18 @@ 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-meson.build-exclude-girepo_dep-if-introspection-data.patch \ " -SRC_URI[md5sum] = "8479d6c543173721ce948484d0cd1d64" -SRC_URI[sha256sum] = "2a5e0f69459af7ca4c41b8f4e19d9c80ddf877834bb0e7fdd420e2495ae2eda8" +SRC_URI[sha256sum] = "dd44a55ee5f426ea22b6b89624708f9e8d53f5cc94e5485c15c87cb30e06161d" 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" @@ -46,17 +42,17 @@ 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 ''} \ + -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 @@ -76,7 +72,7 @@ do_configure_prepend_class-native() { 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}'])}" + qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['\\$GIR_EXTRA_LIBS_PATH','.libs','$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}" cat > ${B}/g-ir-scanner-qemuwrapper << EOF #!/bin/sh # Use a modules directory which doesn't exist so we don't load random things @@ -94,7 +90,7 @@ 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 @@ -134,7 +130,12 @@ 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() { install -d ${D}${bindir}/ 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_3.38.0.bb b/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.38.0.bb new file mode 100644 index 0000000000..34681197d8 --- /dev/null +++ b/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.38.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 = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = "glib-2.0" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gsettings gobject-introspection gettext upstream-version-is-even + +SRC_URI[archive.sha256sum] = "5704c8266004b296036671f223c705dc046aa694a1b1abb87c67e7d2747a8c67" 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 519a9840f4..8d5edb7ee8 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." @@ -10,7 +11,11 @@ DEPENDS = "glib-2.0 cairo pango atk jpeg libpng gdk-pixbuf \ LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+" -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 = "" # versions >= 3.90 are development versions, otherwise like upstream-version-is-even UPSTREAM_CHECK_REGEX = "[^\d\.](?P<pver>3\.([1-8]?[02468])+(\.\d+)+)\.tar" @@ -27,13 +32,19 @@ do_configure_prepend() { ln -s ${TARGET_PREFIX}libtool libtool #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)} \ " @@ -43,22 +54,42 @@ do_compile_prepend() { PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl wayland x11', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'glx', '', 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[cloudprint] = "--enable-cloudprint,--disable-cloudprint,rest json-glib" +PACKAGECONFIG[colord] = "--enable-colord,--disable-colord,colord" -do_install_append() { - mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0 +prepare_gtk_scripts() { + mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0 # duplicate gtk-query-immodules for post install script update_gtk_immodules_cache mkdir -p ${D}${libexecdir} ln ${D}${bindir}/gtk-query-immodules-3.0 ${D}${libexecdir}/${MLPREFIX}gtk-query-immodules-3.0 } +do_install_append_class-target() { + prepare_gtk_scripts +} + +do_install_append_class-nativesdk() { + prepare_gtk_scripts +} + +do_install_append_class-native() { + create_wrapper ${D}/${bindir}/gtk-update-icon-cache \ + GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache + create_wrapper ${D}/${bindir}/gtk-encode-symbolic-svg \ + GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache +} + +PROVIDES += "gtk-icon-utils" PACKAGES =+ "${PN}-demo" LIBV = "3.0.0" @@ -83,6 +114,7 @@ FILES_${PN}_append = " ${bindir}/gtk-update-icon-cache-3.0 \ 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 \ @@ -104,6 +136,10 @@ GTKBASE_RRECOMMENDS ?= "liberation-fonts \ shared-mime-info \ adwaita-icon-theme-symbolic \ " + +GTKBASE_RRECOMMENDS_class-native ?= "\ + " + GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1" RRECOMMENDS_${PN} = "${GTKBASE_RRECOMMENDS}" @@ -123,11 +159,11 @@ python populate_packages_prepend () { immodules_root = os.path.join(gtk_libdir, 'immodules') printmodules_root = os.path.join(gtk_libdir, 'printbackends'); - immodules = do_split_packages(d, immodules_root, '^im-(.*)\.so$', 'gtk3-immodule-%s', 'GTK input module for %s') + immodules = do_split_packages(d, immodules_root, r'^im-(.*)\.so$', 'gtk3-immodule-%s', 'GTK input module for %s') if immodules: d.setVar("GTKIMMODULES_PACKAGES", " ".join(immodules)) - do_split_packages(d, printmodules_root, '^libprintbackend-(.*)\.so$', 'gtk3-printbackend-%s', 'GTK printbackend module for %s') + 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') 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..398c9bc36a 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 f83fcf1991afad6d9c15546b2ccd775dad4e314c 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 bd651bb..b4c061f 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 479d6a1..7edbee8 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 240c99f..9eb49bf 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c -@@ -2406,7 +2406,9 @@ gboolean +@@ -2419,7 +2419,9 @@ gboolean gdk_display_make_gl_context_current (GdkDisplay *display, GdkGLContext *context) { @@ -346,7 +380,7 @@ index dfbed63..556f0a3 100644 /** diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c -index 6b231f0..904b86d 100644 +index 6ae0f86..4e48a2a 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 817944e..e7a2947 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) +@@ -3188,7 +3190,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 8939ae9..931bff9 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) +@@ -1723,3 +1723,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 1fe7b90..d23a347 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) +@@ -5861,7 +5863,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 eaca473..99352d1 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 && \ +@@ -1449,7 +1449,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 9a56443..7de0db2 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,7 +723,7 @@ 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) +@@ -533,11 +540,13 @@ gtk_gl_area_attach_buffers (GtkGLArea *area) glFramebufferRenderbufferEXT (GL_FRAMEBUFFER_EXT, GL_STENCIL_ATTACHMENT_EXT, GL_RENDERBUFFER_EXT, priv->depth_stencil_buffer); } @@ -709,7 +737,7 @@ 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) +@@ -569,6 +578,7 @@ gtk_gl_area_delete_buffers (GtkGLArea *area) glDeleteFramebuffersEXT (1, &priv->frame_buffer); priv->frame_buffer = 0; } @@ -717,7 +745,7 @@ index ea383c0..bb4eb64 100644 } 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; @@ -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 ee1e8b5..e6c6502 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.24.bb index 6de3e73f2f..01a2a94ce3 100644 --- a/meta/recipes-gnome/gtk+/gtk+3_3.24.1.bb +++ b/meta/recipes-gnome/gtk+/gtk+3_3.24.24.bb @@ -6,9 +6,9 @@ SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar 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] = "cc9d4367c55b724832f6b09ab85481738ea456871f0381768a6a99335a98378a" 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 89fca736b2..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, '^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s'))) - do_split_packages(d, printmodules_root, '^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+/gtk-icon-utils-native_3.22.30.bb b/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.22.30.bb deleted file mode 100644 index 28e7a312d2..0000000000 --- a/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.22.30.bb +++ /dev/null @@ -1,63 +0,0 @@ -SUMMARY = "Native icon utils for GTK+" -DESCRIPTION = "gtk-update-icon-cache and gtk-encode-symbolic-svg built from GTK+ natively, for build time and on-host postinst script execution." -SECTION = "libs" - -DEPENDS = "glib-2.0-native gdk-pixbuf-native librsvg-native" - -LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+" - -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://Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch" -SRC_URI[md5sum] = "61e60dc073e0a6893c72043d20579dc0" -SRC_URI[sha256sum] = "a1a4a5c12703d4e1ccda28333b87ff462741dc365131fbc94c218ae81d9a6567" - -LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ - file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \ - file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \ - file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1" - -S = "${WORKDIR}/gtk+-${PV}" - -inherit pkgconfig 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" - -PKG_CONFIG_FOR_BUILD = "${STAGING_BINDIR_NATIVE}/pkg-config-native" - -do_configure() { - # Quite ugly but defines enough to compile the tools. - if ! test -f gtk/config.h; then - echo "#define GETTEXT_PACKAGE \"gtk30\"" >> gtk/config.h - echo "#define HAVE_UNISTD_H 1" >> gtk/config.h - echo "#define HAVE_FTW_H 1" >> gtk/config.h - fi - if ! test -f gdk/config.h; then - touch gdk/config.h - fi -} - -do_compile() { - ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} \ - ${S}/gtk/updateiconcache.c \ - $(${PKG_CONFIG_FOR_BUILD} --cflags --libs gdk-pixbuf-2.0) \ - -o gtk-update-icon-cache - - ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} \ - ${S}/gtk/encodesymbolic.c \ - $(${PKG_CONFIG_FOR_BUILD} --cflags --libs gio-2.0 gdk-pixbuf-2.0) \ - -o gtk-encode-symbolic-svg -} - -do_install() { - install -d ${D}${bindir} - install -m 0755 ${B}/gtk-update-icon-cache ${D}${bindir} - install -m 0755 ${B}/gtk-encode-symbolic-svg ${D}${bindir} - - create_wrapper ${D}/${bindir}/gtk-update-icon-cache \ - GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache - create_wrapper ${D}/${bindir}/gtk-encode-symbolic-svg \ - GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache -} diff --git a/meta/recipes-gnome/gtk+/gtk-icon-utils/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch b/meta/recipes-gnome/gtk+/gtk-icon-utils/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch deleted file mode 100644 index 237f803755..0000000000 --- a/meta/recipes-gnome/gtk+/gtk-icon-utils/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 4d09ff324419fe4e671233044e424378da53969b Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen <jussi.kukkonen@intel.com> -Date: Tue, 9 Jun 2015 14:20:30 +0300 -Subject: [PATCH] Remove Gdk-dependency from gtk-encode-symbolic-svg - -Building gtk-encode-symbolic-svg without building Gdk is useful -as only the icon tools are needed on the native build: this makes -native build much faster and requires much less dependencies. - -Upstream-Status: Pending - -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> ---- - gtk/encodesymbolic.c | 36 ++++++++++-------------------------- - 1 file changed, 10 insertions(+), 26 deletions(-) - -diff --git a/gtk/encodesymbolic.c b/gtk/encodesymbolic.c -index 9f7d015..1f07563 100644 ---- a/gtk/encodesymbolic.c -+++ b/gtk/encodesymbolic.c -@@ -19,7 +19,6 @@ - - #include <glib.h> - #include <gdk-pixbuf/gdk-pixdata.h> --#include <gdk/gdk.h> - #include <glib/gi18n.h> - - #ifdef HAVE_UNISTD_H -@@ -43,30 +42,18 @@ static GdkPixbuf * - load_symbolic_svg (char *file_data, gsize file_len, - int width, - int height, -- const GdkRGBA *fg, -- const GdkRGBA *success_color, -- const GdkRGBA *warning_color, -- const GdkRGBA *error_color, -+ const char *css_fg, -+ const char *css_success, -+ const char *css_warning, -+ const char *css_error, - GError **error) - { - GInputStream *stream; - GdkPixbuf *pixbuf; -- gchar *css_fg; -- gchar *css_success; -- gchar *css_warning; -- gchar *css_error; - gchar *data; - gchar *svg_width, *svg_height; - gchar *escaped_file_data; - -- css_fg = gdk_rgba_to_string (fg); -- -- css_success = css_warning = css_error = NULL; -- -- css_warning = gdk_rgba_to_string (warning_color); -- css_error = gdk_rgba_to_string (error_color); -- css_success = gdk_rgba_to_string (success_color); -- - /* Fetch size from the original icon */ - stream = g_memory_input_stream_new_from_data (file_data, file_len, NULL); - pixbuf = gdk_pixbuf_new_from_stream (stream, NULL, error); -@@ -105,10 +92,6 @@ load_symbolic_svg (char *file_data, gsize file_len, - "</svg>", - NULL); - g_free (escaped_file_data); -- g_free (css_fg); -- g_free (css_warning); -- g_free (css_error); -- g_free (css_success); - g_free (svg_width); - g_free (svg_height); - -@@ -167,7 +150,8 @@ make_symbolic_pixbuf (char *file, - GError **error) - - { -- GdkRGBA r = { 1,0,0,1}, g = {0,1,0,1}; -+ const char r[] = "rgba(255,0,0,1)"; -+ const char g[] = "rgba(0,255,0,1)"; - GdkPixbuf *loaded; - GdkPixbuf *pixbuf; - int plane; -@@ -196,10 +180,10 @@ make_symbolic_pixbuf (char *file, - * the "rest", as all color fractions should add up to 1. - */ - loaded = load_symbolic_svg (file_data, file_len, width, height, -- &g, -- plane == 0 ? &r : &g, -- plane == 1 ? &r : &g, -- plane == 2 ? &r : &g, -+ g, -+ plane == 0 ? r : g, -+ plane == 1 ? r : g, -+ plane == 2 ? r : g, - error); - if (loaded == NULL) - return NULL; --- -2.1.4 - 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.1.bb index 2c4ee175a9..5f9fe0a91d 100644 --- a/meta/recipes-gnome/gtk-doc/gtk-doc_1.29.bb +++ b/meta/recipes-gnome/gtk-doc/gtk-doc_1.33.1.bb @@ -1,7 +1,7 @@ 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/" +HOMEPAGE = "https://www.gtk.org/docs/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" @@ -15,11 +15,10 @@ 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] = "a5cfed2a0b73a09b796fff80ad6d8f040ab2b2655bdc941ac207ffe6d9c10f10" 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 \ @@ -36,6 +35,17 @@ do_configure_prepend() { sed -i -e 's,^JH_CHECK_XML_CATALOG.*,,' ${S}/configure.ac } +do_install_append () { + # configure values for python3 and pkg-config encoded in scripts + for fn in ${bindir}/gtkdoc-depscan \ + ${bindir}/gtkdoc-mkhtml2 \ + ${datadir}/gtk-doc/python/gtkdoc/config.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}-dev += "${libdir}/cmake" FILES_${PN}-doc = "" 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 7064b1942d..74e3430528 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,14 +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" 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" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-gnome/json-glib/json-glib/0001-json-glib-json-enum-types.c.in-fix-build-reproducibi.patch b/meta/recipes-gnome/json-glib/json-glib/0001-json-glib-json-enum-types.c.in-fix-build-reproducibi.patch new file mode 100644 index 0000000000..0eb7244186 --- /dev/null +++ b/meta/recipes-gnome/json-glib/json-glib/0001-json-glib-json-enum-types.c.in-fix-build-reproducibi.patch @@ -0,0 +1,30 @@ +From 0f06c4cb4a57083c08312144b03c8346cf620be6 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Fri, 30 Oct 2020 22:15:29 +0000 +Subject: [PATCH] json-glib/json-enum-types.c.in: fix build reproducibility + +Changes the comment and include to reference the file basename +instead of the full path. This ensures that the generated file is +reproducible when it is included in source packages meant for debugging. + +Upstream-Status: Backport [6f3842abd5dff68b6ee5f2ef48a4ebf1cbebf434] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + json-glib/json-enum-types.c.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/json-glib/json-enum-types.c.in b/json-glib/json-enum-types.c.in +index da07c46..7b39290 100644 +--- a/json-glib/json-enum-types.c.in ++++ b/json-glib/json-enum-types.c.in +@@ -9,8 +9,8 @@ + + /*** BEGIN file-production ***/ + +-/* enumerations from "@filename@" */ +-#include "@filename@" ++/* enumerations from "@basename@" */ ++#include "@basename@" + + /*** END file-production ***/ + diff --git a/meta/recipes-gnome/json-glib/json-glib_1.4.2.bb b/meta/recipes-gnome/json-glib/json-glib_1.4.2.bb deleted file mode 100644 index b4a6a6f2b6..0000000000 --- a/meta/recipes-gnome/json-glib/json-glib_1.4.2.bb +++ /dev/null @@ -1,42 +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 - -SRC_URI += "file://run-ptest" -SRC_URI[archive.md5sum] = "35107e23a7bbbc70f31c34f7b9adf1c3" -SRC_URI[archive.sha256sum] = "2d7709a44749c7318599a6829322e081915bdc73f5be5045882ed120bb686dc8" - -# This builds both API docs (via gtk-doc) and manpages -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.0.bb b/meta/recipes-gnome/json-glib/json-glib_1.6.0.bb new file mode 100644 index 0000000000..59b0609900 --- /dev/null +++ b/meta/recipes-gnome/json-glib/json-glib_1.6.0.bb @@ -0,0 +1,34 @@ +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 = "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 upstream-version-is-even +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' +GTKDOC_MESON_OPTION = "gtk_doc" +GTKDOC_MESON_ENABLE_FLAG = 'enabled' +GTKDOC_MESON_DISABLE_FLAG = 'disabled' + +SRC_URI += "file://run-ptest \ + file://0001-json-glib-json-enum-types.c.in-fix-build-reproducibi.patch" +SRC_URI[archive.sha256sum] = "0d7c67602c4161ea7070fab6c5823afd9bd7f7bc955f652a50d3753b08494e73" + +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.38.0.bb b/meta/recipes-gnome/libdazzle/libdazzle_3.38.0.bb new file mode 100644 index 0000000000..a2a1aed7bc --- /dev/null +++ b/meta/recipes-gnome/libdazzle/libdazzle_3.38.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 = "GPLv3+" +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] = "e18af28217943bcec106585298a91ec3da48aa3ad62fd0992f23f0c70cd1678f" + +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_234.bb index 19fe962e46..9cea36df5b 100644 --- a/meta/recipes-gnome/libgudev/libgudev_232.bb +++ b/meta/recipes-gnome/libgudev/libgudev_234.bb @@ -1,7 +1,11 @@ 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" -SRC_URI[archive.sha256sum] = "ee4cb2b9c573cdf354f6ed744f01b111d4b5bed3503ffa956cefff50489c7860" -SRC_URI[archive.md5sum] = "6914852377156665567abf8a38d89236" +BUGTRACKER = "https://gitlab.gnome.org/GNOME/libgudev/issues" +SRC_URI[archive.sha256sum] = "1baeacacf0db42fa073ad5183d1decce9317857416a2b0f82ce3370d711a2e37" DEPENDS = "glib-2.0 udev" diff --git a/meta/recipes-gnome/libhandy/libhandy_1.0.2.bb b/meta/recipes-gnome/libhandy/libhandy_1.0.2.bb new file mode 100644 index 0000000000..4daa3c1a54 --- /dev/null +++ b/meta/recipes-gnome/libhandy/libhandy_1.0.2.bb @@ -0,0 +1,20 @@ +SUMMARY = "A library full of GTK+ widgets for mobile phones" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = "git://gitlab.gnome.org/GNOME/${BPN}.git;protocol=https" +SRCREV = "465c00f8f80c27330be494ed7c0ba2ffe26321c4" +S = "${WORKDIR}/git" + +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..29a28272e1 --- /dev/null +++ b/meta/recipes-gnome/libnotify/libnotify_0.7.9.bb @@ -0,0 +1,28 @@ +SUMMARY = "Library for sending desktop notifications to a notification daemon" +HOMEPAGE = "https://gitlab.gnome.org/GNOME/libnotify" +BUGTRACKER = "https://gitlab.gnome.org/GNOME/libnotify/issues" +SECTION = "libs" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" + +DEPENDS = "dbus gtk+3 glib-2.0" + +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 +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +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" diff --git a/meta/recipes-gnome/libportal/libportal_0.3.bb b/meta/recipes-gnome/libportal/libportal_0.3.bb new file mode 100644 index 0000000000..022628b1ac --- /dev/null +++ b/meta/recipes-gnome/libportal/libportal_0.3.bb @@ -0,0 +1,13 @@ +SUMMARY = "libportal provides GIO-style async APIs for most Flatpak portals." +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +SRC_URI = "git://github.com/flatpak/${BPN}.git;protocol=https" +SRCREV = "a609e06d0c4adc5c510cf9ac7b060db3d368e78f" +S = "${WORKDIR}/git" + +GTKDOC_MESON_OPTION = 'gtk_doc' + +inherit meson gtk-doc + +DEPENDS += "glib-2.0 glib-2.0-native" diff --git a/meta/recipes-gnome/librsvg/librsvg/0001-Auto-detect-Bsymbolic-fixes-configure-on-macOS.patch b/meta/recipes-gnome/librsvg/librsvg/0001-Auto-detect-Bsymbolic-fixes-configure-on-macOS.patch new file mode 100644 index 0000000000..954bb60880 --- /dev/null +++ b/meta/recipes-gnome/librsvg/librsvg/0001-Auto-detect-Bsymbolic-fixes-configure-on-macOS.patch @@ -0,0 +1,35 @@ +From b99891e31eb6ce550e7e1cb2ca592095b3050a93 Mon Sep 17 00:00:00 2001 +From: Brion Vibber <brion@pobox.com> +Date: Sun, 25 Feb 2018 18:42:36 -0800 +Subject: Auto-detect -Bsymbolic, fixes configure on macOS + +The -Bsymbolic linker option is ELF-specific, and was breaking +configure on macOS unless --disable-Bsymbolic was explicitly passed. + +Switching the behavior from requiring -Bsymbolic to be available +by default to just warning and continuing on without. + +Fixes https://gitlab.gnome.org/GNOME/librsvg/issues/211 + +Upstream-Status: Backport +Signed-off-by: Adrian Bunk <bunk@stusta.de> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 15b26b2d..9f8dce29 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -216,7 +216,7 @@ AM_CONDITIONAL([ENABLE_PIXBUF_LOADER],[test "$enable_pixbuf_loader" = "yes"]) + AC_ARG_ENABLE([Bsymbolic], + [AS_HELP_STRING([--disable-Bsymbolic], + [disable linking with -Bsymbolic])], +- [],[enable_Bsymbolic=yes]) ++ [enable_Bsymbolic=no],[enable_Bsymbolic=auto]) + + BSYMBOLIC_LDFLAG= + if test "$enable_Bsymbolic" != "no"; then +-- +2.20.1 + diff --git a/meta/recipes-gnome/librsvg/librsvg/0001-Remove-non-reproducible-SRCDIR.patch b/meta/recipes-gnome/librsvg/librsvg/0001-Remove-non-reproducible-SRCDIR.patch new file mode 100644 index 0000000000..75fc7f9d0b --- /dev/null +++ b/meta/recipes-gnome/librsvg/librsvg/0001-Remove-non-reproducible-SRCDIR.patch @@ -0,0 +1,30 @@ +From bea5156cd7e7122715b26c769c35928141a1da2c Mon Sep 17 00:00:00 2001 +From: Joshua Watt <JPEWhacker@gmail.com> +Date: Mon, 18 Nov 2019 14:46:34 -0600 +Subject: [PATCH] Remove non-reproducible SRCDIR + +Removes SRCDIR as the prefix for finding the test font. This wouldn't +work anyway, since that path is not present on the target. + +This patch is specific to OE, since it appears that this entire method +of testing was removed when upstream was re-written in rust + +Upstream-Status: Inappropriate [OE-specific, no longer present upstream] +Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> +--- + rsvg-cairo-draw.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/rsvg-cairo-draw.c b/rsvg-cairo-draw.c +index caa9104..cfb7ed2 100644 +--- a/rsvg-cairo-draw.c ++++ b/rsvg-cairo-draw.c +@@ -398,7 +398,7 @@ set_font_options_for_testing (PangoContext *context) + static void + create_font_config_for_testing (RsvgCairoRender *render) + { +- const char *font_path = SRCDIR "/tests/resources/LiberationSans-Regular.ttf"; ++ const char *font_path = "/tests/resources/LiberationSans-Regular.ttf"; + + if (render->font_config_for_testing != NULL) + return; diff --git a/meta/recipes-gnome/librsvg/librsvg_2.40.20.bb b/meta/recipes-gnome/librsvg/librsvg_2.40.21.bb index e376d52ef3..acdbc1f1b3 100644 --- a/meta/recipes-gnome/librsvg/librsvg_2.40.20.bb +++ b/meta/recipes-gnome/librsvg/librsvg_2.40.21.bb @@ -1,6 +1,10 @@ SUMMARY = "Library for rendering SVG files" -HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/sources/librsvg/" -BUGTRACKER = "https://bugzilla.gnome.org/" +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" RECIPE_NO_UPDATE_REASON = "Versions from 2.41.0 requires Rust compiler to build it" @@ -10,21 +14,19 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ SECTION = "x11/utils" DEPENDS = "cairo gdk-pixbuf glib-2.0 libcroco libxml2 pango" -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" inherit gnomebase gtk-doc pixbufcache upstream-version-is-even gobject-introspection -SRC_URI += "file://gtk-option.patch" +SRC_URI += "file://gtk-option.patch \ + file://0001-Auto-detect-Bsymbolic-fixes-configure-on-macOS.patch \ + file://0001-Remove-non-reproducible-SRCDIR.patch \ +" -SRC_URI[archive.md5sum] = "4949d313b0c5d9161a5c259104af5568" -SRC_URI[archive.sha256sum] = "cff4dd3c3b78bfe99d8fcfad3b8ba1eee3289a0823c0e118d78106be6b84c92b" +SRC_URI[archive.sha256sum] = "f7628905f1cada84e87e2b14883ed57d8094dca3281d5bcb24ece4279e9a92ba" 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" diff --git a/meta/recipes-gnome/libsecret/libsecret_0.18.6.bb b/meta/recipes-gnome/libsecret/libsecret_0.18.6.bb deleted file mode 100644 index 518c71feb1..0000000000 --- a/meta/recipes-gnome/libsecret/libsecret_0.18.6.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] = "c6cf132a56bd346fbf49a43abb02e5c2" -SRC_URI[archive.sha256sum] = "5efbc890ba41a323ffe0599cd260fd12bd8eb62a04aa1bd1b2762575d253d66f" - -# 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.4.bb b/meta/recipes-gnome/libsecret/libsecret_0.20.4.bb new file mode 100644 index 0000000000..96f6460181 --- /dev/null +++ b/meta/recipes-gnome/libsecret/libsecret_0.20.4.bb @@ -0,0 +1,25 @@ +SUMMARY = "libsecret is a library for storing and retrieving passwords and other secrets" +DESCRIPTION = "A GObject-based library for accessing the Secret Service API of \ +the freedesktop.org project, a cross-desktop effort to access passwords, \ +tokens and other types of secrets. libsecret provides a convenient wrapper \ +for these methods so consumers do not have to call the low-level DBus methods." +LICENSE = "LGPLv2.1" +BUGTRACKER = "https://gitlab.gnome.org/GNOME/libsecret/issues" +LIC_FILES_CHKSUM = "file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gtk-doc vala gobject-introspection manpages + +DEPENDS += "glib-2.0 libgcrypt gettext-native" + +SRC_URI[archive.sha256sum] = "325a4c54db320c406711bf2b55e5cb5b6c29823426aa82596a907595abb39d28" + +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" |