From f6c6011061c130e8b705940c93db4cda1a660e47 Mon Sep 17 00:00:00 2001 From: DubbleClick Date: Tue, 1 Jul 2025 16:25:08 +0700 Subject: [PATCH] err, we need to install zig of course --- src/SPC/builder/unix/library/libaom.php | 6 ++++-- src/SPC/command/CraftCommand.php | 4 +++- src/SPC/doctor/item/ZigCheck.php | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/SPC/builder/unix/library/libaom.php b/src/SPC/builder/unix/library/libaom.php index d0b7c88c..31c40a0f 100644 --- a/src/SPC/builder/unix/library/libaom.php +++ b/src/SPC/builder/unix/library/libaom.php @@ -6,6 +6,8 @@ namespace SPC\builder\unix\library; use SPC\exception\FileSystemException; use SPC\exception\RuntimeException; +use SPC\toolchain\ToolchainManager; +use SPC\toolchain\ZigToolchain; use SPC\util\executor\UnixCMakeExecutor; trait libaom @@ -16,8 +18,8 @@ trait libaom */ protected function build(): void { - if (getenv('SPC_LIBC') === 'musl' && str_contains(getenv('CC'), 'zig')) { - f_putenv('COMPILER_EXTRA=-D_POSIX_SOURCE'); + if (ToolchainManager::getToolchainClass() === ZigToolchain::class) { + f_putenv('COMPILER_EXTRA=-D_GNU_SOURCE'); } UnixCMakeExecutor::create($this) ->setBuildDir("{$this->source_dir}/builddir") diff --git a/src/SPC/command/CraftCommand.php b/src/SPC/command/CraftCommand.php index 84080205..5a40a25d 100644 --- a/src/SPC/command/CraftCommand.php +++ b/src/SPC/command/CraftCommand.php @@ -5,6 +5,8 @@ declare(strict_types=1); namespace SPC\command; use SPC\exception\ValidationException; +use SPC\toolchain\ToolchainManager; +use SPC\toolchain\ZigToolchain; use SPC\util\ConfigValidator; use Symfony\Component\Console\Attribute\AsCommand; use Symfony\Component\Process\Process; @@ -76,7 +78,7 @@ class CraftCommand extends BuildCommand } } // install zig if requested - if (str_contains(getenv('CC'), 'zig')) { + if (ToolchainManager::getToolchainClass() === ZigToolchain::class) { $retcode = $this->runCommand('install-pkg', 'zig'); if ($retcode !== 0) { $this->output->writeln('craft zig failed'); diff --git a/src/SPC/doctor/item/ZigCheck.php b/src/SPC/doctor/item/ZigCheck.php index f5983f1d..ffd9aca5 100644 --- a/src/SPC/doctor/item/ZigCheck.php +++ b/src/SPC/doctor/item/ZigCheck.php @@ -47,7 +47,7 @@ class ZigCheck 'BSD' => 'freebsd', default => 'linux', }; - PackageManager::installPackage("musl-toolchain-{$arch}-{$os}"); + PackageManager::installPackage("zig-{$arch}-{$os}"); return Zig::isInstalled(); } }