As discussed in https://github.com/mesonbuild/meson/issues/2567 there
needs to be a way to allow our rpath options passed to the linker to be
preserved, else we run into weird build failures.

(e.g. libmodulemd-native used by libdnf can't find libyaml)

Disable this for now until upstream come up with a better way of handling
this.

Signed-off-by: Richard Purdie <[email protected]>
---
 meta/recipes-devtools/meson/meson.inc         |  1 +
 ...pport-building-allarch-recipes-again.patch | 13 ++++------
 .../meson/meson/disable-rpath-handling.patch  | 26 +++++++++++++++++++
 3 files changed, 32 insertions(+), 8 deletions(-)
 create mode 100644 
meta/recipes-devtools/meson/meson/disable-rpath-handling.patch

diff --git a/meta/recipes-devtools/meson/meson.inc 
b/meta/recipes-devtools/meson/meson.inc
index 32c6bfe5d3a..f8786959036 100644
--- a/meta/recipes-devtools/meson/meson.inc
+++ b/meta/recipes-devtools/meson/meson.inc
@@ -12,6 +12,7 @@ SRC_URI = 
"https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P
            file://gi-flags.patch \
            file://gtkdoc-flags.patch \
            
file://0001-python-module-do-not-manipulate-the-environment-when.patch \
+           file://disable-rpath-handling.patch \
            "
 SRC_URI[sha256sum] = 
"92d8afd921751261e36151643464efd3394162f69efbe8cd53e0a66b1cf395eb"
 SRC_URI[md5sum] = "31bda3519d8c0eb3438267268a78085e"
diff --git 
a/meta/recipes-devtools/meson/meson/0001-Support-building-allarch-recipes-again.patch
 
b/meta/recipes-devtools/meson/meson/0001-Support-building-allarch-recipes-again.patch
index f6dd2309168..96be104a52f 100644
--- 
a/meta/recipes-devtools/meson/meson/0001-Support-building-allarch-recipes-again.patch
+++ 
b/meta/recipes-devtools/meson/meson/0001-Support-building-allarch-recipes-again.patch
@@ -11,11 +11,11 @@ Signed-off-by: Peter Kjellerstedt 
<[email protected]>
  mesonbuild/environment.py | 1 +
  1 file changed, 1 insertion(+)
 
-diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index a0580a2..712b1e8 100644
---- a/mesonbuild/environment.py
-+++ b/mesonbuild/environment.py
-@@ -73,6 +73,7 @@ from .compilers import (
+Index: meson-0.47.2/mesonbuild/environment.py
+===================================================================
+--- meson-0.47.2.orig/mesonbuild/environment.py
++++ meson-0.47.2/mesonbuild/environment.py
+@@ -75,6 +75,7 @@ from .compilers import (
  build_filename = 'meson.build'
  
  known_cpu_families = (
@@ -23,6 +23,3 @@ index a0580a2..712b1e8 100644
      'aarch64',
      'arm',
      'e2k',
--- 
-2.12.0
-
diff --git a/meta/recipes-devtools/meson/meson/disable-rpath-handling.patch 
b/meta/recipes-devtools/meson/meson/disable-rpath-handling.patch
new file mode 100644
index 00000000000..4b1fb57dd44
--- /dev/null
+++ b/meta/recipes-devtools/meson/meson/disable-rpath-handling.patch
@@ -0,0 +1,26 @@
+We need to allow our rpaths generated through the compiler flags to make it 
into 
+our binaries. Therefore disable the meson manipulations of these unless there
+is a specific directive to do something differently in the project.
+
+RP 2018/11/23
+
+Upstream-Status: Submitted [https://github.com/mesonbuild/meson/issues/2567]
+
+Index: meson-0.47.2/mesonbuild/minstall.py
+===================================================================
+--- meson-0.47.2.orig/mesonbuild/minstall.py
++++ meson-0.47.2/mesonbuild/minstall.py
+@@ -486,8 +486,11 @@ class Installer:
+                         printed_symlink_error = True
+             if os.path.isfile(outname):
+                 try:
+-                    depfixer.fix_rpath(outname, install_rpath, final_path,
+-                                       install_name_mappings, verbose=False)
++                    if install_rpath:
++                        depfixer.fix_rpath(outname, install_rpath, final_path,
++                                           install_name_mappings, 
verbose=False)
++                    else:
++                        print("RPATH changes at install time disabled")
+                 except SystemExit as e:
+                     if isinstance(e.code, int) and e.code == 0:
+                         pass
-- 
2.17.1

-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to