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 5a00098402..654c4a51c5 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 e059c62b31..fc6ca1c2ab 100644 --- a/dev-lang/swift/metadata.xml +++ b/dev-lang/swift/metadata.xml @@ -8,6 +8,11 @@ swiftlang/swift + + + Use llvm-runtimes/libcxx as the default C++ runtime library. + + 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 dd3fd5746b..8853d13cc2 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