From a9c16b74d77af76cfe750c9ed201b49ea0a18ef1 Mon Sep 17 00:00:00 2001 From: henderkes Date: Thu, 16 Apr 2026 13:46:12 +0700 Subject: [PATCH 1/3] fix libkrb5 and decimal shard build --- src/SPC/builder/extension/decimal.php | 10 ++++++++-- src/SPC/builder/unix/library/krb5.php | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/SPC/builder/extension/decimal.php b/src/SPC/builder/extension/decimal.php index 795bce2d2..b337f1966 100644 --- a/src/SPC/builder/extension/decimal.php +++ b/src/SPC/builder/extension/decimal.php @@ -16,8 +16,14 @@ public function patchBeforeBuildconf(): bool { FileSystem::replaceFileStr( $this->source_dir . '/php_decimal.c', - 'zend_module_entry decimal_module_entry', - 'zend_module_entry php_decimal_module_entry' + [ + 'zend_module_entry decimal_module_entry', + 'ZEND_GET_MODULE(decimal)', + ], + [ + 'zend_module_entry php_decimal_module_entry', + 'ZEND_GET_MODULE(php_decimal)' + ] ); FileSystem::replaceFileStr( $this->source_dir . '/config.w32', diff --git a/src/SPC/builder/unix/library/krb5.php b/src/SPC/builder/unix/library/krb5.php index 4cf0ad44e..a9cd92ca1 100644 --- a/src/SPC/builder/unix/library/krb5.php +++ b/src/SPC/builder/unix/library/krb5.php @@ -44,6 +44,7 @@ protected function build(): void ->optionalLib('ldap', '--with-ldap', '--without-ldap') ->optionalLib('libedit', '--with-libedit', '--without-libedit') ->configure(...$args) + ->exec('find . -name Makefile -exec sed -i "s/-Werror=incompatible-pointer-types//g" {} +') ->make(); $this->patchPkgconfPrefix([ 'krb5-gssapi.pc', From 834cc4d16ea992da50eabaf5092d21fb0553e686 Mon Sep 17 00:00:00 2001 From: henderkes Date: Thu, 16 Apr 2026 13:50:52 +0700 Subject: [PATCH 2/3] fix lint --- src/SPC/builder/extension/decimal.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SPC/builder/extension/decimal.php b/src/SPC/builder/extension/decimal.php index b337f1966..eab3fdce8 100644 --- a/src/SPC/builder/extension/decimal.php +++ b/src/SPC/builder/extension/decimal.php @@ -22,7 +22,7 @@ public function patchBeforeBuildconf(): bool ], [ 'zend_module_entry php_decimal_module_entry', - 'ZEND_GET_MODULE(php_decimal)' + 'ZEND_GET_MODULE(php_decimal)', ] ); FileSystem::replaceFileStr( From 2073652744ad034f28ec1f05d440e79153048f62 Mon Sep 17 00:00:00 2001 From: henderkes Date: Thu, 16 Apr 2026 14:29:07 +0700 Subject: [PATCH 3/3] fix macOS --- src/SPC/builder/unix/library/krb5.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/SPC/builder/unix/library/krb5.php b/src/SPC/builder/unix/library/krb5.php index a9cd92ca1..85110e252 100644 --- a/src/SPC/builder/unix/library/krb5.php +++ b/src/SPC/builder/unix/library/krb5.php @@ -4,6 +4,8 @@ namespace SPC\builder\unix\library; +use SPC\toolchain\ToolchainManager; +use SPC\toolchain\ZigToolchain; use SPC\util\executor\UnixAutoconfExecutor; use SPC\util\SPCConfigUtil; @@ -39,13 +41,16 @@ protected function build(): void $extraEnv['LDFLAGS'] = '-framework Kerberos'; $args[] = 'ac_cv_func_secure_getenv=no'; } - UnixAutoconfExecutor::create($this) + $make = UnixAutoconfExecutor::create($this) ->appendEnv($extraEnv) ->optionalLib('ldap', '--with-ldap', '--without-ldap') ->optionalLib('libedit', '--with-libedit', '--without-libedit') - ->configure(...$args) - ->exec('find . -name Makefile -exec sed -i "s/-Werror=incompatible-pointer-types//g" {} +') - ->make(); + ->configure(...$args); + + if (ToolchainManager::getToolchainClass() === ZigToolchain::class) { + $make->exec('find . -name Makefile -exec sed -i "s/-Werror=incompatible-pointer-types//g" {} +'); + } + $make->make(); $this->patchPkgconfPrefix([ 'krb5-gssapi.pc', 'krb5.pc',