commit:     5958bfb28afe8914b4b798f53ad10941b42220ca
Author:     Itai Ferber <itai <AT> itaiferber <DOT> net>
AuthorDate: Sun Jan 12 17:28:11 2025 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Sun Jan 12 17:28:11 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=5958bfb2

dev-lang/swift: add dev-cpp/tbb as a strong blocker for Swift 6

See https://bugs.gentoo.org/947141

Signed-off-by: Itai Ferber <itai <AT> itaiferber.net>

 dev-lang/swift/swift-6.0.1-r1.ebuild | 12 ++++++++++++
 dev-lang/swift/swift-6.0.1.ebuild    | 12 ++++++++++++
 dev-lang/swift/swift-6.0.2.ebuild    | 12 ++++++++++++
 dev-lang/swift/swift-6.0.3.ebuild    | 12 ++++++++++++
 4 files changed, 48 insertions(+)

diff --git a/dev-lang/swift/swift-6.0.1-r1.ebuild 
b/dev-lang/swift/swift-6.0.1-r1.ebuild
index c3a52bc8d..86dc9abab 100644
--- a/dev-lang/swift/swift-6.0.1-r1.ebuild
+++ b/dev-lang/swift/swift-6.0.1-r1.ebuild
@@ -109,6 +109,18 @@ BDEPEND="
        ' python3_{12..13})
 "
 
+# Swift 6 upstream currently doesn't build with oneTBB installed because 
Swift's
+# `libstdcxx.h` includes `<execution>`, which, in combination with recent
+# `libstdc++` versions, causes `tbb/execution` to get picked up; this results 
in
+# a circular dependency back on the stdlib, failing the build.
+#
+# See:
+# * https://bugs.gentoo.org/947141
+# * https://github.com/swiftlang/swift/issues/76166
+BDEPEND+="
+       !!dev-cpp/tbb
+"
+
 # Adapted from `flag-o-matic.eclass`'s `raw-ldflags`: turns GCC-style flags
 # (`-Wl,-foo`) into Clang-style flags (`-Xlinker -foo`).
 clang-ldflags() {

diff --git a/dev-lang/swift/swift-6.0.1.ebuild 
b/dev-lang/swift/swift-6.0.1.ebuild
index 3b5cdb311..085c043de 100644
--- a/dev-lang/swift/swift-6.0.1.ebuild
+++ b/dev-lang/swift/swift-6.0.1.ebuild
@@ -108,6 +108,18 @@ BDEPEND="
        ' python3_{12..13})
 "
 
+# Swift 6 upstream currently doesn't build with oneTBB installed because 
Swift's
+# `libstdcxx.h` includes `<execution>`, which, in combination with recent
+# `libstdc++` versions, causes `tbb/execution` to get picked up; this results 
in
+# a circular dependency back on the stdlib, failing the build.
+#
+# See:
+# * https://bugs.gentoo.org/947141
+# * https://github.com/swiftlang/swift/issues/76166
+BDEPEND+="
+       !!dev-cpp/tbb
+"
+
 # Adapted from `flag-o-matic.eclass`'s `raw-ldflags`: turns GCC-style flags
 # (`-Wl,-foo`) into Clang-style flags (`-Xlinker -foo`).
 clang-ldflags() {

diff --git a/dev-lang/swift/swift-6.0.2.ebuild 
b/dev-lang/swift/swift-6.0.2.ebuild
index c3a52bc8d..86dc9abab 100644
--- a/dev-lang/swift/swift-6.0.2.ebuild
+++ b/dev-lang/swift/swift-6.0.2.ebuild
@@ -109,6 +109,18 @@ BDEPEND="
        ' python3_{12..13})
 "
 
+# Swift 6 upstream currently doesn't build with oneTBB installed because 
Swift's
+# `libstdcxx.h` includes `<execution>`, which, in combination with recent
+# `libstdc++` versions, causes `tbb/execution` to get picked up; this results 
in
+# a circular dependency back on the stdlib, failing the build.
+#
+# See:
+# * https://bugs.gentoo.org/947141
+# * https://github.com/swiftlang/swift/issues/76166
+BDEPEND+="
+       !!dev-cpp/tbb
+"
+
 # Adapted from `flag-o-matic.eclass`'s `raw-ldflags`: turns GCC-style flags
 # (`-Wl,-foo`) into Clang-style flags (`-Xlinker -foo`).
 clang-ldflags() {

diff --git a/dev-lang/swift/swift-6.0.3.ebuild 
b/dev-lang/swift/swift-6.0.3.ebuild
index c3a52bc8d..86dc9abab 100644
--- a/dev-lang/swift/swift-6.0.3.ebuild
+++ b/dev-lang/swift/swift-6.0.3.ebuild
@@ -109,6 +109,18 @@ BDEPEND="
        ' python3_{12..13})
 "
 
+# Swift 6 upstream currently doesn't build with oneTBB installed because 
Swift's
+# `libstdcxx.h` includes `<execution>`, which, in combination with recent
+# `libstdc++` versions, causes `tbb/execution` to get picked up; this results 
in
+# a circular dependency back on the stdlib, failing the build.
+#
+# See:
+# * https://bugs.gentoo.org/947141
+# * https://github.com/swiftlang/swift/issues/76166
+BDEPEND+="
+       !!dev-cpp/tbb
+"
+
 # Adapted from `flag-o-matic.eclass`'s `raw-ldflags`: turns GCC-style flags
 # (`-Wl,-foo`) into Clang-style flags (`-Xlinker -foo`).
 clang-ldflags() {

Reply via email to