From fd2ed765fe37a281dd95b4969513bb8ac505280e Mon Sep 17 00:00:00 2001 From: Max Desiatov Date: Tue, 27 Aug 2024 19:13:56 +0100 Subject: [PATCH 1/2] Adopt `swift-toolchain-sqlite` to reduce system dependencies This means we no longer require users to provide their own system SQLite installation on Linux or Windows. --- Package.resolved | 9 +++++++++ Package.swift | 5 +++-- Sources/GeneratorEngine/Cache/SQLite.swift | 2 +- Sources/SystemSQLite/module.modulemap | 5 ----- Sources/SystemSQLite/sqlite.h | 14 -------------- 5 files changed, 13 insertions(+), 22 deletions(-) delete mode 100644 Sources/SystemSQLite/module.modulemap delete mode 100644 Sources/SystemSQLite/sqlite.h diff --git a/Package.resolved b/Package.resolved index c18045f..6ce202a 100644 --- a/Package.resolved +++ b/Package.resolved @@ -125,6 +125,15 @@ "revision" : "d2ba781702a1d8285419c15ee62fd734a9437ff5", "version" : "1.3.2" } + }, + { + "identity" : "swift-toolchain-sqlite", + "kind" : "remoteSourceControl", + "location" : "https://github.com/swiftlang/swift-toolchain-sqlite.git", + "state" : { + "revision" : "aeac03b2b801946afad64bc75989a5d8e8eb47a1", + "version" : "1.0.0" + } } ], "version" : 2 diff --git a/Package.swift b/Package.swift index 7acaaed..f796b6e 100644 --- a/Package.swift +++ b/Package.swift @@ -58,7 +58,7 @@ let package = Package( .product(name: "Logging", package: "swift-log"), .product(name: "SystemPackage", package: "swift-system"), "Helpers", - "SystemSQLite", + .product(name: "SwiftToolchainCSQLite", package: "swift-toolchain-sqlite"), ] ), .testTarget( @@ -80,7 +80,6 @@ let package = Package( "Helpers", ] ), - .systemLibrary(name: "SystemSQLite", pkgConfig: "sqlite3"), .target( name: "AsyncProcess", dependencies: [ @@ -142,6 +141,7 @@ if configuration.useLocalDependencies { .package(path: "../swift-crypto"), .package(path: "../swift-nio"), .package(path: "../swift-log"), + .package(path: "../swift-toolchain-sqlite"), ] } else { package.dependencies += [ @@ -153,5 +153,6 @@ if configuration.useLocalDependencies { .package(url: "https://github.com/apple/swift-crypto.git", from: "3.1.0"), .package(url: "https://github.com/apple/swift-nio.git", from: "2.65.0"), .package(url: "https://github.com/apple/swift-log.git", from: "1.5.4"), + .package(url: "https://github.com/swiftlang/swift-toolchain-sqlite.git", from: "1.0.0"), ] } diff --git a/Sources/GeneratorEngine/Cache/SQLite.swift b/Sources/GeneratorEngine/Cache/SQLite.swift index 9828db6..7764098 100644 --- a/Sources/GeneratorEngine/Cache/SQLite.swift +++ b/Sources/GeneratorEngine/Cache/SQLite.swift @@ -12,7 +12,7 @@ import struct Foundation.Data import SystemPackage -import SystemSQLite +import SwiftToolchainCSQLite extension FilePath: @unchecked Sendable {} extension FilePath.Component: @unchecked Sendable {} diff --git a/Sources/SystemSQLite/module.modulemap b/Sources/SystemSQLite/module.modulemap deleted file mode 100644 index 819e61f..0000000 --- a/Sources/SystemSQLite/module.modulemap +++ /dev/null @@ -1,5 +0,0 @@ -module SystemSQLite [system] { - header "sqlite.h" - link "sqlite3" - export * -} diff --git a/Sources/SystemSQLite/sqlite.h b/Sources/SystemSQLite/sqlite.h deleted file mode 100644 index 85b59cf..0000000 --- a/Sources/SystemSQLite/sqlite.h +++ /dev/null @@ -1,14 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// This source file is part of the Swift open source project -// -// Copyright (c) 2014-2020 Apple Inc. and the Swift project authors -// Licensed under Apache License v2.0 with Runtime Library Exception -// -// See https://swift.org/LICENSE.txt for license information -// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors -// -//===----------------------------------------------------------------------===// - -#pragma once -#include From fe2ee89614af82bdc71bc59a31c3a81e1369019e Mon Sep 17 00:00:00 2001 From: Max Desiatov Date: Thu, 29 Aug 2024 13:33:20 +0100 Subject: [PATCH 2/2] Remove `libsqlite3-dev` from `Dockerfile` as unused --- Docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Docker/Dockerfile b/Docker/Dockerfile index ba606a4..635f60a 100644 --- a/Docker/Dockerfile +++ b/Docker/Dockerfile @@ -7,7 +7,7 @@ ARG swift_version ARG ubuntu_version # set as UTF-8 -RUN apt-get update && apt-get install -y locales locales-all libsqlite3-dev +RUN apt-get update && apt-get install -y locales locales-all ENV LC_ALL en_US.UTF-8 ENV LANG en_US.UTF-8 ENV LANGUAGE en_US.UTF-8