From 46cdd8a631a8e78482af1067583ba43e4aa338ab Mon Sep 17 00:00:00 2001 From: Waldemar Kornewald Date: Fri, 24 Oct 2025 19:48:11 +0200 Subject: [PATCH] Integrate OpenSSL prebuilt static lib via NativeBuilds This way the underlying OpenSSL version can be controlled/updated as a separate Gradle dependency and the updates are delivered more quickly from vcpkg via an automatically scheduled build & publication process. --- .../cryptokit/swift/Package.swift | 2 +- .../openssl3/api/build.gradle.kts | 18 ++---- .../openssl3/prebuilt/build.gradle.kts | 60 +----------------- .../src/commonMain/cinterop/linking.def | 9 --- .../prebuilt/src/mingwMain/libs/libz.a | Bin 100898 -> 0 bytes gradle/libs.versions.toml | 6 ++ 6 files changed, 13 insertions(+), 82 deletions(-) delete mode 100644 cryptography-providers/openssl3/prebuilt/src/commonMain/cinterop/linking.def delete mode 100644 cryptography-providers/openssl3/prebuilt/src/mingwMain/libs/libz.a diff --git a/cryptography-providers/cryptokit/swift/Package.swift b/cryptography-providers/cryptokit/swift/Package.swift index e18bf185..1182afda 100644 --- a/cryptography-providers/cryptokit/swift/Package.swift +++ b/cryptography-providers/cryptokit/swift/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.2 +// swift-tools-version:6.1 import PackageDescription // dwc = dev.whyoleg.cryptography diff --git a/cryptography-providers/openssl3/api/build.gradle.kts b/cryptography-providers/openssl3/api/build.gradle.kts index 3e759ce0..04516dc5 100644 --- a/cryptography-providers/openssl3/api/build.gradle.kts +++ b/cryptography-providers/openssl3/api/build.gradle.kts @@ -3,19 +3,15 @@ */ import ckbuild.* -import ckbuild.openssl.* -import org.jetbrains.kotlin.gradle.* -import org.jetbrains.kotlin.gradle.plugin.mpp.* -import org.jetbrains.kotlin.gradle.tasks.* +import com.ensody.nativebuilds.* plugins { id("ckbuild.multiplatform-library") - id("ckbuild.use-openssl") + alias(libs.plugins.nativebuilds) } description = "cryptography-kotlin OpenSSL3 provider (API)" -@OptIn(ExperimentalKotlinGradlePluginApi::class) kotlin { nativeTargets() @@ -33,13 +29,7 @@ kotlin { implementation(projects.cryptographyProviderBase) } - targets.withType().configureEach { - cinterop("declarations", "common") - } -} - -tasks.withType().configureEach { - uses(openssl.v3_0) { - settings.includeDirs(includeDirectory(konanTarget)) + cinterops(libs.nativebuilds.openssl.headers) { + definitionFile.set(file("src/commonMain/cinterop/declarations.def")) } } diff --git a/cryptography-providers/openssl3/prebuilt/build.gradle.kts b/cryptography-providers/openssl3/prebuilt/build.gradle.kts index 5d176f19..99086dff 100644 --- a/cryptography-providers/openssl3/prebuilt/build.gradle.kts +++ b/cryptography-providers/openssl3/prebuilt/build.gradle.kts @@ -3,22 +3,15 @@ */ import ckbuild.* -import ckbuild.openssl.* -import org.jetbrains.kotlin.gradle.* -import org.jetbrains.kotlin.gradle.plugin.* -import org.jetbrains.kotlin.gradle.plugin.mpp.* -import org.jetbrains.kotlin.gradle.targets.native.tasks.* -import org.jetbrains.kotlin.gradle.tasks.* plugins { id("ckbuild.multiplatform-library") id("ckbuild.multiplatform-provider-tests") - id("ckbuild.use-openssl") + alias(libs.plugins.nativebuilds) } description = "cryptography-kotlin OpenSSL3 provider (prebuilt)" -@OptIn(ExperimentalKotlinGradlePluginApi::class) kotlin { nativeTargets() @@ -31,61 +24,12 @@ kotlin { sourceSets { commonMain.dependencies { api(projects.cryptographyProviderOpenssl3Api) + api(libs.nativebuilds.openssl.libcrypto) } commonTest.dependencies { api(projects.cryptographyProviderOpenssl3Test) } } - - targets.withType().configureEach { - cinterop("linking", "common") - } - - // for mingw we link `zlib` statically, as on final-users Windows PCs, `zlib` is not installed by default, - // while linking works fine (because K/N provides `zlib` inside it), running executable will fail. - // - // on other platforms `zlib` is pre-installed, so there are no such issues - // - // to properly test this on CI (where `zlib` is available), - // we need to remove from PATH all paths that contain `zlib1.dll`. - // we don't remove those paths from PATH automatically to not iterate over all files in PATH at configuration time. - // instead, we do check if the new (adapted) PATH doesn't contain `zlib1.dll` at task execution time - mingwX64 { - testRuns.configureEach { - @Suppress("UNCHECKED_CAST") - (this as ExecutionTaskHolder).executionTask.configure { - // those values found experimentally on CI machines... - val knownPathsWithZlibDll = setOf( - "C:\\Program Files\\Git\\mingw64\\bin", - "C:\\Program Files\\Microsoft Service Fabric\\bin\\Fabric\\Fabric.Code", - "C:\\Strawberry\\c\\bin" - ) - val currentPath = providers.environmentVariable("PATH").get() - val paths = currentPath - .split(";") - .filter(String::isNotBlank) - .filter { it !in knownPathsWithZlibDll } - val newPath = paths.joinToString(";") - - environment("PATH", newPath) - doFirst { - val folders = paths.mapNotNull { folder -> - val hasZlib = File(folder).listFiles()?.any { it.name == "zlib1.dll" } == true - if (hasZlib) folder else null - } - if (folders.isNotEmpty()) { - error("Found `zlib1.dll` in paths: ${folders.joinToString("\n", "\n")}") - } - } - } - } - } -} - -tasks.withType().configureEach { - uses(openssl.v3_5) { - settings.extraOpts("-libraryPath", libDirectory(konanTarget).get().asFile.absolutePath) - } } providerTests { diff --git a/cryptography-providers/openssl3/prebuilt/src/commonMain/cinterop/linking.def b/cryptography-providers/openssl3/prebuilt/src/commonMain/cinterop/linking.def deleted file mode 100644 index b77f1b50..00000000 --- a/cryptography-providers/openssl3/prebuilt/src/commonMain/cinterop/linking.def +++ /dev/null @@ -1,9 +0,0 @@ -staticLibraries = libcrypto.a -# libz.a is taken from mingw toolchain used in K/N -staticLibraries.mingw = libz.a -libraryPaths.mingw = src/mingwMain/libs - -linkerOpts.mingw = -lws2_32 -lcrypt32 -linkerOpts.linux = -lz -linkerOpts.android = -lz -linkerOpts.android_x86 = -latomic diff --git a/cryptography-providers/openssl3/prebuilt/src/mingwMain/libs/libz.a b/cryptography-providers/openssl3/prebuilt/src/mingwMain/libs/libz.a deleted file mode 100644 index a6347f9ef6f266ae0c4d27f6fb3d68b0dbcf3d26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100898 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 b)3=!z@J;tg@y!VnhF!a64cUDn`1$_