From 0b0ecd17c324cc98b144ae5bfcadfaaa21024265 Mon Sep 17 00:00:00 2001 From: crazywhalecc Date: Wed, 18 Mar 2026 15:00:58 +0800 Subject: [PATCH] Allow curl building static executable --- config/pkg/{lib => target}/curl.yml | 4 +++- src/Package/{Library => Target}/curl.php | 10 ++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) rename config/pkg/{lib => target}/curl.yml (91%) rename src/Package/{Library => Target}/curl.php (93%) diff --git a/config/pkg/lib/curl.yml b/config/pkg/target/curl.yml similarity index 91% rename from config/pkg/lib/curl.yml rename to config/pkg/target/curl.yml index f183b21e..4daba8c1 100644 --- a/config/pkg/lib/curl.yml +++ b/config/pkg/target/curl.yml @@ -1,5 +1,5 @@ curl: - type: library + type: target artifact: source: type: ghrel @@ -29,5 +29,7 @@ curl: - SystemConfiguration headers: - curl + static-bins@unix: + - curl static-libs@unix: - libcurl.a diff --git a/src/Package/Library/curl.php b/src/Package/Target/curl.php similarity index 93% rename from src/Package/Library/curl.php rename to src/Package/Target/curl.php index 0edca93f..dbfa8f7a 100644 --- a/src/Package/Library/curl.php +++ b/src/Package/Target/curl.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Package\Library; +namespace Package\Target; use StaticPHP\Attribute\Package\BuildFor; -use StaticPHP\Attribute\Package\Library; use StaticPHP\Attribute\Package\PatchBeforeBuild; +use StaticPHP\Attribute\Package\Target; use StaticPHP\Attribute\PatchDescription; use StaticPHP\Package\LibraryPackage; use StaticPHP\Runtime\Executor\UnixCMakeExecutor; use StaticPHP\Runtime\SystemTarget; use StaticPHP\Util\FileSystem; -#[Library('curl')] +#[Target('curl')] class curl { #[PatchBeforeBuild] @@ -48,7 +48,7 @@ class curl ->optionalPackage('idn2', ...cmake_boolean_args('CURL_USE_IDN2')) ->optionalPackage('libcares', '-DENABLE_ARES=ON') ->addConfigureArgs( - '-DBUILD_CURL_EXE=OFF', + '-DBUILD_CURL_EXE=ON', '-DBUILD_LIBCURL_DOCS=OFF', ) ->build(); @@ -63,5 +63,7 @@ class curl } shell()->cd("{$lib->getLibDir()}/cmake/CURL/") ->exec("sed -ie 's|\"/lib/libcurl.a\"|\"{$lib->getLibDir()}/libcurl.a\"|g' CURLTargets-release.cmake"); + + $lib->setOutput('Static curl executable path', BUILD_BIN_PATH . '/curl'); } }