about summary refs log tree commit diff
path: root/pkgs/development/compilers/swift/swiftpm/patches/fix-stdlib-path.patch
blob: 6c9c21cfb98ea30aab19115e130cd8d55ca7552b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Swiftpm looks for the Swift stdlib relative to the swift compiler, but that's a
wrapper in our case. It wants to add the stdlib to the rpath, which is
necessary for back-deployment of some features.

--- a/Sources/PackageModel/Toolchain.swift
+++ b/Sources/PackageModel/Toolchain.swift
@@ -53,12 +53,18 @@ extension Toolchain {
 
     public var macosSwiftStdlib: AbsolutePath {
         get throws {
+            if swiftCompilerPath.pathString.starts(with: "@storeDir@") {
+                return AbsolutePath("@swiftLib@/lib/swift/macosx")
+            }
             return try AbsolutePath(validating: "../../lib/swift/macosx", relativeTo: resolveSymlinks(swiftCompilerPath))
         }
     }
 
     public var toolchainLibDir: AbsolutePath {
         get throws {
+            if swiftCompilerPath.pathString.starts(with: "@storeDir@") {
+                return AbsolutePath("@swiftLib@/lib")
+            }
             // FIXME: Not sure if it's better to base this off of Swift compiler or our own binary.
             return try AbsolutePath(validating: "../../lib", relativeTo: resolveSymlinks(swiftCompilerPath))
         }