mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-03-18 04:44:53 +08:00
Add ext-password-argon2
This commit is contained in:
parent
e523fff0ab
commit
9d65c491e7
@ -144,6 +144,14 @@ ext-openssl:
|
|||||||
arg-type: custom
|
arg-type: custom
|
||||||
arg-type@windows: with
|
arg-type@windows: with
|
||||||
build-with-php: true
|
build-with-php: true
|
||||||
|
ext-password-argon2:
|
||||||
|
type: php-extension
|
||||||
|
depends:
|
||||||
|
- libargon2
|
||||||
|
- ext-openssl
|
||||||
|
php-extension:
|
||||||
|
arg-type: custom
|
||||||
|
display-name: ''
|
||||||
ext-phar:
|
ext-phar:
|
||||||
type: php-extension
|
type: php-extension
|
||||||
depends:
|
depends:
|
||||||
|
|||||||
37
src/Package/Extension/password_argon2.php
Normal file
37
src/Package/Extension/password_argon2.php
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Package\Extension;
|
||||||
|
|
||||||
|
use Package\Target\php;
|
||||||
|
use StaticPHP\Attribute\Package\CustomPhpConfigureArg;
|
||||||
|
use StaticPHP\Attribute\Package\Extension;
|
||||||
|
use StaticPHP\Exception\ValidationException;
|
||||||
|
use StaticPHP\Package\PackageBuilder;
|
||||||
|
use StaticPHP\Package\PackageInstaller;
|
||||||
|
use StaticPHP\Package\PhpExtensionPackage;
|
||||||
|
|
||||||
|
#[Extension('password-argon2')]
|
||||||
|
class password_argon2 extends PhpExtensionPackage
|
||||||
|
{
|
||||||
|
public function runSmokeTestCliUnix(): void
|
||||||
|
{
|
||||||
|
[$ret] = shell()->execWithResult(BUILD_ROOT_PATH . '/bin/php -n -r "assert(defined(\'PASSWORD_ARGON2I\'));"');
|
||||||
|
if ($ret !== 0) {
|
||||||
|
throw new ValidationException('extension ' . $this->getName() . ' failed sanity check', validation_module: 'password_argon2 function check');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[CustomPhpConfigureArg('Linux')]
|
||||||
|
#[CustomPhpConfigureArg('Darwin')]
|
||||||
|
public function getConfigureArg(PackageInstaller $installer, PackageBuilder $builder): string
|
||||||
|
{
|
||||||
|
if ($installer->getLibraryPackage('openssl') !== null) {
|
||||||
|
if (php::getPHPVersionID() >= 80500 || (php::getPHPVersionID() >= 80400 && !$builder->getOption('enable-zts'))) {
|
||||||
|
return '--without-password-argon2'; // use --with-openssl-argon2 in openssl extension instead
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return '--with-password-argon2';
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user