mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-07-05 15:55:39 +08:00
Add extension maxminddb support for macOS and Linux (#975)
This commit is contained in:
@@ -34,7 +34,7 @@ use Symfony\Component\Console\Application;
|
||||
*/
|
||||
final class ConsoleApplication extends Application
|
||||
{
|
||||
public const string VERSION = '2.7.7';
|
||||
public const string VERSION = '2.7.8';
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
|
||||
26
src/SPC/builder/extension/maxminddb.php
Normal file
26
src/SPC/builder/extension/maxminddb.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace SPC\builder\extension;
|
||||
|
||||
use SPC\builder\Extension;
|
||||
use SPC\util\CustomExt;
|
||||
|
||||
#[CustomExt('maxminddb')]
|
||||
class maxminddb extends Extension
|
||||
{
|
||||
public function patchBeforeBuildconf(): bool
|
||||
{
|
||||
if (!is_link(SOURCE_PATH . '/php-src/ext/maxminddb')) {
|
||||
$original = $this->source_dir;
|
||||
if (PHP_OS_FAMILY === 'Windows') {
|
||||
f_passthru('cd ' . SOURCE_PATH . '/php-src/ext && mklink /D maxminddb ' . $original . '\ext');
|
||||
} else {
|
||||
f_passthru('cd ' . SOURCE_PATH . '/php-src/ext && ln -s ' . $original . '/ext maxminddb');
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
12
src/SPC/builder/linux/library/libmaxminddb.php
Normal file
12
src/SPC/builder/linux/library/libmaxminddb.php
Normal file
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace SPC\builder\linux\library;
|
||||
|
||||
class libmaxminddb extends LinuxLibraryBase
|
||||
{
|
||||
use \SPC\builder\unix\library\libmaxminddb;
|
||||
|
||||
public const NAME = 'libmaxminddb';
|
||||
}
|
||||
12
src/SPC/builder/macos/library/libmaxminddb.php
Normal file
12
src/SPC/builder/macos/library/libmaxminddb.php
Normal file
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace SPC\builder\macos\library;
|
||||
|
||||
class libmaxminddb extends MacOSLibraryBase
|
||||
{
|
||||
use \SPC\builder\unix\library\libmaxminddb;
|
||||
|
||||
public const NAME = 'libmaxminddb';
|
||||
}
|
||||
20
src/SPC/builder/unix/library/libmaxminddb.php
Normal file
20
src/SPC/builder/unix/library/libmaxminddb.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace SPC\builder\unix\library;
|
||||
|
||||
use SPC\util\executor\UnixCMakeExecutor;
|
||||
|
||||
trait libmaxminddb
|
||||
{
|
||||
protected function build(): void
|
||||
{
|
||||
UnixCMakeExecutor::create($this)
|
||||
->addConfigureArgs(
|
||||
'-DBUILD_TESTING=OFF',
|
||||
'-DMAXMINDDB_BUILD_BINARIES=OFF',
|
||||
)
|
||||
->build();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user