From be7c0028698431766428ba61103ecfae10efa5ec Mon Sep 17 00:00:00 2001 From: crazywhalecc Date: Sun, 7 Sep 2025 16:10:50 +0800 Subject: [PATCH] Patch only when building cli --- src/SPC/builder/linux/LinuxBuilder.php | 7 +++++++ src/SPC/store/SourcePatcher.php | 7 ------- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/SPC/builder/linux/LinuxBuilder.php b/src/SPC/builder/linux/LinuxBuilder.php index 3525ffb7..91910f7f 100644 --- a/src/SPC/builder/linux/LinuxBuilder.php +++ b/src/SPC/builder/linux/LinuxBuilder.php @@ -170,12 +170,19 @@ class LinuxBuilder extends UnixBuilderBase */ protected function buildCli(): void { + if ($this->getExt('readline')) { + SourcePatcher::patchFile('musl_static_readline.patch', SOURCE_PATH . '/php-src'); + } $vars = SystemUtil::makeEnvVarString($this->getMakeExtraVars()); $SPC_CMD_PREFIX_PHP_MAKE = getenv('SPC_CMD_PREFIX_PHP_MAKE') ?: 'make'; shell()->cd(SOURCE_PATH . '/php-src') ->exec('sed -i "s|//lib|/lib|g" Makefile') ->exec("{$SPC_CMD_PREFIX_PHP_MAKE} {$vars} cli"); + if ($this->getExt('readline')) { + SourcePatcher::patchFile('musl_static_readline.patch', SOURCE_PATH . '/php-src', true); + } + if (!$this->getOption('no-strip', false)) { shell()->cd(SOURCE_PATH . '/php-src/sapi/cli')->exec('strip --strip-unneeded php'); } diff --git a/src/SPC/store/SourcePatcher.php b/src/SPC/store/SourcePatcher.php index eef78654..c08204f5 100644 --- a/src/SPC/store/SourcePatcher.php +++ b/src/SPC/store/SourcePatcher.php @@ -23,7 +23,6 @@ class SourcePatcher FileSystem::addSourceExtractHook('php-src', [__CLASS__, 'patchPhpLibxml212']); FileSystem::addSourceExtractHook('php-src', [__CLASS__, 'patchGDWin32']); FileSystem::addSourceExtractHook('php-src', [__CLASS__, 'patchFfiCentos7FixO3strncmp']); - FileSystem::addSourceExtractHook('php-src', [__CLASS__, 'patchStaticReadline']); FileSystem::addSourceExtractHook('sqlsrv', [__CLASS__, 'patchSQLSRVWin32']); FileSystem::addSourceExtractHook('pdo_sqlsrv', [__CLASS__, 'patchSQLSRVWin32']); FileSystem::addSourceExtractHook('yaml', [__CLASS__, 'patchYamlWin32']); @@ -501,12 +500,6 @@ class SourcePatcher return true; } - public static function patchStaticReadline(): bool - { - self::patchFile('musl_static_readline.patch', SOURCE_PATH . '/php-src'); - return true; - } - public static function patchPkgConfigForGcc15(): bool { self::patchFile('pkg-config_gcc15.patch', SOURCE_PATH . '/pkg-config');