public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/proj/guru:master commit in: dev-lang/swift/
@ 2024-07-01 13:50 David Roman
  0 siblings, 0 replies; 17+ messages in thread
From: David Roman @ 2024-07-01 13:50 UTC (permalink / raw
  To: gentoo-commits

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
+}


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/proj/guru:master commit in: dev-lang/swift/
@ 2024-07-17  8:40 David Roman
  0 siblings, 0 replies; 17+ messages in thread
From: David Roman @ 2024-07-17  8:40 UTC (permalink / raw
  To: gentoo-commits

commit:     f8b6c19cab860c30df26c5b196e337d319d9cb6c
Author:     Itai Ferber <itai <AT> itaiferber <DOT> net>
AuthorDate: Tue Jul 16 23:19:15 2024 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Tue Jul 16 23:19:18 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=f8b6c19c

dev-lang/swift: update SRC_URI and clean up ebuild

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

 dev-lang/swift/swift-5.10.1.ebuild | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/dev-lang/swift/swift-5.10.1.ebuild b/dev-lang/swift/swift-5.10.1.ebuild
index 6c03b45e0..8938f227e 100644
--- a/dev-lang/swift/swift-5.10.1.ebuild
+++ b/dev-lang/swift/swift-5.10.1.ebuild
@@ -8,7 +8,7 @@ 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 )"
+SRC_URI="https://download.swift.org/${P}-release/fedora39/${P}-RELEASE/${P}-RELEASE-fedora39.tar.gz"
 S="${WORKDIR}/${P}-RELEASE-fedora39/usr"
 
 LICENSE="Apache-2.0"
@@ -16,7 +16,7 @@ SLOT="0"
 KEYWORDS="-* ~amd64"
 REQUIRED_USE="${PYTHON_REQUIRED_USE}"
 
-RESTRICT="bindist mirror test strip"
+RESTRICT="strip"
 
 RDEPEND="
 	${PYTHON_DEPS}
@@ -47,9 +47,9 @@ src_install() {
 	# 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}"
+	local dest_dir="/usr/lib64/swift-${PV}"
+	mkdir -p "${ED}${dest_dir}" || die
+	cp -pPR "${S}" "${ED}${dest_dir}" || die
 
 	# 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
@@ -57,7 +57,7 @@ src_install() {
 	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")"
+			local exe_name="$(basename "$exe_path")"
 			dosym -r "${dest_dir}/usr/bin/${exe_name}" "/usr/bin/${exe_name}"
 		done
 }


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/proj/guru:master commit in: dev-lang/swift/
@ 2024-07-17  8:40 David Roman
  0 siblings, 0 replies; 17+ messages in thread
From: David Roman @ 2024-07-17  8:40 UTC (permalink / raw
  To: gentoo-commits

commit:     b67ca5142113fb660097d87e204ed77da80d027a
Author:     Itai Ferber <itai <AT> itaiferber <DOT> net>
AuthorDate: Tue Jul 16 16:52:30 2024 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Tue Jul 16 16:52:30 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=b67ca514

dev-lang/swift: add myself as a maintainer

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

 dev-lang/swift/metadata.xml | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/dev-lang/swift/metadata.xml b/dev-lang/swift/metadata.xml
index a6dcf0dba..810cc5c5a 100644
--- a/dev-lang/swift/metadata.xml
+++ b/dev-lang/swift/metadata.xml
@@ -1,7 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-  <!-- maintainer needed -->
+  <maintainer type="person">
+    <email>itai@itaiferber.net</email>
+    <name>Itai Ferber</name>
+  </maintainer>
   <upstream>
     <remote-id type="github">swiftlang/swift</remote-id>
   </upstream>


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/proj/guru:master commit in: dev-lang/swift/
@ 2024-08-10 20:34 Lucio Sauer
  0 siblings, 0 replies; 17+ messages in thread
From: Lucio Sauer @ 2024-08-10 20:34 UTC (permalink / raw
  To: gentoo-commits

commit:     62e1a683e77158f26a629331aa67babdf6708c1e
Author:     Itai Ferber <itai <AT> itaiferber <DOT> net>
AuthorDate: Sat Aug 10 15:53:40 2024 +0000
Commit:     Lucio Sauer <watermanpaint <AT> posteo <DOT> net>
CommitDate: Sat Aug 10 15:53:40 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=62e1a683

dev-lang/swift: disable py3.6, py3.7, py3.8, py3.9

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

 dev-lang/swift/swift-5.10.1.ebuild | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/dev-lang/swift/swift-5.10.1.ebuild b/dev-lang/swift/swift-5.10.1.ebuild
index a205ad19d..229554531 100644
--- a/dev-lang/swift/swift-5.10.1.ebuild
+++ b/dev-lang/swift/swift-5.10.1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( python3_{6..13} )
+PYTHON_COMPAT=( python3_{10..13} )
 inherit python-single-r1
 
 DESCRIPTION="A high-level, general-purpose, multi-paradigm, compiled programming language"
@@ -79,6 +79,7 @@ RDEPEND="
 "
 
 BDEPEND="
+	${PYTHON_DEPS}
 	>=dev-util/patchelf-0.18
 	>=sys-apps/coreutils-9
 "


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/proj/guru:master commit in: dev-lang/swift/
@ 2024-08-10 20:34 Lucio Sauer
  0 siblings, 0 replies; 17+ messages in thread
From: Lucio Sauer @ 2024-08-10 20:34 UTC (permalink / raw
  To: gentoo-commits

commit:     b7c90de761e043fe8af43065a199468479795c6e
Author:     Itai Ferber <itai <AT> itaiferber <DOT> net>
AuthorDate: Sat Aug 10 15:55:45 2024 +0000
Commit:     Lucio Sauer <watermanpaint <AT> posteo <DOT> net>
CommitDate: Sat Aug 10 15:55:45 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=b7c90de7

dev-lang/swift: fix build-time dependencies

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

 dev-lang/swift/swift-5.10.1.ebuild | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/dev-lang/swift/swift-5.10.1.ebuild b/dev-lang/swift/swift-5.10.1.ebuild
index 229554531..a53eb87d5 100644
--- a/dev-lang/swift/swift-5.10.1.ebuild
+++ b/dev-lang/swift/swift-5.10.1.ebuild
@@ -64,13 +64,10 @@ RESTRICT="strip"
 
 RDEPEND="
 	${PYTHON_DEPS}
-	>=dev-build/cmake-3.24.2
-	>=dev-build/ninja-1.11
 	>=dev-db/sqlite-3
 	>=dev-libs/icu-69
 	>=dev-libs/libedit-20221030
 	>=dev-libs/libxml2-2.11.5
-	>=dev-vcs/git-2.39
 	>=net-misc/curl-8.4
 	>=sys-devel/lld-15
 	>=sys-libs/ncurses-6
@@ -80,8 +77,18 @@ RDEPEND="
 
 BDEPEND="
 	${PYTHON_DEPS}
+	>=dev-build/cmake-3.24.2
+	>=dev-build/ninja-1.11
+	>=dev-db/sqlite-3
+	>=dev-libs/libedit-20221030
+	>=dev-libs/libxml2-2.11.5
 	>=dev-util/patchelf-0.18
+	>=dev-vcs/git-2.39
 	>=sys-apps/coreutils-9
+	>=sys-devel/clang-15
+	>=sys-libs/ncurses-6
+	>=sys-libs/zlib-1.3
+	dev-lang/python
 "
 
 src_unpack() {


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/proj/guru:master commit in: dev-lang/swift/
@ 2024-08-10 20:34 Lucio Sauer
  0 siblings, 0 replies; 17+ messages in thread
From: Lucio Sauer @ 2024-08-10 20:34 UTC (permalink / raw
  To: gentoo-commits

commit:     4ea75ccb1674776ca811a0b2df41c83ea48fb9a2
Author:     Itai Ferber <itai <AT> itaiferber <DOT> net>
AuthorDate: Sat Aug 10 15:57:24 2024 +0000
Commit:     Lucio Sauer <watermanpaint <AT> posteo <DOT> net>
CommitDate: Sat Aug 10 15:57:24 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=4ea75ccb

dev-lang/swift: ebuild correctness fixes

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

 dev-lang/swift/swift-5.10.1.ebuild | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/dev-lang/swift/swift-5.10.1.ebuild b/dev-lang/swift/swift-5.10.1.ebuild
index a53eb87d5..4037a47c9 100644
--- a/dev-lang/swift/swift-5.10.1.ebuild
+++ b/dev-lang/swift/swift-5.10.1.ebuild
@@ -49,10 +49,10 @@ SRC_URI="
 	https://github.com/unicode-org/icu/archive/refs/tags/release-69-1.tar.gz -> icu-69.1.tar.gz
 "
 
-PATCHES="
-	${FILESDIR}/${P}-link-with-lld.patch
-	${FILESDIR}/${P}-llbuild-link-ncurses-tinfo-gentoo.patch
-"
+PATCHES=(
+	"${FILESDIR}/${P}-link-with-lld.patch"
+	"${FILESDIR}/${P}-llbuild-link-ncurses-tinfo-gentoo.patch"
+)
 
 S="${WORKDIR}"
 LICENSE="Apache-2.0"
@@ -234,7 +234,7 @@ src_install() {
 	# `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 "${S}/stage2/usr/lib/swift/linux/libicudataswift.so.69.1"
+	patchelf --remove-rpath "${S}/stage2/usr/lib/swift/linux/libicudataswift.so.69.1" || die
 
 	# The Swift build output is intended to be self-contained, and is
 	# _significantly_ easier to leave as-is than attempt to splat onto the
@@ -249,6 +249,7 @@ src_install() {
 	# exposed externally, so we'll just symlink Swift-specific binaries into
 	# `/usr/bin`. (The majority of executables don't need to be exposed as
 	# `swift <command>` calls `swift-<command>` directly.)
+	local bin
 	for bin in swift swiftc sourcekit-lsp; do
 		dosym -r "${dest_dir}/usr/bin/${bin}" "/usr/bin/${bin}"
 	done


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/proj/guru:master commit in: dev-lang/swift/
@ 2024-08-10 20:34 Lucio Sauer
  0 siblings, 0 replies; 17+ messages in thread
From: Lucio Sauer @ 2024-08-10 20:34 UTC (permalink / raw
  To: gentoo-commits

commit:     4b80fdd7ea24f22a138b85ecb35b460fc08093dc
Author:     Itai Ferber <itai <AT> itaiferber <DOT> net>
AuthorDate: Sat Aug 10 17:49:48 2024 +0000
Commit:     Lucio Sauer <watermanpaint <AT> posteo <DOT> net>
CommitDate: Sat Aug 10 17:51:42 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=4b80fdd7

dev-lang/swift: remove unnecessary libicu source dependency

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

 dev-lang/swift/Manifest            | 1 -
 dev-lang/swift/swift-5.10.1.ebuild | 7 -------
 2 files changed, 8 deletions(-)

diff --git a/dev-lang/swift/Manifest b/dev-lang/swift/Manifest
index 774e29780..33bc33c04 100644
--- a/dev-lang/swift/Manifest
+++ b/dev-lang/swift/Manifest
@@ -1,5 +1,4 @@
 DIST Yams-5.0.1.tar.gz 658324 BLAKE2B 8e95d96df85115b59334c9e20e03120040f6095c3a3f00110c2cd890077dd17f2f79a22452d380e05e463860c367db39b4df13815ee00ea80964707ef038c9ee SHA512 91feecb95d1997235e443dea925ff11fa665e94c12c8eca2ed066ef340a51ec0253df2545d91184c31423cb4b039e1f89ac8f743cf3f154c9d93495eecc45432
-DIST icu-69.1.tar.gz 62824536 BLAKE2B 591ba9b790e24c824cf5e1108f3ee14bee6c9bbc2379db2e3062970331bb633aefd926e1d407782ccfa754e953d390a9bb9dae5c8a8f7883373a224b0ca010a7 SHA512 4bfe07fb2ce647961ada18b1c5bfa10f38b4b95b8801c9720b3e223f92e6eddabdfc9b9f8553cc092bed309ec663e7f63873e370e390a1de9f7779c6bfe133c1
 DIST indexstore-db-5.10.1.tar.gz 909365 BLAKE2B fde150aff5a46970aafc872be8f9a57e338c648e2d3f5ea49a223d72d3cd402496a1045716551fd07c9954ea123a87070593d6fdd315a825f57d9d513f01d6b3 SHA512 1fc62360a5cd4701da314774b4c5c6a6a9cc2a8d46881962fc80331006c255d173f8ace8d743a09b3fcdbf1e92570248666396a0b78ce8be19eeff65ab6c3235
 DIST llvm-project-5.10.1.tar.gz 171145818 BLAKE2B e314f2e8716cb36b43e1ec23fe2fe212e4ab79e711f4544d54788338067f75b87abe84ecc60b1b5f073f0349d45363346d8a6b89b85f2ae6801cd09709293f52 SHA512 c659041234da1fed29a7186f0e436b0867576096483333d71f11e72828b45e2c7bd9b15db7d3da348a114af48a649f8a484ba3bd4de84d2f5cdb8a7035c5ad30
 DIST sourcekit-lsp-5.10.1.tar.gz 301167 BLAKE2B a1ff3b22c4ab2583d39687aae385fc52dcbb02237035ace8bc0fc6c705db1cd6734dae1656078080c7599ad4b75f5e03def7f60b0e0361bcb25e45bc9ea3c676 SHA512 4a2f7c2129a69c05c8d158877efb1538f092f8eb2d1b1194661cb7c6f201330ecf7fd33bb0d06dd595bc6966e19b739d103478db6c9b2a4c2d7ae351bfb398a8

diff --git a/dev-lang/swift/swift-5.10.1.ebuild b/dev-lang/swift/swift-5.10.1.ebuild
index 4037a47c9..ffcd49eb2 100644
--- a/dev-lang/swift/swift-5.10.1.ebuild
+++ b/dev-lang/swift/swift-5.10.1.ebuild
@@ -46,7 +46,6 @@ SRC_URI="
 	https://github.com/swiftlang/swift-syntax/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-syntax-${PV}.tar.gz
 	https://github.com/swiftlang/swift-tools-support-core/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-tools-support-core-${PV}.tar.gz
 	https://github.com/swiftlang/swift/archive/refs/tags/${P}-RELEASE.tar.gz -> ${P}.tar.gz
-	https://github.com/unicode-org/icu/archive/refs/tags/release-69-1.tar.gz -> icu-69.1.tar.gz
 "
 
 PATCHES=(
@@ -105,7 +104,6 @@ src_unpack() {
 
 	# Some one-off fixups:
 	pushd "${S}" \
-		&& mv 'icu-release-69' 'icu' \
 		&& mv 'swift-cmark' 'cmark' \
 		&& mv 'swift-llbuild' 'llbuild' \
 		&& mv 'swift-package-manager' 'swiftpm' \
@@ -231,11 +229,6 @@ src_compile() {
 }
 
 src_install() {
-	# `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 "${S}/stage2/usr/lib/swift/linux/libicudataswift.so.69.1" || die
-
 	# The Swift build output is intended to be self-contained, and is
 	# _significantly_ easier to leave as-is than attempt to splat onto the
 	# filesystem; we'll install the output versioned into `/usr/lib64` and


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/proj/guru:master commit in: dev-lang/swift/
@ 2024-08-10 20:34 Lucio Sauer
  0 siblings, 0 replies; 17+ messages in thread
From: Lucio Sauer @ 2024-08-10 20:34 UTC (permalink / raw
  To: gentoo-commits

commit:     9075a897d030386761d50ffe79911de80b1ae79d
Author:     Itai Ferber <itai <AT> itaiferber <DOT> net>
AuthorDate: Sat Aug 10 18:37:35 2024 +0000
Commit:     Lucio Sauer <watermanpaint <AT> posteo <DOT> net>
CommitDate: Sat Aug 10 18:37:55 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=9075a897

dev-lang/swift: add lld build-time dependency

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

 dev-lang/swift/swift-5.10.1.ebuild | 1 +
 1 file changed, 1 insertion(+)

diff --git a/dev-lang/swift/swift-5.10.1.ebuild b/dev-lang/swift/swift-5.10.1.ebuild
index ffcd49eb2..7610ec7c1 100644
--- a/dev-lang/swift/swift-5.10.1.ebuild
+++ b/dev-lang/swift/swift-5.10.1.ebuild
@@ -85,6 +85,7 @@ BDEPEND="
 	>=dev-vcs/git-2.39
 	>=sys-apps/coreutils-9
 	>=sys-devel/clang-15
+	>=sys-devel/lld-15
 	>=sys-libs/ncurses-6
 	>=sys-libs/zlib-1.3
 	dev-lang/python


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/proj/guru:master commit in: dev-lang/swift/
@ 2024-08-10 20:34 Lucio Sauer
  0 siblings, 0 replies; 17+ messages in thread
From: Lucio Sauer @ 2024-08-10 20:34 UTC (permalink / raw
  To: gentoo-commits

commit:     81b6f5cdfdb2bb9be333303b1072dd1bfacee234
Author:     Itai Ferber <itai <AT> itaiferber <DOT> net>
AuthorDate: Sat Aug 10 20:14:37 2024 +0000
Commit:     Lucio Sauer <watermanpaint <AT> posteo <DOT> net>
CommitDate: Sat Aug 10 20:15:00 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=81b6f5cd

dev-lang/swift: add libicu as a build-time dependency

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

 dev-lang/swift/swift-5.10.1.ebuild | 1 +
 1 file changed, 1 insertion(+)

diff --git a/dev-lang/swift/swift-5.10.1.ebuild b/dev-lang/swift/swift-5.10.1.ebuild
index 7610ec7c1..751bc6a93 100644
--- a/dev-lang/swift/swift-5.10.1.ebuild
+++ b/dev-lang/swift/swift-5.10.1.ebuild
@@ -79,6 +79,7 @@ BDEPEND="
 	>=dev-build/cmake-3.24.2
 	>=dev-build/ninja-1.11
 	>=dev-db/sqlite-3
+	>=dev-libs/icu-69
 	>=dev-libs/libedit-20221030
 	>=dev-libs/libxml2-2.11.5
 	>=dev-util/patchelf-0.18


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/proj/guru:master commit in: dev-lang/swift/
@ 2024-09-14  0:43 David Roman
  0 siblings, 0 replies; 17+ messages in thread
From: David Roman @ 2024-09-14  0:43 UTC (permalink / raw
  To: gentoo-commits

commit:     6ea7d4532a6954e93be171af974a4b7de558931a
Author:     Itai Ferber <itai <AT> itaiferber <DOT> net>
AuthorDate: Fri Sep 13 19:27:04 2024 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Fri Sep 13 19:34:42 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=6ea7d453

dev-lang/swift: add missing dev-python/setuptools dependency

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

 dev-lang/swift/swift-5.10.1.ebuild | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/dev-lang/swift/swift-5.10.1.ebuild b/dev-lang/swift/swift-5.10.1.ebuild
index b7cb27b91..dc70e51ae 100644
--- a/dev-lang/swift/swift-5.10.1.ebuild
+++ b/dev-lang/swift/swift-5.10.1.ebuild
@@ -90,6 +90,9 @@ BDEPEND="
 	>=sys-libs/ncurses-6
 	>=sys-libs/zlib-1.3
 	dev-lang/python
+	$(python_gen_cond_dep '
+		dev-python/setuptools[${PYTHON_USEDEP}]
+	' python3_{12..13})
 "
 
 src_unpack() {


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/proj/guru:master commit in: dev-lang/swift/
@ 2024-09-14  0:43 David Roman
  0 siblings, 0 replies; 17+ messages in thread
From: David Roman @ 2024-09-14  0:43 UTC (permalink / raw
  To: gentoo-commits

commit:     c05b53a27950e05f4efa22462780df034ef3eb31
Author:     Itai Ferber <itai <AT> itaiferber <DOT> net>
AuthorDate: Fri Sep 13 19:28:23 2024 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Fri Sep 13 19:33:30 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=c05b53a2

dev-lang/swift: set up Python to respect PYTHON_SINGLE_TARGET

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

 dev-lang/swift/swift-5.10.1.ebuild | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/dev-lang/swift/swift-5.10.1.ebuild b/dev-lang/swift/swift-5.10.1.ebuild
index 751bc6a93..b7cb27b91 100644
--- a/dev-lang/swift/swift-5.10.1.ebuild
+++ b/dev-lang/swift/swift-5.10.1.ebuild
@@ -113,6 +113,13 @@ src_unpack() {
 		|| die
 }
 
+src_configure() {
+	default
+
+	# Necessary to respect PYTHON_SINGLE_TARGET, if defined.
+	python_setup
+}
+
 src_compile() {
 	# The Swift 5.10 compiler is partially written in Swift itself (the new
 	# `swift-driver` + macro support via `swift-syntax`), which requires


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/proj/guru:master commit in: dev-lang/swift/
@ 2024-10-13 14:51 David Roman
  0 siblings, 0 replies; 17+ messages in thread
From: David Roman @ 2024-10-13 14:51 UTC (permalink / raw
  To: gentoo-commits

commit:     95e178f3311434cf6cbe5e31fd875d8122f71f45
Author:     Itai Ferber <itai <AT> itaiferber <DOT> net>
AuthorDate: Sat Oct 12 19:11:02 2024 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Sun Oct 13 01:31:24 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=95e178f3

dev-lang/swift: add swift-5.10.1-r1

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

 dev-lang/swift/swift-5.10.1-r1.ebuild | 273 ++++++++++++++++++++++++++++++++++
 1 file changed, 273 insertions(+)

diff --git a/dev-lang/swift/swift-5.10.1-r1.ebuild b/dev-lang/swift/swift-5.10.1-r1.ebuild
new file mode 100644
index 000000000..0a49073ff
--- /dev/null
+++ b/dev-lang/swift/swift-5.10.1-r1.ebuild
@@ -0,0 +1,273 @@
+# Copyright 1999-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="
+	https://github.com/apple/swift-argument-parser/archive/refs/tags/1.2.3.tar.gz -> swift-argument-parser-1.2.3.tar.gz
+	https://github.com/apple/swift-asn1/archive/refs/tags/1.0.0.tar.gz -> swift-asn1-1.0.0.tar.gz
+	https://github.com/apple/swift-atomics/archive/refs/tags/1.0.2.tar.gz -> swift-atomics-1.0.2.tar.gz
+	https://github.com/apple/swift-certificates/archive/refs/tags/1.0.1.tar.gz -> swift-certificates-1.0.1.tar.gz
+	https://github.com/apple/swift-collections/archive/refs/tags/1.0.5.tar.gz -> swift-collections-1.0.5.tar.gz
+	https://github.com/apple/swift-corelibs-libdispatch/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-corelibs-libdispatch-${PV}.tar.gz
+	https://github.com/apple/swift-crypto/archive/refs/tags/3.0.0.tar.gz -> swift-crypto-3.0.0.tar.gz
+	https://github.com/apple/swift-nio-ssl/archive/refs/tags/2.15.0.tar.gz -> swift-nio-ssl-2.15.0.tar.gz
+	https://github.com/apple/swift-nio/archive/refs/tags/2.31.2.tar.gz -> swift-nio-2.31.2.tar.gz
+	https://github.com/apple/swift-numerics/archive/refs/tags/1.0.1.tar.gz -> swift-numerics-1.0.1.tar.gz
+	https://github.com/apple/swift-system/archive/refs/tags/1.1.1.tar.gz -> swift-system-1.1.1.tar.gz
+	https://github.com/apple/swift-xcode-playground-support/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-xcode-playground-support-${PV}.tar.gz
+	https://github.com/jpsim/Yams/archive/refs/tags/5.0.1.tar.gz -> Yams-5.0.1.tar.gz
+	https://github.com/swiftlang/indexstore-db/archive/refs/tags/${P}-RELEASE.tar.gz -> indexstore-db-${PV}.tar.gz
+	https://github.com/swiftlang/llvm-project/archive/refs/tags/${P}-RELEASE.tar.gz -> llvm-project-${PV}.tar.gz
+	https://github.com/swiftlang/sourcekit-lsp/archive/refs/tags/${P}-RELEASE.tar.gz -> sourcekit-lsp-${PV}.tar.gz
+	https://github.com/swiftlang/swift-cmark/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-cmark-${PV}.tar.gz
+	https://github.com/swiftlang/swift-corelibs-foundation/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-corelibs-foundation-${PV}.tar.gz
+	https://github.com/swiftlang/swift-corelibs-xctest/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-corelibs-xctest-${PV}.tar.gz
+	https://github.com/swiftlang/swift-docc-render-artifact/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-docc-render-artifact-${PV}.tar.gz
+	https://github.com/swiftlang/swift-docc-symbolkit/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-docc-symbolkit-${PV}.tar.gz
+	https://github.com/swiftlang/swift-docc/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-docc-${PV}.tar.gz
+	https://github.com/swiftlang/swift-driver/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-driver-${PV}.tar.gz
+	https://github.com/swiftlang/swift-experimental-string-processing/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-experimental-string-processing-${PV}.tar.gz
+	https://github.com/swiftlang/swift-format/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-format-${PV}.tar.gz
+	https://github.com/swiftlang/swift-installer-scripts/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-installer-scripts-${PV}.tar.gz
+	https://github.com/swiftlang/swift-integration-tests/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-integration-tests-${PV}.tar.gz
+	https://github.com/swiftlang/swift-llbuild/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-llbuild-${PV}.tar.gz
+	https://github.com/swiftlang/swift-llvm-bindings/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-llvm-bindings-${PV}.tar.gz
+	https://github.com/swiftlang/swift-lmdb/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-lmdb-${PV}.tar.gz
+	https://github.com/swiftlang/swift-markdown/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-markdown-${PV}.tar.gz
+	https://github.com/swiftlang/swift-package-manager/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-package-manager-${PV}.tar.gz
+	https://github.com/swiftlang/swift-stress-tester/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-stress-tester-${PV}.tar.gz
+	https://github.com/swiftlang/swift-syntax/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-syntax-${PV}.tar.gz
+	https://github.com/swiftlang/swift-tools-support-core/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-tools-support-core-${PV}.tar.gz
+	https://github.com/swiftlang/swift/archive/refs/tags/${P}-RELEASE.tar.gz -> ${P}.tar.gz
+"
+
+PATCHES=(
+	"${FILESDIR}/${P}-link-with-lld.patch"
+	"${FILESDIR}/${P}-llbuild-link-ncurses-tinfo-gentoo.patch"
+	"${FILESDIR}/${P}-lldb-cmake-minimum-version.patch"
+)
+
+S="${WORKDIR}"
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RESTRICT="strip"
+
+RDEPEND="
+	${PYTHON_DEPS}
+	>=dev-db/sqlite-3
+	>=dev-libs/icu-69
+	>=dev-libs/libedit-20221030
+	>=dev-libs/libxml2-2.11.5
+	>=net-misc/curl-8.4
+	>=sys-devel/lld-15
+	>=sys-libs/ncurses-6
+	>=sys-libs/zlib-1.3
+	dev-lang/python
+"
+
+BDEPEND="
+	${PYTHON_DEPS}
+	>=dev-build/cmake-3.24.2
+	>=dev-build/ninja-1.11
+	>=dev-db/sqlite-3
+	>=dev-libs/icu-69
+	>=dev-libs/libedit-20221030
+	>=dev-libs/libxml2-2.11.5
+	>=dev-vcs/git-2.39
+	>=sys-apps/coreutils-9
+	>=sys-devel/clang-15
+	>=sys-devel/lld-15
+	>=sys-libs/ncurses-6
+	>=sys-libs/zlib-1.3
+	dev-lang/python
+	$(python_gen_cond_dep '
+		dev-python/setuptools[${PYTHON_USEDEP}]
+	' python3_{12..13})
+"
+
+src_unpack() {
+	default
+
+	# The Swift project expects a specific directory structure that we have to
+	# match. For most directories, it's enough to trim the version number at the
+	# end:
+	find "${S}" \
+		-mindepth 1 -maxdepth 1 \
+		-execdir sh -c \
+			"mv '{}' \"\$(echo '{}' | sed -e 's_-\(swift-5\.10\.1-RELEASE\|\([0-9]\+\.\)*[0-9]\+\)\$__' | tr '[:upper:]' '[:lower:]')\"" ';' \
+		|| die
+
+	# Some one-off fixups:
+	pushd "${S}" \
+		&& mv 'swift-cmark' 'cmark' \
+		&& mv 'swift-llbuild' 'llbuild' \
+		&& mv 'swift-package-manager' 'swiftpm' \
+		&& popd \
+		|| die
+}
+
+src_configure() {
+	default
+
+	# Sets `${EPYTHON}` according to `PYTHON_SINGLE_TARGET`, sets up
+	# `${T}/${EPYTHON}` with that version, and adds it to the `PATH`.
+	python_setup
+}
+
+src_compile() {
+	# The Swift 5.10 compiler is partially written in Swift itself (the new
+	# `swift-driver` + macro support via `swift-syntax`), which requires
+	# bootstrapping with an existing Swift compiler.
+	#
+	# We don't have an existing Swift compiler, but we can bootstrap it with
+	# itself in a 3-stage process:
+	#
+	# 0. We'll build LLVM+Clang and a bare Swift compiler with the old C++-based
+	#    driver and no macro support
+	# 1. We'll use that bare compiler to build a base compiler with the new
+	#    Swift-based driver and macro support, with some base libs
+	# 2. We'll then use that base compiler to build a full Swift toolchain with
+	#    all necessary libs
+	#
+	# Build products will be intentionally shared between stages as much as
+	# possible to avoid unnecessary repeated compilation.
+
+	# Building swift-driver writes to this directory for some reason, but the
+	# contents are irrelevant.
+	addpredict /var/lib/portage/home/.swiftpm
+
+	local _extra_cmake_options=(
+		# BFD doesn't link Swift symbols properly, so we have to ensure Swift is
+		# built with LLD.
+		'-DSWIFT_USE_LINKER=lld',
+
+		# We don't need to build any test code or test executables, which Swift
+		# (and some components) does by default.
+		'-DBUILD_TESTING:BOOL=NO',
+		'-DSWIFT_INCLUDE_TESTS:BOOL=NO',
+		'-DSWIFT_INCLUDE_TEST_BINARIES:BOOL=NO',
+
+		# The Clang `compiler-rt` library builds the LLVM ORC JIT component by
+		# default, which we don't need; the component builds with an executable
+		# stack, which we'd like to avoid.
+		'-DCOMPILER_RT_BUILD_ORC:BOOL=NO',
+
+		# LLDB ships with Python bindings, and uses CMake to search for Python.
+		# By default, CMake tries to find the latest version of Python available
+		# on disk (currently `python3.13`, then `python3.12`, then...). This
+		# might not be the version of Python the rest of the system uses, or
+		# which is specified by `PYTHON_SINGLE_TARGET`.
+		#
+		# Since `python_setup` already places `${EPYTHON}` in the `PATH`, we can
+		# tell CMake to use the unversioned `python` rather than a versioned
+		# one to end up respecting `PYTHON_SINGLE_TARGET`.
+		'-DPython3_FIND_UNVERSIONED_NAMES=FIRST'
+	)
+	local extra_cmake_options="$(IFS=,; echo "${_extra_cmake_options[*]}")"
+
+	# stage0:
+	# * Bare Swift compiler (no bootstrapping; no Swift driver or macros)
+	# * LLVM+Clang; this is the only stage where these are built because as a
+	#   base dependency, their flags never change, and the build products can be
+	#   reused
+	"${S}/swift/utils/build-script" \
+		--verbose-build \
+		--release \
+		--install-destdir="${S}/stage0" \
+		--extra-cmake-options="${extra_cmake_options}" \
+		--bootstrapping=off \
+		--build-swift-libexec=false \
+		--llvm-install-components='llvm-ar;llvm-cov;llvm-profdata;IndexStore;clang;clang-resource-headers;compiler-rt;clangd;lld;LTO;clang-features-file' \
+		--llvm-targets-to-build=host \
+		--skip-build-benchmarks \
+		--skip-early-swift-driver --skip-early-swiftsyntax \
+		--skip-test-cmark \
+		--skip-test-linux \
+		--skip-test-swift \
+		--install-all \
+		|| die
+
+	# stage1:
+	# * Base Swift compiler and driver (bootstrapping from stage0; with macros)
+	# * Base libs: swift-driver depends on llbuild + swiftpm, which depend on
+	#   Foundation + libdispatch + XCTest
+	local original_path="${PATH}"
+	export PATH="${S}/stage0/usr/bin:${original_path}"
+	"${S}/swift/utils/build-script" \
+		--verbose-build \
+		--release \
+		--install-destdir="${S}/stage1" \
+		--extra-cmake-options="${extra_cmake_options}" \
+		--build-swift-libexec=false \
+		--cmark --skip-test-cmark \
+		--foundation --skip-test-foundation \
+		--libdispatch --skip-test-libdispatch \
+		--llbuild --skip-test-llbuild \
+		--skip-build-benchmarks \
+		--skip-build-llvm \
+		--skip-test-linux \
+		--skip-test-swift \
+		--swift-driver --skip-test-swift-driver \
+		--swiftpm --skip-test-swiftpm \
+		--xctest --skip-test-xctest \
+		--install-all \
+		|| die
+
+	# stage2: full Swift toolchain (bootstrapping from stage1)
+	export PATH="${S}/stage1/usr/bin:${original_path}"
+	"${S}/swift/utils/build-script" \
+		--verbose-build \
+		--release \
+		--install-destdir="${S}/stage2" \
+		--extra-cmake-options="${extra_cmake_options}" \
+		--build-swift-libexec=false \
+		--foundation --skip-test-foundation \
+		--indexstore-db --skip-test-indexstore-db \
+		--libdispatch --skip-test-libdispatch \
+		--llbuild --skip-test-llbuild \
+		--lldb --skip-test-lldb \
+		--skip-build-benchmarks \
+		--skip-build-llvm \
+		--skip-test-linux \
+		--skip-test-swift \
+		--sourcekit-lsp --skip-test-sourcekit-lsp \
+		--swift-driver --skip-test-swift-driver \
+		--swift-install-components='autolink-driver;compiler;clang-resource-dir-symlink;stdlib;swift-remote-mirror;sdk-overlay;static-mirror-lib;toolchain-tools;license;sourcekit-inproc' \
+		--swiftdocc --skip-test-swiftdocc \
+		--swiftpm --skip-test-swiftpm \
+		--xctest --skip-test-xctest \
+		--install-all \
+		|| die
+
+	export PATH="${original_path}"
+}
+
+src_install() {
+	# The Swift build output is intended to be self-contained, and is
+	# _significantly_ easier to leave as-is than attempt to splat onto the
+	# filesystem; we'll install the output versioned into `/usr/lib64` and
+	# expose the relevant binaries via linking.
+	local dest_dir="/usr/lib64/${P}"
+	mkdir -p "${ED}/${dest_dir}" \
+		&& cp -pPR "${S}/stage2/." "${ED}/${dest_dir}" \
+		|| die
+
+	# Swift ships with its own `clang`, `lldb`, etc.; we don't want these to be
+	# exposed externally, so we'll just symlink Swift-specific binaries into
+	# `/usr/bin`. (The majority of executables don't need to be exposed as
+	# `swift <command>` calls `swift-<command>` directly.)
+	local bin
+	for bin in swift swiftc sourcekit-lsp; do
+		dosym -r "${dest_dir}/usr/bin/${bin}" "/usr/bin/${bin}"
+	done
+}


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/proj/guru:master commit in: dev-lang/swift/
@ 2024-10-13 14:51 David Roman
  0 siblings, 0 replies; 17+ messages in thread
From: David Roman @ 2024-10-13 14:51 UTC (permalink / raw
  To: gentoo-commits

commit:     8844fcb7f0a5b0959bcc45e55bd5a0f72724143c
Author:     Itai Ferber <itai <AT> itaiferber <DOT> net>
AuthorDate: Sat Oct 12 19:21:02 2024 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Sun Oct 13 01:31:24 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=8844fcb7

dev-lang/swift: update SRC_URI

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

 dev-lang/swift/swift-5.10.1.ebuild | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dev-lang/swift/swift-5.10.1.ebuild b/dev-lang/swift/swift-5.10.1.ebuild
index 29980b12b..5cf5bf187 100644
--- a/dev-lang/swift/swift-5.10.1.ebuild
+++ b/dev-lang/swift/swift-5.10.1.ebuild
@@ -15,9 +15,7 @@ SRC_URI="
 	https://github.com/apple/swift-atomics/archive/refs/tags/1.0.2.tar.gz -> swift-atomics-1.0.2.tar.gz
 	https://github.com/apple/swift-certificates/archive/refs/tags/1.0.1.tar.gz -> swift-certificates-1.0.1.tar.gz
 	https://github.com/apple/swift-collections/archive/refs/tags/1.0.5.tar.gz -> swift-collections-1.0.5.tar.gz
-	https://github.com/apple/swift-corelibs-foundation/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-corelibs-foundation-${PV}.tar.gz
 	https://github.com/apple/swift-corelibs-libdispatch/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-corelibs-libdispatch-${PV}.tar.gz
-	https://github.com/apple/swift-corelibs-xctest/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-corelibs-xctest-${PV}.tar.gz
 	https://github.com/apple/swift-crypto/archive/refs/tags/3.0.0.tar.gz -> swift-crypto-3.0.0.tar.gz
 	https://github.com/apple/swift-nio-ssl/archive/refs/tags/2.15.0.tar.gz -> swift-nio-ssl-2.15.0.tar.gz
 	https://github.com/apple/swift-nio/archive/refs/tags/2.31.2.tar.gz -> swift-nio-2.31.2.tar.gz
@@ -29,6 +27,8 @@ SRC_URI="
 	https://github.com/swiftlang/llvm-project/archive/refs/tags/${P}-RELEASE.tar.gz -> llvm-project-${PV}.tar.gz
 	https://github.com/swiftlang/sourcekit-lsp/archive/refs/tags/${P}-RELEASE.tar.gz -> sourcekit-lsp-${PV}.tar.gz
 	https://github.com/swiftlang/swift-cmark/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-cmark-${PV}.tar.gz
+	https://github.com/swiftlang/swift-corelibs-foundation/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-corelibs-foundation-${PV}.tar.gz
+	https://github.com/swiftlang/swift-corelibs-xctest/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-corelibs-xctest-${PV}.tar.gz
 	https://github.com/swiftlang/swift-docc-render-artifact/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-docc-render-artifact-${PV}.tar.gz
 	https://github.com/swiftlang/swift-docc-symbolkit/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-docc-symbolkit-${PV}.tar.gz
 	https://github.com/swiftlang/swift-docc/archive/refs/tags/${P}-RELEASE.tar.gz -> swift-docc-${PV}.tar.gz


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/proj/guru:master commit in: dev-lang/swift/
@ 2024-10-13 14:51 David Roman
  0 siblings, 0 replies; 17+ messages in thread
From: David Roman @ 2024-10-13 14:51 UTC (permalink / raw
  To: gentoo-commits

commit:     730418e323130d867f76885aef47e46e8d5f24ab
Author:     Itai Ferber <itai <AT> itaiferber <DOT> net>
AuthorDate: Sat Oct 12 17:40:43 2024 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Sun Oct 13 01:31:25 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=730418e3

dev-lang/swift: add explicit SLOT

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

 dev-lang/swift/metadata.xml           | 11 +++++++++++
 dev-lang/swift/swift-5.10.1-r1.ebuild |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/dev-lang/swift/metadata.xml b/dev-lang/swift/metadata.xml
index 810cc5c5a..415909a00 100644
--- a/dev-lang/swift/metadata.xml
+++ b/dev-lang/swift/metadata.xml
@@ -8,4 +8,15 @@
   <upstream>
     <remote-id type="github">swiftlang/swift</remote-id>
   </upstream>
+  <slots>
+    <slot name="0">
+      The original slot for swift-5.10.1; should no longer be used.
+    </slot>
+    <slot name="5">
+      The Swift 5 language, compiler, and tooling.
+    </slot>
+    <subslots>
+      Minor Swift versions.
+    </subslots>
+  </slots>
 </pkgmetadata>

diff --git a/dev-lang/swift/swift-5.10.1-r1.ebuild b/dev-lang/swift/swift-5.10.1-r1.ebuild
index 0a49073ff..3440d1183 100644
--- a/dev-lang/swift/swift-5.10.1-r1.ebuild
+++ b/dev-lang/swift/swift-5.10.1-r1.ebuild
@@ -56,7 +56,7 @@ PATCHES=(
 
 S="${WORKDIR}"
 LICENSE="Apache-2.0"
-SLOT="0"
+SLOT="5/10"
 KEYWORDS="~amd64"
 REQUIRED_USE="${PYTHON_REQUIRED_USE}"
 


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/proj/guru:master commit in: dev-lang/swift/
@ 2024-10-13 14:51 David Roman
  0 siblings, 0 replies; 17+ messages in thread
From: David Roman @ 2024-10-13 14:51 UTC (permalink / raw
  To: gentoo-commits

commit:     aaf9561924991c5c79618e1837b0ad1e0673f225
Author:     Itai Ferber <itai <AT> itaiferber <DOT> net>
AuthorDate: Sat Oct 12 17:41:44 2024 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Sun Oct 13 01:31:25 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=aaf95619

dev-lang/swift: add support for app-eselect/eselect-swift

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

 dev-lang/swift/swift-5.10.1-r1.ebuild | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/dev-lang/swift/swift-5.10.1-r1.ebuild b/dev-lang/swift/swift-5.10.1-r1.ebuild
index 3440d1183..f855522a2 100644
--- a/dev-lang/swift/swift-5.10.1-r1.ebuild
+++ b/dev-lang/swift/swift-5.10.1-r1.ebuild
@@ -64,6 +64,7 @@ RESTRICT="strip"
 
 RDEPEND="
 	${PYTHON_DEPS}
+	>=app-eselect/eselect-swift-1.0
 	>=dev-db/sqlite-3
 	>=dev-libs/icu-69
 	>=dev-libs/libedit-20221030
@@ -268,6 +269,27 @@ src_install() {
 	# `swift <command>` calls `swift-<command>` directly.)
 	local bin
 	for bin in swift swiftc sourcekit-lsp; do
-		dosym -r "${dest_dir}/usr/bin/${bin}" "/usr/bin/${bin}"
+		# We only install versioned symlinks; non-versioned links are maanged
+		# via `eselect swift`.
+		dosym -r "${dest_dir}/usr/bin/${bin}" "/usr/bin/${bin}-${PV}"
 	done
 }
+
+pkg_postinst() {
+	# If we're installing the latest version of Swift, then update symlinks to
+	# it. (We don't want to call `eselect swift update` unconditionally in case
+	# we're installing an older version of Swift, and the user has intentionally
+	# selected a version other than the latest.)
+	if ! has_version ">${CATEGORY}/${P}"; then
+		eselect swift update
+	fi
+}
+
+pkg_postrm() {
+	# We don't want to leave behind symlinks pointing to this Swift version on
+	# removal.
+	local eselect_swift_version="$(eselect swift show)"
+	if [[ "${eselect_swift_version}" == *"${P}" ]]; then
+		eselect swift update
+	fi
+}


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/proj/guru:master commit in: dev-lang/swift/
@ 2024-10-13 14:51 David Roman
  0 siblings, 0 replies; 17+ messages in thread
From: David Roman @ 2024-10-13 14:51 UTC (permalink / raw
  To: gentoo-commits

commit:     ca27db7e8b92982c2e87912b5651296278309204
Author:     Itai Ferber <itai <AT> itaiferber <DOT> net>
AuthorDate: Sun Oct 13 01:25:19 2024 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Sun Oct 13 01:31:25 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=ca27db7e

dev-lang/swift: use llvm-r1 to set LLVM toolchain

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

 dev-lang/swift/swift-5.10.1-r1.ebuild | 62 ++++++++++++++++++++++++++++-------
 1 file changed, 50 insertions(+), 12 deletions(-)

diff --git a/dev-lang/swift/swift-5.10.1-r1.ebuild b/dev-lang/swift/swift-5.10.1-r1.ebuild
index f855522a2..145becb3f 100644
--- a/dev-lang/swift/swift-5.10.1-r1.ebuild
+++ b/dev-lang/swift/swift-5.10.1-r1.ebuild
@@ -3,8 +3,9 @@
 
 EAPI=8
 
+LLVM_COMPAT=( {15..18} )
 PYTHON_COMPAT=( python3_{10..13} )
-inherit python-single-r1
+inherit llvm-r1 python-single-r1
 
 DESCRIPTION="A high-level, general-purpose, multi-paradigm, compiled programming language"
 HOMEPAGE="https://www.swift.org"
@@ -70,10 +71,10 @@ RDEPEND="
 	>=dev-libs/libedit-20221030
 	>=dev-libs/libxml2-2.11.5
 	>=net-misc/curl-8.4
-	>=sys-devel/lld-15
 	>=sys-libs/ncurses-6
 	>=sys-libs/zlib-1.3
 	dev-lang/python
+	$(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}=')
 "
 
 BDEPEND="
@@ -86,16 +87,61 @@ BDEPEND="
 	>=dev-libs/libxml2-2.11.5
 	>=dev-vcs/git-2.39
 	>=sys-apps/coreutils-9
-	>=sys-devel/clang-15
-	>=sys-devel/lld-15
 	>=sys-libs/ncurses-6
 	>=sys-libs/zlib-1.3
+	$(llvm_gen_dep '
+		sys-devel/clang:${LLVM_SLOT}=
+		sys-devel/lld:${LLVM_SLOT}=
+	')
 	dev-lang/python
 	$(python_gen_cond_dep '
 		dev-python/setuptools[${PYTHON_USEDEP}]
 	' python3_{12..13})
 "
 
+# Adapted from `flag-o-matic.eclass`'s `raw-ldflags`: turns GCC-style flags
+# (`-Wl,-foo`) into Clang-style flags (`-Xlinker -foo`).
+clang-ldflags() {
+	local flag input="$@"
+	[[ -z ${input} ]] && input=${LDFLAGS}
+	set --
+	for flag in ${input//,/ } ; do
+		case ${flag} in
+			-Wl) ;;
+			*) set -- "$@" "-Xlinker ${flag}" ;;
+		esac
+	done
+	echo "$@"
+}
+
+pkg_setup() {
+	# Sets `${EPYTHON}` according to `PYTHON_SINGLE_TARGET`, sets up
+	# `${T}/${EPYTHON}` with that version, and adds it to the `PATH`.
+	python_setup
+
+	# Sets up `PATH` to point to the appropriate LLVM toolchain.
+	llvm-r1_pkg_setup
+
+	# `llvm-r1_pkg_setup` sets these tools to their absolute paths, but we need
+	# to still pick them up dynamically based on `PATH` for stage1 and stage2
+	# builds below (to keep all parts of the Swift toolchain compiling with the
+	# same internal tools).
+	export CC="clang"
+	export CXX="clang++"
+	export LD="ld.lld"
+
+	# Swift builds with CMake, which picks up `LDFLAGS` from the environment and
+	# populates `CMAKE_EXE_LINKER_FLAGS` with them. `LDFLAGS` are typically
+	# given as GCC-style flags (), which Clang understands;
+	# unfortunately, CMake passes these flags to all compilers under the
+	# assumption they support the same syntax, but `swiftc` _only_ understands
+	# Clang-style flags (`-Xlinker -foo`). In order to pass `LDFLAGS` in, we
+	# have to turn them into a format that `swiftc` will understand.
+	#
+	# We can do this because we know we're compiling with Clang specifically.
+	export LDFLAGS="$(clang-ldflags)"
+}
+
 src_unpack() {
 	default
 
@@ -117,14 +163,6 @@ src_unpack() {
 		|| die
 }
 
-src_configure() {
-	default
-
-	# Sets `${EPYTHON}` according to `PYTHON_SINGLE_TARGET`, sets up
-	# `${T}/${EPYTHON}` with that version, and adds it to the `PATH`.
-	python_setup
-}
-
 src_compile() {
 	# The Swift 5.10 compiler is partially written in Swift itself (the new
 	# `swift-driver` + macro support via `swift-syntax`), which requires


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/proj/guru:master commit in: dev-lang/swift/
@ 2024-10-13 14:51 David Roman
  0 siblings, 0 replies; 17+ messages in thread
From: David Roman @ 2024-10-13 14:51 UTC (permalink / raw
  To: gentoo-commits

commit:     2a36ac399b06cd73f2be2c7d0df56dc82eb31fb4
Author:     Itai Ferber <itai <AT> itaiferber <DOT> net>
AuthorDate: Sun Oct 13 01:27:34 2024 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Sun Oct 13 01:31:25 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=2a36ac39

dev-lang/swift: build without compiler assertions

Closes: https://bugs.gentoo.org/940500
Signed-off-by: Itai Ferber <itai <AT> itaiferber.net>

 dev-lang/swift/swift-5.10.1-r1.ebuild | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/dev-lang/swift/swift-5.10.1-r1.ebuild b/dev-lang/swift/swift-5.10.1-r1.ebuild
index 145becb3f..ee233f3bb 100644
--- a/dev-lang/swift/swift-5.10.1-r1.ebuild
+++ b/dev-lang/swift/swift-5.10.1-r1.ebuild
@@ -222,6 +222,8 @@ src_compile() {
 	"${S}/swift/utils/build-script" \
 		--verbose-build \
 		--release \
+		--no-assertions \
+		--build-subdir="Ninja-Release" \
 		--install-destdir="${S}/stage0" \
 		--extra-cmake-options="${extra_cmake_options}" \
 		--bootstrapping=off \
@@ -245,6 +247,8 @@ src_compile() {
 	"${S}/swift/utils/build-script" \
 		--verbose-build \
 		--release \
+		--no-assertions \
+		--build-subdir="Ninja-Release" \
 		--install-destdir="${S}/stage1" \
 		--extra-cmake-options="${extra_cmake_options}" \
 		--build-swift-libexec=false \
@@ -267,6 +271,8 @@ src_compile() {
 	"${S}/swift/utils/build-script" \
 		--verbose-build \
 		--release \
+		--no-assertions \
+		--build-subdir="Ninja-Release" \
 		--install-destdir="${S}/stage2" \
 		--extra-cmake-options="${extra_cmake_options}" \
 		--build-swift-libexec=false \


^ permalink raw reply related	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2024-10-13 14:51 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-10 20:34 [gentoo-commits] repo/proj/guru:master commit in: dev-lang/swift/ Lucio Sauer
  -- strict thread matches above, loose matches on Subject: below --
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
2024-09-14  0:43 David Roman
2024-09-14  0:43 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-07-17  8:40 David Roman
2024-07-17  8:40 David Roman
2024-07-01 13:50 David Roman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox