[oe] [meta-oe][PATCH v2] meson: Port pkgconfig-native patch to 0.40.1

Ricardo Ribalda Delgado ricardo.ribalda at gmail.com
Sat Jul 1 08:47:31 UTC 2017


The update to 0.40.1 did not add this patch required for qt builds.

Fixes: 163abe723deb ("meson: update Meson devtool to 0.40.1")
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda at gmail.com>
---
 .../meson/meson/native_bindir.patch                | 71 ++++++++++++++++++++++
 meta-oe/recipes-devtools/meson/meson_0.40.1.bb     |  1 +
 2 files changed, 72 insertions(+)
 create mode 100644 meta-oe/recipes-devtools/meson/meson/native_bindir.patch

diff --git a/meta-oe/recipes-devtools/meson/meson/native_bindir.patch b/meta-oe/recipes-devtools/meson/meson/native_bindir.patch
new file mode 100644
index 000000000000..993e9750e33e
--- /dev/null
+++ b/meta-oe/recipes-devtools/meson/meson/native_bindir.patch
@@ -0,0 +1,71 @@
+There are some discussions upstream to merge this patch, but I presonaly believe
+that is is OE only. https://github.com/mesonbuild/meson/issues/1849#issuecomment-303730323
+
+Upstream-Status: Inappropriate [OE specific]
+Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda at gmail.com>
+diff --git a/mesonbuild/dependencies.py b/mesonbuild/dependencies.py
+index 04a22f985941..3e33bc4a79e7 100644
+--- a/mesonbuild/dependencies.py
++++ b/mesonbuild/dependencies.py
+@@ -95,7 +95,7 @@ class Dependency:
+     def need_threads(self):
+         return False
+ 
+-    def get_pkgconfig_variable(self, variable_name):
++    def get_pkgconfig_variable(self, variable_name, use_native=False):
+         raise MesonException('Tried to get a pkg-config variable from a non-pkgconfig dependency.')
+ 
+ class InternalDependency(Dependency):
+@@ -224,8 +224,12 @@ class PkgConfigDependency(Dependency):
+         return s.format(self.__class__.__name__, self.name, self.is_found,
+                         self.version_reqs)
+ 
+-    def _call_pkgbin(self, args):
+-        p, out = Popen_safe([self.pkgbin] + args, env=os.environ)[0:2]
++    def _call_pkgbin(self, args, use_native=False):
++        if use_native:
++            pkgbin = [self.pkgbin + "-native"]
++        else:
++            pkgbin = [self.pkgbin]
++        p, out = Popen_safe(pkgbin + args, env=os.environ)[0:2]
+         return p.returncode, out.strip()
+ 
+     def _set_cargs(self):
+@@ -259,8 +263,8 @@ class PkgConfigDependency(Dependency):
+                 self.is_libtool = True
+             self.libs.append(lib)
+ 
+-    def get_pkgconfig_variable(self, variable_name):
+-        ret, out = self._call_pkgbin(['--variable=' + variable_name, self.name])
++    def get_pkgconfig_variable(self, variable_name, use_native=False):
++        ret, out = self._call_pkgbin(['--variable=' + variable_name, self.name], use_native=use_native)
+         variable = ''
+         if ret != 0:
+             if self.required:
+@@ -1091,7 +1095,7 @@ class QtBaseDependency(Dependency):
+         self.bindir = self.get_pkgconfig_host_bins(core)
+         if not self.bindir:
+             # If exec_prefix is not defined, the pkg-config file is broken
+-            prefix = core.get_pkgconfig_variable('exec_prefix')
++            prefix = core.get_pkgconfig_variable('exec_prefix', use_native=True)
+             if prefix:
+                 self.bindir = os.path.join(prefix, 'bin')
+ 
+@@ -1202,7 +1206,7 @@ class Qt5Dependency(QtBaseDependency):
+         QtBaseDependency.__init__(self, 'qt5', env, kwargs)
+ 
+     def get_pkgconfig_host_bins(self, core):
+-        return core.get_pkgconfig_variable('host_bins')
++        return core.get_pkgconfig_variable('host_bins', use_native=True)
+ 
+ class Qt4Dependency(QtBaseDependency):
+     def __init__(self, env, kwargs):
+@@ -1216,7 +1220,7 @@ class Qt4Dependency(QtBaseDependency):
+         applications = ['moc', 'uic', 'rcc', 'lupdate', 'lrelease']
+         for application in applications:
+             try:
+-                return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application))
++                return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application, use_native=True))
+             except MesonException:
+                 pass
+ 
diff --git a/meta-oe/recipes-devtools/meson/meson_0.40.1.bb b/meta-oe/recipes-devtools/meson/meson_0.40.1.bb
index ab54b8c79d29..14644ba9ba0a 100644
--- a/meta-oe/recipes-devtools/meson/meson_0.40.1.bb
+++ b/meta-oe/recipes-devtools/meson/meson_0.40.1.bb
@@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
 SRC_URI = " \
     git://github.com/mesonbuild/meson.git \
+    file://native_bindir.patch \
 "
 
 SRCREV = "b25d3e4d3f2b4d37029a507cc089bdde643c6240"
-- 
2.11.0




More information about the Openembedded-devel mailing list