fix libkrb5 and decimal shard build (#1107)

This commit is contained in:
Marc
2026-04-16 17:40:47 +07:00
committed by GitHub
2 changed files with 17 additions and 5 deletions

View File

@@ -16,8 +16,14 @@ class decimal extends Extension
{ {
FileSystem::replaceFileStr( FileSystem::replaceFileStr(
$this->source_dir . '/php_decimal.c', $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( FileSystem::replaceFileStr(
$this->source_dir . '/config.w32', $this->source_dir . '/config.w32',

View File

@@ -4,6 +4,8 @@ declare(strict_types=1);
namespace SPC\builder\unix\library; namespace SPC\builder\unix\library;
use SPC\toolchain\ToolchainManager;
use SPC\toolchain\ZigToolchain;
use SPC\util\executor\UnixAutoconfExecutor; use SPC\util\executor\UnixAutoconfExecutor;
use SPC\util\SPCConfigUtil; use SPC\util\SPCConfigUtil;
@@ -39,12 +41,16 @@ trait krb5
$extraEnv['LDFLAGS'] = '-framework Kerberos'; $extraEnv['LDFLAGS'] = '-framework Kerberos';
$args[] = 'ac_cv_func_secure_getenv=no'; $args[] = 'ac_cv_func_secure_getenv=no';
} }
UnixAutoconfExecutor::create($this) $make = UnixAutoconfExecutor::create($this)
->appendEnv($extraEnv) ->appendEnv($extraEnv)
->optionalLib('ldap', '--with-ldap', '--without-ldap') ->optionalLib('ldap', '--with-ldap', '--without-ldap')
->optionalLib('libedit', '--with-libedit', '--without-libedit') ->optionalLib('libedit', '--with-libedit', '--without-libedit')
->configure(...$args) ->configure(...$args);
->make();
if (ToolchainManager::getToolchainClass() === ZigToolchain::class) {
$make->exec('find . -name Makefile -exec sed -i "s/-Werror=incompatible-pointer-types//g" {} +');
}
$make->make();
$this->patchPkgconfPrefix([ $this->patchPkgconfPrefix([
'krb5-gssapi.pc', 'krb5-gssapi.pc',
'krb5.pc', 'krb5.pc',