dev-lang/swift: allow building using swift-bin

swift-6* ebuilds checked for the latest installed version of
`dev-lang/swift` to build against, but we want to enable bootstrapping
from `dev-lang/swift-bin`. Instead of checking for the latest Swift
using `best_version`, we can check `eselect swift` directly.

Signed-off-by: Itai Ferber <itai@itaiferber.net>
This commit is contained in:
Itai Ferber
2026-06-05 19:18:43 -04:00
parent af8b48ff36
commit d201619d3d
6 changed files with 36 additions and 18 deletions

View File

@@ -240,9 +240,12 @@ src_compile() {
# Versions of Swift 6.0 and later require an existing Swift compiler to
# bootstrap from. We can use any version from 5.10.1 and on.
local swift_version="$(best_version -b "${CATEGORY}/${PN}")"
swift_version="${swift_version#${CATEGORY}/}" # reduce to ${PVR} form
swift_version="${swift_version%-r[[:digit:]]*}" # reduce to ${P} form
local swift_version="$(eselect swift show | tail -n1 | xargs)"
if [[ "${swift_version}" != swift-* ]]; then
# Swift may be unset; we can use the latest available.
swift_Version="$(eselect swift show --latest | tail -n1 | xargs)"
fi
[[ "${swift_version}" == swift-* ]] || die "No Swift version found for bootstrapping."
local original_path="${PATH}"
export PATH="/usr/lib64/${swift_version}/usr/bin:${original_path}"

View File

@@ -242,9 +242,12 @@ src_compile() {
# Versions of Swift 6.0 and later require an existing Swift compiler to
# bootstrap from. We can use any version from 5.10.1 and on.
local swift_version="$(best_version -b "${CATEGORY}/${PN}")"
swift_version="${swift_version#${CATEGORY}/}" # reduce to ${PVR} form
swift_version="${swift_version%-r[[:digit:]]*}" # reduce to ${P} form
local swift_version="$(eselect swift show | tail -n1 | xargs)"
if [[ "${swift_version}" != swift-* ]]; then
# Swift may be unset; we can use the latest available.
swift_Version="$(eselect swift show --latest | tail -n1 | xargs)"
fi
[[ "${swift_version}" == swift-* ]] || die "No Swift version found for bootstrapping."
local original_path="${PATH}"
export PATH="/usr/lib64/${swift_version}/usr/bin:${original_path}"

View File

@@ -243,9 +243,12 @@ src_compile() {
# Versions of Swift 6.0 and later require an existing Swift compiler to
# bootstrap from. We can use any version from 5.10.1 and on.
local swift_version="$(best_version -b "${CATEGORY}/${PN}")"
swift_version="${swift_version#${CATEGORY}/}" # reduce to ${PVR} form
swift_version="${swift_version%-r[[:digit:]]*}" # reduce to ${P} form
local swift_version="$(eselect swift show | tail -n1 | xargs)"
if [[ "${swift_version}" != swift-* ]]; then
# Swift may be unset; we can use the latest available.
swift_Version="$(eselect swift show --latest | tail -n1 | xargs)"
fi
[[ "${swift_version}" == swift-* ]] || die "No Swift version found for bootstrapping."
local original_path="${PATH}"
export PATH="/usr/lib64/${swift_version}/usr/bin:${original_path}"

View File

@@ -245,9 +245,12 @@ src_compile() {
# Versions of Swift 6.0 and later require an existing Swift compiler to
# bootstrap from. We can use any version from 5.10.1 and on.
local swift_version="$(best_version -b "${CATEGORY}/${PN}")"
swift_version="${swift_version#${CATEGORY}/}" # reduce to ${PVR} form
swift_version="${swift_version%-r[[:digit:]]*}" # reduce to ${P} form
local swift_version="$(eselect swift show | tail -n1 | xargs)"
if [[ "${swift_version}" != swift-* ]]; then
# Swift may be unset; we can use the latest available.
swift_Version="$(eselect swift show --latest | tail -n1 | xargs)"
fi
[[ "${swift_version}" == swift-* ]] || die "No Swift version found for bootstrapping."
local original_path="${PATH}"
export PATH="/usr/lib64/${swift_version}/usr/bin:${original_path}"

View File

@@ -245,9 +245,12 @@ src_compile() {
# Versions of Swift 6.0 and later require an existing Swift compiler to
# bootstrap from. We can use any version from 5.10.1 and on.
local swift_version="$(best_version -b "${CATEGORY}/${PN}")"
swift_version="${swift_version#${CATEGORY}/}" # reduce to ${PVR} form
swift_version="${swift_version%-r[[:digit:]]*}" # reduce to ${P} form
local swift_version="$(eselect swift show | tail -n1 | xargs)"
if [[ "${swift_version}" != swift-* ]]; then
# Swift may be unset; we can use the latest available.
swift_Version="$(eselect swift show --latest | tail -n1 | xargs)"
fi
[[ "${swift_version}" == swift-* ]] || die "No Swift version found for bootstrapping."
local original_path="${PATH}"
export PATH="/usr/lib64/${swift_version}/usr/bin:${original_path}"

View File

@@ -245,9 +245,12 @@ src_compile() {
# Versions of Swift 6.0 and later require an existing Swift compiler to
# bootstrap from. We can use any version from 5.10.1 and on.
local swift_version="$(best_version -b "${CATEGORY}/${PN}")"
swift_version="${swift_version#${CATEGORY}/}" # reduce to ${PVR} form
swift_version="${swift_version%-r[[:digit:]]*}" # reduce to ${P} form
local swift_version="$(eselect swift show | tail -n1 | xargs)"
if [[ "${swift_version}" != swift-* ]]; then
# Swift may be unset; we can use the latest available.
swift_Version="$(eselect swift show --latest | tail -n1 | xargs)"
fi
[[ "${swift_version}" == swift-* ]] || die "No Swift version found for bootstrapping."
local original_path="${PATH}"
export PATH="/usr/lib64/${swift_version}/usr/bin:${original_path}"