public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "David Roman" <davidroman96@gmail.com>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/guru:master commit in: dev-lang/swift/
Date: Mon,  1 Jul 2024 13:50:28 +0000 (UTC)	[thread overview]
Message-ID: <1719765562.78dba2e9d4843501eee1917f547a33e9b05219d6.davidroman@gentoo> (raw)

commit:     78dba2e9d4843501eee1917f547a33e9b05219d6
Author:     Itai Ferber <itai <AT> itaiferber <DOT> net>
AuthorDate: Sun Jun 30 16:39:22 2024 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Sun Jun 30 16:39:22 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=78dba2e9

dev-lang/swift: new package, add 5.10.1

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

 dev-lang/swift/Manifest            |  1 +
 dev-lang/swift/metadata.xml        |  8 +++++
 dev-lang/swift/swift-5.10.1.ebuild | 63 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 72 insertions(+)

diff --git a/dev-lang/swift/Manifest b/dev-lang/swift/Manifest
new file mode 100644
index 000000000..20eea2b81
--- /dev/null
+++ b/dev-lang/swift/Manifest
@@ -0,0 +1 @@
+DIST swift-5.10.1-RELEASE-fedora39.tar.gz 701249576 BLAKE2B 37e3e989476c9676c642c604948eec1285f06998f02e8d75ed723bebb360069dc77d1eabcc8c97039461e018034d71ff7867cb9308c839fd708cca87f3ee90e1 SHA512 582e2f23e6b9dca76c908452ad1a0f20e0ab1f789b3e140568427f13736071ec9ce9c16abaa90535510cc5a08001cd5e95961ae8bb591b249c16f3881d289859

diff --git a/dev-lang/swift/metadata.xml b/dev-lang/swift/metadata.xml
new file mode 100644
index 000000000..a6dcf0dba
--- /dev/null
+++ b/dev-lang/swift/metadata.xml
@@ -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>

diff --git a/dev-lang/swift/swift-5.10.1.ebuild b/dev-lang/swift/swift-5.10.1.ebuild
new file mode 100644
index 000000000..6c03b45e0
--- /dev/null
+++ b/dev-lang/swift/swift-5.10.1.ebuild
@@ -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
+}


             reply	other threads:[~2024-07-01 13:50 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-01 13:50 David Roman [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-07-17  8:40 [gentoo-commits] repo/proj/guru:master commit in: dev-lang/swift/ David Roman
2024-07-17  8:40 David Roman
2024-08-10 20:34 Lucio Sauer
2024-08-10 20:34 Lucio Sauer
2024-08-10 20:34 Lucio Sauer
2024-08-10 20:34 Lucio Sauer
2024-08-10 20:34 Lucio Sauer
2024-08-10 20:34 Lucio Sauer
2024-09-14  0:43 David Roman
2024-09-14  0:43 David Roman
2024-10-13 14:51 David Roman
2024-10-13 14:51 David Roman
2024-10-13 14:51 David Roman
2024-10-13 14:51 David Roman
2024-10-13 14:51 David Roman
2024-10-13 14:51 David Roman
2025-01-13 11:38 David Roman
2025-01-17  9:41 David Roman
2025-02-11 11:12 David Roman
2025-02-11 11:12 David Roman
2025-03-08 11:18 Lucio Sauer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1719765562.78dba2e9d4843501eee1917f547a33e9b05219d6.davidroman@gentoo \
    --to=davidroman96@gmail.com \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox