Skip to content

Commit

Permalink
dev-lang/swift: new package, add 5.10.1
Browse files Browse the repository at this point in the history
Signed-off-by: Itai Ferber <[email protected]>
  • Loading branch information
itaiferber committed Jun 30, 2024
1 parent 9b472f4 commit 78dba2e
Show file tree
Hide file tree
Showing 3 changed files with 72 additions and 0 deletions.
1 change: 1 addition & 0 deletions dev-lang/swift/Manifest
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DIST swift-5.10.1-RELEASE-fedora39.tar.gz 701249576 BLAKE2B 37e3e989476c9676c642c604948eec1285f06998f02e8d75ed723bebb360069dc77d1eabcc8c97039461e018034d71ff7867cb9308c839fd708cca87f3ee90e1 SHA512 582e2f23e6b9dca76c908452ad1a0f20e0ab1f789b3e140568427f13736071ec9ce9c16abaa90535510cc5a08001cd5e95961ae8bb591b249c16f3881d289859
8 changes: 8 additions & 0 deletions dev-lang/swift/metadata.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer needed -->
<upstream>
<remote-id type="github">swiftlang/swift</remote-id>
</upstream>
</pkgmetadata>
63 changes: 63 additions & 0 deletions dev-lang/swift/swift-5.10.1.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Copyright 2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

PYTHON_COMPAT=( python3_{10..13} )
inherit python-single-r1

DESCRIPTION="A high-level general-purpose, multi-paradigm, compiled programming language"
HOMEPAGE="https://www.swift.org/"
SRC_URI="amd64? ( https://download.swift.org/${P}-release/fedora39/${P}-RELEASE/${P}-RELEASE-fedora39.tar.gz )"
S="${WORKDIR}/${P}-RELEASE-fedora39/usr"

LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="-* ~amd64"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"

RESTRICT="bindist mirror test strip"

RDEPEND="
${PYTHON_DEPS}
dev-db/sqlite
dev-lang/python
dev-libs/libedit
dev-libs/libxml2
dev-vcs/git
net-misc/curl
sys-devel/binutils[gold]
sys-devel/gcc
sys-libs/ncurses
sys-libs/zlib
"

BDEPEND="dev-util/patchelf"

QA_PREBUILT="*"

src_install() {
# lib/swift/linux/libicudataswift.so.69.1 has an empty DT_RUNPATH, which
# fails `rpath_security_checks`. It contains only data, so we can remove its
# rpath altogether.
patchelf --remove-rpath lib/swift/linux/libicudataswift.so.69.1

# The RELEASE tarball is a self-contained portable installation that's
# _significantly_ easier to leave as-is rather than attempt to splat onto
# the filesystem; we'll install the contents as-is into
# `/usr/lib64/swift-{version}` (e.g., `/usr/lib64/swift-5.10.1`) and expose
# the relevant binaries via linking.
dest_dir="/usr/lib64/swift-${PV}"
mkdir -p "${ED}${dest_dir}"
cp -pPR "${S}" "${ED}${dest_dir}"

# Swift ships with its own `clang`, `lldb`, etc.; these don't need to be
# exposed externally, so we'll just symlink Swift-specific binaries into
# `/usr/bin`.
find bin -maxdepth 1 \( -type f -o -type l \) \
\( -name "swift*" -o -name "sourcekit*" \) -executable -print0 |
while IFS= read -r -d '' exe_path; do
exe_name="$(basename "$exe_path")"
dosym -r "${dest_dir}/usr/bin/${exe_name}" "/usr/bin/${exe_name}"
done
}

0 comments on commit 78dba2e

Please sign in to comment.