From b80998ecc4ac14951bdfbe68d475ea9ebd45f877 Mon Sep 17 00:00:00 2001 From: taylorswift Date: Thu, 1 Feb 2024 22:51:45 +0000 Subject: [PATCH 1/3] try unblocking some windows users --- Package.swift | 75 +++++++++++++++++++++++++-------------------------- 1 file changed, 36 insertions(+), 39 deletions(-) diff --git a/Package.swift b/Package.swift index b335135c..02921a4e 100644 --- a/Package.swift +++ b/Package.swift @@ -1,76 +1,61 @@ -// swift-tools-version:5.5 +// swift-tools-version:5.8 import PackageDescription let package:Package = .init(name: "swift-png", platforms: [.macOS(.v10_15)], - products: - [ - .library( name: "LZ77", targets: ["LZ77"]), - .library( name: "PNG", targets: ["PNG"]), + products: [ + .library(name: "LZ77", targets: ["LZ77"]), + .library(name: "PNG", targets: ["PNG"]), - .executable(name: "PNGTests", targets: ["PNGTests"]), - .executable(name: "PNGIntegrationTests", targets: ["PNGIntegrationTests"]), - .executable(name: "PNGCompressionTests", targets: ["PNGCompressionTests"]), - - .executable(name: "compression-benchmark", targets: ["PNGCompressionBenchmarks"]), - .executable(name: "decompression-benchmark", targets: ["PNGDecompressionBenchmarks"]), + .executable(name: "compression-benchmark", targets: ["PNGCompressionBenchmarks"]), + .executable(name: "decompression-benchmark", targets: ["PNGDecompressionBenchmarks"]), ], - dependencies: - [ + dependencies: [ .package(url: "https://github.com/tayloraswift/swift-hash", .upToNextMinor( from: "0.5.0")), .package(url: "https://github.com/tayloraswift/swift-grammar", .upToNextMinor( from: "0.3.4")), ], - targets: - [ - .target(name: "LZ77", dependencies: - [ + targets: [ + .target(name: "LZ77", + dependencies: [ .product(name: "CRC", package: "swift-hash"), ]), .target(name: "PNG", - dependencies: - [ + dependencies: [ .target(name: "LZ77"), ]), .target(name: "PNGInspection", - dependencies: - [ + dependencies: [ .target(name: "PNG"), ]), .executableTarget(name: "LZ77Tests", - dependencies: - [ + dependencies: [ .target(name: "LZ77"), .product(name: "Testing", package: "swift-grammar"), ], - swiftSettings: - [ + swiftSettings: [ .define("DEBUG", .when(configuration: .debug)) ]), .executableTarget(name: "PNGTests", - dependencies: - [ + dependencies: [ .target(name: "PNG"), .product(name: "Testing", package: "swift-grammar"), ], - swiftSettings: - [ + swiftSettings: [ .define("DEBUG", .when(configuration: .debug)) ]), .executableTarget(name: "PNGIntegrationTests", - dependencies: - [ + dependencies: [ .target(name: "PNG"), .product(name: "Testing", package: "swift-grammar"), ], - exclude: - [ + exclude: [ "PngSuite.LICENSE", "PngSuite.README", "Inputs/", @@ -79,25 +64,37 @@ let package:Package = .init(name: "swift-png", ]), .executableTarget(name: "PNGCompressionTests", - dependencies: - [ + dependencies: [ .target(name: "PNG"), .product(name: "Testing", package: "swift-grammar"), ]), .executableTarget(name: "PNGCompressionBenchmarks", - dependencies: - [ + dependencies: [ .target(name: "PNG"), ], path: "Benchmarks/Compression/Swift"), .executableTarget(name: "PNGDecompressionBenchmarks", - dependencies: - [ + dependencies: [ .target(name: "PNG"), ], path: "Benchmarks/Decompression/Swift"), ], swiftLanguageVersions: [.v5] ) + +for target:PackageDescription.Target in package.targets +{ + { + var settings:[PackageDescription.SwiftSetting] = $0 ?? [] + + settings.append(.enableUpcomingFeature("BareSlashRegexLiterals")) + settings.append(.enableUpcomingFeature("ConciseMagicFile")) + settings.append(.enableUpcomingFeature("ExistentialAny")) + + settings.append(.unsafeFlags(["-parse-as-library"], .when(platforms: [.windows]))) + + $0 = settings + } (&target.swiftSettings) +} From 5619965d0b3f1c1a6b62a0aa16ac6c6d1c8b9bd6 Mon Sep 17 00:00:00 2001 From: taylorswift Date: Thu, 1 Feb 2024 22:53:35 +0000 Subject: [PATCH 2/3] add platform minimums --- Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index 02921a4e..1136ef0d 100644 --- a/Package.swift +++ b/Package.swift @@ -2,7 +2,7 @@ import PackageDescription let package:Package = .init(name: "swift-png", - platforms: [.macOS(.v10_15)], + platforms: [.macOS(.v10_15), .iOS(.v13), .tvOS(.v13), .watchOS(.v6)], products: [ .library(name: "LZ77", targets: ["LZ77"]), .library(name: "PNG", targets: ["PNG"]), From 2725c7c90e460c2757e99336c0ffd967ec9d6b85 Mon Sep 17 00:00:00 2001 From: taylorswift Date: Thu, 1 Feb 2024 22:55:01 +0000 Subject: [PATCH 3/3] =?UTF-8?q?almost=20everyone=20who=20forks=20this=20li?= =?UTF-8?q?brary=20adds=20this=20patch.=20it=E2=80=99s=20almost=20as=20if?= =?UTF-8?q?=20people=20are=20trying=20to=20use=20it=20on=20iOS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sources/PNG/System.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sources/PNG/System.swift b/Sources/PNG/System.swift index e344ec3c..e112d3af 100644 --- a/Sources/PNG/System.swift +++ b/Sources/PNG/System.swift @@ -2,7 +2,7 @@ // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at https://mozilla.org/MPL/2.0/. -#if os(macOS) +#if os(macOS) || os(iOS) import Darwin #elseif os(Linux) import Glibc @@ -13,7 +13,7 @@ #warning("unsupported or untested platform (please open an issue at https://github.com/tayloraswift/swift-png/issues)") #endif -#if os(macOS) || os(Linux) || os(Windows) +#if os(macOS) || os(iOS) || os(Linux) || os(Windows) /// enum System /// A namespace for platform-dependent functionality.