From b3d67b928a950723a952ab4f724de487feff7d83 Mon Sep 17 00:00:00 2001 From: crazywhalecc Date: Fri, 27 Feb 2026 09:54:40 +0800 Subject: [PATCH] Add tryPatchMakefileUnix method to fix //lib path in Makefile for Linux builds --- src/Package/Target/php/unix.php | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/Package/Target/php/unix.php b/src/Package/Target/php/unix.php index 10884c31..888ae8bd 100644 --- a/src/Package/Target/php/unix.php +++ b/src/Package/Target/php/unix.php @@ -136,6 +136,18 @@ trait unix } } + #[BeforeStage('php', [self::class, 'makeForUnix'], 'php')] + #[PatchDescription('Patch Makefile to fix //lib path for Linux builds')] + public function tryPatchMakefileUnix(): void + { + if (SystemTarget::getTargetOS() !== 'Linux') { + return; + } + + // replace //lib with /lib in Makefile + shell()->cd(SOURCE_PATH . '/php-src')->exec('sed -i "s|//lib|/lib|g" Makefile'); + } + #[Stage] public function makeForUnix(TargetPackage $package, PackageInstaller $installer): void { @@ -168,9 +180,6 @@ trait unix $concurrency = $builder->concurrency; $vars = $this->makeVars($installer); $makeArgs = $this->makeVarsToArgs($vars); - if (SystemTarget::getTargetOS() === 'Linux') { - shell()->cd($package->getSourceDir())->exec('sed -i "s|//lib|/lib|g" Makefile'); - } shell()->cd($package->getSourceDir()) ->setEnv($vars) ->exec("make -j{$concurrency} {$makeArgs} cli"); @@ -186,9 +195,6 @@ trait unix $concurrency = $builder->concurrency; $vars = $this->makeVars($installer); $makeArgs = $this->makeVarsToArgs($vars); - if (SystemTarget::getTargetOS() === 'Linux') { - shell()->cd($package->getSourceDir())->exec('sed -i "s|//lib|/lib|g" Makefile'); - } shell()->cd($package->getSourceDir()) ->setEnv($vars) ->exec("make -j{$concurrency} {$makeArgs} cgi"); @@ -204,9 +210,6 @@ trait unix $concurrency = $builder->concurrency; $vars = $this->makeVars($installer); $makeArgs = $this->makeVarsToArgs($vars); - if (SystemTarget::getTargetOS() === 'Linux') { - shell()->cd($package->getSourceDir())->exec('sed -i "s|//lib|/lib|g" Makefile'); - } shell()->cd($package->getSourceDir()) ->setEnv($vars) ->exec("make -j{$concurrency} {$makeArgs} fpm"); @@ -231,9 +234,6 @@ trait unix $vars['EXTRA_CFLAGS'] .= $package->getBuildOption('with-micro-fake-cli', false) ? ' -DPHP_MICRO_FAKE_CLI' : ''; $makeArgs = $this->makeVarsToArgs($vars); // build - if (SystemTarget::getTargetOS() === 'Linux') { - shell()->cd($package->getSourceDir())->exec('sed -i "s|//lib|/lib|g" Makefile'); - } shell()->cd($package->getSourceDir()) ->setEnv($vars) ->exec("make -j{$builder->concurrency} {$makeArgs} micro");