commit:     e538accf3e4cb33b8537290de31ce4fc503047c8
Author:     Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Thu Jan 18 20:26:51 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jan 18 20:43:22 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e538accf

dev-build/meson: backport macos Prefix fix

Followup to commit 791e631e0121da91676113928a3e4070453c2449. The patch
has been integrated upstream and will be backported to meson 1.3.2; the
issues with including it here have been resolved, so bring it back.

Closes: https://bugs.gentoo.org/868516
Signed-off-by: Eli Schwartz <eschwartz93 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../meson/files/meson-1.3.1-xtools-support.patch   | 39 ++++++++++++++++++++++
 .../{meson-1.3.1.ebuild => meson-1.3.1-r1.ebuild}  |  3 ++
 2 files changed, 42 insertions(+)

diff --git a/dev-build/meson/files/meson-1.3.1-xtools-support.patch 
b/dev-build/meson/files/meson-1.3.1-xtools-support.patch
new file mode 100644
index 000000000000..dfb9b3f6be68
--- /dev/null
+++ b/dev-build/meson/files/meson-1.3.1-xtools-support.patch
@@ -0,0 +1,39 @@
+From 33527630f1bd0e51093044016557cb44e7bb6547 Mon Sep 17 00:00:00 2001
+From: Fabian Groffen <[email protected]>
+Date: Wed, 17 Jan 2024 17:04:45 +0100
+Subject: [PATCH] linkers_detect: detect xtools (Apple ld64 derivative)
+
+xtools is in use on Gentoo Prefix x86_64 and ppc based Darwin installs.
+Pick it up as a valid linker.
+
+Since xtools is answering with a version to --version, as opposed to
+ld64, detection of xtools in the ld64 handling block is not possible,
+since --version already succeeded.
+
+Bug: https://bugs.gentoo.org/868516
+Bug: https://github.com/mesonbuild/meson/issues/10805
+Signed-off-by: Fabian Groffen <[email protected]>
+Signed-off-by: Eli Schwartz <[email protected]>
+---
+ mesonbuild/linkers/detect.py | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/mesonbuild/linkers/detect.py b/mesonbuild/linkers/detect.py
+index 918f2e634..1bce413f4 100644
+--- a/mesonbuild/linkers/detect.py
++++ b/mesonbuild/linkers/detect.py
+@@ -174,6 +174,11 @@ def guess_nix_linker(env: 'Environment', compiler: 
T.List[str], comp_class: T.Ty
+             v = search_version(o)
+ 
+         linker = linkers.LLVMDynamicLinker(compiler, for_machine, 
comp_class.LINKER_PREFIX, override, version=v)
++    # detect xtools first, bug #10805
++    elif 'xtools-' in o.split('\n', maxsplit=1)[0]:
++        xtools = o.split(' ', maxsplit=1)[0]
++        v = xtools.split('-', maxsplit=2)[1]
++        linker = linkers.AppleDynamicLinker(compiler, for_machine, 
comp_class.LINKER_PREFIX, override, version=v)
+     # First might be apple clang, second is for real gcc, the third is icc.
+     # Note that "ld: unknown option: " sometimes instead is "ld: unknown 
options:".
+     elif e.endswith('(use -v to see invocation)\n') or 'macosx_version' in e 
or 'ld: unknown option' in e:
+-- 
+2.43.0
+

diff --git a/dev-build/meson/meson-1.3.1.ebuild 
b/dev-build/meson/meson-1.3.1-r1.ebuild
similarity index 96%
rename from dev-build/meson/meson-1.3.1.ebuild
rename to dev-build/meson/meson-1.3.1-r1.ebuild
index 2498ea56a83a..6a86fb79dedb 100644
--- a/dev-build/meson/meson-1.3.1.ebuild
+++ b/dev-build/meson/meson-1.3.1-r1.ebuild
@@ -60,6 +60,9 @@ PATCHES=(
 
        # backport revert for broken rpath changes: 
https://github.com/mesonbuild/meson/pull/12672
        "${FILESDIR}"/0001-Revert-clike-Deduplicate-rpath-linker-flags.patch
+
+       # backport macos Prefix fix: 
https://github.com/mesonbuild/meson/pull/12747
+       "${FILESDIR}"/meson-1.3.1-xtools-support.patch
 )
 
 python_prepare_all() {

Reply via email to