From 2e2a5a9f3fabf3ee45ff7c3b733ddc060b072eb5 Mon Sep 17 00:00:00 2001 From: "Jesse L. Zamora" Date: Fri, 5 Dec 2025 20:32:06 +0000 Subject: [PATCH 1/2] Copy /usr/lib/linux directory from container if it exists - This is a new requirement for Debian Trixie containers since asm headers in /usr/include are now symlinked to /usr/lib/linux directories. - This /usr/lib/linux directory is already included when building a Swift SDK without a container- this fixes building one with a container. --- .../SwiftSDKGenerator/Generator/SwiftSDKGenerator+Copy.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/SwiftSDKGenerator/Generator/SwiftSDKGenerator+Copy.swift b/Sources/SwiftSDKGenerator/Generator/SwiftSDKGenerator+Copy.swift index b6d9d7c..38c3f37 100644 --- a/Sources/SwiftSDKGenerator/Generator/SwiftSDKGenerator+Copy.swift +++ b/Sources/SwiftSDKGenerator/Generator/SwiftSDKGenerator+Copy.swift @@ -75,7 +75,7 @@ extension SwiftSDKGenerator { let sdkUsrLibPath = sdkUsrPath.appending("lib") try await generator.createDirectoryIfNeeded(at: sdkUsrLibPath) var subpaths: [(subpath: String, failIfNotExists: Bool)] = [ - ("clang", true), ("gcc", true), ("swift", true), ("swift_static", true), + ("clang", true), ("gcc", true), ("linux", false), ("swift", true), ("swift_static", true), ] // Ubuntu's multiarch directory scheme puts some libraries in From e52f34cf9024e263a8ad44c4f45617d20b3d04b0 Mon Sep 17 00:00:00 2001 From: "Jesse L. Zamora" Date: Fri, 5 Dec 2025 20:34:18 +0000 Subject: [PATCH 2/2] Update README to show that Debian 13 is supported --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 17897b3..55608a6 100644 --- a/README.md +++ b/README.md @@ -51,14 +51,14 @@ The generator also allows cross-compiling between any Linux distributions offici | macOS (x86_64) | ✅ macOS 13.0+[^1] | ❌ | | FreeBSD | ✅ 14.3+ | ✅ 14.3+ | | Ubuntu | ✅ 20.04+ | ✅ 20.04+ | -| Debian | ✅ 11, 12[^2] | ✅ 11, 12[^2] | +| Debian | ✅ 11, 12, 13[^2] | ✅ 11, 12, 13[^2] | | RHEL | ✅ Fedora 39, UBI 9 | ✅ Fedora 39, UBI 9[^3] | | Amazon Linux 2 | ✅ Supported | ✅ Supported[^3] | [^1]: Since LLVM project doesn't provide pre-built binaries of `lld` for macOS on x86_64, it will be automatically built from sources by the generator, which will increase its run by at least 15 minutes on recent hardware. You will also need CMake and Ninja preinstalled (e.g. via `brew install cmake ninja`). -[^2]: Swift does not officially support Debian 11 or Debian 12 with Swift versions before 5.10.1. However, the Ubuntu 20.04/22.04 toolchains can be used with Debian 11 and 12 (respectively) since they are binary compatible. +[^2]: Swift does not officially support Debian 11 or Debian 12 with Swift versions before 5.10.1. However, the Ubuntu 20.04/22.04 toolchains can be used with Debian 11 and 12 (respectively) since they are binary compatible. Debian 13 is also not officially supported, but can be used with the Ubuntu 24.04 toolchain. [^3]: These versions are technically supported but require custom commands and a Docker container to build the Swift SDK, as the generator will not download dependencies for these distributions automatically. See [issue #138](https://github.com/swiftlang/swift-sdk-generator/issues/138). ## How to use it