Fix mongodb 2.3.0 introduced in-tree build bug

This commit is contained in:
crazywhalecc
2026-04-30 11:18:58 +08:00
parent 737728ac24
commit 8537ad7b19

View File

@@ -8,6 +8,7 @@ use Package\Target\php;
use StaticPHP\Attribute\Package\BeforeStage;
use StaticPHP\Attribute\Package\CustomPhpConfigureArg;
use StaticPHP\Attribute\Package\Extension;
use StaticPHP\Attribute\PatchDescription;
use StaticPHP\Package\PackageInstaller;
use StaticPHP\Package\PhpExtensionPackage;
use StaticPHP\Util\FileSystem;
@@ -16,6 +17,7 @@ use StaticPHP\Util\FileSystem;
class mongodb extends PhpExtensionPackage
{
#[BeforeStage('php', [php::class, 'buildconfForWindows'], 'ext-mongodb')]
#[PatchDescription('Add /utf-8 flag to CFLAGS_MONGODB for Windows build to fix compilation error on non-English Windows.')]
public function patchBeforeBuild(): void
{
FileSystem::replaceFileStr(
@@ -25,6 +27,17 @@ class mongodb extends PhpExtensionPackage
);
}
#[BeforeStage('php', [php::class, 'buildconfForUnix'], 'ext-mongodb')]
#[PatchDescription('Replace src/libmongoc/ with ${ac_config_dir}/src/libmongoc/ in config.m4 to fix the build on Unix-like systems.')]
public function patchBeforeBuildconfUnix(): void
{
FileSystem::replaceFileRegex(
$this->getSourceDir() . '/config.m4',
'/^(\s+)(src\/libmongoc\/)/m',
'$1${ac_config_dir}/$2'
);
}
#[CustomPhpConfigureArg('Darwin')]
#[CustomPhpConfigureArg('Linux')]
public function getUnixConfigureArg(bool $shared, PackageInstaller $installer): string