* [PATCH v2] meson: Port pkgconfig-native patch to 0.43.0
@ 2017-11-16 17:45 Ricardo Ribalda Delgado
2017-11-16 17:54 ` Alexander Kanavin
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Ricardo Ribalda Delgado @ 2017-11-16 17:45 UTC (permalink / raw)
To: openembedded-core, Alexander Kanavin
The update to 0.43.0 forgot to add this patch required for qt builds.
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
This patch sits on top of Alexander Kanavin's "Introduce meson build
system" patchset.
.../meson/meson/0003-native_bindir.patch | 95 ++++++++++++++++++++++
meta/recipes-devtools/meson/meson_0.43.0.bb | 1 +
2 files changed, 96 insertions(+)
create mode 100644 meta/recipes-devtools/meson/meson/0003-native_bindir.patch
diff --git a/meta/recipes-devtools/meson/meson/0003-native_bindir.patch b/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
new file mode 100644
index 000000000000..1df1536a7228
--- /dev/null
+++ b/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
@@ -0,0 +1,95 @@
+From 01dd18c9c9c042268b87d576624c16fc74253cd9 Mon Sep 17 00:00:00 2001
+From: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
+Date: Wed, 15 Nov 2017 15:05:01 +0100
+Subject: [PATCH] native_bindir
+
+Some libraries, like QT, have pre-processors that convert their input
+files into something that the cross-compiler can process. We find the
+path of those pre-processors via pkg-config-native instead of
+pkg-config.
+
+This path forces the use of pkg-config-native for host_bins arguments.
+
+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@gmail.com>
+---
+ mesonbuild/dependencies/base.py | 14 +++++++++-----
+ mesonbuild/dependencies/ui.py | 6 +++---
+ 2 files changed, 12 insertions(+), 8 deletions(-)
+
+diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py
+index 0d9742d426cb..0c8e79a8e9e3 100644
+--- a/mesonbuild/dependencies/base.py
++++ b/mesonbuild/dependencies/base.py
+@@ -114,7 +114,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 NotImplementedError('{!r} is not a pkgconfig dependency'.format(self.name))
+
+
+@@ -256,8 +256,12 @@ class PkgConfigDependency(ExternalDependency):
+ 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):
+@@ -291,8 +295,8 @@ class PkgConfigDependency(ExternalDependency):
+ self.is_libtool = True
+ self.link_args.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:
+diff --git a/mesonbuild/dependencies/ui.py b/mesonbuild/dependencies/ui.py
+index 8f183e54d4d2..34ef33e79ad9 100644
+--- a/mesonbuild/dependencies/ui.py
++++ b/mesonbuild/dependencies/ui.py
+@@ -239,7 +239,7 @@ class QtBaseDependency(ExternalDependency):
+ 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')
+
+@@ -359,7 +359,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
+
+@@ -369,7 +369,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)
+
+
+ # There are three different ways of depending on SDL2:
+--
+2.15.0
+
diff --git a/meta/recipes-devtools/meson/meson_0.43.0.bb b/meta/recipes-devtools/meson/meson_0.43.0.bb
index bbb48d9197c0..403f744c1cf5 100644
--- a/meta/recipes-devtools/meson/meson_0.43.0.bb
+++ b/meta/recipes-devtools/meson/meson_0.43.0.bb
@@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/${BP}.tar.gz \
file://0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch \
file://0002-gobject-introspection-determine-g-ir-scanner-and-g-i.patch \
+ file://0003-native_bindir.patch \
"
SRC_URI[md5sum] = "b0d389cc5937928c2f5114656dc5a99a"
SRC_URI[sha256sum] = "c513eca90e0d70bf14cd1eaafea2fa91cf40a73326a7ff61f08a005048057340"
--
2.15.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2] meson: Port pkgconfig-native patch to 0.43.0
2017-11-16 17:45 [PATCH v2] meson: Port pkgconfig-native patch to 0.43.0 Ricardo Ribalda Delgado
@ 2017-11-16 17:54 ` Alexander Kanavin
2017-11-16 17:57 ` Ricardo Ribalda Delgado
2017-11-17 22:53 ` ✗ patchtest: failure for meson: Port pkgconfig-native patch to 0.43.0 (rev2) Patchwork
2017-11-18 0:11 ` Patchwork
2 siblings, 1 reply; 10+ messages in thread
From: Alexander Kanavin @ 2017-11-16 17:54 UTC (permalink / raw)
To: Ricardo Ribalda Delgado, openembedded-core
On 11/16/2017 07:45 PM, Ricardo Ribalda Delgado wrote:
> +Some libraries, like QT, have pre-processors that convert their input
> +files into something that the cross-compiler can process. We find the
> +path of those pre-processors via pkg-config-native instead of
> +pkg-config.
> +
> +This path forces the use of pkg-config-native for host_bins arguments.
> +
> +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
Does the snippet from Martin's patch that I just commented on solve this
issue in a much simpler way?
Alex
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] meson: Port pkgconfig-native patch to 0.43.0
2017-11-16 17:54 ` Alexander Kanavin
@ 2017-11-16 17:57 ` Ricardo Ribalda Delgado
2017-12-15 15:27 ` Alexander Kanavin
0 siblings, 1 reply; 10+ messages in thread
From: Ricardo Ribalda Delgado @ 2017-11-16 17:57 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: openembedded-core
On Thu, Nov 16, 2017 at 6:54 PM, Alexander Kanavin
<alexander.kanavin@linux.intel.com> wrote:
> On 11/16/2017 07:45 PM, Ricardo Ribalda Delgado wrote:
>>
>> +Some libraries, like QT, have pre-processors that convert their input
>> +files into something that the cross-compiler can process. We find the
>> +path of those pre-processors via pkg-config-native instead of
>> +pkg-config.
>> +
>> +This path forces the use of pkg-config-native for host_bins arguments.
>> +
>> +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
>
>
> Does the snippet from Martin's patch that I just commented on solve this
> issue in a much simpler way?
I am afraid not. We need to call pkg-config for getting the -libs
-cflags, et all, and pkg-config-native for --host_bins We cannot use
the same pkg-config for all unfortunatelly.
>
> Alex
--
Ricardo Ribalda
^ permalink raw reply [flat|nested] 10+ messages in thread
* ✗ patchtest: failure for meson: Port pkgconfig-native patch to 0.43.0 (rev2)
2017-11-16 17:45 [PATCH v2] meson: Port pkgconfig-native patch to 0.43.0 Ricardo Ribalda Delgado
2017-11-16 17:54 ` Alexander Kanavin
@ 2017-11-17 22:53 ` Patchwork
2017-11-18 0:11 ` Patchwork
2 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2017-11-17 22:53 UTC (permalink / raw)
To: Ricardo Ribalda Delgado; +Cc: openembedded-core
== Series Details ==
Series: meson: Port pkgconfig-native patch to 0.43.0 (rev2)
Revision: 2
URL : https://patchwork.openembedded.org/series/9834/
State : failure
== Summary ==
Thank you for submitting this patch series to OpenEmbedded Core. This is
an automated response. Several tests have been executed on the proposed
series by patchtest resulting in the following failures:
* Issue Series does not apply on top of target branch [test_series_merge_on_head]
Suggested fix Rebase your series on top of targeted branch
Targeted branch master (currently at a17f3ec910)
If you believe any of these test results are incorrect, please reply to the
mailing list (openembedded-core@lists.openembedded.org) raising your concerns.
Otherwise we would appreciate you correcting the issues and submitting a new
version of the patchset if applicable. Please ensure you add/increment the
version number when sending the new version (i.e. [PATCH] -> [PATCH v2] ->
[PATCH v3] -> ...).
---
Guidelines: https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe
^ permalink raw reply [flat|nested] 10+ messages in thread
* ✗ patchtest: failure for meson: Port pkgconfig-native patch to 0.43.0 (rev2)
2017-11-16 17:45 [PATCH v2] meson: Port pkgconfig-native patch to 0.43.0 Ricardo Ribalda Delgado
2017-11-16 17:54 ` Alexander Kanavin
2017-11-17 22:53 ` ✗ patchtest: failure for meson: Port pkgconfig-native patch to 0.43.0 (rev2) Patchwork
@ 2017-11-18 0:11 ` Patchwork
2 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2017-11-18 0:11 UTC (permalink / raw)
To: Ricardo Ribalda Delgado; +Cc: openembedded-core
== Series Details ==
Series: meson: Port pkgconfig-native patch to 0.43.0 (rev2)
Revision: 2
URL : https://patchwork.openembedded.org/series/9834/
State : failure
== Summary ==
Thank you for submitting this patch series to OpenEmbedded Core. This is
an automated response. Several tests have been executed on the proposed
series by patchtest resulting in the following failures:
* Issue Series does not apply on top of target branch [test_series_merge_on_head]
Suggested fix Rebase your series on top of targeted branch
Targeted branch master (currently at a17f3ec910)
If you believe any of these test results are incorrect, please reply to the
mailing list (openembedded-core@lists.openembedded.org) raising your concerns.
Otherwise we would appreciate you correcting the issues and submitting a new
version of the patchset if applicable. Please ensure you add/increment the
version number when sending the new version (i.e. [PATCH] -> [PATCH v2] ->
[PATCH v3] -> ...).
---
Guidelines: https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] meson: Port pkgconfig-native patch to 0.43.0
2017-11-16 17:57 ` Ricardo Ribalda Delgado
@ 2017-12-15 15:27 ` Alexander Kanavin
2017-12-15 15:50 ` Ricardo Ribalda Delgado
0 siblings, 1 reply; 10+ messages in thread
From: Alexander Kanavin @ 2017-12-15 15:27 UTC (permalink / raw)
To: Ricardo Ribalda Delgado; +Cc: openembedded-core
On 11/16/2017 07:57 PM, Ricardo Ribalda Delgado wrote:
>>> +Some libraries, like QT, have pre-processors that convert their input
>>> +files into something that the cross-compiler can process. We find the
>>> +path of those pre-processors via pkg-config-native instead of
>>> +pkg-config.
>>> +
>>> +This path forces the use of pkg-config-native for host_bins arguments.
>>> +
>>> +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
>>
>>
>> Does the snippet from Martin's patch that I just commented on solve this
>> issue in a much simpler way?
>
> I am afraid not. We need to call pkg-config for getting the -libs
> -cflags, et all, and pkg-config-native for --host_bins We cannot use
> the same pkg-config for all unfortunatelly.
Unfortunately, the same patch needs to be ported again to 0.44.0, as the
changes upstream made are non-trivial. Can you do that please?
Alex
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] meson: Port pkgconfig-native patch to 0.43.0
2017-12-15 15:27 ` Alexander Kanavin
@ 2017-12-15 15:50 ` Ricardo Ribalda Delgado
2017-12-15 15:54 ` Alexander Kanavin
0 siblings, 1 reply; 10+ messages in thread
From: Ricardo Ribalda Delgado @ 2017-12-15 15:50 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: openembedded-core
On Fri, Dec 15, 2017 at 4:27 PM, Alexander Kanavin
<alexander.kanavin@linux.intel.com> wrote:
> On 11/16/2017 07:57 PM, Ricardo Ribalda Delgado wrote:
>
>>>> +Some libraries, like QT, have pre-processors that convert their input
>>>> +files into something that the cross-compiler can process. We find the
>>>> +path of those pre-processors via pkg-config-native instead of
>>>> +pkg-config.
>>>> +
>>>> +This path forces the use of pkg-config-native for host_bins arguments.
>>>> +
>>>> +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
>>>
>>>
>>>
>>> Does the snippet from Martin's patch that I just commented on solve this
>>> issue in a much simpler way?
>>
>>
>> I am afraid not. We need to call pkg-config for getting the -libs
>> -cflags, et all, and pkg-config-native for --host_bins We cannot use
>> the same pkg-config for all unfortunatelly.
>
>
> Unfortunately, the same patch needs to be ported again to 0.44.0, as the
> changes upstream made are non-trivial. Can you do that please?
Sure,
can you wait til monday? I have all my test tools setup in the office
>
> Alex
--
Ricardo Ribalda
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] meson: Port pkgconfig-native patch to 0.43.0
2017-12-15 15:50 ` Ricardo Ribalda Delgado
@ 2017-12-15 15:54 ` Alexander Kanavin
2017-12-18 14:26 ` Ricardo Ribalda Delgado
0 siblings, 1 reply; 10+ messages in thread
From: Alexander Kanavin @ 2017-12-15 15:54 UTC (permalink / raw)
To: Ricardo Ribalda Delgado; +Cc: openembedded-core
On 12/15/2017 05:50 PM, Ricardo Ribalda Delgado wrote:
>> Unfortunately, the same patch needs to be ported again to 0.44.0, as the
>> changes upstream made are non-trivial. Can you do that please?
>
> Sure,
>
> can you wait til monday? I have all my test tools setup in the office
Yes, sure. In a moment I'll publish a new patchset that introduces meson
0.44 and drops your previous 0.43-compatible version of the patch, and
then you can rebase on top of that and send to the list.
Going forward, maybe you should convince upstream to take it after all...
Alex
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] meson: Port pkgconfig-native patch to 0.43.0
2017-12-15 15:54 ` Alexander Kanavin
@ 2017-12-18 14:26 ` Ricardo Ribalda Delgado
2017-12-19 7:48 ` Alexander Kanavin
0 siblings, 1 reply; 10+ messages in thread
From: Ricardo Ribalda Delgado @ 2017-12-18 14:26 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: openembedded-core
Hello
On Fri, Dec 15, 2017 at 4:54 PM, Alexander Kanavin
<alexander.kanavin@linux.intel.com> wrote:
> On 12/15/2017 05:50 PM, Ricardo Ribalda Delgado wrote:
>
>>> Unfortunately, the same patch needs to be ported again to 0.44.0, as the
>>> changes upstream made are non-trivial. Can you do that please?
>>
>>
>> Sure,
>>
>> can you wait til monday? I have all my test tools setup in the office
>
>
> Yes, sure. In a moment I'll publish a new patchset that introduces meson
> 0.44 and drops your previous 0.43-compatible version of the patch, and then
> you can rebase on top of that and send to the list.
Sent
Feel free to include it to your patchset if you need a v6
Regards!
>
> Going forward, maybe you should convince upstream to take it after all...
:), sure
>
> Alex
--
Ricardo Ribalda
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] meson: Port pkgconfig-native patch to 0.43.0
2017-12-18 14:26 ` Ricardo Ribalda Delgado
@ 2017-12-19 7:48 ` Alexander Kanavin
0 siblings, 0 replies; 10+ messages in thread
From: Alexander Kanavin @ 2017-12-19 7:48 UTC (permalink / raw)
To: Ricardo Ribalda Delgado; +Cc: openembedded-core
On 12/18/2017 04:26 PM, Ricardo Ribalda Delgado wrote:
>> Yes, sure. In a moment I'll publish a new patchset that introduces meson
>> 0.44 and drops your previous 0.43-compatible version of the patch, and then
>> you can rebase on top of that and send to the list.
> Sent
>
> Feel free to include it to your patchset if you need a v6
Thanks, I guess Ross can take it directly, but I'll add it if another
resend of the whole set is needed.
Alex
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2017-12-19 7:47 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-16 17:45 [PATCH v2] meson: Port pkgconfig-native patch to 0.43.0 Ricardo Ribalda Delgado
2017-11-16 17:54 ` Alexander Kanavin
2017-11-16 17:57 ` Ricardo Ribalda Delgado
2017-12-15 15:27 ` Alexander Kanavin
2017-12-15 15:50 ` Ricardo Ribalda Delgado
2017-12-15 15:54 ` Alexander Kanavin
2017-12-18 14:26 ` Ricardo Ribalda Delgado
2017-12-19 7:48 ` Alexander Kanavin
2017-11-17 22:53 ` ✗ patchtest: failure for meson: Port pkgconfig-native patch to 0.43.0 (rev2) Patchwork
2017-11-18 0:11 ` Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox