commit: fbbd4a1e1131b02b02826edbac4932e1c83174ff
Author: Marco Rebhan <me <AT> dblsaiko <DOT> net>
AuthorDate: Mon Feb 10 23:44:18 2025 +0000
Commit: David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Mon Feb 10 23:46:30 2025 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=fbbd4a1e
dev-lang/swift: Add option to compile with libcxx
This is useful on llvm profile systems, where the default C++ compiler
is clang with libcxx.
Signed-off-by: Marco Rebhan <me <AT> dblsaiko.net>
dev-lang/swift/files/swift-6.0.3/gentoo-build-preset.patch | 9 ++++++++-
dev-lang/swift/metadata.xml | 5 +++++
dev-lang/swift/swift-6.0.3.ebuild | 9 ++++++++-
3 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/dev-lang/swift/files/swift-6.0.3/gentoo-build-preset.patch
b/dev-lang/swift/files/swift-6.0.3/gentoo-build-preset.patch
index 5a0009840..654c4a51c 100644
--- a/dev-lang/swift/files/swift-6.0.3/gentoo-build-preset.patch
+++ b/dev-lang/swift/files/swift-6.0.3/gentoo-build-preset.patch
@@ -29,7 +29,7 @@
--- a/swift/utils/build-presets.ini
+++ b/swift/utils/build-presets.ini
-@@ -3051,3 +3051,17 @@ skip-test-cmark
+@@ -3051,3 +3051,24 @@ skip-test-cmark
llvm-cmake-options=
-DCLANG_DEFAULT_LINKER=gold
@@ -47,3 +47,10 @@
+llvm-targets-to-build=host
+skip-build-curl
+skip-build-zlib
++
++[preset: gentoo,libcxx]
++mixin-preset=gentoo
++libcxx
++llvm-cmake-options=
++ -DCLANG_DEFAULT_LINKER=lld
++ -DCLANG_DEFAULT_CXX_STDLIB=libc++
diff --git a/dev-lang/swift/metadata.xml b/dev-lang/swift/metadata.xml
index e059c62b3..fc6ca1c2a 100644
--- a/dev-lang/swift/metadata.xml
+++ b/dev-lang/swift/metadata.xml
@@ -8,6 +8,11 @@
<upstream>
<remote-id type="github">swiftlang/swift</remote-id>
</upstream>
+ <use>
+ <flag name="libcxx">
+ Use <pkg>llvm-runtimes/libcxx</pkg> as the default C++ runtime library.
+ </flag>
+ </use>
<slots>
<slot name="0">
The original slot for swift-5.10.1; should no longer be used.
diff --git a/dev-lang/swift/swift-6.0.3.ebuild
b/dev-lang/swift/swift-6.0.3.ebuild
index dd3fd5746..8853d13cc 100644
--- a/dev-lang/swift/swift-6.0.3.ebuild
+++ b/dev-lang/swift/swift-6.0.3.ebuild
@@ -64,6 +64,7 @@ LICENSE="Apache-2.0"
SLOT="6/0"
KEYWORDS="~amd64"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+IUSE="libcxx"
RESTRICT="strip"
@@ -182,10 +183,16 @@ src_compile() {
swift_version="${swift_version#${CATEGORY}/}" # reduce to ${PVR} form
swift_version="${swift_version%-r[[:digit:]]*}" # reduce to ${P} form
+ local swift_preset='gentoo'
+
+ if use libcxx; then
+ swift_preset='gentoo,libcxx'
+ fi
+
local original_path="${PATH}"
export PATH="/usr/lib64/${swift_version}/usr/bin:${original_path}"
"${S}/swift/utils/build-script" \
- --preset=gentoo \
+ --preset="${swift_preset}" \
install_destdir="${S}/${P}" \
installable_package="" \
|| die