From 14d93843e8e5bc8bc098ecf2d7334b4bc1435a09 Mon Sep 17 00:00:00 2001 From: Diana Ma Date: Thu, 2 Apr 2026 04:09:43 +0000 Subject: [PATCH 1/2] gate Cryptography to where OpenSSL is available --- Package.swift | 24 +++++++++++++++++--- Sources/GitHubRSA/RSA.PrivateKey (ext).swift | 2 ++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/Package.swift b/Package.swift index a65264d..24cfb26 100644 --- a/Package.swift +++ b/Package.swift @@ -2,6 +2,16 @@ import PackageDescription import CompilerPluginSupport +var Cryptography: String { "Cryptography" } + +var enabledTraits: Set + +#if os(Linux) + enabledTraits = [Cryptography] +#else + enabledTraits = [] +#endif + let package: Package = .init( name: "swift-github", platforms: [.macOS(.v15), .iOS(.v18), .tvOS(.v18), .watchOS(.v11), .visionOS(.v2)], @@ -11,6 +21,10 @@ let package: Package = .init( .library(name: "GitHubRSA", targets: ["GitHubRSA"]), .library(name: "SHA1_JSON", targets: ["SHA1_JSON"]), ], + traits: [ + .trait(name: Cryptography), + .default(enabledTraits: enabledTraits), + ], dependencies: [ .package(url: "https://github.com/ordo-one/dollup", from: "1.0.1"), @@ -44,10 +58,14 @@ let package: Package = .init( name: "GitHubRSA", dependencies: [ .target(name: "GitHubAPI"), - - .product(name: "Cryptography", package: "swift-cryptography"), + .product( + name: "Cryptography", + package: "swift-cryptography", + condition: .when(traits: [Cryptography]) + ), .product(name: "JWT", package: "swift-jwt"), - ] + ], + ), .target( diff --git a/Sources/GitHubRSA/RSA.PrivateKey (ext).swift b/Sources/GitHubRSA/RSA.PrivateKey (ext).swift index dc34d60..facd1ec 100644 --- a/Sources/GitHubRSA/RSA.PrivateKey (ext).swift +++ b/Sources/GitHubRSA/RSA.PrivateKey (ext).swift @@ -1,3 +1,4 @@ +#if canImport(Cryptography) public import GitHubAPI public import Cryptography import JSON @@ -10,3 +11,4 @@ extension RSA.PrivateKey { } } } +#endif From e5796354975cc37f14af8c38d0202c9f883d0612 Mon Sep 17 00:00:00 2001 From: Diana Ma Date: Thu, 2 Apr 2026 04:15:49 +0000 Subject: [PATCH 2/2] format --- Package.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Package.swift b/Package.swift index 24cfb26..89e9408 100644 --- a/Package.swift +++ b/Package.swift @@ -7,9 +7,9 @@ var Cryptography: String { "Cryptography" } var enabledTraits: Set #if os(Linux) - enabledTraits = [Cryptography] +enabledTraits = [Cryptography] #else - enabledTraits = [] +enabledTraits = [] #endif let package: Package = .init(