From 339c03adb27296bc4bfad4caaaadd9cfdee26352 Mon Sep 17 00:00:00 2001 From: crazywhalecc Date: Tue, 19 Dec 2023 19:31:56 +0800 Subject: [PATCH] fix linux build (dont know why linux failed) --- src/SPC/builder/linux/library/libargon2.php | 13 +++++++++++++ src/globals/test-extensions.php | 6 +++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/SPC/builder/linux/library/libargon2.php b/src/SPC/builder/linux/library/libargon2.php index 59e85112..ca4a72ac 100644 --- a/src/SPC/builder/linux/library/libargon2.php +++ b/src/SPC/builder/linux/library/libargon2.php @@ -4,9 +4,22 @@ declare(strict_types=1); namespace SPC\builder\linux\library; +use SPC\exception\WrongUsageException; +use SPC\store\FileSystem; + class libargon2 extends LinuxLibraryBase { use \SPC\builder\unix\library\libargon2; public const NAME = 'libargon2'; + + public function patchBeforeBuild(): bool + { + // detect libsodium (The libargon2 conflicts with the libsodium library.) + if ($this->builder->getLib('libsodium') !== null) { + throw new WrongUsageException('libargon2 (required by password-argon2) conflicts with the libsodium library !'); + } + FileSystem::replaceFileStr($this->source_dir . '/Makefile', 'LIBRARY_REL ?= lib/x86_64-linux-gnu', 'LIBRARY_REL ?= lib'); + return true; + } } diff --git a/src/globals/test-extensions.php b/src/globals/test-extensions.php index 06eaf68e..fd55f0c4 100644 --- a/src/globals/test-extensions.php +++ b/src/globals/test-extensions.php @@ -3,6 +3,10 @@ declare(strict_types=1); # If you want to test new extensions here, just modify it. -$extensions = 'password-argon2,apcu,bcmath,bz2,calendar,ctype,curl,dba,dom,event,exif,fileinfo,filter,ftp,gd,gmp,iconv,imagick,imap,intl,ldap,mbregex,mbstring,mysqli,mysqlnd,opcache,openssl,pcntl,pdo,pdo_mysql,pdo_pgsql,pdo_sqlite,pgsql,phar,posix,protobuf,readline,redis,session,shmop,simplexml,soap,sockets,sodium,sqlite3,swoole,sysvmsg,sysvsem,sysvshm,tokenizer,xml,xmlreader,xmlwriter,xsl,zip,zlib'; +$extensions = 'password-argon2,apcu,bcmath,bz2,calendar,ctype,curl,dba,dom,event,exif,fileinfo,filter,ftp,gd,gmp,iconv,imagick,imap,intl,ldap,mbregex,mbstring,mysqli,mysqlnd,opcache,openssl,pcntl,pdo,pdo_mysql,pdo_pgsql,pdo_sqlite,pgsql,phar,posix,protobuf,readline,redis,session,shmop,simplexml,soap,sockets,sqlite3,swoole,sysvmsg,sysvsem,sysvshm,tokenizer,xml,xmlreader,xmlwriter,xsl,zip,zlib'; + +if (PHP_OS_FAMILY === 'Darwin') { + $extensions .= ',sodium'; +} echo $extensions;