Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .swift-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
6.0.3
6.1.0
57 changes: 33 additions & 24 deletions Package.resolved

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 10 additions & 5 deletions Tools/build-swiftly-release/BuildSwiftlyRelease.swift
Original file line number Diff line number Diff line change
Expand Up @@ -220,10 +220,14 @@ struct BuildSwiftlyRelease: AsyncParsableCommand {
return try await self.assertTool("swift", message: "Please install swift and make sure that it is added to your path.")
}

guard let requiredSwiftVersion = try? self.findSwiftVersion() else {
guard var requiredSwiftVersion = try? self.findSwiftVersion() else {
throw Error(message: "Unable to determine the required swift version for this version of swiftly. Please make sure that you `cd <swiftly_git_dir>` and there is a .swift-version file there.")
}

if requiredSwiftVersion.hasSuffix(".0") {
requiredSwiftVersion = String(requiredSwiftVersion.dropLast(2))
}

let swift = try await self.assertTool("swift", message: "Please install swift \(requiredSwiftVersion) and make sure that it is added to your path.")

// We also need a swift toolchain with the correct version
Expand Down Expand Up @@ -276,8 +280,8 @@ struct BuildSwiftlyRelease: AsyncParsableCommand {
try runProgram(swift, "package", "reset")

// Build a specific version of libarchive with a check on the tarball's SHA256
let libArchiveVersion = "3.7.4"
let libArchiveTarSha = "7875d49596286055b52439ed42f044bd8ad426aa4cc5aabd96bfe7abb971d5e8"
let libArchiveVersion = "3.7.9"
let libArchiveTarSha = "aa90732c5a6bdda52fda2ad468ac98d75be981c15dde263d7b5cf6af66fd009f"

let buildCheckoutsDir = FileManager.default.currentDirectoryPath + "/.build/checkouts"
let libArchivePath = buildCheckoutsDir + "/libarchive-\(libArchiveVersion)"
Expand All @@ -287,7 +291,7 @@ struct BuildSwiftlyRelease: AsyncParsableCommand {
try? FileManager.default.createDirectory(atPath: pkgConfigPath, withIntermediateDirectories: true)

try? FileManager.default.removeItem(atPath: libArchivePath)
try runProgram(curl, "-o", "\(buildCheckoutsDir + "/libarchive-\(libArchiveVersion).tar.gz")", "--remote-name", "--location", "https://github.com/libarchive/libarchive/releases/download/v\(libArchiveVersion)/libarchive-\(libArchiveVersion).tar.gz")
try runProgram(curl, "-L", "-o", "\(buildCheckoutsDir + "/libarchive-\(libArchiveVersion).tar.gz")", "--remote-name", "--location", "https://github.com/libarchive/libarchive/releases/download/v\(libArchiveVersion)/libarchive-\(libArchiveVersion).tar.gz")
let libArchiveTarShaActual = try await runProgramOutput(sha256sum, "\(buildCheckoutsDir)/libarchive-\(libArchiveVersion).tar.gz")
guard let libArchiveTarShaActual, libArchiveTarShaActual.starts(with: libArchiveTarSha) else {
let shaActual = libArchiveTarShaActual ?? "none"
Expand All @@ -298,7 +302,8 @@ struct BuildSwiftlyRelease: AsyncParsableCommand {
let cwd = FileManager.default.currentDirectoryPath
FileManager.default.changeCurrentDirectoryPath(libArchivePath)

let swiftVerRegex: Regex<(Substring, Substring)> = try! Regex("Swift version (\\d+\\.\\d+\\.\\d+) ")
let swiftVerRegex: Regex<(Substring, Substring)> = try! Regex("Swift version (\\d+\\.\\d+\\.?\\d*) ")

let swiftVerOutput = (try await runProgramOutput(swift, "--version")) ?? ""
guard let swiftVerMatch = try swiftVerRegex.firstMatch(in: swiftVerOutput) else {
throw Error(message: "Unable to detect swift version")
Expand Down
2 changes: 1 addition & 1 deletion scripts/install-libarchive.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
set -o errexit

# TODO detect platform
LIBARCHIVE_VERSION=3.7.4
LIBARCHIVE_VERSION=3.7.9

mkdir /tmp/archive-build
pushd /tmp/archive-build
Expand Down