81 Commits
Author SHA1 Message Date
Itai Ferber e3e04bcc85 dev-lang/swift: drop myself as a maintainer
Outstanding bugs:

* https://bugs.gentoo.org/935328
* https://bugs.gentoo.org/947141
* https://bugs.gentoo.org/950963
* https://bugs.gentoo.org/951183
* https://bugs.gentoo.org/956325
* https://bugs.gentoo.org/957759
* https://bugs.gentoo.org/966176
* https://bugs.gentoo.org/967272
* https://bugs.gentoo.org/981300

Most of these are build failure bugs. Swift's build system is very
particular, and antagonistic to the types of modifications needed to
allow it to both compile correctly and behave as a good Gentoo citizen.
The fragility has worsened over time.

It still builds cleanly in a fresh ebuildtester Docker container, but
has trouble on "real" systems, even with identical setups. See 978755
for the latest.

Signed-off-by: Itai Ferber <itai@itaiferber.net>
2026-10-02 11:41:50 -04:00
Itai Ferber 65eea909ca dev-lang/swift: resolve conflicting patches
While working on updates to resolve GCC 16 build issues, I backported an
upstream patch for removing a reference to `<linux/scc.h>` (80fbc4c2a);
simultaneously, a similar patch was added (731832ced) that introduced
the same fix. The conflict wasn't caught during the rebase.

Signed-off-by: Itai Ferber <itai@itaiferber.net>
2026-07-02 20:01:08 -04:00
Itai Ferber a1e27592a6 dev-lang/swift: add 6.3.3
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2026-07-02 06:28:31 -04:00
Itai Ferber 0591ece77d dev-lang/swift: update LLVM_COMPAT
Updates LLVM_COMPAT to allow building Swift 6 with LLVM/Clang 22, and
reintroduces a `libcxx` USE flag to allow dropping a hard dependency on
GCC <16 on systems that don't want to use it.

Swift 5.10 does not build with Clang 22.

Signed-off-by: Itai Ferber <itai@itaiferber.net>
2026-07-02 06:28:31 -04:00
Itai Ferber 80fbc4c2ac dev-lang/swift: backport patch for linux/scc.h
Backports an upstream patch for building LLVM sanitizers on systems
where `<linux/scc.h>` is no longer present.

Signed-off-by: Itai Ferber <itai@itaiferber.net>
2026-07-02 06:28:31 -04:00
Itai Ferber 0caf226210 dev-lang/swift: fix builds with GCC 16 present
Swift defaults to building against GCC's libstdc++ runtime, but GCC 16's
headers can only be parsed by Clang 22 and later. Swift's LLVM will pick
up on the newest headers available on disk, which means that even if GCC
16 is simply installed on the build machine, Swift will fail to build.
Depending on GCC <16 and explicitly setting `--gcc-install-dir` allows
the right headers to be picked up.

Closes: https://bugs.gentoo.org/974722
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2026-07-02 06:28:31 -04:00
Itai Ferber 688135195e dev-lang/swift: improve support for CXXFLAGS
The custom Swift build system doesn't correctly pass
CFLAGS/CXXFLAGS/LDFLAGS to invocations of CMake, nor does the Swift
compiler pick up on those env vars automatically to pass to Clang. The
build system needs to be patched to pass these flags around explicitly,
and a few sites were missed during original patching.

Signed-off-by: Itai Ferber <itai@itaiferber.net>
2026-07-02 06:28:24 -04:00
Katalin Rebhan 731832ced0 dev-lang/swift: remove #include <linux/scc.h>
This header was removed recently (looks like with Linux 7.1).
Remove the usage for it in libsanitizer so that it builds again.

See https://github.com/llvm/llvm-project/issues/194110.

Signed-off-by: Katalin Rebhan <me@dblsaiko.net>
2026-07-01 02:57:40 +02:00
Itai Ferber 3af0aa6d14 dev-lang/swift: fix ebuild local var name
d201619d3 introduced a check for a Swift compiler to use for
bootstrapping Swift 6, but typo'd the variable name used in one case.
This only affected in-place upgrades with no other Swift version
installed, so wasn't caught in testing.

Signed-off-by: Itai Ferber <itai@itaiferber.net>
2026-06-09 18:27:43 -04:00
Itai Ferber f8324fb859 dev-lang/swift: update python_gen_cond_dep
When `PYTHON_COMPAT` was updated to support `python3_14`,
`python_gen_cond_dep` wasn't also updated; since we're not trying to
filter Python versions beyond `PYTHON_COMPAT`, we don't actually need to
pass anything in.

Signed-off-by: Itai Ferber <itai@itaiferber.net>
2026-06-06 09:10:09 -04:00
Itai Ferber d201619d3d 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>
2026-06-06 09:10:08 -04:00
Itai Ferber dca0c52be3 dev-lang/swift: add 6.3.2
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2026-06-04 21:09:01 -04:00
Itai Ferber 2de6608e81 dev-lang/swift: ignore rm failure in postrm
The postrm() phase attempts to remove symlinks to installed Swift
versions; the `rm` invocation was missing `|| die` or `-f` to clearly
indicate what should happen on failure. (In this case, it's okay to
ignore the error and move on.)

Signed-off-by: Itai Ferber <itai@itaiferber.net>
2026-04-22 10:12:06 -04:00
Itai Ferber 16be0d677e dev-lang/swift: add 6.3.1
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2026-04-19 21:49:36 -04:00
Itai Ferber 712f2b61ba dev-lang/swift: fix building when dev-libs/libdispatch is present
Swift currently fails to build if `dev-libs/libdispatch` is installed
because it globally installs private `libdispatch` headers which get
unexpectedly picked up during the Swift build. Since the headers are not
expected to be present when building Swift on non-Darwin platforms, the
check for the header can be patched out.

Signed-off-by: Itai Ferber <itai@itaiferber.net>
2026-04-19 21:49:36 -04:00
Itai Ferber 4f760635c2 dev-lang/swift: fix swift-6.3 SLOT
swift-6.3 was accidentally introduced with a SLOT of "6/2" when it
should be "6/3"

Signed-off-by: Itai Ferber <itai@itaiferber.net>
2026-04-19 21:49:32 -04:00
Itai Ferber bc901cd86c dev-lang/swift: drop 6.2, 6.2.1, 6.2.2, 6.2.3
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2026-03-28 12:59:06 -04:00
Itai Ferber 2e89030e6b dev-lang/swift: add 6.3
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2026-03-28 11:24:10 -04:00
David Roman 68fbddeaec */*: drop py3.11 & remove dead py impls
Part-of: https://github.com/gentoo/guru/pull/447
Closes: https://github.com/gentoo/guru/pull/447
Signed-off-by: David Roman <stkw0@disroot.org>
2026-03-10 10:54:23 +01:00
Itai Ferber 2ba91fc323 dev-lang/swift: update to llvm-r2.eclass
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2026-03-06 13:48:51 -05:00
Itai Ferber de756f6545 dev-lang/swift: update LLVM_COMPAT
Drop non-existent LLVM 15, and extend compatibility through LLVM 21.

Signed-off-by: Itai Ferber <itai@itaiferber.net>
2026-02-27 16:25:43 -05:00
Itai Ferber 53fad1e56b dev-lang/swift: add 6.2.4
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2026-02-27 16:25:39 -05:00
Itai Ferber 16c07b5403 dev-lang/swift: enable py3.14
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2025-12-13 07:43:50 -05:00
Itai Ferber 9a53f6b4f4 dev-lang/swift: drop older 6.0.3 revisions
Cleans up pre-r2 ebuild revisions.

Signed-off-by: Itai Ferber <itai@itaiferber.net>
2025-12-13 07:43:50 -05:00
Itai Ferber b176c46619 dev-lang/swift: drop older 5.10.1 revisions
Cleans up pre-r5 ebuild versions.

Signed-off-by: Itai Ferber <itai@itaiferber.net>
2025-12-13 07:43:50 -05:00
Itai Ferber f565d53972 dev-lang/swift: add 6.2.3
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2025-12-12 18:48:24 -05:00
Itai Ferber be828f7112 dev-lang/swift: patch additional missing include
23ea96bd5 added a patch to fix some issues caused by build system
updates; namely, it added some necessary `#include <cstdint>`s that
allowed the project to build. Swift 6.2 requires an additional include
in `FunctionRefInfo.cpp`.

Signed-off-by: Itai Ferber <itai@itaiferber.net>
2025-12-12 18:48:08 -05:00
Katalin Rebhan 33333d4eea dev-lang/swift: add 6.2.2
Signed-off-by: Katalin Rebhan <me@dblsaiko.net>
2025-12-09 22:29:19 +01:00
Paul Zander e07d695d5d */*: Add := to virtual/zlib deps
Add := to virtual/zlib deps, part 1

Done via:

```
git grep -l virtual/zlib$ | xargs sed -i -e 's@virtual/zlib$@&:=@'
```

Add := to virtual/zlib deps

Done via:

```
git grep -l 'virtual/zlib ' |
  xargs sed -i -e 's@virtual/zlib @virtual/zlib:= @g'
```

Unify virtual/zlib:0= to virtual/zlib:=

Done via:

```
git grep -l 'virtual/zlib:0=' |
  xargs sed -i -e 's@virtual/zlib:0=@virtual/zlib:=@g'
```

Add := to virtual/zlib deps, part 3

Done via:

```
git grep -l 'virtual/zlib:0' |
  xargs sed -i -e 's@virtual/zlib:0@virtual/zlib:=@g'
git grep -l 'virtual/zlib:=/' |
  xargs sed -i -e 's@virtual/zlib:=/@virtual/zlib:0/@g'
```

Add := to virtual/zlib deps, part 4

Done via:

```
git grep -l 'virtual/zlib\[' |
  xargs sed -i -e 's@virtual/zlib\[@virtual/zlib:=\[@g'
```

Use := on virtual/zlib deps, part 5

Done via:

```
git grep -l 'virtual/zlib-' |
  xargs sed -i -r -e 's@virtual/zlib-[0-9.]*(-r[0-9]*)?@&:=@g'
git grep -l 'virtual/zlib-' | xargs sed -i -e 's@:=:=@:=@g'
pkgcheck scan --commits \
  -c SourcingCheck,VisibilityCheck,DependencyCheck --exit error
```

Use := on virtual/zlib deps, part 6

Done via:

```
git grep -l 'virtual/zlib"' | xargs sed -i -e 's@virtual/zlib"@virtual/zlib:="@'
```

Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
2025-11-18 17:53:08 +01:00
Paul Zander c23791504e */*: update for virtual/zlib
Update done using:

```
git grep -l sys-libs/zlib sys-* | xargs sed -i -e s@sys-libs/zlib@virtual/zlib@g
git grep -l virtual/zlib-ng sys-* | xargs sed -i -e s@virtual/zlib-ng@sys-libs/zlib-ng@g
git diff --name-only | xargs copybump
git diff --name-only | xargs grep -l PYTHON_COMPAT | xargs gpy-impl -@dead
pkgcheck scan --commits -c SourcingCheck,VisibilityCheck --exit error
```

Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
2025-11-16 23:26:20 +01:00
Itai Ferber 945693e4db dev-lang/swift: add 6.2.1
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2025-11-05 10:27:03 -05:00
Itai Ferber da67285555 dev-lang/swift: add 6.2
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2025-09-17 19:10:47 -04:00
Itai Ferber 7833ec9d17 dev-lang/swift: add 6.1.3, drop 6.1, 6.1.1, 6.1.2, 6.1.2-r1
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2025-09-17 19:10:47 -04:00
Pavel Sobolev 23ea96bd50 dev-lang/swift: fix issues caused by build system updates
Closes: https://bugs.gentoo.org/945025

Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
2025-09-05 23:03:21 +03:00
Katalin Rebhan 788804b6b5 dev-lang/swift: Correctly merge extra build flags
The build script complains when the same option occurs multiple
times in the same preset, but merges them when they occur in separate
presets. Therefore restore the code that creates a stack of presets
with one for each subsequent argument, instead of packing them all
into a single preset.

Signed-off-by: Katalin Rebhan <me@dblsaiko.net>
2025-07-05 19:44:18 +02:00
Itai Ferber 6bfcf19e28 dev-lang/swift: add symlinks to stable SLOT dir
Along with `/usr/$(get_libdir)/swift-${PV}`, symlink to a stable
directory in `/usr/$(get_libdir)` that matches the package SLOT so
revdeps can rely on a stable directory that doesn't change on patch
version.

Closes: https://bugs.gentoo.org/957730
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2025-06-21 20:29:32 -04:00
Itai Ferber dfda47c295 dev-lang/swift: add 6.1.2
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2025-05-29 10:19:32 -04:00
Itai Ferber f065207ce9 dev-lang/swift: add 6.1.1
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2025-05-24 15:20:57 -04:00
Itai Ferber becab7e238 dev-lang/swift: fix broken 5.10.1 patch symlink
2849e1a7d removed swift-6.0.1, -6.0.1-r1, and -6.0.2, but
swift-5.10.1-r2/backtracing-noexecstack.patch was symlinked to
swift-6.0.1's version. The effective file has been moved down to
swift-5.10.1-r2 and the swift-6.x line now symlinks to this base file;
the contents have not changed.

Closes: https://bugs.gentoo.org/954338
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2025-04-27 13:25:34 -04:00
Itai Ferber f0fee0b997 dev-lang/swift: add 6.1
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2025-04-01 09:58:53 -04:00
Itai Ferber 2849e1a7d3 dev-lang/swift: drop 6.0.1, 6.0.1-r1, 6.0.2
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2025-04-01 09:58:49 -04:00
Itai Ferber fdc4461cb8 dev-lang/swift: fix symlinking on install
On `pkg_postinst`, `has_version` wasn't returning the expected value in
order to symlink Swift on first install; instead, we can use `eselect
swift show` itself to be able to tell whether we're eligible to update
the symlinks.

Closes: https://bugs.gentoo.org/951175
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2025-03-26 15:46:02 -04:00
Itai Ferber 0cf9b38183 dev-lang/swift: respect MAKEOPTS -j
The Swift build system takes a '-j'/'--jobs' flag, but the value from
MAKEOPTS needs to be manually exposed to it for it to be respected.

Closes: https://bugs.gentoo.org/951202
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2025-03-26 15:46:02 -04:00
Itai Ferber 6c6dc8ce59 dev-lang/swift: add swift-5.10.1-r4, swift-6.0.3-r1
Swift is now set up to properly respect CFLAGS, CXXFLAGS, and LDFLAGS
from the environment by not overriding those values in the build system.
Swift 6 now also picks up on `SWIFT_EXTRA_BUILD_FLAGS` from the
environment and passes those to its build system as well.

Closes: https://bugs.gentoo.org/939764
Closes: https://bugs.gentoo.org/939766
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2025-03-26 15:46:02 -04:00
Itai Ferber 3b7851f360 dev-lang/swift: add compatibility for LLVM 19
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2025-03-07 15:32:21 -05:00
Itai Ferber c814bc34f9 dev-lang/swift: fix swift-5.10.1 linker error on compiling IndexStore
Closes: https://bugs.gentoo.org/950708
Signed-off-by: Itai Ferber <itai@itaiferber.net>
2025-03-07 15:32:21 -05:00
Anna (cybertailor) Vyalkova bb0aae8ad3 */*: disable py3.10
Python 3.10 target is scheduled for removal in Gentoo:
https://public-inbox.gentoo.org/gentoo-dev/e6ca9f1f4ababb79ab2a3d005c39b483c3ecef6e.camel@gentoo.org/

Sphinx 8.2.0 already dropped support for CPython 3.10 and PyPy 3.10,
leading to multiple CI failures in ::guru.

We can safely remove this target, because GURU is "experimental" and
does not have stable keywords.

Let's not remove "pypy3" right now because
a) There are not many packages using it.
b) So we can see which packages supported PyPy 3.10, and test them with
   PyPy 3.11.

Closes: https://github.com/gentoo/guru/pull/291
Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo@sysrq.in>
2025-02-21 17:51:14 +05:00
Marco Rebhan fbbd4a1e11 dev-lang/swift: Add option to compile with libcxx
This is useful on llvm profile systems, where the default C++ compiler
is clang with libcxx.

Signed-off-by: Marco Rebhan <me@dblsaiko.net>
2025-02-11 00:46:30 +01:00
Marco Rebhan e725aa5030 dev-lang/swift: Always use libstdc++ when building Swift 5
Closes: https://bugs.gentoo.org/949266
Signed-off-by: Marco Rebhan <me@dblsaiko.net>
2025-02-11 00:46:30 +01:00
Marco Rebhan a66c6fc7ab dev-lang/swift: Use lld as default linker for Swift LLVM
Signed-off-by: Marco Rebhan <me@dblsaiko.net>
2025-02-11 00:46:30 +01:00