mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-07-08 01:15:37 +08:00
Add DirDiff utility and enhance package build process
- Introduced DirDiff class for tracking directory file changes. - Updated ConsoleApplication to use addCommand for build targets. - Enhanced PackageBuilder with methods for deploying binaries and extracting debug info. - Improved package installation logic to support shared extensions. - Added readline extension with patching for static builds.
This commit is contained in:
34
src/Package/Extension/readline.php
Normal file
34
src/Package/Extension/readline.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Package\Extension;
|
||||
|
||||
use StaticPHP\Attribute\Package\AfterStage;
|
||||
use StaticPHP\Attribute\Package\BeforeStage;
|
||||
use StaticPHP\Attribute\Package\Extension;
|
||||
use StaticPHP\Package\PackageInstaller;
|
||||
use StaticPHP\Toolchain\Interface\ToolchainInterface;
|
||||
use StaticPHP\Util\SourcePatcher;
|
||||
|
||||
#[Extension('readline')]
|
||||
class readline
|
||||
{
|
||||
#[BeforeStage('php', 'unix-make-cli')]
|
||||
public function beforeMakeLinuxCli(PackageInstaller $installer, ToolchainInterface $toolchain): void
|
||||
{
|
||||
if ($toolchain->isStatic()) {
|
||||
$php_src = $installer->getBuildPackage('php')->getSourceDir();
|
||||
SourcePatcher::patchFile('musl_static_readline.patch', $php_src);
|
||||
}
|
||||
}
|
||||
|
||||
#[AfterStage('php', 'unix-make-cli')]
|
||||
public function afterMakeLinuxCli(PackageInstaller $installer, ToolchainInterface $toolchain): void
|
||||
{
|
||||
if ($toolchain->isStatic()) {
|
||||
$php_src = $installer->getBuildPackage('php')->getSourceDir();
|
||||
SourcePatcher::patchFile('musl_static_readline.patch', $php_src, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user