diff --git a/.github/workflows/build.main.kts b/.github/workflows/build.main.kts index 66bab3b..f96ecbb 100755 --- a/.github/workflows/build.main.kts +++ b/.github/workflows/build.main.kts @@ -80,12 +80,12 @@ val configurations = listOf( fun conanCreateCommand(profile: String, version: String, shared: String): String = conanCommand( profile, version, shared, - "create conan-center-index/recipes/openssl/3.x.x --build=missing" + "create conan-center-index/recipes/libcurl/all --build=missing" ) fun conanInstallCommand(profile: String, version: String, shared: String): String = conanCommand( profile, version, shared, - "install packages/openssl3 --output-folder build/openssl3/$profile" + "install packages/libcurl --output-folder build/libcurl/$profile" ) fun conanCommand(profile: String, version: String, shared: String, command: String): String = listOf( @@ -104,7 +104,7 @@ workflow( WorkflowDispatch( inputs = mapOf( "version" to WorkflowDispatch.Input( - description = "version of OpenSSL 3", + description = "version of libcurl", required = true, type = WorkflowDispatch.Type.String ) @@ -141,12 +141,12 @@ workflow( configuration.profiles.forEach { (profile, buildKind) -> if (buildKind.buildDynamic) { - run(command = conanCreateCommand(profile, version, "True")) - run(command = conanInstallCommand(profile, version, "True")) + run(command = conanCreateCommand(profile, version, "True"), continueOnError = true) + run(command = conanInstallCommand(profile, version, "True"), continueOnError = true) } if (buildKind.buildStatic) { - run(command = conanCreateCommand(profile, version, "False")) - run(command = conanInstallCommand(profile, version, "False")) + run(command = conanCreateCommand(profile, version, "False"), continueOnError = true) + run(command = conanInstallCommand(profile, version, "False"), continueOnError = true) } } @@ -154,15 +154,16 @@ workflow( WindowsRunner -> listOf("lib", "include", "bin") else -> listOf("lib", "include") }.forEach { folder -> - run(command = "tar -rvf ${configuration.name}.tar build/openssl3/*/$folder") + run(command = "tar -rvf ${configuration.name}.tar build/libcurl/*/$folder", continueOnError = true) } uses( action = UploadArtifactV4( - name = "openssl-${configuration.name}-$version", + name = "libcurl-${configuration.name}-$version", ifNoFilesFound = UploadArtifactV4.BehaviorIfNoFilesFound.Error, path = listOf("${configuration.name}.tar") - ) + ), + continueOnError = true ) } } @@ -174,7 +175,7 @@ workflow( ) { uses( action = DownloadArtifactV4( - pattern = "openssl-*-$version", + pattern = "libcurl-*-$version", mergeMultiple = true ) ) @@ -184,22 +185,22 @@ workflow( } run( - command = "tar -czvf ../../openssl-$version.tar.gz *", - workingDirectory = "build/openssl3" + command = "tar -czvf ../../libcurl-$version.tar.gz *", + workingDirectory = "build/libcurl" ) run( - command = "zip --symlinks -r ../../openssl-$version.zip *", - workingDirectory = "build/openssl3" + command = "zip --symlinks -r ../../libcurl-$version.zip *", + workingDirectory = "build/libcurl" ) uses( action = UploadArtifactV4( - name = "openssl-$version", + name = "libcurl-$version", ifNoFilesFound = UploadArtifactV4.BehaviorIfNoFilesFound.Error, path = listOf( - "openssl-$version.tar.gz", - "openssl-$version.zip", + "libcurl-$version.tar.gz", + "libcurl-$version.zip", ) ) ) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 9e92059..834b628 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -7,7 +7,7 @@ on: workflow_dispatch: inputs: version: - description: 'version of OpenSSL 3' + description: 'version of libcurl' type: 'string' required: true defaults: @@ -31,73 +31,106 @@ jobs: - id: 'step-3' run: 'conan profile detect' - id: 'step-4' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/tvos-simulator-arm64 -o "*:shared=False"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/tvos-simulator-arm64 -o "*:shared=False"' - id: 'step-5' - run: 'conan install packages/openssl3 --output-folder build/openssl3/tvos-simulator-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/tvos-simulator-arm64 -o "*:shared=False"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/tvos-simulator-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/tvos-simulator-arm64 -o "*:shared=False"' - id: 'step-6' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/tvos-simulator-x64 -o "*:shared=False"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/tvos-simulator-x64 -o "*:shared=False"' - id: 'step-7' - run: 'conan install packages/openssl3 --output-folder build/openssl3/tvos-simulator-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/tvos-simulator-x64 -o "*:shared=False"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/tvos-simulator-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/tvos-simulator-x64 -o "*:shared=False"' - id: 'step-8' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/tvos-device-arm64 -o "*:shared=False"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/tvos-device-arm64 -o "*:shared=False"' - id: 'step-9' - run: 'conan install packages/openssl3 --output-folder build/openssl3/tvos-device-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/tvos-device-arm64 -o "*:shared=False"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/tvos-device-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/tvos-device-arm64 -o "*:shared=False"' - id: 'step-10' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/watchos-simulator-arm64 -o "*:shared=False"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/watchos-simulator-arm64 -o "*:shared=False"' - id: 'step-11' - run: 'conan install packages/openssl3 --output-folder build/openssl3/watchos-simulator-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/watchos-simulator-arm64 -o "*:shared=False"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/watchos-simulator-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/watchos-simulator-arm64 -o "*:shared=False"' - id: 'step-12' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/watchos-simulator-x64 -o "*:shared=False"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/watchos-simulator-x64 -o "*:shared=False"' - id: 'step-13' - run: 'conan install packages/openssl3 --output-folder build/openssl3/watchos-simulator-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/watchos-simulator-x64 -o "*:shared=False"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/watchos-simulator-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/watchos-simulator-x64 -o "*:shared=False"' - id: 'step-14' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/watchos-device-arm32 -o "*:shared=False"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/watchos-device-arm32 -o "*:shared=False"' - id: 'step-15' - run: 'conan install packages/openssl3 --output-folder build/openssl3/watchos-device-arm32 --version=${{ inputs.version }} -pr:b default -pr:h profiles/watchos-device-arm32 -o "*:shared=False"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/watchos-device-arm32 --version=${{ inputs.version }} -pr:b default -pr:h profiles/watchos-device-arm32 -o "*:shared=False"' - id: 'step-16' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/watchos-device-arm64 -o "*:shared=False"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/watchos-device-arm64 -o "*:shared=False"' - id: 'step-17' - run: 'conan install packages/openssl3 --output-folder build/openssl3/watchos-device-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/watchos-device-arm64 -o "*:shared=False"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/watchos-device-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/watchos-device-arm64 -o "*:shared=False"' - id: 'step-18' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/watchos-device-arm64_32 -o "*:shared=False"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/watchos-device-arm64_32 -o "*:shared=False"' - id: 'step-19' - run: 'conan install packages/openssl3 --output-folder build/openssl3/watchos-device-arm64_32 --version=${{ inputs.version }} -pr:b default -pr:h profiles/watchos-device-arm64_32 -o "*:shared=False"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/watchos-device-arm64_32 --version=${{ inputs.version }} -pr:b default -pr:h profiles/watchos-device-arm64_32 -o "*:shared=False"' - id: 'step-20' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/ios-device-arm64 -o "*:shared=False"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/ios-device-arm64 -o "*:shared=False"' - id: 'step-21' - run: 'conan install packages/openssl3 --output-folder build/openssl3/ios-device-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/ios-device-arm64 -o "*:shared=False"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/ios-device-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/ios-device-arm64 -o "*:shared=False"' - id: 'step-22' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/ios-simulator-arm64 -o "*:shared=False"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/ios-simulator-arm64 -o "*:shared=False"' - id: 'step-23' - run: 'conan install packages/openssl3 --output-folder build/openssl3/ios-simulator-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/ios-simulator-arm64 -o "*:shared=False"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/ios-simulator-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/ios-simulator-arm64 -o "*:shared=False"' - id: 'step-24' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/ios-simulator-x64 -o "*:shared=False"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/ios-simulator-x64 -o "*:shared=False"' - id: 'step-25' - run: 'conan install packages/openssl3 --output-folder build/openssl3/ios-simulator-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/ios-simulator-x64 -o "*:shared=False"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/ios-simulator-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/ios-simulator-x64 -o "*:shared=False"' - id: 'step-26' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/macos-x64 -o "*:shared=True"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/macos-x64 -o "*:shared=True"' - id: 'step-27' - run: 'conan install packages/openssl3 --output-folder build/openssl3/macos-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/macos-x64 -o "*:shared=True"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/macos-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/macos-x64 -o "*:shared=True"' - id: 'step-28' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/macos-x64 -o "*:shared=False"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/macos-x64 -o "*:shared=False"' - id: 'step-29' - run: 'conan install packages/openssl3 --output-folder build/openssl3/macos-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/macos-x64 -o "*:shared=False"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/macos-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/macos-x64 -o "*:shared=False"' - id: 'step-30' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/macos-arm64 -o "*:shared=True"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/macos-arm64 -o "*:shared=True"' - id: 'step-31' - run: 'conan install packages/openssl3 --output-folder build/openssl3/macos-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/macos-arm64 -o "*:shared=True"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/macos-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/macos-arm64 -o "*:shared=True"' - id: 'step-32' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/macos-arm64 -o "*:shared=False"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/macos-arm64 -o "*:shared=False"' - id: 'step-33' - run: 'conan install packages/openssl3 --output-folder build/openssl3/macos-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/macos-arm64 -o "*:shared=False"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/macos-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/macos-arm64 -o "*:shared=False"' - id: 'step-34' - run: 'tar -rvf macos.tar build/openssl3/*/lib' + continue-on-error: true + run: 'tar -rvf macos.tar build/libcurl/*/lib' - id: 'step-35' - run: 'tar -rvf macos.tar build/openssl3/*/include' + continue-on-error: true + run: 'tar -rvf macos.tar build/libcurl/*/include' - id: 'step-36' + continue-on-error: true uses: 'actions/upload-artifact@v4' with: - name: 'openssl-macos-${{ inputs.version }}' + name: 'libcurl-macos-${{ inputs.version }}' path: 'macos.tar' if-no-files-found: 'error' linux: @@ -121,65 +154,94 @@ jobs: - id: 'step-5' run: 'sudo apt install g++-8-aarch64-linux-gnu g++-8' - id: 'step-6' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-arm64 -o "*:shared=True"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-arm64 -o "*:shared=True"' - id: 'step-7' - run: 'conan install packages/openssl3 --output-folder build/openssl3/android-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-arm64 -o "*:shared=True"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/android-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-arm64 -o "*:shared=True"' - id: 'step-8' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-arm64 -o "*:shared=False"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-arm64 -o "*:shared=False"' - id: 'step-9' - run: 'conan install packages/openssl3 --output-folder build/openssl3/android-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-arm64 -o "*:shared=False"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/android-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-arm64 -o "*:shared=False"' - id: 'step-10' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-arm32 -o "*:shared=True"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-arm32 -o "*:shared=True"' - id: 'step-11' - run: 'conan install packages/openssl3 --output-folder build/openssl3/android-arm32 --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-arm32 -o "*:shared=True"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/android-arm32 --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-arm32 -o "*:shared=True"' - id: 'step-12' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-arm32 -o "*:shared=False"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-arm32 -o "*:shared=False"' - id: 'step-13' - run: 'conan install packages/openssl3 --output-folder build/openssl3/android-arm32 --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-arm32 -o "*:shared=False"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/android-arm32 --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-arm32 -o "*:shared=False"' - id: 'step-14' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-x64 -o "*:shared=True"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-x64 -o "*:shared=True"' - id: 'step-15' - run: 'conan install packages/openssl3 --output-folder build/openssl3/android-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-x64 -o "*:shared=True"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/android-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-x64 -o "*:shared=True"' - id: 'step-16' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-x64 -o "*:shared=False"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-x64 -o "*:shared=False"' - id: 'step-17' - run: 'conan install packages/openssl3 --output-folder build/openssl3/android-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-x64 -o "*:shared=False"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/android-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-x64 -o "*:shared=False"' - id: 'step-18' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-x86 -o "*:shared=True"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-x86 -o "*:shared=True"' - id: 'step-19' - run: 'conan install packages/openssl3 --output-folder build/openssl3/android-x86 --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-x86 -o "*:shared=True"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/android-x86 --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-x86 -o "*:shared=True"' - id: 'step-20' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-x86 -o "*:shared=False"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-x86 -o "*:shared=False"' - id: 'step-21' - run: 'conan install packages/openssl3 --output-folder build/openssl3/android-x86 --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-x86 -o "*:shared=False"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/android-x86 --version=${{ inputs.version }} -pr:b default -pr:h profiles/android-x86 -o "*:shared=False"' - id: 'step-22' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/linux-x64 -o "*:shared=True"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/linux-x64 -o "*:shared=True"' - id: 'step-23' - run: 'conan install packages/openssl3 --output-folder build/openssl3/linux-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/linux-x64 -o "*:shared=True"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/linux-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/linux-x64 -o "*:shared=True"' - id: 'step-24' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/linux-x64 -o "*:shared=False"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/linux-x64 -o "*:shared=False"' - id: 'step-25' - run: 'conan install packages/openssl3 --output-folder build/openssl3/linux-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/linux-x64 -o "*:shared=False"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/linux-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/linux-x64 -o "*:shared=False"' - id: 'step-26' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/linux-arm64 -o "*:shared=True"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/linux-arm64 -o "*:shared=True"' - id: 'step-27' - run: 'conan install packages/openssl3 --output-folder build/openssl3/linux-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/linux-arm64 -o "*:shared=True"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/linux-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/linux-arm64 -o "*:shared=True"' - id: 'step-28' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/linux-arm64 -o "*:shared=False"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/linux-arm64 -o "*:shared=False"' - id: 'step-29' - run: 'conan install packages/openssl3 --output-folder build/openssl3/linux-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/linux-arm64 -o "*:shared=False"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/linux-arm64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/linux-arm64 -o "*:shared=False"' - id: 'step-30' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/wasm -o "*:shared=False"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/wasm -o "*:shared=False"' - id: 'step-31' - run: 'conan install packages/openssl3 --output-folder build/openssl3/wasm --version=${{ inputs.version }} -pr:b default -pr:h profiles/wasm -o "*:shared=False"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/wasm --version=${{ inputs.version }} -pr:b default -pr:h profiles/wasm -o "*:shared=False"' - id: 'step-32' - run: 'tar -rvf linux.tar build/openssl3/*/lib' + continue-on-error: true + run: 'tar -rvf linux.tar build/libcurl/*/lib' - id: 'step-33' - run: 'tar -rvf linux.tar build/openssl3/*/include' + continue-on-error: true + run: 'tar -rvf linux.tar build/libcurl/*/include' - id: 'step-34' + continue-on-error: true uses: 'actions/upload-artifact@v4' with: - name: 'openssl-linux-${{ inputs.version }}' + name: 'libcurl-linux-${{ inputs.version }}' path: 'linux.tar' if-no-files-found: 'error' windows: @@ -199,27 +261,37 @@ jobs: - id: 'step-3' run: 'conan profile detect' - id: 'step-4' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/mingw-x64 -o "*:shared=True"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/mingw-x64 -o "*:shared=True"' - id: 'step-5' - run: 'conan install packages/openssl3 --output-folder build/openssl3/mingw-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/mingw-x64 -o "*:shared=True"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/mingw-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/mingw-x64 -o "*:shared=True"' - id: 'step-6' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/mingw-x64 -o "*:shared=False"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/mingw-x64 -o "*:shared=False"' - id: 'step-7' - run: 'conan install packages/openssl3 --output-folder build/openssl3/mingw-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/mingw-x64 -o "*:shared=False"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/mingw-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/mingw-x64 -o "*:shared=False"' - id: 'step-8' - run: 'conan create conan-center-index/recipes/openssl/3.x.x --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/windows-x64 -o "*:shared=True"' + continue-on-error: true + run: 'conan create conan-center-index/recipes/libcurl/all --build=missing --version=${{ inputs.version }} -pr:b default -pr:h profiles/windows-x64 -o "*:shared=True"' - id: 'step-9' - run: 'conan install packages/openssl3 --output-folder build/openssl3/windows-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/windows-x64 -o "*:shared=True"' + continue-on-error: true + run: 'conan install packages/libcurl --output-folder build/libcurl/windows-x64 --version=${{ inputs.version }} -pr:b default -pr:h profiles/windows-x64 -o "*:shared=True"' - id: 'step-10' - run: 'tar -rvf windows.tar build/openssl3/*/lib' + continue-on-error: true + run: 'tar -rvf windows.tar build/libcurl/*/lib' - id: 'step-11' - run: 'tar -rvf windows.tar build/openssl3/*/include' + continue-on-error: true + run: 'tar -rvf windows.tar build/libcurl/*/include' - id: 'step-12' - run: 'tar -rvf windows.tar build/openssl3/*/bin' + continue-on-error: true + run: 'tar -rvf windows.tar build/libcurl/*/bin' - id: 'step-13' + continue-on-error: true uses: 'actions/upload-artifact@v4' with: - name: 'openssl-windows-${{ inputs.version }}' + name: 'libcurl-windows-${{ inputs.version }}' path: 'windows.tar' if-no-files-found: 'error' aggregate: @@ -232,7 +304,7 @@ jobs: - id: 'step-0' uses: 'actions/download-artifact@v4' with: - pattern: 'openssl-*-${{ inputs.version }}' + pattern: 'libcurl-*-${{ inputs.version }}' merge-multiple: 'true' - id: 'step-1' run: 'tar -xvf macos.tar' @@ -241,16 +313,16 @@ jobs: - id: 'step-3' run: 'tar -xvf windows.tar' - id: 'step-4' - working-directory: 'build/openssl3' - run: 'tar -czvf ../../openssl-${{ inputs.version }}.tar.gz *' + working-directory: 'build/libcurl' + run: 'tar -czvf ../../libcurl-${{ inputs.version }}.tar.gz *' - id: 'step-5' - working-directory: 'build/openssl3' - run: 'zip --symlinks -r ../../openssl-${{ inputs.version }}.zip *' + working-directory: 'build/libcurl' + run: 'zip --symlinks -r ../../libcurl-${{ inputs.version }}.zip *' - id: 'step-6' uses: 'actions/upload-artifact@v4' with: - name: 'openssl-${{ inputs.version }}' + name: 'libcurl-${{ inputs.version }}' path: |- - openssl-${{ inputs.version }}.tar.gz - openssl-${{ inputs.version }}.zip + libcurl-${{ inputs.version }}.tar.gz + libcurl-${{ inputs.version }}.zip if-no-files-found: 'error' diff --git a/packages/libcurl/conanfile.py b/packages/libcurl/conanfile.py new file mode 100644 index 0000000..8d40a8a --- /dev/null +++ b/packages/libcurl/conanfile.py @@ -0,0 +1,39 @@ +from os.path import join + +from conan import ConanFile +from conan.tools.files import copy + + +class LibcurlConan(ConanFile): + options = { + "shared": [True, False], + } + + def requirements(self): + self.requires("libcurl/" + str(self.version)) + + def generate(self): + dep = self.dependencies["libcurl"] + + includedir = dep.cpp_info.includedirs[0] + libdir = dep.cpp_info.libdirs[0] + bindir = dep.cpp_info.bindirs[0] + + for ext, source, destination in [ + # headers + ("*.h", includedir, "include"), + # mingw dynamic + ("*.dll.a", libdir, "lib"), + # windows dynamic + ("*.lib", libdir, "lib"), + # macos dynamic + ("*.dylib", libdir, "lib"), + ("*.*.dylib", libdir, "lib"), + # linux dynamic + ("*.so", libdir, "lib"), + ("*.so.*", libdir, "lib"), + # any static + ("*.a", libdir, "lib"), + # windows only binaries + ("*.dll", bindir, "bin") + ]: copy(self, ext, source, join(self.build_folder, destination))