mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-07-08 17:35:36 +08:00
Compare commits
14 Commits
435d2c07b0
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3ce68b64cf | ||
|
|
9a403ae79e | ||
|
|
532972337e | ||
|
|
fe1ef6e2e0 | ||
|
|
f2b2af774c | ||
|
|
a78e6fa5f8 | ||
|
|
5d9e4e2c81 | ||
|
|
ca3daad350 | ||
|
|
eb97711347 | ||
|
|
5c8ec7a56d | ||
|
|
e85cd55dba | ||
|
|
f9f4ca9a01 | ||
|
|
99a512c4a4 | ||
|
|
75856e361e |
@@ -333,10 +333,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ext-zstd": {
|
"ext-zstd": {
|
||||||
"type": "git",
|
"type": "ghtagtar",
|
||||||
|
"repo": "kjdev/php-ext-zstd",
|
||||||
"path": "php-src/ext/zstd",
|
"path": "php-src/ext/zstd",
|
||||||
"rev": "master",
|
|
||||||
"url": "https://github.com/kjdev/php-ext-zstd",
|
|
||||||
"license": {
|
"license": {
|
||||||
"type": "file",
|
"type": "file",
|
||||||
"path": "LICENSE"
|
"path": "LICENSE"
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ class password_argon2 extends Extension
|
|||||||
|
|
||||||
public function getConfigureArg(bool $shared = false): string
|
public function getConfigureArg(bool $shared = false): string
|
||||||
{
|
{
|
||||||
if ($this->builder->getLib('openssl') !== null) {
|
if ($this->builder->getExt('openssl')?->isBuildStatic() || $this->isBuildShared()) {
|
||||||
if ($this->builder->getPHPVersionID() >= 80500 || ($this->builder->getPHPVersionID() >= 80400 && !$this->builder->getOption('enable-zts'))) {
|
if ($this->builder->getPHPVersionID() >= 80500 || ($this->builder->getPHPVersionID() >= 80400 && !$this->builder->getOption('enable-zts'))) {
|
||||||
return '--without-password-argon2'; // use --with-openssl-argon2 in openssl extension instead
|
return '--without-password-argon2'; // use --with-openssl-argon2 in openssl extension instead
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace SPC\builder\extension;
|
|
||||||
|
|
||||||
use SPC\builder\Extension;
|
|
||||||
use SPC\store\FileSystem;
|
|
||||||
use SPC\util\CustomExt;
|
|
||||||
|
|
||||||
#[CustomExt('pdo_sqlite')]
|
|
||||||
class pdo_sqlite extends Extension
|
|
||||||
{
|
|
||||||
public function patchBeforeConfigure(): bool
|
|
||||||
{
|
|
||||||
FileSystem::replaceFileRegex(
|
|
||||||
SOURCE_PATH . '/php-src/configure',
|
|
||||||
'/sqlite3_column_table_name=yes/',
|
|
||||||
'sqlite3_column_table_name=no'
|
|
||||||
);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -7,7 +7,6 @@ namespace SPC\builder\extension;
|
|||||||
use SPC\builder\Extension;
|
use SPC\builder\Extension;
|
||||||
use SPC\store\SourcePatcher;
|
use SPC\store\SourcePatcher;
|
||||||
use SPC\util\CustomExt;
|
use SPC\util\CustomExt;
|
||||||
use SPC\util\GlobalEnvManager;
|
|
||||||
|
|
||||||
#[CustomExt('xlswriter')]
|
#[CustomExt('xlswriter')]
|
||||||
class xlswriter extends Extension
|
class xlswriter extends Extension
|
||||||
@@ -29,13 +28,6 @@ class xlswriter extends Extension
|
|||||||
public function patchBeforeMake(): bool
|
public function patchBeforeMake(): bool
|
||||||
{
|
{
|
||||||
$patched = parent::patchBeforeMake();
|
$patched = parent::patchBeforeMake();
|
||||||
|
|
||||||
// Remove when https://github.com/viest/php-ext-xlswriter/pull/560 is merged
|
|
||||||
if (PHP_OS_FAMILY !== 'Windows') {
|
|
||||||
GlobalEnvManager::putenv('SPC_CMD_VAR_PHP_MAKE_EXTRA_CFLAGS=' . getenv('SPC_CMD_VAR_PHP_MAKE_EXTRA_CFLAGS') . ' -std=gnu17');
|
|
||||||
$patched = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (PHP_OS_FAMILY === 'Windows') {
|
if (PHP_OS_FAMILY === 'Windows') {
|
||||||
// fix windows build with openssl extension duplicate symbol bug
|
// fix windows build with openssl extension duplicate symbol bug
|
||||||
SourcePatcher::patchFile('spc_fix_xlswriter_win32.patch', $this->source_dir);
|
SourcePatcher::patchFile('spc_fix_xlswriter_win32.patch', $this->source_dir);
|
||||||
@@ -48,10 +40,4 @@ class xlswriter extends Extension
|
|||||||
}
|
}
|
||||||
return $patched;
|
return $patched;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove when https://github.com/viest/php-ext-xlswriter/pull/560 is merged
|
|
||||||
protected function getExtraEnv(): array
|
|
||||||
{
|
|
||||||
return ['CFLAGS' => '-std=gnu17'];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,12 @@ trait sqlite
|
|||||||
{
|
{
|
||||||
protected function build(): void
|
protected function build(): void
|
||||||
{
|
{
|
||||||
UnixAutoconfExecutor::create($this)->configure()->make();
|
UnixAutoconfExecutor::create($this)
|
||||||
|
->appendEnv([
|
||||||
|
'CFLAGS' => '-DSQLITE_ENABLE_COLUMN_METADATA=1',
|
||||||
|
])
|
||||||
|
->configure()
|
||||||
|
->make();
|
||||||
$this->patchPkgconfPrefix(['sqlite3.pc']);
|
$this->patchPkgconfPrefix(['sqlite3.pc']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
16
src/globals/ext-tests/pdo_sqlite.php
Normal file
16
src/globals/ext-tests/pdo_sqlite.php
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
$pdo = new PDO('sqlite::memory:');
|
||||||
|
$pdo->exec('CREATE TABLE spc_column_metadata_test (id INTEGER)');
|
||||||
|
|
||||||
|
$stmt = $pdo->query('SELECT id FROM spc_column_metadata_test');
|
||||||
|
if ($stmt === false) {
|
||||||
|
throw new RuntimeException('Failed to query SQLite metadata test table.');
|
||||||
|
}
|
||||||
|
|
||||||
|
$metadata = $stmt->getColumnMeta(0);
|
||||||
|
if (($metadata['table'] ?? null) !== 'spc_column_metadata_test') {
|
||||||
|
throw new RuntimeException('PDO SQLite column metadata does not include the origin table.');
|
||||||
|
}
|
||||||
10
src/globals/ext-tests/sqlite3.php
Normal file
10
src/globals/ext-tests/sqlite3.php
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
$sqlite = new SQLite3(':memory:');
|
||||||
|
$enabled = $sqlite->querySingle("SELECT sqlite_compileoption_used('ENABLE_COLUMN_METADATA')");
|
||||||
|
|
||||||
|
if ((int) $enabled !== 1) {
|
||||||
|
throw new RuntimeException('SQLite was not built with SQLITE_ENABLE_COLUMN_METADATA.');
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user