summaryrefslogtreecommitdiff
path: root/dev-lang/swift-bin
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-04-27 07:14:03 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-04-27 07:14:03 +0000
commitbcf368d4f0cbe2993bc732ae8d4ee7675fe7e9ff (patch)
tree6fcec8b996609a24bedcc8bf3a6682973d2b46a4 /dev-lang/swift-bin
parentf64367a444c839875efd983c0f692a3cc5e3c75c (diff)
downloadbaldeagleos-repo-bcf368d4f0cbe2993bc732ae8d4ee7675fe7e9ff.tar.gz
baldeagleos-repo-bcf368d4f0cbe2993bc732ae8d4ee7675fe7e9ff.tar.xz
baldeagleos-repo-bcf368d4f0cbe2993bc732ae8d4ee7675fe7e9ff.zip
Adding metadata
Diffstat (limited to 'dev-lang/swift-bin')
-rw-r--r--dev-lang/swift-bin/Manifest1
-rw-r--r--dev-lang/swift-bin/swift-bin-6.3.1.ebuild101
2 files changed, 102 insertions, 0 deletions
diff --git a/dev-lang/swift-bin/Manifest b/dev-lang/swift-bin/Manifest
index 186cfd9bfc5e..8cac8e226c79 100644
--- a/dev-lang/swift-bin/Manifest
+++ b/dev-lang/swift-bin/Manifest
@@ -1,4 +1,5 @@
DIST swift-5.10.1-r5.gpkg.tar 582103040 BLAKE2B c0b1868d2036af8d67c472d3da53f4c2377b903ee36452541d04e288da16d12747b5485a302f04a85e6004be00c32f3cd2d510068e0ff1b838e8b365f603e616 SHA512 f37381de83f2eb507db9f2403db126e796bbaa23481459bfb079ab9485bc4c8521ab0a4f382d5ae70e0d92a3cc2a9f994b53bf177d2c41466a36edc230b5f132
DIST swift-6.2.3.gpkg.tar 732385280 BLAKE2B 35d2e7f514ae519aba5fa11d918f114726740b855a4c237655eabe0e56241735bf9598d2c3a9162ea9b5252c32737a7c3e14f246ef3f0ef85a8cdc602dd55628 SHA512 b8d6e6383c41255f733e3fe0991cc5d38630b5d2e461c253b3f4af5e936752d6a76a44b7f8050b158ec37a070cc739e909935d6d8882bc07d569945a1d856703
DIST swift-6.2.4.gpkg.tar 732160000 BLAKE2B d586fdc0ac5f84cf1cc3ec91739cce410c347a291dc47c4cd022ceb6ea1207d2d7796b5460ff9cabcd8759c7337921724a0a515ddff570f497bacd7f2dc649dc SHA512 3f7a171ae5892f7e689095859ac6f4e053df35e7f2347e174e54ab7fe834a0f2b121cfed0a4e71dadc8ab518803e3f39eed2cf8db32fce916abcc396015f672d
+DIST swift-6.3.1.gpkg.tar 768686080 BLAKE2B 95a30addf66ee48a74de88761bd76dc0cabcdda5d1d009a66c5f870de0b06b1383137c333c43f110992e2a25dbd73c2e34e78229fee1791867b7870766587655 SHA512 9629d0d2ea6400e91f1b58b00672e6bfad21880d7f4660ca3aecda6c38175e8150148e3ae3d4018386298c70685b0345aa0e4e64dacf24070d3121cafd41ceb6
DIST swift-6.3.gpkg.tar 768706560 BLAKE2B 3150d9f30f7a61e145b46fc66f9c465071d4b600fa3fff857ae8aa806f83051d2ed4ce8b2fef3eab6d4041f55da8b45fa60dd9550d7fdcf89fa8b588f4747b8b SHA512 ee8874afdefa5cd2c26d69ae1bc0f6cda4c27a4bd9ec5b911844fe0c3cb2e7fd92d8f2ec3ae46d3c99e42c3e1a8a7ba9b5fd16d849a85c2ac05e185887ae263a
diff --git a/dev-lang/swift-bin/swift-bin-6.3.1.ebuild b/dev-lang/swift-bin/swift-bin-6.3.1.ebuild
new file mode 100644
index 000000000000..74b0586b523f
--- /dev/null
+++ b/dev-lang/swift-bin/swift-bin-6.3.1.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {17..21} )
+PYTHON_COMPAT=( python3_{10..14} )
+inherit llvm-r2 python-single-r1 unpacker
+
+DESCRIPTION="A high-level, general-purpose, multi-paradigm, compiled programming language"
+HOMEPAGE="https://www.swift.org"
+SWIFT_PF="${PF/-bin/}"
+SRC_URI="https://github.com/itaiferber/gentoo-distfiles/releases/download/${CATEGORY}/${SWIFT_PF}/${SWIFT_PF}.gpkg.tar"
+S="${WORKDIR}"
+
+LICENSE="Apache-2.0 GPL-2"
+SLOT="6/2"
+KEYWORDS="-* ~amd64"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RESTRICT="strip"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ !~dev-lang/swift-5.10.1:0
+ !dev-lang/swift:6/2
+ >=app-arch/zstd-1.5
+ >=app-eselect/eselect-swift-1.0-r1
+ >=dev-db/sqlite-3
+ >=dev-libs/icu-69
+ >=dev-libs/libedit-20221030
+ >=dev-libs/libxml2-2.11.5
+ >=net-misc/curl-8.9.1
+ >=sys-libs/ncurses-6
+ >=virtual/zlib-1.3.1:=
+ dev-lang/python
+ $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}=')
+"
+
+QA_PREBUILT="*"
+PKG_PREINST_SWIFT_INTENTIONALLY_SET='true'
+
+src_unpack() {
+ unpack_gpkg "${SWIFT_PF}.gpkg.tar"
+}
+
+src_install() {
+ mv "${SWIFT_PF}/image/usr" "${ED}"
+}
+
+pkg_preinst() {
+ # After installation, we ideally want the system to have the latest Swift
+ # version set -- but if the system already has a Swift version set and it
+ # isn't the latest version, that's likely an intentional decision that we
+ # don't want to override.
+ local current_swift_version="$(eselect swift show | tail -n1 | xargs)"
+ local latest_swift_version="$(eselect swift show --latest | tail -n1 | xargs)"
+ [[ "${current_swift_version}" == '(unset)' ]] \
+ || [[ "${current_swift_version}" == "${latest_swift_version}" ]] \
+ && PKG_PREINST_SWIFT_INTENTIONALLY_SET='false'
+}
+
+pkg_postinst() {
+ # If the system doesn't have Swift intentionally set to an older version, we
+ # can update to the latest.
+ if [[ "${PKG_PREINST_SWIFT_INTENTIONALLY_SET}" == 'false' ]]; then
+ eselect swift update
+ fi
+
+ # We also want to provide a stable directory which matches our SLOT to avoid
+ # revdep breakages, as patch updates use the same SLOT but otherwise move
+ # the install location on disk.
+ #
+ # See https://bugs.gentoo.org/957730
+ #
+ # We do this in `pkg_postinst` instead of calling `dosym` in `src_install`
+ # because when upgrading from a major version to a patch version, the major
+ # version is still on disk while the patch version is being installed, so
+ # the existing directory is in use and the symlink fails to install.
+ local major_ver="$(ver_cut 1-2)"
+ if [[ "${PV}" != "${major_ver}" ]]; then
+ local libdir="${EROOT}/usr/$(get_libdir)"
+ ln -fsT "${libdir}/${P}" "${libdir}/${PN}-${major_ver}" || die
+ fi
+}
+
+pkg_postrm() {
+ # We don't want to leave behind symlinks pointing to this Swift version on
+ # removal.
+ local current_swift_version="$(eselect swift show | tail -n1 | xargs)"
+ if [[ "${current_swift_version}" == "${P}" ]]; then
+ eselect swift update
+ fi
+
+ # If we installed a SLOT symlink, we also want to remove it here.
+ local major_ver="$(ver_cut 1-2)"
+ local link="${EROOT}/usr/$(get_libdir)/${PN}-${major_ver}"
+ if [[ -L "${link}" && "${PV}" != "${major_ver}" ]]; then
+ rm "${link}"
+ fi
+}