All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Kanavin <alex.kanavin@gmail.com>
To: openembedded-core@lists.openembedded.org
Subject: [PATCH] meson: add a backported patch to address vala cross-compilation errors
Date: Fri,  2 Aug 2019 17:57:47 +0200	[thread overview]
Message-ID: <20190802155747.9285-1-alex.kanavin@gmail.com> (raw)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-devtools/meson/meson.inc         |  1 +
 .../meson/meson/vala-cross-compile.patch      | 50 +++++++++++++++++++
 2 files changed, 51 insertions(+)
 create mode 100644 meta/recipes-devtools/meson/meson/vala-cross-compile.patch

diff --git a/meta/recipes-devtools/meson/meson.inc b/meta/recipes-devtools/meson/meson.inc
index b9a05967f46..662368e2196 100644
--- a/meta/recipes-devtools/meson/meson.inc
+++ b/meta/recipes-devtools/meson/meson.inc
@@ -15,6 +15,7 @@ SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P
            file://0001-mesonbuild-environment.py-do-not-determine-whether-a.patch \
            file://0001-mesonbuild-environment.py-check-environment-for-vari.patch \
            file://0001-modules-python.py-do-not-substitute-python-s-install.patch \
+           file://vala-cross-compile.patch \
            "
 SRC_URI[sha256sum] = "f27b7a60f339ba66fe4b8f81f0d1072e090a08eabbd6aa287683b2c2b9dd2d82"
 SRC_URI[md5sum] = "48787e391ec5c052799a3dd491f73909"
diff --git a/meta/recipes-devtools/meson/meson/vala-cross-compile.patch b/meta/recipes-devtools/meson/meson/vala-cross-compile.patch
new file mode 100644
index 00000000000..816f810c054
--- /dev/null
+++ b/meta/recipes-devtools/meson/meson/vala-cross-compile.patch
@@ -0,0 +1,50 @@
+From 77c3e6a4aaed07e626f4bf4deb7eb66e0f03a33d Mon Sep 17 00:00:00 2001
+From: James Westman <flyingpimonster@flyingpimonster.net>
+Date: Mon, 24 Jun 2019 12:04:12 -0500
+Subject: [PATCH] Fix two errors when cross-compiling with Vala
+
+- AttributeError: 'ValaCompiler' object has no attribute 'get_program_dirs'
+
+  Fixed by adding a `get_program_dirs()` function to the base Compiler
+  class, to match `get_library_dirs()`
+
+- KeyError: 'vala_COMPILER'
+
+  Fixed by creating the Vala compile rules for all machines, not just
+  the build machine.
+
+Upstream-Status: Backport [https://github.com/mesonbuild/meson/commit/77c3e6a4aaed07e626f4bf4deb7eb66e0f03a33d]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ mesonbuild/backend/ninjabackend.py | 3 +--
+ mesonbuild/compilers/compilers.py  | 3 +++
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
+index a454e6ab5f..b830e377e4 100644
+--- a/mesonbuild/backend/ninjabackend.py
++++ b/mesonbuild/backend/ninjabackend.py
+@@ -1653,8 +1653,7 @@ def generate_compile_rule_for(self, langname, compiler):
+                 self.generate_cs_compile_rule(compiler)
+             return
+         if langname == 'vala':
+-            if self.environment.machines.matches_build_machine(compiler.for_machine):
+-                self.generate_vala_compile_rules(compiler)
++            self.generate_vala_compile_rules(compiler)
+             return
+         if langname == 'rust':
+             self.generate_rust_compile_rules(compiler)
+diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
+index 5855de71c8..86c1e33407 100644
+--- a/mesonbuild/compilers/compilers.py
++++ b/mesonbuild/compilers/compilers.py
+@@ -1117,6 +1117,9 @@ def find_library(self, *args, **kwargs):
+     def get_library_dirs(self, *args, **kwargs):
+         return ()
+ 
++    def get_program_dirs(self, *args, **kwargs):
++        return ()
++
+     def has_multi_arguments(self, args, env) -> Tuple[bool, bool]:
+         raise EnvironmentException(
+             'Language {} does not support has_multi_arguments.'.format(
-- 
2.17.1



             reply	other threads:[~2019-08-02 15:57 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-02 15:57 Alexander Kanavin [this message]
2019-08-02 16:31 ` ✗ patchtest: failure for meson: add a backported patch to address vala cross-compilation errors Patchwork
2019-08-02 16:36   ` Alexander Kanavin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190802155747.9285-1-alex.kanavin@gmail.com \
    --to=alex.kanavin@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.