Merge pull request #269015 from paveloom/swiftpm

swift: force-unwrap file handles in `swift-tools-support-core`

Changed files
+148 -2
pkgs
development
+3
pkgs/development/compilers/swift/sourcekit-lsp/default.nix
···
swiftpmMakeMutable indexstore-db
patch -p1 -d .build/checkouts/indexstore-db -i ${./patches/indexstore-db-macos-target.patch}
+
swiftpmMakeMutable swift-tools-support-core
+
patch -p1 -d .build/checkouts/swift-tools-support-core -i ${./patches/force-unwrap-file-handles.patch}
+
# This toggles a section specific to Xcode XCTest, which doesn't work on
# Darwin, where we also use swift-corelibs-xctest.
substituteInPlace Sources/LSPTestSupport/PerfTestCase.swift \
+33
pkgs/development/compilers/swift/sourcekit-lsp/patches/force-unwrap-file-handles.patch
···
+
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
+4 -1
pkgs/development/compilers/swift/swift-driver/default.nix
···
})
];
-
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.
+33
pkgs/development/compilers/swift/swift-driver/patches/force-unwrap-file-handles.patch
···
+
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
+4 -1
pkgs/development/compilers/swift/swift-format/default.nix
···
nativeBuildInputs = [ swift swiftpm ];
buildInputs = [ Foundation ];
-
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}
+
'';
# We only install the swift-format binary, so don't need the other products.
swiftpmFlags = [ "--product swift-format" ];
+33
pkgs/development/compilers/swift/swift-format/patches/force-unwrap-file-handles.patch
···
+
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
+5
pkgs/development/compilers/swift/swiftpm/default.nix
···
name = "swift-tools-support-core";
src = generated.sources.swift-tools-support-core;
+
patches = [
+
./patches/force-unwrap-file-handles.patch
+
];
+
buildInputs = [
swift-system
sqlite
···
swiftpmMakeMutable swift-tools-support-core
substituteInPlace .build/checkouts/swift-tools-support-core/Sources/TSCTestSupport/XCTestCasePerf.swift \
--replace 'canImport(Darwin)' 'false'
+
patch -p1 -d .build/checkouts/swift-tools-support-core -i ${./patches/force-unwrap-file-handles.patch}
# Prevent a warning about SDK directories we don't have.
swiftpmMakeMutable swift-driver
+33
pkgs/development/compilers/swift/swiftpm/patches/force-unwrap-file-handles.patch
···
+
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