diff --git a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..919434a
--- /dev/null
+++ b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/Package.swift b/Package.swift
index 64ef78e..44b465f 100644
--- a/Package.swift
+++ b/Package.swift
@@ -7,6 +7,7 @@ let package = Package(
name: "Bodega",
platforms: [
.iOS(.v13),
+ .tvOS(.v13),
.macOS(.v11),
],
products: [
diff --git a/Sources/Bodega/FileManager.Directory.swift b/Sources/Bodega/FileManager.Directory.swift
index 2b6ae9a..b5d455a 100644
--- a/Sources/Bodega/FileManager.Directory.swift
+++ b/Sources/Bodega/FileManager.Directory.swift
@@ -28,7 +28,7 @@ public extension FileManager.Directory {
/// - Parameter pathComponent: A path to append to the platform's documents directory.
static func documents(appendingPath pathComponent: String) -> Self {
let url: URL
- if #available(iOS 16.0, macOS 13.0, *) {
+ if #available(iOS 16.0, macOS 13.0, tvOS 16.0, *) {
url = URL.documentsDirectory.appending(path: pathComponent)
} else {
url = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!.appendingPathComponent(pathComponent)
@@ -41,7 +41,7 @@ public extension FileManager.Directory {
/// - Parameter pathComponent: A path to append to the platform's caches directory.
static func caches(appendingPath pathComponent: String) -> Self {
let url: URL
- if #available(iOS 16.0, macOS 13.0, *) {
+ if #available(iOS 16.0, macOS 13.0, tvOS 16.0, *) {
url = URL.cachesDirectory.appending(path: pathComponent)
} else {
url = FileManager.default.urls(for: .cachesDirectory, in: .userDomainMask).first!.appendingPathComponent(pathComponent)
@@ -54,7 +54,7 @@ public extension FileManager.Directory {
/// - Parameter pathComponent: A path to append to the platform's temporary directory.
static func temporary(appendingPath pathComponent: String) -> Self {
let url: URL
- if #available(iOS 16.0, macOS 13.0, *) {
+ if #available(iOS 16.0, macOS 13.0, tvOS 16.0, *) {
url = URL.temporaryDirectory.appending(path: pathComponent)
} else {
url = FileManager.default.temporaryDirectory.appendingPathComponent(pathComponent)
--
2.51.2
From f8ff0e5061edfe091a210784ac64b76907d8ce74 Mon Sep 17 00:00:00 2001
From: avgx
Date: Wed, 22 May 2024 13:49:21 +0300
Subject: [PATCH 2/4] tvOS support
---
.../xcode/package.xcworkspace/contents.xcworkspacedata | 7 -------
1 file changed, 7 deletions(-)
delete mode 100644 .swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
diff --git a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 919434a..0000000
--- a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
--
2.51.2
From 7db80b28fcd26ece28beea30452cfaafaace44b6 Mon Sep 17 00:00:00 2001
From: Joe Fabisevich
Date: Mon, 28 Oct 2024 15:46:18 -0400
Subject: [PATCH 3/4] Adding Swift 6 support for Bodega
---
Package.swift | 7 +++-
Package@swift-6.0.swift | 38 +++++++++++++++++++
.../{ => Internal}/String+Formatting.swift | 1 -
3 files changed, 43 insertions(+), 3 deletions(-)
create mode 100644 Package@swift-6.0.swift
rename Sources/Bodega/{ => Internal}/String+Formatting.swift (99%)
diff --git a/Package.swift b/Package.swift
index 44b465f..eb367ce 100644
--- a/Package.swift
+++ b/Package.swift
@@ -1,4 +1,4 @@
-// swift-tools-version:5.6
+// swift-tools-version:5.10
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
@@ -24,7 +24,10 @@ let package = Package(
.target(
name: "Bodega",
dependencies: [
- .productItem(name: "SQLite", package: "SQLite.swift", condition: nil)
+ .product(name: "SQLite", package: "SQLite.swift")
+ ],
+ swiftSettings: [
+ .define("ENABLE_TESTABILITY", .when(configuration: .debug))
]
),
.testTarget(
diff --git a/Package@swift-6.0.swift b/Package@swift-6.0.swift
new file mode 100644
index 0000000..ac867fe
--- /dev/null
+++ b/Package@swift-6.0.swift
@@ -0,0 +1,38 @@
+// swift-tools-version:6.0
+// The swift-tools-version declares the minimum version of Swift required to build this package.
+
+import PackageDescription
+
+let package = Package(
+ name: "Bodega",
+ platforms: [
+ .iOS(.v13),
+ .tvOS(.v13),
+ .macOS(.v11),
+ ],
+ products: [
+ .library(
+ name: "Bodega",
+ targets: ["Bodega"]
+ ),
+ ],
+ dependencies: [
+ .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: Version(0, 13, 2)),
+ .package(url: "https://github.com/apple/swift-docc-plugin", from: "1.0.0"),
+ ],
+ targets: [
+ .target(
+ name: "Bodega",
+ dependencies: [
+ .product(name: "SQLite", package: "SQLite.swift")
+ ],
+ swiftSettings: [
+ .define("ENABLE_TESTABILITY", .when(configuration: .debug))
+ ]
+ ),
+ .testTarget(
+ name: "BodegaTests",
+ dependencies: ["Bodega"]
+ ),
+ ]
+)
diff --git a/Sources/Bodega/String+Formatting.swift b/Sources/Bodega/Internal/String+Formatting.swift
similarity index 99%
rename from Sources/Bodega/String+Formatting.swift
rename to Sources/Bodega/Internal/String+Formatting.swift
index 8f82439..57f22f0 100644
--- a/Sources/Bodega/String+Formatting.swift
+++ b/Sources/Bodega/Internal/String+Formatting.swift
@@ -30,4 +30,3 @@ extension Data {
map { String(format: "%02x", $0) }.joined()
}
}
-
--
2.51.2
From 4d337e8b0a189bba7e832aa21e012538680ba89e Mon Sep 17 00:00:00 2001
From: Joe Fabisevich
Date: Fri, 22 Nov 2024 14:17:19 -0500
Subject: [PATCH 4/4] Switching from CryptoKit to Crypto to support Linux
---
Package.resolved | 21 ++++++++++++++++++-
Package.swift | 4 +++-
Package@swift-6.0.swift | 2 ++
.../Bodega/Internal/String+Formatting.swift | 2 +-
4 files changed, 26 insertions(+), 3 deletions(-)
diff --git a/Package.resolved b/Package.resolved
index fbb2256..9c94a84 100644
--- a/Package.resolved
+++ b/Package.resolved
@@ -1,4 +1,5 @@
{
+ "originHash" : "86883ab96265fe288b605bd24f286a2ee9ee68043c626263e602135a0bd1e29d",
"pins" : [
{
"identity" : "sqlite.swift",
@@ -9,6 +10,24 @@
"version" : "0.13.3"
}
},
+ {
+ "identity" : "swift-asn1",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/apple/swift-asn1.git",
+ "state" : {
+ "revision" : "7faebca1ea4f9aaf0cda1cef7c43aecd2311ddf6",
+ "version" : "1.3.0"
+ }
+ },
+ {
+ "identity" : "swift-crypto",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/apple/swift-crypto",
+ "state" : {
+ "revision" : "06dc63c6d8da54ee11ceb268cde1fa68161afc96",
+ "version" : "3.9.1"
+ }
+ },
{
"identity" : "swift-docc-plugin",
"kind" : "remoteSourceControl",
@@ -19,5 +38,5 @@
}
}
],
- "version" : 2
+ "version" : 3
}
diff --git a/Package.swift b/Package.swift
index eb367ce..57900c4 100644
--- a/Package.swift
+++ b/Package.swift
@@ -17,13 +17,15 @@ let package = Package(
),
],
dependencies: [
- .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: Version(0, 13, 2)),
+ .package(url: "https://github.com/apple/swift-crypto", from: Version(3, 9, 1)),
+ .package(url: "https://github.com/stephencelis/SQLite.swift", from: Version(0, 13, 2)),
.package(url: "https://github.com/apple/swift-docc-plugin", from: "1.0.0"),
],
targets: [
.target(
name: "Bodega",
dependencies: [
+ .product(name: "Crypto", package: "swift-crypto"),
.product(name: "SQLite", package: "SQLite.swift")
],
swiftSettings: [
diff --git a/Package@swift-6.0.swift b/Package@swift-6.0.swift
index ac867fe..6445db8 100644
--- a/Package@swift-6.0.swift
+++ b/Package@swift-6.0.swift
@@ -17,6 +17,7 @@ let package = Package(
),
],
dependencies: [
+ .package(url: "https://github.com/apple/swift-crypto", from: Version(3, 9, 1)),
.package(url: "https://github.com/stephencelis/SQLite.swift.git", from: Version(0, 13, 2)),
.package(url: "https://github.com/apple/swift-docc-plugin", from: "1.0.0"),
],
@@ -24,6 +25,7 @@ let package = Package(
.target(
name: "Bodega",
dependencies: [
+ .product(name: "Crypto", package: "swift-crypto"),
.product(name: "SQLite", package: "SQLite.swift")
],
swiftSettings: [
diff --git a/Sources/Bodega/Internal/String+Formatting.swift b/Sources/Bodega/Internal/String+Formatting.swift
index 57f22f0..5cebf19 100644
--- a/Sources/Bodega/Internal/String+Formatting.swift
+++ b/Sources/Bodega/Internal/String+Formatting.swift
@@ -1,4 +1,4 @@
-import CryptoKit
+import Crypto
import Foundation
extension String {