Merge pull request #269015 from paveloom/swiftpm

swift: force-unwrap file handles in `swift-tools-support-core`
This commit is contained in:
Weijia Wang 2024-01-13 22:47:23 +01:00 committed by GitHub
commit a291d04a15
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 148 additions and 2 deletions

View File

@ -40,6 +40,9 @@ stdenv.mkDerivation {
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 \

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -19,7 +19,10 @@ stdenv.mkDerivation {
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" ];

View File

@ -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

View File

@ -199,6 +199,10 @@ let
name = "swift-tools-support-core";
src = generated.sources.swift-tools-support-core;
patches = [
./patches/force-unwrap-file-handles.patch
];
buildInputs = [
swift-system
sqlite
@ -385,6 +389,7 @@ in stdenv.mkDerivation (commonAttrs // {
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

View File

@ -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