meson: backport library ordering fix

meson had a bug where they started looking for static boost libraries
first vs. the default behavior of looking at shared libraries first.
This caused issues because some projects assume the shared libraries
first which automatically add in other shared library dependencies.
Static libraries do not have the default behavior so projects that use
boost start failing to compile with undefined references to other boost
libraries.

(From OE-Core rev: 17d1d8de8c4d50d42882586244ae5eef3a111a3c)

Signed-off-by: Andrew Geissler <geissonator@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Andrew Geissler
2020-06-11 16:01:02 -05:00
committed by Richard Purdie
parent 81ce5b6c83
commit 4928ceba19
2 changed files with 36 additions and 0 deletions

View File

@@ -15,6 +15,7 @@ SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P
file://cross-prop-default.patch \
file://0001-modules-python.py-do-not-substitute-python-s-install.patch \
file://0001-gnome.py-prefix-g-i-paths-with-PKG_CONFIG_SYSROOT_DI.patch \
file://0001-boost-Always-sort-shared-before-static-fixes-7171.patch \
"
SRC_URI[sha256sum] = "a7716eeae8f8dff002e4147642589ab6496ff839e4376a5aed761f83c1fa0455"

View File

@@ -0,0 +1,35 @@
From 5862ad6965c60caa861dfdcd29e499c34c4d00da Mon Sep 17 00:00:00 2001
From: Daniel Mensinger <daniel@mensinger-ka.de>
Date: Thu, 21 May 2020 13:35:27 +0200
Subject: [PATCH] boost: Always sort shared before static (fixes #7171)
Upstream-Status: Backport [https://github.com/mesonbuild/meson/commit/5862ad6965c60caa861dfdcd29e499c34c4d00da]
Signed-off-by: Andrew Geissler <geissonator@gmail.com>
---
mesonbuild/dependencies/boost.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mesonbuild/dependencies/boost.py b/mesonbuild/dependencies/boost.py
index 6e85c534..38497041 100644
--- a/mesonbuild/dependencies/boost.py
+++ b/mesonbuild/dependencies/boost.py
@@ -189,13 +189,13 @@ class BoostLibraryFile():
def __lt__(self, other: T.Any) -> bool:
if isinstance(other, BoostLibraryFile):
return (
- self.mod_name, self.version_lib, self.arch, self.static,
+ self.mod_name, self.static, self.version_lib, self.arch,
not self.mt, not self.runtime_static,
not self.debug, self.runtime_debug, self.python_debug,
self.stlport, self.deprecated_iostreams,
self.name,
) < (
- other.mod_name, other.version_lib, other.arch, other.static,
+ other.mod_name, other.static, other.version_lib, other.arch,
not other.mt, not other.runtime_static,
not other.debug, other.runtime_debug, other.python_debug,
other.stlport, other.deprecated_iostreams,
--
2.26.2