All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/8] clutter-gtk-1.0: convert to meson
@ 2019-02-18 12:41 Alexander Kanavin
  2019-02-18 12:41 ` [PATCH 2/8] meson: add a couple of patches to help with mingw builds Alexander Kanavin
                   ` (6 more replies)
  0 siblings, 7 replies; 11+ messages in thread
From: Alexander Kanavin @ 2019-02-18 12:41 UTC (permalink / raw)
  To: openembedded-core

This required adding an option to control gobject introspection
via a custom patch, and tweaking clutter.bbclass to not enforce
autotools.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/classes/clutter.bbclass                  |  3 +-
 .../clutter/clutter-gtk-1.0.inc               | 20 +++++++++-
 ...iable-for-enabling-disabling-introsp.patch | 37 +++++++++++++++++++
 .../clutter/clutter-gtk-1.0_1.8.4.bb          |  1 +
 4 files changed, 58 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch

diff --git a/meta/classes/clutter.bbclass b/meta/classes/clutter.bbclass
index 5edab0e55d6..24b53a13e40 100644
--- a/meta/classes/clutter.bbclass
+++ b/meta/classes/clutter.bbclass
@@ -14,4 +14,5 @@ REALNAME = "${@get_real_name("${BPN}")}"
 SRC_URI = "${GNOME_MIRROR}/${REALNAME}/${VERMINOR}/${REALNAME}-${PV}.tar.xz;name=archive"
 S = "${WORKDIR}/${REALNAME}-${PV}"
 
-inherit autotools pkgconfig gtk-doc gettext
+CLUTTERBASEBUILDCLASS ??= "autotools"
+inherit ${CLUTTERBASEBUILDCLASS} pkgconfig gtk-doc gettext
diff --git a/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc b/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc
index 05c4e5f5caa..4e82f566057 100644
--- a/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc
+++ b/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc
@@ -2,7 +2,9 @@ SUMMARY = "Library for embedding a Clutter canvas in a GTK+ application"
 HOMEPAGE = "http://www.clutter-project.org/"
 LICENSE = "LGPLv2+"
 
-inherit clutter distro_features_check upstream-version-is-even gobject-introspection
+CLUTTERBASEBUILDCLASS = "meson"
+inherit clutter distro_features_check upstream-version-is-even gobject-introspection gtk-doc
+
 # depends on clutter-1.0 which depends on cogl-1.0
 REQUIRED_DISTRO_FEATURES ?= "opengl"
 # depends on gtk+3
@@ -10,6 +12,20 @@ ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 DEPENDS = "clutter-1.0 gtk+3"
 PACKAGES  =+ "${PN}-examples"
-AUTOTOOLS_AUXDIR = "${S}/build"
+
+GTKDOC_ENABLE_FLAG = "-Denable_docs=true"
+GTKDOC_DISABLE_FLAG = "-Denable_docs=false"
+
+GI_ENABLE_FLAG = "-Denable_gi=true"
+GI_DISABLE_FLAG = "-Denable_gi=false"
+
+EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}"
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
+                                                                                       '${GI_DISABLE_FLAG}', d)} "
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
+                                                                                     '${GTKDOC_DISABLE_FLAG}', d)} "
+
 
 
diff --git a/meta/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch b/meta/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch
new file mode 100644
index 00000000000..e21c6fd9036
--- /dev/null
+++ b/meta/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch
@@ -0,0 +1,37 @@
+From 7233883c6bd4e80c0e91b29b5c76fe798023e9fe Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 11 Feb 2019 16:41:13 +0100
+Subject: [PATCH] Add a config variable for enabling/disabling introspection
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ clutter-gtk/meson.build | 2 +-
+ meson_options.txt       | 4 ++++
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/clutter-gtk/meson.build b/clutter-gtk/meson.build
+index 5d6847d..5d934b6 100644
+--- a/clutter-gtk/meson.build
++++ b/clutter-gtk/meson.build
+@@ -49,7 +49,7 @@ clutter_gtk_dep = declare_dependency(link_with: clutter_gtk,
+                                      dependencies: [ mathlib_dep, clutter_dep, gtk_dep ],
+                                      include_directories: include_directories('.'))
+ 
+-if not meson.is_cross_build()
++if get_option('enable_gi')
+   gnome.generate_gir(clutter_gtk,
+                      sources: clutter_gtk_headers + clutter_gtk_sources,
+                      namespace: 'GtkClutter',
+diff --git a/meson_options.txt b/meson_options.txt
+index aaf59f1..b7e51c3 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -2,3 +2,7 @@ option('enable_docs',
+        type: 'boolean',
+        value: false,
+        description: 'Enable generating the API reference (depends on GTK-Doc)')
++option('enable_gi',
++       type: 'boolean',
++       value: false,
++       description: 'Enable gobject introspection')
diff --git a/meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb b/meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb
index f0300c7164c..53948c89442 100644
--- a/meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb
+++ b/meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb
@@ -2,5 +2,6 @@ require clutter-gtk-1.0.inc
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
 
+SRC_URI += " file://0001-Add-a-config-variable-for-enabling-disabling-introsp.patch"
 SRC_URI[archive.md5sum] = "b363ac9878e2337be887b8ee9e1da00e"
 SRC_URI[archive.sha256sum] = "521493ec038973c77edcb8bc5eac23eed41645117894aaee7300b2487cb42b06"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 2/8] meson: add a couple of patches to help with mingw builds
  2019-02-18 12:41 [PATCH 1/8] clutter-gtk-1.0: convert to meson Alexander Kanavin
@ 2019-02-18 12:41 ` Alexander Kanavin
  2019-02-18 12:41 ` [PATCH 3/8] gdk-pixbuf: convert from autotools to meson Alexander Kanavin
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 11+ messages in thread
From: Alexander Kanavin @ 2019-02-18 12:41 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-devtools/meson/meson.inc         |  2 ++
 ...s-windows-split-WINDRES-env-variable.patch | 26 +++++++++++++++++++
 ...etect-windows-also-if-the-system-str.patch | 25 ++++++++++++++++++
 3 files changed, 53 insertions(+)
 create mode 100644 meta/recipes-devtools/meson/meson/0001-modules-windows-split-WINDRES-env-variable.patch
 create mode 100644 meta/recipes-devtools/meson/meson/0002-environment.py-detect-windows-also-if-the-system-str.patch

diff --git a/meta/recipes-devtools/meson/meson.inc b/meta/recipes-devtools/meson/meson.inc
index d37afc3b0dc..c39b1a3d5e2 100644
--- a/meta/recipes-devtools/meson/meson.inc
+++ b/meta/recipes-devtools/meson/meson.inc
@@ -12,6 +12,8 @@ SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P
            file://0001-python-module-do-not-manipulate-the-environment-when.patch \
            file://disable-rpath-handling.patch \
            file://cross-libdir.patch \
+           file://0001-modules-windows-split-WINDRES-env-variable.patch \
+           file://0002-environment.py-detect-windows-also-if-the-system-str.patch \
            "
 SRC_URI[sha256sum] = "fb0395c4ac208eab381cd1a20571584bdbba176eb562a7efa9cb17cace0e1551"
 SRC_URI[md5sum] = "3c35b91e8040901034809576d54007c6"
diff --git a/meta/recipes-devtools/meson/meson/0001-modules-windows-split-WINDRES-env-variable.patch b/meta/recipes-devtools/meson/meson/0001-modules-windows-split-WINDRES-env-variable.patch
new file mode 100644
index 00000000000..c334e6dd66b
--- /dev/null
+++ b/meta/recipes-devtools/meson/meson/0001-modules-windows-split-WINDRES-env-variable.patch
@@ -0,0 +1,26 @@
+From 5293d0f5067b2aeefe9ce3c175c972de367589bc Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 13 Feb 2019 17:43:54 +0100
+Subject: [PATCH] modules/windows: split WINDRES env variable
+
+As it may contain not just the binary, but also the arguments to it.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ mesonbuild/modules/windows.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mesonbuild/modules/windows.py b/mesonbuild/modules/windows.py
+index d185d89..dbaeb9b 100644
+--- a/mesonbuild/modules/windows.py
++++ b/mesonbuild/modules/windows.py
+@@ -56,7 +56,7 @@ class WindowsModule(ExtensionModule):
+             if 'WINDRES' in os.environ:
+                 # Pick-up env var WINDRES if set. This is often used for
+                 # specifying an arch-specific windres.
+-                rescomp = ExternalProgram('windres', command=os.environ.get('WINDRES'), silent=True)
++                rescomp = ExternalProgram('windres', command=os.environ.get('WINDRES').split(), silent=True)
+ 
+         if not rescomp or not rescomp.found():
+             # Take windres from the config file after the environment, which is
diff --git a/meta/recipes-devtools/meson/meson/0002-environment.py-detect-windows-also-if-the-system-str.patch b/meta/recipes-devtools/meson/meson/0002-environment.py-detect-windows-also-if-the-system-str.patch
new file mode 100644
index 00000000000..1be5d663291
--- /dev/null
+++ b/meta/recipes-devtools/meson/meson/0002-environment.py-detect-windows-also-if-the-system-str.patch
@@ -0,0 +1,25 @@
+From 7bf4c2c02eb7fe1bf24b23e3ba2d7df36495e0aa Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 13 Feb 2019 17:45:09 +0100
+Subject: [PATCH] environment.py: detect windows also if the system string
+ contains 'mingw'
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ mesonbuild/environment.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
+index b4fc0dc..845077e 100644
+--- a/mesonbuild/environment.py
++++ b/mesonbuild/environment.py
+@@ -1247,7 +1247,7 @@ class MachineInfo:
+         """
+         Machine is windows?
+         """
+-        return self.system == 'windows'
++        return self.system == 'windows' or 'mingw' in self.system
+ 
+     def is_cygwin(self):
+         """
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 3/8] gdk-pixbuf: convert from autotools to meson
  2019-02-18 12:41 [PATCH 1/8] clutter-gtk-1.0: convert to meson Alexander Kanavin
  2019-02-18 12:41 ` [PATCH 2/8] meson: add a couple of patches to help with mingw builds Alexander Kanavin
@ 2019-02-18 12:41 ` Alexander Kanavin
  2019-02-18 12:41 ` [PATCH 4/8] libsoup-2.4: " Alexander Kanavin
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 11+ messages in thread
From: Alexander Kanavin @ 2019-02-18 12:41 UTC (permalink / raw)
  To: openembedded-core

Drop autotools-specific patches.

Rework jku's thumbnailer patch into meson configuration.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...f-decisions-around-cross-compilation.patch |  38 +++++
 ...without-libtiff-not-having-an-effect.patch |  27 ----
 ...nd-thumbnailer-cross-compile-failure.patch |  53 +++----
 ...nd-thumbnailer-cross-compile-failure.patch | 131 ++++++++++++++++++
 .../extending-libinstall-dependencies.patch   |  42 ------
 .../gdk-pixbuf/hardcoded_libtool.patch        |  33 -----
 .../gdk-pixbuf/gdk-pixbuf_2.36.11.bb          |  36 +++--
 7 files changed, 213 insertions(+), 147 deletions(-)
 create mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch
 delete mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-without-libtiff-not-having-an-effect.patch
 create mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0002-Work-around-thumbnailer-cross-compile-failure.patch
 delete mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/extending-libinstall-dependencies.patch
 delete mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/hardcoded_libtool.patch

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 00000000000..90d4830df50
--- /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 48cbdd56036728ffea431ad63cf5e2ad05cef69c 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] Fix a couple of decisions around cross-compilation
+
+1. gobject-introspection can be build when cross compiling
+2. generating loaders.cache requires running a target binary which
+we do elsewhere (in postinsts)
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ gdk-pixbuf/meson.build | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build
+index 77c162b..fc3eb33 100644
+--- a/gdk-pixbuf/meson.build
++++ b/gdk-pixbuf/meson.build
+@@ -230,6 +230,7 @@ foreach bin: gdkpixbuf_bin
+   set_variable(bin_name.underscorify(), bin)
+ endforeach
+ 
++if not meson.is_cross_build()
+ # The 'loaders.cache' used for testing, so we don't accidentally
+ # load the installed cache; we always build it by default
+ loaders_cache = custom_target('loaders.cache',
+@@ -241,8 +242,9 @@ loaders_cache = custom_target('loaders.cache',
+                               ],
+                               build_by_default: true)
+ loaders_dep = declare_dependency(sources: [ loaders_cache ])
++endif
+ 
+-build_gir = get_option('with_gir') and not meson.is_cross_build()
++build_gir = get_option('with_gir')
+ if build_gir
+   gir_args = [
+     '--quiet',
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 2a54d8ed763..00000000000
--- 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 31ed988f32b..110b32a4907 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/0002-Work-around-thumbnailer-cross-compile-failure.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0002-Work-around-thumbnailer-cross-compile-failure.patch
new file mode 100644
index 00000000000..b0cd838a8fd
--- /dev/null
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0002-Work-around-thumbnailer-cross-compile-failure.patch
@@ -0,0 +1,131 @@
+From a184e6bfdd7761ad9807f3de9e873d49aff79e6d Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 14 Feb 2019 17:56:34 +0100
+Subject: [PATCH] (target only) Work-around thumbnailer cross-compile failure
+
+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: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ build-aux/gen-thumbnailer.py |  2 --
+ tests/meson.build            | 49 +-----------------------------------
+ thumbnailer/meson.build      |  5 +---
+ 3 files changed, 2 insertions(+), 54 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 77a427a..467f5b2 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -1,38 +1,6 @@
+ # 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
+-resources_c = custom_target('resources.c',
+-                            input: 'resources.gresource.xml',
+-                            output: 'resources.c',
+-                            command: [
+-                              gen_resources,
+-                              '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
+-                              '--loaders=@0@'.format(loaders_cache.full_path()),
+-                              '--sourcedir=@0@'.format(meson.current_source_dir()),
+-                              '--source',
+-                              '@INPUT@',
+-                              '@OUTPUT@',
+-                            ],
+-                            depends: [
+-                              gdk_pixbuf_pixdata,
+-                              loaders_cache,
+-                            ])
+-resources_h = custom_target('resources.h',
+-                            input: 'resources.gresource.xml',
+-                            output: 'resources.h',
+-                            command: [
+-                              gen_resources,
+-                              '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
+-                              '--loaders=@0@'.format(loaders_cache.full_path()),
+-                              '--sourcedir=@0@'.format(meson.current_source_dir()),
+-                              '--header',
+-                              '@INPUT@',
+-                              '@OUTPUT@',
+-                            ],
+-                            depends: [
+-                              gdk_pixbuf_pixdata,
+-                              loaders_cache,
+-                            ])
+ 
+ installed_tests = [
+   [ 'animation' ],
+@@ -94,7 +62,7 @@ foreach t: installed_tests
+   test_sources = [ test_name + '.c', 'test-common.c' ]
+   needs_resources = t.get(1, false)
+   if needs_resources
+-    test_sources += [ resources_c, resources_h ]
++    test_sources += [ 'resources.c', 'resources.h' ]
+   endif
+ 
+   custom_target(test_name + '.test',
+@@ -116,21 +84,6 @@ foreach t: installed_tests
+                         ],
+                         c_args: common_cflags)
+ 
+-  # Two particularly slow tests
+-  if test_name == 'pixbuf-area-updated' or test_name == 'pixbuf-randomly-modified'
+-    timeout = 300
+-  else
+-    timeout = 30
+-  endif
+-
+-  test(test_name, test_bin,
+-       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/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/extending-libinstall-dependencies.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/extending-libinstall-dependencies.patch
deleted file mode 100644
index edbdced43a4..00000000000
--- 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/hardcoded_libtool.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/hardcoded_libtool.patch
deleted file mode 100644
index ecca62a7129..00000000000
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/hardcoded_libtool.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-Index: gdk-pixbuf-2.22.1/configure.ac
-===================================================================
---- gdk-pixbuf-2.22.1.orig/configure.ac	2010-11-26 09:06:34.000000000 +0800
-+++ gdk-pixbuf-2.22.1/configure.ac	2010-11-26 09:07:33.000000000 +0800
-@@ -287,7 +287,7 @@
- case $enable_explicit_deps in
-   auto)
-     export SED
--    deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
-+    deplibs_check_method=`(./$host_alias-libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
-     if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
-       enable_explicit_deps=yes
-     else
-@@ -484,7 +484,7 @@
-     dnl Now we check to see if our libtool supports shared lib deps
-     dnl (in a rather ugly way even)
-     if $dynworks; then
--        pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
-+        pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./$host_alias-libtool --config"
-         pixbuf_deplibs_check=`$pixbuf_libtool_config | \
-             grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
-             sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
-@@ -957,7 +957,7 @@
- # We are using gmodule-no-export now, but I'm leaving the stripping
- # code in place for now, since pango and atk still require gmodule.
- export SED
--export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
-+export_dynamic=`(./$host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
- if test -n "$export_dynamic"; then
-   GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
- fi
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.11.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.11.bb
index a7d3884d1fb..2825b86962a 100644
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.11.bb
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.11.bb
@@ -13,18 +13,36 @@ 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 \
+           file://0001-Fix-a-couple-of-decisions-around-cross-compilation.patch \
            "
 
+SRC_URI_append_class-target = " \
+           file://0002-Work-around-thumbnailer-cross-compile-failure.patch \
+           "
+SRC_URI_append_class-nativesdk = " \
+           file://0002-Work-around-thumbnailer-cross-compile-failure.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
+inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc lib_package
+
+GTKDOC_ENABLE_FLAG = "-Dwith_docs=true"
+GTKDOC_DISABLE_FLAG = "-Dwith_docs=false"
+
+GI_ENABLE_FLAG = "-Dwith_gir=true"
+GI_DISABLE_FLAG = "-Dwith_gir=false"
+
+EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}"
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
+                                                                                       '${GI_DISABLE_FLAG}', d)} "
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
+                                                                                     '${GTKDOC_DISABLE_FLAG}', d)} "
 
 LIBV = "2.10.0"
 
@@ -34,12 +52,12 @@ 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[png] = "-Denable_png=true,-Denable_png=false,libpng"
+PACKAGECONFIG[jpeg] = "-Denable_jpeg=true,-Denable_jpeg=false,jpeg"
+PACKAGECONFIG[tiff] = "-Denable_tiff=true,-Denable_tiff=false,tiff"
+PACKAGECONFIG[jpeg2000] = "-Denable_jasper=true,-Denable_jasper=false,jasper"
 
-PACKAGECONFIG[x11] = "--with-x11,--without-x11,virtual/libx11"
+PACKAGECONFIG[x11] = ",,virtual/libx11"
 
 PACKAGES =+ "${PN}-xlib"
 
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 4/8] libsoup-2.4: convert from autotools to meson
  2019-02-18 12:41 [PATCH 1/8] clutter-gtk-1.0: convert to meson Alexander Kanavin
  2019-02-18 12:41 ` [PATCH 2/8] meson: add a couple of patches to help with mingw builds Alexander Kanavin
  2019-02-18 12:41 ` [PATCH 3/8] gdk-pixbuf: convert from autotools to meson Alexander Kanavin
@ 2019-02-18 12:41 ` Alexander Kanavin
  2019-02-18 12:41 ` [PATCH 5/8] libxkbcommon: update to 0.8.3 Alexander Kanavin
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 11+ messages in thread
From: Alexander Kanavin @ 2019-02-18 12:41 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...no-introspection-when-cross-building.patch | 24 +++++++++++++++++
 .../libsoup/libsoup-2.4_2.64.2.bb             | 27 +++++++++++++++----
 2 files changed, 46 insertions(+), 5 deletions(-)
 create mode 100644 meta/recipes-support/libsoup/libsoup-2.4/0001-Do-not-enforce-no-introspection-when-cross-building.patch

diff --git a/meta/recipes-support/libsoup/libsoup-2.4/0001-Do-not-enforce-no-introspection-when-cross-building.patch b/meta/recipes-support/libsoup/libsoup-2.4/0001-Do-not-enforce-no-introspection-when-cross-building.patch
new file mode 100644
index 00000000000..72b029a80b6
--- /dev/null
+++ b/meta/recipes-support/libsoup/libsoup-2.4/0001-Do-not-enforce-no-introspection-when-cross-building.patch
@@ -0,0 +1,24 @@
+From 921888affe66953c92a08ae440e911b016b124be Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 15 Feb 2019 14:21:06 +0100
+Subject: [PATCH] Do not enforce no-introspection when cross-building
+
+Upstream-Status: Pending
+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 5a92cda..cfb3520 100644
+--- a/meson.build
++++ b/meson.build
+@@ -262,7 +262,7 @@ enable_gnome = get_option('gnome') and host_machine.system() != 'windows'
+ #########################
+ # GObject introspection #
+ #########################
+-enable_introspection = get_option('introspection') and find_program('g-ir-scanner', required: false).found() and not meson.is_cross_build()
++enable_introspection = get_option('introspection') and find_program('g-ir-scanner', required: false).found()
+ 
+ ############
+ # Vala API #
diff --git a/meta/recipes-support/libsoup/libsoup-2.4_2.64.2.bb b/meta/recipes-support/libsoup/libsoup-2.4_2.64.2.bb
index 9f852d5c054..ae7c1a68636 100644
--- a/meta/recipes-support/libsoup/libsoup-2.4_2.64.2.bb
+++ b/meta/recipes-support/libsoup/libsoup-2.4_2.64.2.bb
@@ -9,20 +9,37 @@ DEPENDS = "glib-2.0 glib-2.0-native libxml2 sqlite3 intltool-native libpsl"
 
 SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
 
-SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz"
+SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz \
+           file://0001-Do-not-enforce-no-introspection-when-cross-building.patch \
+           "
 SRC_URI[md5sum] = "cac755dc6c6acd6e0c70007f547548f5"
 SRC_URI[sha256sum] = "75ddc194a5b1d6f25033bb9d355f04bfe5c03e0e1c71ed0774104457b3a786c6"
 
 S = "${WORKDIR}/libsoup-${PV}"
 
-inherit autotools gettext pkgconfig upstream-version-is-even gobject-introspection gtk-doc
+inherit meson gettext pkgconfig upstream-version-is-even gobject-introspection gtk-doc
 
 # libsoup-gnome is entirely deprecated and just stubs in 2.42 onwards. Disable by default.
 PACKAGECONFIG ??= ""
-PACKAGECONFIG[gnome] = "--with-gnome,--without-gnome"
-PACKAGECONFIG[gssapi] = "--with-gssapi,--without-gssapi,krb5"
+PACKAGECONFIG[gnome] = "-Dgnome=true,-Dgnome=false"
+PACKAGECONFIG[gssapi] = "-Dgssapi=true,-Dgssapi=false,krb5"
+
+EXTRA_OEMESON_append = " -Dvapi=false"
+
+GTKDOC_ENABLE_FLAG = "-Ddoc=true"
+GTKDOC_DISABLE_FLAG = "-Ddoc=false"
+
+GI_ENABLE_FLAG = "-Dintrospection=true"
+GI_DISABLE_FLAG = "-Dintrospection=false"
+
+EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}"
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
+                                                                                       '${GI_DISABLE_FLAG}', d)} "
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
+                                                                                     '${GTKDOC_DISABLE_FLAG}', d)} "
 
-EXTRA_OECONF = "--disable-vala"
 
 # When built without gnome support, libsoup-2.4 will contain only one shared lib
 # and will therefore become subject to renaming by debian.bbclass. Prevent
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 5/8] libxkbcommon: update to 0.8.3
  2019-02-18 12:41 [PATCH 1/8] clutter-gtk-1.0: convert to meson Alexander Kanavin
                   ` (2 preceding siblings ...)
  2019-02-18 12:41 ` [PATCH 4/8] libsoup-2.4: " Alexander Kanavin
@ 2019-02-18 12:41 ` Alexander Kanavin
  2019-02-18 12:41 ` [PATCH 6/8] pango: convert from autotools to meson Alexander Kanavin
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 11+ messages in thread
From: Alexander Kanavin @ 2019-02-18 12:41 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 .../xorg-lib/{libxkbcommon_0.8.2.bb => libxkbcommon_0.8.3.bb} | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta/recipes-graphics/xorg-lib/{libxkbcommon_0.8.2.bb => libxkbcommon_0.8.3.bb} (83%)

diff --git a/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.2.bb b/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.3.bb
similarity index 83%
rename from meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.2.bb
rename to meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.3.bb
index 8cf508b0bff..ff0f0690b67 100644
--- a/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.2.bb
+++ b/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.3.bb
@@ -9,8 +9,8 @@ DEPENDS = "util-macros flex-native bison-native"
 
 SRC_URI = "http://xkbcommon.org/download/${BPN}-${PV}.tar.xz"
 
-SRC_URI[md5sum] = "5f7f8533f907ebcfb1cf8dceb9501264"
-SRC_URI[sha256sum] = "7ab8c4b3403d89d01898066b72cb6069bddeb5af94905a65368f671a026ed58c"
+SRC_URI[md5sum] = "8225a206e00c4146d2e06f5e688b28e7"
+SRC_URI[sha256sum] = "b855c629849a97ab9835a4ad99d6b749a636f70d38a03f070c6ef72024825540"
 
 UPSTREAM_CHECK_URI = "http://xkbcommon.org/"
 
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 6/8] pango: convert from autotools to meson
  2019-02-18 12:41 [PATCH 1/8] clutter-gtk-1.0: convert to meson Alexander Kanavin
                   ` (3 preceding siblings ...)
  2019-02-18 12:41 ` [PATCH 5/8] libxkbcommon: update to 0.8.3 Alexander Kanavin
@ 2019-02-18 12:41 ` Alexander Kanavin
  2019-02-18 12:41 ` [PATCH 7/8] glib-2.0: " Alexander Kanavin
  2019-02-18 12:41 ` [PATCH 8/8] llvm: switch to the official git repository Alexander Kanavin
  6 siblings, 0 replies; 11+ messages in thread
From: Alexander Kanavin @ 2019-02-18 12:41 UTC (permalink / raw)
  To: openembedded-core

libxft is a hard dependency now, accordingly drop the patch that
was made for it being optional.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...on-of-docs-pango.types-it-is-build-c.patch | 147 ------------------
 meta/recipes-graphics/pango/pango_1.42.4.bb   |  27 ++--
 2 files changed, 16 insertions(+), 158 deletions(-)
 delete mode 100644 meta/recipes-graphics/pango/pango/0001-Enforce-recreation-of-docs-pango.types-it-is-build-c.patch

diff --git a/meta/recipes-graphics/pango/pango/0001-Enforce-recreation-of-docs-pango.types-it-is-build-c.patch b/meta/recipes-graphics/pango/pango/0001-Enforce-recreation-of-docs-pango.types-it-is-build-c.patch
deleted file mode 100644
index 6784a105a55..00000000000
--- a/meta/recipes-graphics/pango/pango/0001-Enforce-recreation-of-docs-pango.types-it-is-build-c.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From 526a6a9fc9a1cfe75c521c8bb39b61754fe42fe8 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 2 Sep 2016 14:00:24 +0300
-Subject: [PATCH] Enforce recreation of docs/pango.types; it is build
- configuration-specific.
-
-In particular, it needs to exclude references to PangoXft if Xft is not available.
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- docs/Makefile.am | 17 ++++--------
- docs/pango.types | 80 --------------------------------------------------------
- 2 files changed, 5 insertions(+), 92 deletions(-)
- delete mode 100644 docs/pango.types
-
-diff --git a/docs/Makefile.am b/docs/Makefile.am
-index f5f1317..8947a99 100644
---- a/docs/Makefile.am
-+++ b/docs/Makefile.am
-@@ -49,6 +49,10 @@ IGNORE_HFILES=			\
- 	pangocoretext-private.h		\
- 	pangoatsui-private.h
- 
-+if !HAVE_XFT
-+IGNORE_HFILES += pangoxft pangoxft-render.h
-+endif
-+
- # CFLAGS and LDFLAGS for compiling scan program. Only needed
- # if $(DOC_MODULE).types is non-empty.
- INCLUDES =               	\
-@@ -103,16 +107,6 @@ include $(top_srcdir)/gtk-doc.make
- # This line really belongs in gtk-doc.mk
- $(REPORT_FILES): sgml-build.stamp
- 
--pango.types:
--	@echo "Rebuilding $@"
--	@LANG=C; LIST=$$(grep 'pango_[_a-zA-Z0-9]*_get_type' $(HFILE_GLOB) | grep -v '\(private\|atsui\|core_text\|win32\)' | sed 's/\([^:]*:\).*\(pango[_a-zA-Z0-9]*_get_type\).*/\1\2/') && \
--	echo "$$LIST" | sed 's/.*\/\(pango\/.*\):.*/#include <\1>/' | sort -u > $@.tmp && \
--	echo >> $@.tmp && \
--	echo "$$LIST" | cut -d : -f 2 | sort -u >> $@.tmp && \
--	mv $@.tmp $@
--
--BUILT_SOURCES = pango.types
--
- ########################################################################
- 
- MAINTAINERCLEANFILES = $(BUILT_SOURCES)
-@@ -120,8 +114,7 @@ EXTRA_DIST +=				\
- 	layout.fig			\
- 	layout.eps			\
- 	version.xml.in			\
--	check.docs			\
--	pango.types
-+	check.docs
- 
- # force doc rebulid after configure
- dist-hook-local: dist-local-check-no-cross-references all-local
-diff --git a/docs/pango.types b/docs/pango.types
-deleted file mode 100644
-index 7d93cda..0000000
---- a/docs/pango.types
-+++ /dev/null
-@@ -1,80 +0,0 @@
--#include <pango/pango-attributes.h>
--#include <pango/pango-context.h>
--#include <pango/pango-engine.h>
--#include <pango/pango-enum-types.h>
--#include <pango/pango-font.h>
--#include <pango/pango-fontmap.h>
--#include <pango/pango-fontset.h>
--#include <pango/pango-glyph-item.h>
--#include <pango/pango-glyph.h>
--#include <pango/pango-item.h>
--#include <pango/pango-language.h>
--#include <pango/pango-layout.h>
--#include <pango/pango-matrix.h>
--#include <pango/pango-ot.h>
--#include <pango/pango-renderer.h>
--#include <pango/pango-tabs.h>
--#include <pango/pangocairo-fc.h>
--#include <pango/pangocairo.h>
--#include <pango/pangofc-decoder.h>
--#include <pango/pangofc-font.h>
--#include <pango/pangofc-fontmap.h>
--#include <pango/pangoft2.h>
--#include <pango/pangoxft-render.h>
--#include <pango/pangoxft.h>
--
--pango_alignment_get_type
--pango_attr_list_get_type
--pango_attr_type_get_type
--pango_bidi_type_get_type
--pango_cairo_fc_font_map_get_type
--pango_cairo_font_get_type
--pango_cairo_font_map_get_type
--pango_color_get_type
--pango_context_get_type
--pango_coverage_level_get_type
--pango_direction_get_type
--pango_ellipsize_mode_get_type
--pango_engine_get_type
--pango_engine_lang_get_type
--pango_engine_shape_get_type
--pango_fc_decoder_get_type
--pango_fc_font_get_type
--pango_fc_font_map_get_type
--pango_font_description_get_type
--pango_font_face_get_type
--pango_font_family_get_type
--pango_font_get_type
--pango_font_map_get_type
--pango_font_mask_get_type
--pango_font_metrics_get_type
--pango_fontset_get_type
--pango_fontset_simple_get_type
--pango_ft2_font_map_get_type
--pango_glyph_item_get_type
--pango_glyph_item_iter_get_type
--pango_glyph_string_get_type
--pango_gravity_get_type
--pango_gravity_hint_get_type
--pango_item_get_type
--pango_language_get_type
--pango_layout_get_type
--pango_layout_iter_get_type
--pango_layout_line_get_type
--pango_matrix_get_type
--pango_ot_info_get_type
--pango_ot_ruleset_get_type
--pango_render_part_get_type
--pango_renderer_get_type
--pango_script_get_type
--pango_stretch_get_type
--pango_style_get_type
--pango_tab_align_get_type
--pango_tab_array_get_type
--pango_underline_get_type
--pango_variant_get_type
--pango_weight_get_type
--pango_wrap_mode_get_type
--pango_xft_font_get_type
--pango_xft_font_map_get_type
--pango_xft_renderer_get_type
--- 
-2.9.3
-
diff --git a/meta/recipes-graphics/pango/pango_1.42.4.bb b/meta/recipes-graphics/pango/pango_1.42.4.bb
index a09f7a8e701..6116b733a1c 100644
--- a/meta/recipes-graphics/pango/pango_1.42.4.bb
+++ b/meta/recipes-graphics/pango/pango_1.42.4.bb
@@ -11,29 +11,34 @@ LICENSE = "LGPLv2.0+"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
 
+GNOMEBASEBUILDCLASS = "meson"
+
 inherit gnomebase gtk-doc ptest-gnome upstream-version-is-even gobject-introspection
 
 SRC_URI += "file://run-ptest \
-            file://0001-Enforce-recreation-of-docs-pango.types-it-is-build-c.patch \
 "
 SRC_URI[archive.md5sum] = "deb171a31a3ad76342d5195a1b5bbc7c"
 SRC_URI[archive.sha256sum] = "1d2b74cd63e8bd41961f2f8d952355aa0f9be6002b52c8aa7699d9f5da597c9d"
 
-DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi"
+DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi libxft"
+
+GTKDOC_ENABLE_FLAG = "-Denable_docs=true"
+GTKDOC_DISABLE_FLAG = "-Denable_docs=false"
+
+GI_ENABLE_FLAG = "-Dgir=true"
+GI_DISABLE_FLAG = "-Dgir=false"
 
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
-PACKAGECONFIG[x11] = "--with-xft,--without-xft,virtual/libx11 libxft"
+EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}"
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
+                                                                                       '${GI_DISABLE_FLAG}', d)} "
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
+                                                                                     '${GTKDOC_DISABLE_FLAG}', d)} "
 
 LEAD_SONAME = "libpango-1.0*"
 LIBV = "1.8.0"
 
-# This binary needs to be compiled for the host architecture.  This isn't pretty!
-do_compile_prepend_class-target () {
-	if ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then
-		make CC="${BUILD_CC}" CFLAGS="" LDFLAGS="${BUILD_LDFLAGS}" AM_CPPFLAGS="$(pkg-config-native --cflags glib-2.0)" gen_all_unicode_LDADD="$(pkg-config-native --libs glib-2.0)" -C ${B}/tests gen-all-unicode
-	fi
-}
-
 FILES_${PN} = "${bindir}/* ${libdir}/libpango*${SOLIBS}"
 FILES_${PN}-dev += "${libdir}/pango/${LIBV}/modules/*.la"
 
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 7/8] glib-2.0: convert from autotools to meson
  2019-02-18 12:41 [PATCH 1/8] clutter-gtk-1.0: convert to meson Alexander Kanavin
                   ` (4 preceding siblings ...)
  2019-02-18 12:41 ` [PATCH 6/8] pango: convert from autotools to meson Alexander Kanavin
@ 2019-02-18 12:41 ` Alexander Kanavin
  2019-02-19  6:57   ` Khem Raj
  2019-02-18 12:41 ` [PATCH 8/8] llvm: switch to the official git repository Alexander Kanavin
  6 siblings, 1 reply; 11+ messages in thread
From: Alexander Kanavin @ 2019-02-18 12:41 UTC (permalink / raw)
  To: openembedded-core

PRINTF settings no longer seem necessary (tested with mingw).

Add meson-specific bits to Enable-more-tests-while-cross-compiling.patch and
0001-Install-gio-querymodules-as-libexec_PROGRAM.patch

Add 0001-Set-host_machine-correctly-when-building-with-mingw3.patch
to allow 'mingw32' as target machine in addition to 'windows'.

Drop configure-libtool.patch and uclibc_musl_translation.patch
(both autotools-specific).

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...t-write-bindir-into-pkg-config-files.patch | 50 ++++++++++
 ...-gio-querymodules-as-libexec_PROGRAM.patch | 17 +++-
 ...-correctly-when-building-with-mingw3.patch | 81 +++++++++++++++++
 ...ble-more-tests-while-cross-compiling.patch | 91 ++++++++++++++++++-
 .../glib-2.0/glib-2.0/configure-libtool.patch | 44 ---------
 .../glib-2.0/glib-2.0/relocate-modules.patch  |  2 +-
 .../glib-2.0/uclibc_musl_translation.patch    | 22 -----
 meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb |  4 +-
 meta/recipes-core/glib-2.0/glib.inc           | 33 ++++---
 9 files changed, 256 insertions(+), 88 deletions(-)
 create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch
 create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
 delete mode 100644 meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch
 delete mode 100644 meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch

diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch
new file mode 100644
index 00000000000..ede29c90bab
--- /dev/null
+++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch
@@ -0,0 +1,50 @@
+From 474e59abec88de0c455836c1f53152bf2aa26c34 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 15 Feb 2019 11:17:27 +0100
+Subject: [PATCH] Do not write $bindir into pkg-config files
+
+This would otherwise break when using the files to build other target
+components (we need to rely on PATH containing the paths to utilities,
+rather than use target paths).
+
+Upstream-Status: Inappropriate [upstream wants the paths in .pc files]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ gio/meson.build  | 6 +++---
+ glib/meson.build | 6 +++---
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/gio/meson.build b/gio/meson.build
+index 85d8b14..657720a 100644
+--- a/gio/meson.build
++++ b/gio/meson.build
+@@ -813,9 +813,9 @@ pkg.generate(libraries : libgio,
+                'schemasdir=' + join_paths('${datadir}', schemas_subdir),
+                'bindir=' + join_paths('${prefix}', get_option('bindir')),
+                'giomoduledir=' + giomodulesdir,
+-               'glib_compile_schemas=' + join_paths('${bindir}', 'glib-compile-schemas'),
+-               'glib_compile_resources=' + join_paths('${bindir}', 'glib-compile-resources'),
+-               'gdbus_codegen=' + join_paths('${bindir}', 'gdbus-codegen')],
++               'glib_compile_schemas=glib-compile-schemas',
++               'glib_compile_resources=glib-compile-resources',
++               'gdbus_codegen=gdbus-codegen'],
+   version : glib_version,
+   install_dir : glib_pkgconfigreldir,
+   filebase : 'gio-2.0',
+diff --git a/glib/meson.build b/glib/meson.build
+index c05c694..434e8b1 100644
+--- a/glib/meson.build
++++ b/glib/meson.build
+@@ -261,9 +261,9 @@ pkg.generate(libraries : [libglib, libintl],
+   subdirs : ['glib-2.0'],
+   extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags,
+   variables : ['bindir=' + join_paths('${prefix}', get_option('bindir')),
+-               'glib_genmarshal=' + join_paths('${bindir}', 'glib-genmarshal'),
+-               'gobject_query=' + join_paths('${bindir}', 'gobject-query'),
+-               'glib_mkenums=' + join_paths('${bindir}', 'glib-mkenums')],
++               'glib_genmarshal=glib-genmarshal',
++               'gobject_query=gobject-query',
++               'glib_mkenums=glib-mkenums'],
+   version : glib_version,
+   install_dir : glib_pkgconfigreldir,
+   filebase : 'glib-2.0',
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
index 97d0aff5d6c..f246254942e 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
+++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
@@ -1,4 +1,4 @@
-From 856045927b9ab391165c0ebabf401835f8439eab Mon Sep 17 00:00:00 2001
+From 17fc9230fb932432d8faaaabf8c56fdc4845495e Mon Sep 17 00:00:00 2001
 From: Jussi Kukkonen <jussi.kukkonen@intel.com>
 Date: Tue, 22 Mar 2016 15:14:58 +0200
 Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM
@@ -11,7 +11,8 @@ Upstream-Status: Inappropriate [OE specific]
 
 ---
  gio/Makefile.am | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
+ gio/meson.build | 1 +
+ 2 files changed, 3 insertions(+), 1 deletion(-)
 
 diff --git a/gio/Makefile.am b/gio/Makefile.am
 index e14cad2..bf2bcc7 100644
@@ -27,3 +28,15 @@ index e14cad2..bf2bcc7 100644
  
  glib_compile_resources_LDADD = libgio-2.0.la 		\
  	$(top_builddir)/gobject/libgobject-2.0.la	\
+diff --git a/gio/meson.build b/gio/meson.build
+index b83d8f5..85d8b14 100644
+--- a/gio/meson.build
++++ b/gio/meson.build
+@@ -925,6 +925,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu
+   c_args : gio_c_args,
+   # intl.lib is not compatible with SAFESEH
+   link_args : noseh_link_args,
++  install_dir: glib_libexecdir,
+   dependencies : [libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep])
+ 
+ glib_compile_schemas = executable('glib-compile-schemas',
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
new file mode 100644
index 00000000000..17fe133fea9
--- /dev/null
+++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
@@ -0,0 +1,81 @@
+From 133e2d15917c29268f9ca204424d12ad04a1ed99 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 13 Feb 2019 15:32:05 +0100
+Subject: [PATCH] Set host_machine correctly when building with mingw32
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ gio/tests/meson.build  | 6 +++---
+ glib/tests/meson.build | 4 ++--
+ meson.build            | 3 +++
+ 3 files changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/gio/tests/meson.build b/gio/tests/meson.build
+index 181f5c7..88a6c55 100644
+--- a/gio/tests/meson.build
++++ b/gio/tests/meson.build
+@@ -122,7 +122,7 @@ if dbus1_dep.found()
+ endif
+ 
+ #  Test programs buildable on UNIX only
+-if host_machine.system() != 'windows'
++if host_system != 'windows'
+   gio_tests += [{
+     'file' : {},
+     'gdbus-peer' : {
+@@ -314,7 +314,7 @@ if host_machine.system() != 'windows'
+ endif # unix
+ 
+ #  Test programs buildable on Windows only
+-if host_machine.system() == 'windows'
++if host_system == 'windows'
+   gio_tests += [{'win32-streams' : {}}]
+ endif
+ 
+@@ -379,7 +379,7 @@ if cc.get_id() != 'msvc'
+   }]
+ endif
+ 
+-if host_machine.system() != 'windows'
++if host_system != 'windows'
+   test_extra_programs += [{
+     'gdbus-example-unix-fd-client' : {
+       'install' : false,
+diff --git a/glib/tests/meson.build b/glib/tests/meson.build
+index d7b6a7a..6678a08 100644
+--- a/glib/tests/meson.build
++++ b/glib/tests/meson.build
+@@ -45,7 +45,7 @@ glib_tests = {
+   'hook' : {},
+   'hostutils' : {},
+   'include' : {
+-    'skip' : host_machine.system() == 'windows',
++    'skip' : host_system == 'windows',
+   },
+   'keyfile' : {},
+   'list' : {},
+@@ -112,7 +112,7 @@ glib_tests = {
+   'utils' : {},
+   'unicode' : {},
+   'unix' : {
+-    'skip' : host_machine.system() == 'windows',
++    'skip' : host_system == 'windows',
+   },
+   'uri' : {},
+   '1bit-mutex' : {},
+diff --git a/meson.build b/meson.build
+index f7405a2..4348f20 100644
+--- a/meson.build
++++ b/meson.build
+@@ -31,6 +31,9 @@ else
+ endif
+ 
+ host_system = host_machine.system()
++if host_system == 'mingw32'
++  host_system = 'windows'
++endif
+ 
+ glib_version = meson.project_version()
+ glib_api_version = '2.0'
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch b/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
index 50608809264..5ccd3203fb2 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
+++ b/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
@@ -1,4 +1,4 @@
-From 70e462e070f8eb20b7660c1cf88271c0449e43cc Mon Sep 17 00:00:00 2001
+From 1481c6d5f08f9dbbe10abc87b372a1f61db36476 Mon Sep 17 00:00:00 2001
 From: Jussi Kukkonen <jussi.kukkonen@intel.com>
 Date: Mon, 9 Nov 2015 11:07:27 +0200
 Subject: [PATCH] Enable more tests while cross-compiling
@@ -10,8 +10,10 @@ case we can depend on glib-2.0-native.
 Upstream-Status: Inappropriate [OE specific]
 Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
 ---
- gio/tests/Makefile.am | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
+ gio/tests/Makefile.am     | 10 ++++++----
+ gio/tests/meson.build     | 15 ++++++++-------
+ tests/gobject/Makefile.am |  6 ++++++
+ 3 files changed, 20 insertions(+), 11 deletions(-)
 
 diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am
 index c4e7a92..633e85c 100644
@@ -50,3 +52,86 @@ index c4e7a92..633e85c 100644
  
  BUILT_SOURCES += giotypefuncs.inc
  
+diff --git a/gio/tests/meson.build b/gio/tests/meson.build
+index dca33bd..181f5c7 100644
+--- a/gio/tests/meson.build
++++ b/gio/tests/meson.build
+@@ -173,7 +173,7 @@ if host_machine.system() != 'windows'
+ 
+   #  Test programs that need to bring up a session bus (requires dbus-daemon)
+   have_dbus_daemon = find_program('dbus-daemon', required : false).found()
+-  if have_dbus_daemon
++  if true
+     annotate_args = [
+       '--annotate', 'org.project.Bar', 'Key1', 'Value1',
+       '--annotate', 'org.project.Bar', 'org.gtk.GDBus.Internal', 'Value2',
+@@ -406,12 +406,13 @@ if installed_tests_enabled
+   install_subdir('cert-tests', install_dir : installed_tests_execdir)
+ endif
+ 
+-if not meson.is_cross_build() or meson.has_exe_wrapper()
++#if not meson.is_cross_build() or meson.has_exe_wrapper()
++if meson.is_cross_build()
+ 
+   plugin_resources_c = custom_target('plugin-resources.c',
+     input : 'test4.gresource.xml',
+     output : 'plugin-resources.c',
+-    command : [glib_compile_resources,
++    command : ['glib-compile-resources',
+                '--target=@OUTPUT@',
+                '--sourcedir=' + meson.current_source_dir(),
+                '--generate-source',
+@@ -428,7 +429,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+   test_gresource = custom_target('test.gresource',
+     input : 'test.gresource.xml',
+     output : 'test.gresource',
+-    command : [glib_compile_resources,
++    command : ['glib-compile-resources',
+                '--target=@OUTPUT@',
+                '--sourcedir=' + meson.current_source_dir(),
+                '--sourcedir=' + meson.current_build_dir(),
+@@ -439,7 +440,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+   test_resources2_c = custom_target('test_resources2.c',
+     input : 'test3.gresource.xml',
+     output : 'test_resources2.c',
+-    command : [glib_compile_resources,
++    command : ['glib-compile-resources',
+                '--target=@OUTPUT@',
+                '--sourcedir=' + meson.current_source_dir(),
+                '--generate',
+@@ -450,7 +451,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+   test_resources2_h = custom_target('test_resources2.h',
+     input : 'test3.gresource.xml',
+     output : 'test_resources2.h',
+-    command : [glib_compile_resources,
++    command : ['glib-compile-resources',
+                '--target=@OUTPUT@',
+                '--sourcedir=' + meson.current_source_dir(),
+                '--generate',
+@@ -461,7 +462,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+   test_resources_c = custom_target('test_resources.c',
+     input : 'test2.gresource.xml',
+     output : 'test_resources.c',
+-    command : [glib_compile_resources,
++    command : ['glib-compile-resources',
+                '--target=@OUTPUT@',
+                '--sourcedir=' + meson.current_source_dir(),
+                '--generate-source',
+diff --git a/tests/gobject/Makefile.am b/tests/gobject/Makefile.am
+index 1bcefbe..77e646a 100644
+--- a/tests/gobject/Makefile.am
++++ b/tests/gobject/Makefile.am
+@@ -51,7 +51,13 @@ if ENABLE_TIMELOOP
+ installed_test_programs += timeloop-closure
+ endif
+ 
++# The marshal test requires running a binary, which means we require
++# glib-native when cross-compiling
++if !CROSS_COMPILING
+ glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal
++else
++glib_genmarshal=$(shell which glib-genmarshal)
++endif
+ 
+ testmarshal.h: stamp-testmarshal.h
+ 	@true
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch b/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch
deleted file mode 100644
index 59b891347da..00000000000
--- a/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 1dd1e6ddca5deada049bac2e1ee1fe4ecc5342c5 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sat, 28 Apr 2012 18:24:50 +0200
-Subject: [PATCH 01/10] configure: use $host_alias-libtool instead of libtool
- directly
-
-Poky renames libtool to $host_alias-libtool.
-./$host_alias-libtool isn't created until after configure runs with
-libtool >= 2.2.2
-so we can't call # it at this point. We can safely assume a version is
-available
-from PATH though
-
-Rebased to glib-2.27.3 by Dongxiao Xu <dongxiao.xu@intel.com>
-Rebased to glib-2.32.1 by Martin Jansa <Martin.Jansa@gmail.com>
-Rebased to glib-2.31.20+ by Andre McCurdy <armccurdy@gmail.com>
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
----
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 6fa6eb0..b6f78a6 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1428,9 +1428,9 @@ AS_IF([ test "$G_MODULE_IMPL" = "G_MODULE_IMPL_DL" ], [
- 	LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
- dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness
- 	echo "void glib_plugin_test(void) { }" > plugin.c
--	${SHELL} ./libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \
-+	${SHELL} ./$host_alias-libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \
- 		${CPPFLAGS} -c -o plugin.lo plugin.c >/dev/null 2>&1
--	${SHELL} ./libtool --mode=link --tag=CC ${CC} ${CFLAGS} \
-+	${SHELL} ./$host_alias-libtool --mode=link --tag=CC ${CC} ${CFLAGS} \
- 		${LDFLAGS} -module -o plugin.la -export-dynamic \
- 		-shrext ".o" -avoid-version plugin.lo \
- 		-rpath /dont/care >/dev/null 2>&1
--- 
-2.14.1
-
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
index 9ec011a0950..d62429b9729 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
+++ b/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
@@ -1,4 +1,4 @@
-From 43967e85b7a87f9c2e780504ef30f4c9bf56f8f5 Mon Sep 17 00:00:00 2001
+From ca9ab8975e46217fdb391610a07b8b16986b5a19 Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@intel.com>
 Date: Fri, 11 Mar 2016 15:35:55 +0000
 Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch b/meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch
deleted file mode 100644
index 7aa6217d693..00000000000
--- a/meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Fix DATADIRNAME on uclibc/Linux
-
-translation files are always installed under PREFIX/share/locale in uclibc
-based systems therefore lets set DATADIRNAME to "share".
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-Index: glib-2.46.1/m4macros/glib-gettext.m4
-===================================================================
---- glib-2.46.1.orig/m4macros/glib-gettext.m4
-+++ glib-2.46.1/m4macros/glib-gettext.m4
-@@ -243,6 +243,10 @@ msgstr ""
- 	    CATOBJEXT=.mo
-             DATADIRNAME=share
- 	    ;;
-+	    *-*-musl* | *-*-linux-uclibc*)
-+	    CATOBJEXT=.gmo
-+            DATADIRNAME=share
-+	    ;;
- 	    *)
- 	    CATOBJEXT=.mo
-             DATADIRNAME=lib
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb
index 8aad570fa9d..9bc18dac7ee 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb
+++ b/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb
@@ -5,15 +5,15 @@ PE = "1"
 SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
 
 SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
-           file://configure-libtool.patch \
            file://run-ptest \
-           file://uclibc_musl_translation.patch \
            file://Enable-more-tests-while-cross-compiling.patch \
            file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \
            file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \
            file://0001-Do-not-ignore-return-value-of-write.patch \
            file://0010-Do-not-hardcode-python-path-into-various-tools.patch \
            file://0001-Revert-Use-absolute-paths-in-pkg-config-files.patch \
+           file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \
+           file://0001-Do-not-write-bindir-into-pkg-config-files.patch \
            "
 
 SRC_URI_append_class-native = " file://relocate-modules.patch"
diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc
index a186c1d9eb6..b57fb698684 100644
--- a/meta/recipes-core/glib-2.0/glib.inc
+++ b/meta/recipes-core/glib-2.0/glib.inc
@@ -29,7 +29,11 @@ PACKAGES += "${PN}-codegen ${PN}-utils"
 
 LEAD_SONAME = "libglib-2.0.*"
 
-inherit autotools gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages distro_features_check
+inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages distro_features_check
+
+# This avoids the need to depend on target python3, which in case of mingw is not even possible.
+# meson's python configuration pokes into python3 configuration, so this provides the native config to it.
+unset _PYTHON_SYSCONFIGDATA_NAME
 
 REQUIRED_DISTRO_FEATURES_libc-glibc = "${@'libc-charsets libc-locale-code libc-locales' if bb.utils.contains('DISTRO_FEATURES', 'ptest', True, False, d) else ''}"
 
@@ -37,21 +41,17 @@ S = "${WORKDIR}/glib-${PV}"
 
 PACKAGECONFIG ??= "system-pcre libmount"
 # To use the system pcre it must be configured with --enable-unicode-properties
-PACKAGECONFIG[system-pcre] = "--with-pcre=system,--with-pcre=internal,libpcre"
-PACKAGECONFIG[libmount] = "--enable-libmount,--disable-libmount,util-linux"
-PACKAGECONFIG[manpages] = "--enable-man --with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog.xml, --disable-man, libxslt-native xmlto-native"
-PACKAGECONFIG[libelf] = "--enable-libelf,--disable-libelf,elfutils"
-
-CORECONF = "--disable-dtrace --disable-fam --disable-systemtap"
+PACKAGECONFIG[system-pcre] = "-Dinternal_pcre=false,-Dinternal_pcre=true,libpcre"
+PACKAGECONFIG[libmount] = "-Dlibmount=true,-Dlibmount=false,util-linux"
+PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native"
+# libelf is auto-detected without a configuration option
+PACKAGECONFIG[libelf] = ",,elfutils"
 
-PRINTF = "--enable-included-printf=no"
-PRINTF_darwin = "--enable-included-printf=yes"
-PRINTF_mingw32 = "--enable-included-printf=yes"
-EXTRA_OECONF = "${PRINTF} ${CORECONF}"
-EXTRA_OECONF_class-native = "${CORECONF} --disable-selinux"
+CORECONF = "-Ddtrace=false -Dfam=false -Dsystemtap=false -Dselinux=false"
 
-# Tell configure that we'll have dbus-daemon on the target for the tests
-EXTRA_OECONF_append_class-target = " ${@bb.utils.contains('PTEST_ENABLED', '1', ' ac_cv_prog_DBUS_DAEMON=dbus-daemon', '', d)}"
+EXTRA_OEMESON = "${CORECONF} ${@bb.utils.contains('PTEST_ENABLED', '1', '-Dinstalled_tests=true', '-Dinstalled_tests=false', d)}"
+EXTRA_OEMESON_class-native = "${CORECONF} -Dinstalled_tests=false"
+EXTRA_OEMESON_class-nativesdk = "${CORECONF} -Dinstalled_tests=false"
 
 do_configure_prepend() {
 	sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in
@@ -129,6 +129,11 @@ do_install_append_class-target () {
 	fi
 }
 
+# As we do not build python3 for windows, makes no sense to ship the script that's using it
+do_install_append_mingw32() {
+        rm -f ${D}${bindir}/gtester-report
+}
+
 CODEGEN_PYTHON_RDEPENDS = "python3 python3-distutils python3-xml"
 CODEGEN_PYTHON_RDEPENDS_mingw32 = ""
 
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 8/8] llvm: switch to the official git repository
  2019-02-18 12:41 [PATCH 1/8] clutter-gtk-1.0: convert to meson Alexander Kanavin
                   ` (5 preceding siblings ...)
  2019-02-18 12:41 ` [PATCH 7/8] glib-2.0: " Alexander Kanavin
@ 2019-02-18 12:41 ` Alexander Kanavin
  6 siblings, 0 replies; 11+ messages in thread
From: Alexander Kanavin @ 2019-02-18 12:41 UTC (permalink / raw)
  To: openembedded-core

Until now an unoffcial mirror was used, which may or may not
be maintained in the longer run, as the need for it has gone.

Also, the official mirror has version tags which allows us
to track upstream development in an automated manner.

${S} has changed as upstream decided to use a monorepo for all
of the llvm-related projects.

Further info:
https://www.phoronix.com/scan.php?page=news_item&px=LLVM-GitHub-Mono-Repo
https://llvm.org/docs/GettingStarted.html#checkout-llvm-from-git

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-devtools/llvm/llvm_git.bb | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/meta/recipes-devtools/llvm/llvm_git.bb b/meta/recipes-devtools/llvm/llvm_git.bb
index eca78af09e4..9e9b15bddec 100644
--- a/meta/recipes-devtools/llvm/llvm_git.bb
+++ b/meta/recipes-devtools/llvm/llvm_git.bb
@@ -19,20 +19,24 @@ PROVIDES += "llvm${PV}"
 LLVM_RELEASE = "${PV}"
 LLVM_DIR = "llvm${LLVM_RELEASE}"
 
-SRCREV = "e5cc6808dc0d5b773479bf36c51d59d0d3174733"
-BRANCH = "release_${MAJOR_VERSION}${MINOR_VERSION}"
+# SRCREV is set to the revision of 8.0.0-rc2 tag, while latest release
+# tag is 7.0.1 as of Feb 18 2019, hence the need for UPSTREAM_CHECK_UNKNOWN
+# Remove the UPSTREAM_CHECK_UNKNOWN line once 8.0.0 final is tagged
+UPSTREAM_CHECK_UNKNOWN = "1"
+SRCREV = "98ebe7460199b9cd79eb562b5e8705ad28f5513f"
+
+BRANCH = "release/${MAJOR_VERSION}.x"
 MAJOR_VERSION = "8"
 MINOR_VERSION = "0"
 PATCH_VERSION = "0"
 SOLIBVER = "1"
 PV = "${MAJOR_VERSION}.${MINOR_VERSION}"
-SRC_URI = "git://github.com/llvm-mirror/llvm.git;branch=${BRANCH} \
+SRC_URI = "git://github.com/llvm/llvm-project.git;branch=${BRANCH} \
            file://0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch \
            file://0002-llvm-allow-env-override-of-exe-path.patch \
           "
-UPSTREAM_CHECK_COMMITS = "1"
 
-S = "${WORKDIR}/git"
+S = "${WORKDIR}/git/llvm"
 
 LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install"
 
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH 7/8] glib-2.0: convert from autotools to meson
  2019-02-18 12:41 ` [PATCH 7/8] glib-2.0: " Alexander Kanavin
@ 2019-02-19  6:57   ` Khem Raj
  2019-02-19  9:41     ` Alexander Kanavin
  0 siblings, 1 reply; 11+ messages in thread
From: Khem Raj @ 2019-02-19  6:57 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Patches and discussions about the oe-core layer

seeing an error armv5te/thumb
https://errors.yoctoproject.org/Errors/Details/228765/

On Mon, Feb 18, 2019 at 4:42 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> PRINTF settings no longer seem necessary (tested with mingw).
>
> Add meson-specific bits to Enable-more-tests-while-cross-compiling.patch and
> 0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
>
> Add 0001-Set-host_machine-correctly-when-building-with-mingw3.patch
> to allow 'mingw32' as target machine in addition to 'windows'.
>
> Drop configure-libtool.patch and uclibc_musl_translation.patch
> (both autotools-specific).
>
> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ---
>  ...t-write-bindir-into-pkg-config-files.patch | 50 ++++++++++
>  ...-gio-querymodules-as-libexec_PROGRAM.patch | 17 +++-
>  ...-correctly-when-building-with-mingw3.patch | 81 +++++++++++++++++
>  ...ble-more-tests-while-cross-compiling.patch | 91 ++++++++++++++++++-
>  .../glib-2.0/glib-2.0/configure-libtool.patch | 44 ---------
>  .../glib-2.0/glib-2.0/relocate-modules.patch  |  2 +-
>  .../glib-2.0/uclibc_musl_translation.patch    | 22 -----
>  meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb |  4 +-
>  meta/recipes-core/glib-2.0/glib.inc           | 33 ++++---
>  9 files changed, 256 insertions(+), 88 deletions(-)
>  create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch
>  create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
>  delete mode 100644 meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch
>  delete mode 100644 meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch
>
> diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch
> new file mode 100644
> index 00000000000..ede29c90bab
> --- /dev/null
> +++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch
> @@ -0,0 +1,50 @@
> +From 474e59abec88de0c455836c1f53152bf2aa26c34 Mon Sep 17 00:00:00 2001
> +From: Alexander Kanavin <alex.kanavin@gmail.com>
> +Date: Fri, 15 Feb 2019 11:17:27 +0100
> +Subject: [PATCH] Do not write $bindir into pkg-config files
> +
> +This would otherwise break when using the files to build other target
> +components (we need to rely on PATH containing the paths to utilities,
> +rather than use target paths).
> +
> +Upstream-Status: Inappropriate [upstream wants the paths in .pc files]
> +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> +---
> + gio/meson.build  | 6 +++---
> + glib/meson.build | 6 +++---
> + 2 files changed, 6 insertions(+), 6 deletions(-)
> +
> +diff --git a/gio/meson.build b/gio/meson.build
> +index 85d8b14..657720a 100644
> +--- a/gio/meson.build
> ++++ b/gio/meson.build
> +@@ -813,9 +813,9 @@ pkg.generate(libraries : libgio,
> +                'schemasdir=' + join_paths('${datadir}', schemas_subdir),
> +                'bindir=' + join_paths('${prefix}', get_option('bindir')),
> +                'giomoduledir=' + giomodulesdir,
> +-               'glib_compile_schemas=' + join_paths('${bindir}', 'glib-compile-schemas'),
> +-               'glib_compile_resources=' + join_paths('${bindir}', 'glib-compile-resources'),
> +-               'gdbus_codegen=' + join_paths('${bindir}', 'gdbus-codegen')],
> ++               'glib_compile_schemas=glib-compile-schemas',
> ++               'glib_compile_resources=glib-compile-resources',
> ++               'gdbus_codegen=gdbus-codegen'],
> +   version : glib_version,
> +   install_dir : glib_pkgconfigreldir,
> +   filebase : 'gio-2.0',
> +diff --git a/glib/meson.build b/glib/meson.build
> +index c05c694..434e8b1 100644
> +--- a/glib/meson.build
> ++++ b/glib/meson.build
> +@@ -261,9 +261,9 @@ pkg.generate(libraries : [libglib, libintl],
> +   subdirs : ['glib-2.0'],
> +   extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags,
> +   variables : ['bindir=' + join_paths('${prefix}', get_option('bindir')),
> +-               'glib_genmarshal=' + join_paths('${bindir}', 'glib-genmarshal'),
> +-               'gobject_query=' + join_paths('${bindir}', 'gobject-query'),
> +-               'glib_mkenums=' + join_paths('${bindir}', 'glib-mkenums')],
> ++               'glib_genmarshal=glib-genmarshal',
> ++               'gobject_query=gobject-query',
> ++               'glib_mkenums=glib-mkenums'],
> +   version : glib_version,
> +   install_dir : glib_pkgconfigreldir,
> +   filebase : 'glib-2.0',
> diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
> index 97d0aff5d6c..f246254942e 100644
> --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
> +++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
> @@ -1,4 +1,4 @@
> -From 856045927b9ab391165c0ebabf401835f8439eab Mon Sep 17 00:00:00 2001
> +From 17fc9230fb932432d8faaaabf8c56fdc4845495e Mon Sep 17 00:00:00 2001
>  From: Jussi Kukkonen <jussi.kukkonen@intel.com>
>  Date: Tue, 22 Mar 2016 15:14:58 +0200
>  Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM
> @@ -11,7 +11,8 @@ Upstream-Status: Inappropriate [OE specific]
>
>  ---
>   gio/Makefile.am | 3 ++-
> - 1 file changed, 2 insertions(+), 1 deletion(-)
> + gio/meson.build | 1 +
> + 2 files changed, 3 insertions(+), 1 deletion(-)
>
>  diff --git a/gio/Makefile.am b/gio/Makefile.am
>  index e14cad2..bf2bcc7 100644
> @@ -27,3 +28,15 @@ index e14cad2..bf2bcc7 100644
>
>   glib_compile_resources_LDADD = libgio-2.0.la          \
>         $(top_builddir)/gobject/libgobject-2.0.la       \
> +diff --git a/gio/meson.build b/gio/meson.build
> +index b83d8f5..85d8b14 100644
> +--- a/gio/meson.build
> ++++ b/gio/meson.build
> +@@ -925,6 +925,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu
> +   c_args : gio_c_args,
> +   # intl.lib is not compatible with SAFESEH
> +   link_args : noseh_link_args,
> ++  install_dir: glib_libexecdir,
> +   dependencies : [libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep])
> +
> + glib_compile_schemas = executable('glib-compile-schemas',
> diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
> new file mode 100644
> index 00000000000..17fe133fea9
> --- /dev/null
> +++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
> @@ -0,0 +1,81 @@
> +From 133e2d15917c29268f9ca204424d12ad04a1ed99 Mon Sep 17 00:00:00 2001
> +From: Alexander Kanavin <alex.kanavin@gmail.com>
> +Date: Wed, 13 Feb 2019 15:32:05 +0100
> +Subject: [PATCH] Set host_machine correctly when building with mingw32
> +
> +Upstream-Status: Inappropriate [oe-core specific]
> +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> +
> +---
> + gio/tests/meson.build  | 6 +++---
> + glib/tests/meson.build | 4 ++--
> + meson.build            | 3 +++
> + 3 files changed, 8 insertions(+), 5 deletions(-)
> +
> +diff --git a/gio/tests/meson.build b/gio/tests/meson.build
> +index 181f5c7..88a6c55 100644
> +--- a/gio/tests/meson.build
> ++++ b/gio/tests/meson.build
> +@@ -122,7 +122,7 @@ if dbus1_dep.found()
> + endif
> +
> + #  Test programs buildable on UNIX only
> +-if host_machine.system() != 'windows'
> ++if host_system != 'windows'
> +   gio_tests += [{
> +     'file' : {},
> +     'gdbus-peer' : {
> +@@ -314,7 +314,7 @@ if host_machine.system() != 'windows'
> + endif # unix
> +
> + #  Test programs buildable on Windows only
> +-if host_machine.system() == 'windows'
> ++if host_system == 'windows'
> +   gio_tests += [{'win32-streams' : {}}]
> + endif
> +
> +@@ -379,7 +379,7 @@ if cc.get_id() != 'msvc'
> +   }]
> + endif
> +
> +-if host_machine.system() != 'windows'
> ++if host_system != 'windows'
> +   test_extra_programs += [{
> +     'gdbus-example-unix-fd-client' : {
> +       'install' : false,
> +diff --git a/glib/tests/meson.build b/glib/tests/meson.build
> +index d7b6a7a..6678a08 100644
> +--- a/glib/tests/meson.build
> ++++ b/glib/tests/meson.build
> +@@ -45,7 +45,7 @@ glib_tests = {
> +   'hook' : {},
> +   'hostutils' : {},
> +   'include' : {
> +-    'skip' : host_machine.system() == 'windows',
> ++    'skip' : host_system == 'windows',
> +   },
> +   'keyfile' : {},
> +   'list' : {},
> +@@ -112,7 +112,7 @@ glib_tests = {
> +   'utils' : {},
> +   'unicode' : {},
> +   'unix' : {
> +-    'skip' : host_machine.system() == 'windows',
> ++    'skip' : host_system == 'windows',
> +   },
> +   'uri' : {},
> +   '1bit-mutex' : {},
> +diff --git a/meson.build b/meson.build
> +index f7405a2..4348f20 100644
> +--- a/meson.build
> ++++ b/meson.build
> +@@ -31,6 +31,9 @@ else
> + endif
> +
> + host_system = host_machine.system()
> ++if host_system == 'mingw32'
> ++  host_system = 'windows'
> ++endif
> +
> + glib_version = meson.project_version()
> + glib_api_version = '2.0'
> diff --git a/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch b/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
> index 50608809264..5ccd3203fb2 100644
> --- a/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
> +++ b/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
> @@ -1,4 +1,4 @@
> -From 70e462e070f8eb20b7660c1cf88271c0449e43cc Mon Sep 17 00:00:00 2001
> +From 1481c6d5f08f9dbbe10abc87b372a1f61db36476 Mon Sep 17 00:00:00 2001
>  From: Jussi Kukkonen <jussi.kukkonen@intel.com>
>  Date: Mon, 9 Nov 2015 11:07:27 +0200
>  Subject: [PATCH] Enable more tests while cross-compiling
> @@ -10,8 +10,10 @@ case we can depend on glib-2.0-native.
>  Upstream-Status: Inappropriate [OE specific]
>  Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
>  ---
> - gio/tests/Makefile.am | 10 ++++++----
> - 1 file changed, 6 insertions(+), 4 deletions(-)
> + gio/tests/Makefile.am     | 10 ++++++----
> + gio/tests/meson.build     | 15 ++++++++-------
> + tests/gobject/Makefile.am |  6 ++++++
> + 3 files changed, 20 insertions(+), 11 deletions(-)
>
>  diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am
>  index c4e7a92..633e85c 100644
> @@ -50,3 +52,86 @@ index c4e7a92..633e85c 100644
>
>   BUILT_SOURCES += giotypefuncs.inc
>
> +diff --git a/gio/tests/meson.build b/gio/tests/meson.build
> +index dca33bd..181f5c7 100644
> +--- a/gio/tests/meson.build
> ++++ b/gio/tests/meson.build
> +@@ -173,7 +173,7 @@ if host_machine.system() != 'windows'
> +
> +   #  Test programs that need to bring up a session bus (requires dbus-daemon)
> +   have_dbus_daemon = find_program('dbus-daemon', required : false).found()
> +-  if have_dbus_daemon
> ++  if true
> +     annotate_args = [
> +       '--annotate', 'org.project.Bar', 'Key1', 'Value1',
> +       '--annotate', 'org.project.Bar', 'org.gtk.GDBus.Internal', 'Value2',
> +@@ -406,12 +406,13 @@ if installed_tests_enabled
> +   install_subdir('cert-tests', install_dir : installed_tests_execdir)
> + endif
> +
> +-if not meson.is_cross_build() or meson.has_exe_wrapper()
> ++#if not meson.is_cross_build() or meson.has_exe_wrapper()
> ++if meson.is_cross_build()
> +
> +   plugin_resources_c = custom_target('plugin-resources.c',
> +     input : 'test4.gresource.xml',
> +     output : 'plugin-resources.c',
> +-    command : [glib_compile_resources,
> ++    command : ['glib-compile-resources',
> +                '--target=@OUTPUT@',
> +                '--sourcedir=' + meson.current_source_dir(),
> +                '--generate-source',
> +@@ -428,7 +429,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
> +   test_gresource = custom_target('test.gresource',
> +     input : 'test.gresource.xml',
> +     output : 'test.gresource',
> +-    command : [glib_compile_resources,
> ++    command : ['glib-compile-resources',
> +                '--target=@OUTPUT@',
> +                '--sourcedir=' + meson.current_source_dir(),
> +                '--sourcedir=' + meson.current_build_dir(),
> +@@ -439,7 +440,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
> +   test_resources2_c = custom_target('test_resources2.c',
> +     input : 'test3.gresource.xml',
> +     output : 'test_resources2.c',
> +-    command : [glib_compile_resources,
> ++    command : ['glib-compile-resources',
> +                '--target=@OUTPUT@',
> +                '--sourcedir=' + meson.current_source_dir(),
> +                '--generate',
> +@@ -450,7 +451,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
> +   test_resources2_h = custom_target('test_resources2.h',
> +     input : 'test3.gresource.xml',
> +     output : 'test_resources2.h',
> +-    command : [glib_compile_resources,
> ++    command : ['glib-compile-resources',
> +                '--target=@OUTPUT@',
> +                '--sourcedir=' + meson.current_source_dir(),
> +                '--generate',
> +@@ -461,7 +462,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
> +   test_resources_c = custom_target('test_resources.c',
> +     input : 'test2.gresource.xml',
> +     output : 'test_resources.c',
> +-    command : [glib_compile_resources,
> ++    command : ['glib-compile-resources',
> +                '--target=@OUTPUT@',
> +                '--sourcedir=' + meson.current_source_dir(),
> +                '--generate-source',
> +diff --git a/tests/gobject/Makefile.am b/tests/gobject/Makefile.am
> +index 1bcefbe..77e646a 100644
> +--- a/tests/gobject/Makefile.am
> ++++ b/tests/gobject/Makefile.am
> +@@ -51,7 +51,13 @@ if ENABLE_TIMELOOP
> + installed_test_programs += timeloop-closure
> + endif
> +
> ++# The marshal test requires running a binary, which means we require
> ++# glib-native when cross-compiling
> ++if !CROSS_COMPILING
> + glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal
> ++else
> ++glib_genmarshal=$(shell which glib-genmarshal)
> ++endif
> +
> + testmarshal.h: stamp-testmarshal.h
> +       @true
> diff --git a/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch b/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch
> deleted file mode 100644
> index 59b891347da..00000000000
> --- a/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch
> +++ /dev/null
> @@ -1,44 +0,0 @@
> -From 1dd1e6ddca5deada049bac2e1ee1fe4ecc5342c5 Mon Sep 17 00:00:00 2001
> -From: Martin Jansa <Martin.Jansa@gmail.com>
> -Date: Sat, 28 Apr 2012 18:24:50 +0200
> -Subject: [PATCH 01/10] configure: use $host_alias-libtool instead of libtool
> - directly
> -
> -Poky renames libtool to $host_alias-libtool.
> -./$host_alias-libtool isn't created until after configure runs with
> -libtool >= 2.2.2
> -so we can't call # it at this point. We can safely assume a version is
> -available
> -from PATH though
> -
> -Rebased to glib-2.27.3 by Dongxiao Xu <dongxiao.xu@intel.com>
> -Rebased to glib-2.32.1 by Martin Jansa <Martin.Jansa@gmail.com>
> -Rebased to glib-2.31.20+ by Andre McCurdy <armccurdy@gmail.com>
> -
> -Upstream-Status: Inappropriate [configuration]
> -
> -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> -
> ----
> - configure.ac | 4 ++--
> - 1 file changed, 2 insertions(+), 2 deletions(-)
> -
> -diff --git a/configure.ac b/configure.ac
> -index 6fa6eb0..b6f78a6 100644
> ---- a/configure.ac
> -+++ b/configure.ac
> -@@ -1428,9 +1428,9 @@ AS_IF([ test "$G_MODULE_IMPL" = "G_MODULE_IMPL_DL" ], [
> -       LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
> - dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness
> -       echo "void glib_plugin_test(void) { }" > plugin.c
> --      ${SHELL} ./libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \
> -+      ${SHELL} ./$host_alias-libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \
> -               ${CPPFLAGS} -c -o plugin.lo plugin.c >/dev/null 2>&1
> --      ${SHELL} ./libtool --mode=link --tag=CC ${CC} ${CFLAGS} \
> -+      ${SHELL} ./$host_alias-libtool --mode=link --tag=CC ${CC} ${CFLAGS} \
> -               ${LDFLAGS} -module -o plugin.la -export-dynamic \
> -               -shrext ".o" -avoid-version plugin.lo \
> -               -rpath /dont/care >/dev/null 2>&1
> ---
> -2.14.1
> -
> diff --git a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
> index 9ec011a0950..d62429b9729 100644
> --- a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
> +++ b/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
> @@ -1,4 +1,4 @@
> -From 43967e85b7a87f9c2e780504ef30f4c9bf56f8f5 Mon Sep 17 00:00:00 2001
> +From ca9ab8975e46217fdb391610a07b8b16986b5a19 Mon Sep 17 00:00:00 2001
>  From: Ross Burton <ross.burton@intel.com>
>  Date: Fri, 11 Mar 2016 15:35:55 +0000
>  Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds
> diff --git a/meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch b/meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch
> deleted file mode 100644
> index 7aa6217d693..00000000000
> --- a/meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch
> +++ /dev/null
> @@ -1,22 +0,0 @@
> -Fix DATADIRNAME on uclibc/Linux
> -
> -translation files are always installed under PREFIX/share/locale in uclibc
> -based systems therefore lets set DATADIRNAME to "share".
> -
> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> -Upstream-Status: Pending
> -Index: glib-2.46.1/m4macros/glib-gettext.m4
> -===================================================================
> ---- glib-2.46.1.orig/m4macros/glib-gettext.m4
> -+++ glib-2.46.1/m4macros/glib-gettext.m4
> -@@ -243,6 +243,10 @@ msgstr ""
> -           CATOBJEXT=.mo
> -             DATADIRNAME=share
> -           ;;
> -+          *-*-musl* | *-*-linux-uclibc*)
> -+          CATOBJEXT=.gmo
> -+            DATADIRNAME=share
> -+          ;;
> -           *)
> -           CATOBJEXT=.mo
> -             DATADIRNAME=lib
> diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb
> index 8aad570fa9d..9bc18dac7ee 100644
> --- a/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb
> +++ b/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb
> @@ -5,15 +5,15 @@ PE = "1"
>  SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
>
>  SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
> -           file://configure-libtool.patch \
>             file://run-ptest \
> -           file://uclibc_musl_translation.patch \
>             file://Enable-more-tests-while-cross-compiling.patch \
>             file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \
>             file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \
>             file://0001-Do-not-ignore-return-value-of-write.patch \
>             file://0010-Do-not-hardcode-python-path-into-various-tools.patch \
>             file://0001-Revert-Use-absolute-paths-in-pkg-config-files.patch \
> +           file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \
> +           file://0001-Do-not-write-bindir-into-pkg-config-files.patch \
>             "
>
>  SRC_URI_append_class-native = " file://relocate-modules.patch"
> diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc
> index a186c1d9eb6..b57fb698684 100644
> --- a/meta/recipes-core/glib-2.0/glib.inc
> +++ b/meta/recipes-core/glib-2.0/glib.inc
> @@ -29,7 +29,11 @@ PACKAGES += "${PN}-codegen ${PN}-utils"
>
>  LEAD_SONAME = "libglib-2.0.*"
>
> -inherit autotools gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages distro_features_check
> +inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages distro_features_check
> +
> +# This avoids the need to depend on target python3, which in case of mingw is not even possible.
> +# meson's python configuration pokes into python3 configuration, so this provides the native config to it.
> +unset _PYTHON_SYSCONFIGDATA_NAME
>
>  REQUIRED_DISTRO_FEATURES_libc-glibc = "${@'libc-charsets libc-locale-code libc-locales' if bb.utils.contains('DISTRO_FEATURES', 'ptest', True, False, d) else ''}"
>
> @@ -37,21 +41,17 @@ S = "${WORKDIR}/glib-${PV}"
>
>  PACKAGECONFIG ??= "system-pcre libmount"
>  # To use the system pcre it must be configured with --enable-unicode-properties
> -PACKAGECONFIG[system-pcre] = "--with-pcre=system,--with-pcre=internal,libpcre"
> -PACKAGECONFIG[libmount] = "--enable-libmount,--disable-libmount,util-linux"
> -PACKAGECONFIG[manpages] = "--enable-man --with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog.xml, --disable-man, libxslt-native xmlto-native"
> -PACKAGECONFIG[libelf] = "--enable-libelf,--disable-libelf,elfutils"
> -
> -CORECONF = "--disable-dtrace --disable-fam --disable-systemtap"
> +PACKAGECONFIG[system-pcre] = "-Dinternal_pcre=false,-Dinternal_pcre=true,libpcre"
> +PACKAGECONFIG[libmount] = "-Dlibmount=true,-Dlibmount=false,util-linux"
> +PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native"
> +# libelf is auto-detected without a configuration option
> +PACKAGECONFIG[libelf] = ",,elfutils"
>
> -PRINTF = "--enable-included-printf=no"
> -PRINTF_darwin = "--enable-included-printf=yes"
> -PRINTF_mingw32 = "--enable-included-printf=yes"
> -EXTRA_OECONF = "${PRINTF} ${CORECONF}"
> -EXTRA_OECONF_class-native = "${CORECONF} --disable-selinux"
> +CORECONF = "-Ddtrace=false -Dfam=false -Dsystemtap=false -Dselinux=false"
>
> -# Tell configure that we'll have dbus-daemon on the target for the tests
> -EXTRA_OECONF_append_class-target = " ${@bb.utils.contains('PTEST_ENABLED', '1', ' ac_cv_prog_DBUS_DAEMON=dbus-daemon', '', d)}"
> +EXTRA_OEMESON = "${CORECONF} ${@bb.utils.contains('PTEST_ENABLED', '1', '-Dinstalled_tests=true', '-Dinstalled_tests=false', d)}"
> +EXTRA_OEMESON_class-native = "${CORECONF} -Dinstalled_tests=false"
> +EXTRA_OEMESON_class-nativesdk = "${CORECONF} -Dinstalled_tests=false"
>
>  do_configure_prepend() {
>         sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in
> @@ -129,6 +129,11 @@ do_install_append_class-target () {
>         fi
>  }
>
> +# As we do not build python3 for windows, makes no sense to ship the script that's using it
> +do_install_append_mingw32() {
> +        rm -f ${D}${bindir}/gtester-report
> +}
> +
>  CODEGEN_PYTHON_RDEPENDS = "python3 python3-distutils python3-xml"
>  CODEGEN_PYTHON_RDEPENDS_mingw32 = ""
>
> --
> 2.17.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 7/8] glib-2.0: convert from autotools to meson
  2019-02-19  6:57   ` Khem Raj
@ 2019-02-19  9:41     ` Alexander Kanavin
  0 siblings, 0 replies; 11+ messages in thread
From: Alexander Kanavin @ 2019-02-19  9:41 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer

Thanks, I have now corrected it, and sent another updated patch.

Alex


On Tue, 19 Feb 2019 at 07:58, Khem Raj <raj.khem@gmail.com> wrote:
>
> seeing an error armv5te/thumb
> https://errors.yoctoproject.org/Errors/Details/228765/
>
> On Mon, Feb 18, 2019 at 4:42 AM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > PRINTF settings no longer seem necessary (tested with mingw).
> >
> > Add meson-specific bits to Enable-more-tests-while-cross-compiling.patch and
> > 0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
> >
> > Add 0001-Set-host_machine-correctly-when-building-with-mingw3.patch
> > to allow 'mingw32' as target machine in addition to 'windows'.
> >
> > Drop configure-libtool.patch and uclibc_musl_translation.patch
> > (both autotools-specific).
> >
> > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > ---
> >  ...t-write-bindir-into-pkg-config-files.patch | 50 ++++++++++
> >  ...-gio-querymodules-as-libexec_PROGRAM.patch | 17 +++-
> >  ...-correctly-when-building-with-mingw3.patch | 81 +++++++++++++++++
> >  ...ble-more-tests-while-cross-compiling.patch | 91 ++++++++++++++++++-
> >  .../glib-2.0/glib-2.0/configure-libtool.patch | 44 ---------
> >  .../glib-2.0/glib-2.0/relocate-modules.patch  |  2 +-
> >  .../glib-2.0/uclibc_musl_translation.patch    | 22 -----
> >  meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb |  4 +-
> >  meta/recipes-core/glib-2.0/glib.inc           | 33 ++++---
> >  9 files changed, 256 insertions(+), 88 deletions(-)
> >  create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch
> >  create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
> >  delete mode 100644 meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch
> >  delete mode 100644 meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch
> >
> > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch
> > new file mode 100644
> > index 00000000000..ede29c90bab
> > --- /dev/null
> > +++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch
> > @@ -0,0 +1,50 @@
> > +From 474e59abec88de0c455836c1f53152bf2aa26c34 Mon Sep 17 00:00:00 2001
> > +From: Alexander Kanavin <alex.kanavin@gmail.com>
> > +Date: Fri, 15 Feb 2019 11:17:27 +0100
> > +Subject: [PATCH] Do not write $bindir into pkg-config files
> > +
> > +This would otherwise break when using the files to build other target
> > +components (we need to rely on PATH containing the paths to utilities,
> > +rather than use target paths).
> > +
> > +Upstream-Status: Inappropriate [upstream wants the paths in .pc files]
> > +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > +---
> > + gio/meson.build  | 6 +++---
> > + glib/meson.build | 6 +++---
> > + 2 files changed, 6 insertions(+), 6 deletions(-)
> > +
> > +diff --git a/gio/meson.build b/gio/meson.build
> > +index 85d8b14..657720a 100644
> > +--- a/gio/meson.build
> > ++++ b/gio/meson.build
> > +@@ -813,9 +813,9 @@ pkg.generate(libraries : libgio,
> > +                'schemasdir=' + join_paths('${datadir}', schemas_subdir),
> > +                'bindir=' + join_paths('${prefix}', get_option('bindir')),
> > +                'giomoduledir=' + giomodulesdir,
> > +-               'glib_compile_schemas=' + join_paths('${bindir}', 'glib-compile-schemas'),
> > +-               'glib_compile_resources=' + join_paths('${bindir}', 'glib-compile-resources'),
> > +-               'gdbus_codegen=' + join_paths('${bindir}', 'gdbus-codegen')],
> > ++               'glib_compile_schemas=glib-compile-schemas',
> > ++               'glib_compile_resources=glib-compile-resources',
> > ++               'gdbus_codegen=gdbus-codegen'],
> > +   version : glib_version,
> > +   install_dir : glib_pkgconfigreldir,
> > +   filebase : 'gio-2.0',
> > +diff --git a/glib/meson.build b/glib/meson.build
> > +index c05c694..434e8b1 100644
> > +--- a/glib/meson.build
> > ++++ b/glib/meson.build
> > +@@ -261,9 +261,9 @@ pkg.generate(libraries : [libglib, libintl],
> > +   subdirs : ['glib-2.0'],
> > +   extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags,
> > +   variables : ['bindir=' + join_paths('${prefix}', get_option('bindir')),
> > +-               'glib_genmarshal=' + join_paths('${bindir}', 'glib-genmarshal'),
> > +-               'gobject_query=' + join_paths('${bindir}', 'gobject-query'),
> > +-               'glib_mkenums=' + join_paths('${bindir}', 'glib-mkenums')],
> > ++               'glib_genmarshal=glib-genmarshal',
> > ++               'gobject_query=gobject-query',
> > ++               'glib_mkenums=glib-mkenums'],
> > +   version : glib_version,
> > +   install_dir : glib_pkgconfigreldir,
> > +   filebase : 'glib-2.0',
> > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
> > index 97d0aff5d6c..f246254942e 100644
> > --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
> > +++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
> > @@ -1,4 +1,4 @@
> > -From 856045927b9ab391165c0ebabf401835f8439eab Mon Sep 17 00:00:00 2001
> > +From 17fc9230fb932432d8faaaabf8c56fdc4845495e Mon Sep 17 00:00:00 2001
> >  From: Jussi Kukkonen <jussi.kukkonen@intel.com>
> >  Date: Tue, 22 Mar 2016 15:14:58 +0200
> >  Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM
> > @@ -11,7 +11,8 @@ Upstream-Status: Inappropriate [OE specific]
> >
> >  ---
> >   gio/Makefile.am | 3 ++-
> > - 1 file changed, 2 insertions(+), 1 deletion(-)
> > + gio/meson.build | 1 +
> > + 2 files changed, 3 insertions(+), 1 deletion(-)
> >
> >  diff --git a/gio/Makefile.am b/gio/Makefile.am
> >  index e14cad2..bf2bcc7 100644
> > @@ -27,3 +28,15 @@ index e14cad2..bf2bcc7 100644
> >
> >   glib_compile_resources_LDADD = libgio-2.0.la          \
> >         $(top_builddir)/gobject/libgobject-2.0.la       \
> > +diff --git a/gio/meson.build b/gio/meson.build
> > +index b83d8f5..85d8b14 100644
> > +--- a/gio/meson.build
> > ++++ b/gio/meson.build
> > +@@ -925,6 +925,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu
> > +   c_args : gio_c_args,
> > +   # intl.lib is not compatible with SAFESEH
> > +   link_args : noseh_link_args,
> > ++  install_dir: glib_libexecdir,
> > +   dependencies : [libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep])
> > +
> > + glib_compile_schemas = executable('glib-compile-schemas',
> > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
> > new file mode 100644
> > index 00000000000..17fe133fea9
> > --- /dev/null
> > +++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
> > @@ -0,0 +1,81 @@
> > +From 133e2d15917c29268f9ca204424d12ad04a1ed99 Mon Sep 17 00:00:00 2001
> > +From: Alexander Kanavin <alex.kanavin@gmail.com>
> > +Date: Wed, 13 Feb 2019 15:32:05 +0100
> > +Subject: [PATCH] Set host_machine correctly when building with mingw32
> > +
> > +Upstream-Status: Inappropriate [oe-core specific]
> > +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > +
> > +---
> > + gio/tests/meson.build  | 6 +++---
> > + glib/tests/meson.build | 4 ++--
> > + meson.build            | 3 +++
> > + 3 files changed, 8 insertions(+), 5 deletions(-)
> > +
> > +diff --git a/gio/tests/meson.build b/gio/tests/meson.build
> > +index 181f5c7..88a6c55 100644
> > +--- a/gio/tests/meson.build
> > ++++ b/gio/tests/meson.build
> > +@@ -122,7 +122,7 @@ if dbus1_dep.found()
> > + endif
> > +
> > + #  Test programs buildable on UNIX only
> > +-if host_machine.system() != 'windows'
> > ++if host_system != 'windows'
> > +   gio_tests += [{
> > +     'file' : {},
> > +     'gdbus-peer' : {
> > +@@ -314,7 +314,7 @@ if host_machine.system() != 'windows'
> > + endif # unix
> > +
> > + #  Test programs buildable on Windows only
> > +-if host_machine.system() == 'windows'
> > ++if host_system == 'windows'
> > +   gio_tests += [{'win32-streams' : {}}]
> > + endif
> > +
> > +@@ -379,7 +379,7 @@ if cc.get_id() != 'msvc'
> > +   }]
> > + endif
> > +
> > +-if host_machine.system() != 'windows'
> > ++if host_system != 'windows'
> > +   test_extra_programs += [{
> > +     'gdbus-example-unix-fd-client' : {
> > +       'install' : false,
> > +diff --git a/glib/tests/meson.build b/glib/tests/meson.build
> > +index d7b6a7a..6678a08 100644
> > +--- a/glib/tests/meson.build
> > ++++ b/glib/tests/meson.build
> > +@@ -45,7 +45,7 @@ glib_tests = {
> > +   'hook' : {},
> > +   'hostutils' : {},
> > +   'include' : {
> > +-    'skip' : host_machine.system() == 'windows',
> > ++    'skip' : host_system == 'windows',
> > +   },
> > +   'keyfile' : {},
> > +   'list' : {},
> > +@@ -112,7 +112,7 @@ glib_tests = {
> > +   'utils' : {},
> > +   'unicode' : {},
> > +   'unix' : {
> > +-    'skip' : host_machine.system() == 'windows',
> > ++    'skip' : host_system == 'windows',
> > +   },
> > +   'uri' : {},
> > +   '1bit-mutex' : {},
> > +diff --git a/meson.build b/meson.build
> > +index f7405a2..4348f20 100644
> > +--- a/meson.build
> > ++++ b/meson.build
> > +@@ -31,6 +31,9 @@ else
> > + endif
> > +
> > + host_system = host_machine.system()
> > ++if host_system == 'mingw32'
> > ++  host_system = 'windows'
> > ++endif
> > +
> > + glib_version = meson.project_version()
> > + glib_api_version = '2.0'
> > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch b/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
> > index 50608809264..5ccd3203fb2 100644
> > --- a/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
> > +++ b/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
> > @@ -1,4 +1,4 @@
> > -From 70e462e070f8eb20b7660c1cf88271c0449e43cc Mon Sep 17 00:00:00 2001
> > +From 1481c6d5f08f9dbbe10abc87b372a1f61db36476 Mon Sep 17 00:00:00 2001
> >  From: Jussi Kukkonen <jussi.kukkonen@intel.com>
> >  Date: Mon, 9 Nov 2015 11:07:27 +0200
> >  Subject: [PATCH] Enable more tests while cross-compiling
> > @@ -10,8 +10,10 @@ case we can depend on glib-2.0-native.
> >  Upstream-Status: Inappropriate [OE specific]
> >  Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
> >  ---
> > - gio/tests/Makefile.am | 10 ++++++----
> > - 1 file changed, 6 insertions(+), 4 deletions(-)
> > + gio/tests/Makefile.am     | 10 ++++++----
> > + gio/tests/meson.build     | 15 ++++++++-------
> > + tests/gobject/Makefile.am |  6 ++++++
> > + 3 files changed, 20 insertions(+), 11 deletions(-)
> >
> >  diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am
> >  index c4e7a92..633e85c 100644
> > @@ -50,3 +52,86 @@ index c4e7a92..633e85c 100644
> >
> >   BUILT_SOURCES += giotypefuncs.inc
> >
> > +diff --git a/gio/tests/meson.build b/gio/tests/meson.build
> > +index dca33bd..181f5c7 100644
> > +--- a/gio/tests/meson.build
> > ++++ b/gio/tests/meson.build
> > +@@ -173,7 +173,7 @@ if host_machine.system() != 'windows'
> > +
> > +   #  Test programs that need to bring up a session bus (requires dbus-daemon)
> > +   have_dbus_daemon = find_program('dbus-daemon', required : false).found()
> > +-  if have_dbus_daemon
> > ++  if true
> > +     annotate_args = [
> > +       '--annotate', 'org.project.Bar', 'Key1', 'Value1',
> > +       '--annotate', 'org.project.Bar', 'org.gtk.GDBus.Internal', 'Value2',
> > +@@ -406,12 +406,13 @@ if installed_tests_enabled
> > +   install_subdir('cert-tests', install_dir : installed_tests_execdir)
> > + endif
> > +
> > +-if not meson.is_cross_build() or meson.has_exe_wrapper()
> > ++#if not meson.is_cross_build() or meson.has_exe_wrapper()
> > ++if meson.is_cross_build()
> > +
> > +   plugin_resources_c = custom_target('plugin-resources.c',
> > +     input : 'test4.gresource.xml',
> > +     output : 'plugin-resources.c',
> > +-    command : [glib_compile_resources,
> > ++    command : ['glib-compile-resources',
> > +                '--target=@OUTPUT@',
> > +                '--sourcedir=' + meson.current_source_dir(),
> > +                '--generate-source',
> > +@@ -428,7 +429,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
> > +   test_gresource = custom_target('test.gresource',
> > +     input : 'test.gresource.xml',
> > +     output : 'test.gresource',
> > +-    command : [glib_compile_resources,
> > ++    command : ['glib-compile-resources',
> > +                '--target=@OUTPUT@',
> > +                '--sourcedir=' + meson.current_source_dir(),
> > +                '--sourcedir=' + meson.current_build_dir(),
> > +@@ -439,7 +440,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
> > +   test_resources2_c = custom_target('test_resources2.c',
> > +     input : 'test3.gresource.xml',
> > +     output : 'test_resources2.c',
> > +-    command : [glib_compile_resources,
> > ++    command : ['glib-compile-resources',
> > +                '--target=@OUTPUT@',
> > +                '--sourcedir=' + meson.current_source_dir(),
> > +                '--generate',
> > +@@ -450,7 +451,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
> > +   test_resources2_h = custom_target('test_resources2.h',
> > +     input : 'test3.gresource.xml',
> > +     output : 'test_resources2.h',
> > +-    command : [glib_compile_resources,
> > ++    command : ['glib-compile-resources',
> > +                '--target=@OUTPUT@',
> > +                '--sourcedir=' + meson.current_source_dir(),
> > +                '--generate',
> > +@@ -461,7 +462,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
> > +   test_resources_c = custom_target('test_resources.c',
> > +     input : 'test2.gresource.xml',
> > +     output : 'test_resources.c',
> > +-    command : [glib_compile_resources,
> > ++    command : ['glib-compile-resources',
> > +                '--target=@OUTPUT@',
> > +                '--sourcedir=' + meson.current_source_dir(),
> > +                '--generate-source',
> > +diff --git a/tests/gobject/Makefile.am b/tests/gobject/Makefile.am
> > +index 1bcefbe..77e646a 100644
> > +--- a/tests/gobject/Makefile.am
> > ++++ b/tests/gobject/Makefile.am
> > +@@ -51,7 +51,13 @@ if ENABLE_TIMELOOP
> > + installed_test_programs += timeloop-closure
> > + endif
> > +
> > ++# The marshal test requires running a binary, which means we require
> > ++# glib-native when cross-compiling
> > ++if !CROSS_COMPILING
> > + glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal
> > ++else
> > ++glib_genmarshal=$(shell which glib-genmarshal)
> > ++endif
> > +
> > + testmarshal.h: stamp-testmarshal.h
> > +       @true
> > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch b/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch
> > deleted file mode 100644
> > index 59b891347da..00000000000
> > --- a/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch
> > +++ /dev/null
> > @@ -1,44 +0,0 @@
> > -From 1dd1e6ddca5deada049bac2e1ee1fe4ecc5342c5 Mon Sep 17 00:00:00 2001
> > -From: Martin Jansa <Martin.Jansa@gmail.com>
> > -Date: Sat, 28 Apr 2012 18:24:50 +0200
> > -Subject: [PATCH 01/10] configure: use $host_alias-libtool instead of libtool
> > - directly
> > -
> > -Poky renames libtool to $host_alias-libtool.
> > -./$host_alias-libtool isn't created until after configure runs with
> > -libtool >= 2.2.2
> > -so we can't call # it at this point. We can safely assume a version is
> > -available
> > -from PATH though
> > -
> > -Rebased to glib-2.27.3 by Dongxiao Xu <dongxiao.xu@intel.com>
> > -Rebased to glib-2.32.1 by Martin Jansa <Martin.Jansa@gmail.com>
> > -Rebased to glib-2.31.20+ by Andre McCurdy <armccurdy@gmail.com>
> > -
> > -Upstream-Status: Inappropriate [configuration]
> > -
> > -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> > -
> > ----
> > - configure.ac | 4 ++--
> > - 1 file changed, 2 insertions(+), 2 deletions(-)
> > -
> > -diff --git a/configure.ac b/configure.ac
> > -index 6fa6eb0..b6f78a6 100644
> > ---- a/configure.ac
> > -+++ b/configure.ac
> > -@@ -1428,9 +1428,9 @@ AS_IF([ test "$G_MODULE_IMPL" = "G_MODULE_IMPL_DL" ], [
> > -       LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
> > - dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness
> > -       echo "void glib_plugin_test(void) { }" > plugin.c
> > --      ${SHELL} ./libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \
> > -+      ${SHELL} ./$host_alias-libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \
> > -               ${CPPFLAGS} -c -o plugin.lo plugin.c >/dev/null 2>&1
> > --      ${SHELL} ./libtool --mode=link --tag=CC ${CC} ${CFLAGS} \
> > -+      ${SHELL} ./$host_alias-libtool --mode=link --tag=CC ${CC} ${CFLAGS} \
> > -               ${LDFLAGS} -module -o plugin.la -export-dynamic \
> > -               -shrext ".o" -avoid-version plugin.lo \
> > -               -rpath /dont/care >/dev/null 2>&1
> > ---
> > -2.14.1
> > -
> > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
> > index 9ec011a0950..d62429b9729 100644
> > --- a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
> > +++ b/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
> > @@ -1,4 +1,4 @@
> > -From 43967e85b7a87f9c2e780504ef30f4c9bf56f8f5 Mon Sep 17 00:00:00 2001
> > +From ca9ab8975e46217fdb391610a07b8b16986b5a19 Mon Sep 17 00:00:00 2001
> >  From: Ross Burton <ross.burton@intel.com>
> >  Date: Fri, 11 Mar 2016 15:35:55 +0000
> >  Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds
> > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch b/meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch
> > deleted file mode 100644
> > index 7aa6217d693..00000000000
> > --- a/meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch
> > +++ /dev/null
> > @@ -1,22 +0,0 @@
> > -Fix DATADIRNAME on uclibc/Linux
> > -
> > -translation files are always installed under PREFIX/share/locale in uclibc
> > -based systems therefore lets set DATADIRNAME to "share".
> > -
> > -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > -Upstream-Status: Pending
> > -Index: glib-2.46.1/m4macros/glib-gettext.m4
> > -===================================================================
> > ---- glib-2.46.1.orig/m4macros/glib-gettext.m4
> > -+++ glib-2.46.1/m4macros/glib-gettext.m4
> > -@@ -243,6 +243,10 @@ msgstr ""
> > -           CATOBJEXT=.mo
> > -             DATADIRNAME=share
> > -           ;;
> > -+          *-*-musl* | *-*-linux-uclibc*)
> > -+          CATOBJEXT=.gmo
> > -+            DATADIRNAME=share
> > -+          ;;
> > -           *)
> > -           CATOBJEXT=.mo
> > -             DATADIRNAME=lib
> > diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb
> > index 8aad570fa9d..9bc18dac7ee 100644
> > --- a/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb
> > +++ b/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb
> > @@ -5,15 +5,15 @@ PE = "1"
> >  SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
> >
> >  SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
> > -           file://configure-libtool.patch \
> >             file://run-ptest \
> > -           file://uclibc_musl_translation.patch \
> >             file://Enable-more-tests-while-cross-compiling.patch \
> >             file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \
> >             file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \
> >             file://0001-Do-not-ignore-return-value-of-write.patch \
> >             file://0010-Do-not-hardcode-python-path-into-various-tools.patch \
> >             file://0001-Revert-Use-absolute-paths-in-pkg-config-files.patch \
> > +           file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \
> > +           file://0001-Do-not-write-bindir-into-pkg-config-files.patch \
> >             "
> >
> >  SRC_URI_append_class-native = " file://relocate-modules.patch"
> > diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc
> > index a186c1d9eb6..b57fb698684 100644
> > --- a/meta/recipes-core/glib-2.0/glib.inc
> > +++ b/meta/recipes-core/glib-2.0/glib.inc
> > @@ -29,7 +29,11 @@ PACKAGES += "${PN}-codegen ${PN}-utils"
> >
> >  LEAD_SONAME = "libglib-2.0.*"
> >
> > -inherit autotools gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages distro_features_check
> > +inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages distro_features_check
> > +
> > +# This avoids the need to depend on target python3, which in case of mingw is not even possible.
> > +# meson's python configuration pokes into python3 configuration, so this provides the native config to it.
> > +unset _PYTHON_SYSCONFIGDATA_NAME
> >
> >  REQUIRED_DISTRO_FEATURES_libc-glibc = "${@'libc-charsets libc-locale-code libc-locales' if bb.utils.contains('DISTRO_FEATURES', 'ptest', True, False, d) else ''}"
> >
> > @@ -37,21 +41,17 @@ S = "${WORKDIR}/glib-${PV}"
> >
> >  PACKAGECONFIG ??= "system-pcre libmount"
> >  # To use the system pcre it must be configured with --enable-unicode-properties
> > -PACKAGECONFIG[system-pcre] = "--with-pcre=system,--with-pcre=internal,libpcre"
> > -PACKAGECONFIG[libmount] = "--enable-libmount,--disable-libmount,util-linux"
> > -PACKAGECONFIG[manpages] = "--enable-man --with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog.xml, --disable-man, libxslt-native xmlto-native"
> > -PACKAGECONFIG[libelf] = "--enable-libelf,--disable-libelf,elfutils"
> > -
> > -CORECONF = "--disable-dtrace --disable-fam --disable-systemtap"
> > +PACKAGECONFIG[system-pcre] = "-Dinternal_pcre=false,-Dinternal_pcre=true,libpcre"
> > +PACKAGECONFIG[libmount] = "-Dlibmount=true,-Dlibmount=false,util-linux"
> > +PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native"
> > +# libelf is auto-detected without a configuration option
> > +PACKAGECONFIG[libelf] = ",,elfutils"
> >
> > -PRINTF = "--enable-included-printf=no"
> > -PRINTF_darwin = "--enable-included-printf=yes"
> > -PRINTF_mingw32 = "--enable-included-printf=yes"
> > -EXTRA_OECONF = "${PRINTF} ${CORECONF}"
> > -EXTRA_OECONF_class-native = "${CORECONF} --disable-selinux"
> > +CORECONF = "-Ddtrace=false -Dfam=false -Dsystemtap=false -Dselinux=false"
> >
> > -# Tell configure that we'll have dbus-daemon on the target for the tests
> > -EXTRA_OECONF_append_class-target = " ${@bb.utils.contains('PTEST_ENABLED', '1', ' ac_cv_prog_DBUS_DAEMON=dbus-daemon', '', d)}"
> > +EXTRA_OEMESON = "${CORECONF} ${@bb.utils.contains('PTEST_ENABLED', '1', '-Dinstalled_tests=true', '-Dinstalled_tests=false', d)}"
> > +EXTRA_OEMESON_class-native = "${CORECONF} -Dinstalled_tests=false"
> > +EXTRA_OEMESON_class-nativesdk = "${CORECONF} -Dinstalled_tests=false"
> >
> >  do_configure_prepend() {
> >         sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in
> > @@ -129,6 +129,11 @@ do_install_append_class-target () {
> >         fi
> >  }
> >
> > +# As we do not build python3 for windows, makes no sense to ship the script that's using it
> > +do_install_append_mingw32() {
> > +        rm -f ${D}${bindir}/gtester-report
> > +}
> > +
> >  CODEGEN_PYTHON_RDEPENDS = "python3 python3-distutils python3-xml"
> >  CODEGEN_PYTHON_RDEPENDS_mingw32 = ""
> >
> > --
> > 2.17.1
> >
> > --
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core@lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 1/8] clutter-gtk-1.0: convert to meson
@ 2019-02-19 13:58 Alexander Kanavin
  0 siblings, 0 replies; 11+ messages in thread
From: Alexander Kanavin @ 2019-02-19 13:58 UTC (permalink / raw)
  To: openembedded-core

This required adding an option to control gobject introspection
via a custom patch, and tweaking clutter.bbclass to not enforce
autotools.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/classes/clutter.bbclass                  |  3 +-
 .../clutter/clutter-gtk-1.0.inc               | 20 +++++++++-
 ...iable-for-enabling-disabling-introsp.patch | 37 +++++++++++++++++++
 .../clutter/clutter-gtk-1.0_1.8.4.bb          |  1 +
 4 files changed, 58 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch

diff --git a/meta/classes/clutter.bbclass b/meta/classes/clutter.bbclass
index 5edab0e55d6..24b53a13e40 100644
--- a/meta/classes/clutter.bbclass
+++ b/meta/classes/clutter.bbclass
@@ -14,4 +14,5 @@ REALNAME = "${@get_real_name("${BPN}")}"
 SRC_URI = "${GNOME_MIRROR}/${REALNAME}/${VERMINOR}/${REALNAME}-${PV}.tar.xz;name=archive"
 S = "${WORKDIR}/${REALNAME}-${PV}"
 
-inherit autotools pkgconfig gtk-doc gettext
+CLUTTERBASEBUILDCLASS ??= "autotools"
+inherit ${CLUTTERBASEBUILDCLASS} pkgconfig gtk-doc gettext
diff --git a/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc b/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc
index 05c4e5f5caa..4e82f566057 100644
--- a/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc
+++ b/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc
@@ -2,7 +2,9 @@ SUMMARY = "Library for embedding a Clutter canvas in a GTK+ application"
 HOMEPAGE = "http://www.clutter-project.org/"
 LICENSE = "LGPLv2+"
 
-inherit clutter distro_features_check upstream-version-is-even gobject-introspection
+CLUTTERBASEBUILDCLASS = "meson"
+inherit clutter distro_features_check upstream-version-is-even gobject-introspection gtk-doc
+
 # depends on clutter-1.0 which depends on cogl-1.0
 REQUIRED_DISTRO_FEATURES ?= "opengl"
 # depends on gtk+3
@@ -10,6 +12,20 @@ ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 DEPENDS = "clutter-1.0 gtk+3"
 PACKAGES  =+ "${PN}-examples"
-AUTOTOOLS_AUXDIR = "${S}/build"
+
+GTKDOC_ENABLE_FLAG = "-Denable_docs=true"
+GTKDOC_DISABLE_FLAG = "-Denable_docs=false"
+
+GI_ENABLE_FLAG = "-Denable_gi=true"
+GI_DISABLE_FLAG = "-Denable_gi=false"
+
+EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}"
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
+                                                                                       '${GI_DISABLE_FLAG}', d)} "
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
+                                                                                     '${GTKDOC_DISABLE_FLAG}', d)} "
+
 
 
diff --git a/meta/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch b/meta/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch
new file mode 100644
index 00000000000..e21c6fd9036
--- /dev/null
+++ b/meta/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch
@@ -0,0 +1,37 @@
+From 7233883c6bd4e80c0e91b29b5c76fe798023e9fe Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 11 Feb 2019 16:41:13 +0100
+Subject: [PATCH] Add a config variable for enabling/disabling introspection
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ clutter-gtk/meson.build | 2 +-
+ meson_options.txt       | 4 ++++
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/clutter-gtk/meson.build b/clutter-gtk/meson.build
+index 5d6847d..5d934b6 100644
+--- a/clutter-gtk/meson.build
++++ b/clutter-gtk/meson.build
+@@ -49,7 +49,7 @@ clutter_gtk_dep = declare_dependency(link_with: clutter_gtk,
+                                      dependencies: [ mathlib_dep, clutter_dep, gtk_dep ],
+                                      include_directories: include_directories('.'))
+ 
+-if not meson.is_cross_build()
++if get_option('enable_gi')
+   gnome.generate_gir(clutter_gtk,
+                      sources: clutter_gtk_headers + clutter_gtk_sources,
+                      namespace: 'GtkClutter',
+diff --git a/meson_options.txt b/meson_options.txt
+index aaf59f1..b7e51c3 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -2,3 +2,7 @@ option('enable_docs',
+        type: 'boolean',
+        value: false,
+        description: 'Enable generating the API reference (depends on GTK-Doc)')
++option('enable_gi',
++       type: 'boolean',
++       value: false,
++       description: 'Enable gobject introspection')
diff --git a/meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb b/meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb
index f0300c7164c..53948c89442 100644
--- a/meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb
+++ b/meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb
@@ -2,5 +2,6 @@ require clutter-gtk-1.0.inc
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
 
+SRC_URI += " file://0001-Add-a-config-variable-for-enabling-disabling-introsp.patch"
 SRC_URI[archive.md5sum] = "b363ac9878e2337be887b8ee9e1da00e"
 SRC_URI[archive.sha256sum] = "521493ec038973c77edcb8bc5eac23eed41645117894aaee7300b2487cb42b06"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2019-02-19 13:58 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-18 12:41 [PATCH 1/8] clutter-gtk-1.0: convert to meson Alexander Kanavin
2019-02-18 12:41 ` [PATCH 2/8] meson: add a couple of patches to help with mingw builds Alexander Kanavin
2019-02-18 12:41 ` [PATCH 3/8] gdk-pixbuf: convert from autotools to meson Alexander Kanavin
2019-02-18 12:41 ` [PATCH 4/8] libsoup-2.4: " Alexander Kanavin
2019-02-18 12:41 ` [PATCH 5/8] libxkbcommon: update to 0.8.3 Alexander Kanavin
2019-02-18 12:41 ` [PATCH 6/8] pango: convert from autotools to meson Alexander Kanavin
2019-02-18 12:41 ` [PATCH 7/8] glib-2.0: " Alexander Kanavin
2019-02-19  6:57   ` Khem Raj
2019-02-19  9:41     ` Alexander Kanavin
2019-02-18 12:41 ` [PATCH 8/8] llvm: switch to the official git repository Alexander Kanavin
2019-02-19 13:58 [PATCH 1/8] clutter-gtk-1.0: convert to meson Alexander Kanavin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.