Add before and after build hooks for phar extension to replace file strings

This commit is contained in:
crazywhalecc 2026-03-08 14:02:15 +08:00
parent 0c86d82b98
commit 8f10e0d070
No known key found for this signature in database
GPG Key ID: 1F4BDD59391F2680

View File

@ -9,6 +9,8 @@ use StaticPHP\Attribute\Package\AfterStage;
use StaticPHP\Attribute\Package\BeforeStage;
use StaticPHP\Attribute\Package\Extension;
use StaticPHP\Attribute\PatchDescription;
use StaticPHP\Package\PhpExtensionPackage;
use StaticPHP\Util\FileSystem;
use StaticPHP\Util\SourcePatcher;
#[Extension('phar')]
@ -26,4 +28,24 @@ class phar
{
SourcePatcher::unpatchMicroPhar();
}
#[BeforeStage('ext-phar', 'build')]
public function beforeBuildShared(PhpExtensionPackage $pkg): void
{
FileSystem::replaceFileStr(
"{$pkg->getSourceDir()}/config.m4",
['$ext_dir/phar.1', '$ext_dir/phar.phar.1'],
['${ext_dir}phar.1', '${ext_dir}phar.phar.1']
);
}
#[AfterStage('ext-phar', 'build')]
public function afterBuildShared(PhpExtensionPackage $pkg): void
{
FileSystem::replaceFileStr(
"{$pkg->getSourceDir()}/config.m4",
['${ext_dir}phar.1', '${ext_dir}phar.phar.1'],
['$ext_dir/phar.1', '$ext_dir/phar.phar.1']
);
}
}