diff options
Diffstat (limited to 'pkgs/development/compilers/swift')
-rw-r--r-- | pkgs/development/compilers/swift/swift-driver/default.nix | 5 | ||||
-rw-r--r-- | pkgs/development/compilers/swift/swift-driver/patches/force-unwrap-file-handles.patch | 33 |
2 files changed, 37 insertions, 1 deletions
diff --git a/pkgs/development/compilers/swift/swift-driver/default.nix b/pkgs/development/compilers/swift/swift-driver/default.nix index 60fe2aeb9c92d..d69a4da0eb3e1 100644 --- a/pkgs/development/compilers/swift/swift-driver/default.nix +++ b/pkgs/development/compilers/swift/swift-driver/default.nix @@ -52,7 +52,10 @@ stdenv.mkDerivation { }) ]; - configurePhase = generated.configure; + configurePhase = generated.configure + '' + swiftpmMakeMutable swift-tools-support-core + patch -p1 -d .build/checkouts/swift-tools-support-core -i ${./patches/force-unwrap-file-handles.patch} + ''; # TODO: Tests depend on indexstore-db being provided by an existing Swift # toolchain. (ie. looks for `../lib/libIndexStore.so` relative to swiftc. diff --git a/pkgs/development/compilers/swift/swift-driver/patches/force-unwrap-file-handles.patch b/pkgs/development/compilers/swift/swift-driver/patches/force-unwrap-file-handles.patch new file mode 100644 index 0000000000000..a2f2d38c37c81 --- /dev/null +++ b/pkgs/development/compilers/swift/swift-driver/patches/force-unwrap-file-handles.patch @@ -0,0 +1,33 @@ +From 8d9ab4b6ed24a97e8af0cc338a52aacdcf438b8c Mon Sep 17 00:00:00 2001 +From: Pavel Sobolev <paveloom@riseup.net> +Date: Tue, 21 Nov 2023 20:53:33 +0300 +Subject: [PATCH] Force-unwrap file handles. + +--- + Sources/TSCBasic/FileSystem.swift | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Sources/TSCBasic/FileSystem.swift b/Sources/TSCBasic/FileSystem.swift +index 3a63bdf..a1f3d9d 100644 +--- a/Sources/TSCBasic/FileSystem.swift ++++ b/Sources/TSCBasic/FileSystem.swift +@@ -425,7 +425,7 @@ private class LocalFileSystem: FileSystem { + if fp == nil { + throw FileSystemError(errno: errno, path) + } +- defer { fclose(fp) } ++ defer { fclose(fp!) } + + // Read the data one block at a time. + let data = BufferedOutputByteStream() +@@ -455,7 +455,7 @@ private class LocalFileSystem: FileSystem { + if fp == nil { + throw FileSystemError(errno: errno, path) + } +- defer { fclose(fp) } ++ defer { fclose(fp!) } + + // Write the data in one chunk. + var contents = bytes.contents +-- +2.42.0 |