From 6d91f8b2d38c01ecc8881f4c321c936cf72deae2 Mon Sep 17 00:00:00 2001 From: crazywhalecc Date: Mon, 23 Mar 2026 17:11:37 +0800 Subject: [PATCH] Add patch description for Windows static linking in libsodium --- src/Package/Library/libsodium.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Package/Library/libsodium.php b/src/Package/Library/libsodium.php index 5280927c..0d4c8afe 100644 --- a/src/Package/Library/libsodium.php +++ b/src/Package/Library/libsodium.php @@ -7,6 +7,7 @@ namespace Package\Library; use StaticPHP\Attribute\Package\BuildFor; use StaticPHP\Attribute\Package\Library; use StaticPHP\Attribute\Package\PatchBeforeBuild; +use StaticPHP\Attribute\PatchDescription; use StaticPHP\Exception\BuildFailureException; use StaticPHP\Exception\EnvironmentException; use StaticPHP\Package\LibraryPackage; @@ -19,11 +20,11 @@ use StaticPHP\Util\System\WindowsUtil; class libsodium { #[PatchBeforeBuild] + #[PatchDescription('Replace SODIUM_STATIC define guard with unconditional #if 1 for MSVC static linking')] public function patchBeforeBuild(LibraryPackage $lib): void { - if (SystemTarget::getTargetOS() === 'Windows') { - FileSystem::replaceFileStr("{$lib->getSourceDir()}\\src\\libsodium\\include\\sodium\\export.h", '#ifdef SODIUM_STATIC', '#if 1'); - } + spc_skip_if(SystemTarget::getTargetOS() !== 'Windows', 'This patch is only for Windows builds.'); + FileSystem::replaceFileStr($lib->getSourceDir() . '\src\libsodium\include\sodium\export.h', '#ifdef SODIUM_STATIC', '#if 1'); } #[BuildFor('Linux')]