From af6a23011ce437886d67cacbc432ccedb74fe45d Mon Sep 17 00:00:00 2001 From: henderkes Date: Mon, 8 Sep 2025 13:33:44 +0700 Subject: [PATCH 1/2] fix zig relative directory --- src/SPC/store/scripts/zig-cc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SPC/store/scripts/zig-cc.sh b/src/SPC/store/scripts/zig-cc.sh index 388a3655..d4090a0f 100644 --- a/src/SPC/store/scripts/zig-cc.sh +++ b/src/SPC/store/scripts/zig-cc.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash SCRIPT_DIR="$(dirname "${BASH_SOURCE[0]}")" -BUILDROOT_ABS="$(realpath "$SCRIPT_DIR/../../buildroot/include" 2>/dev/null || true)" +BUILDROOT_ABS="$(realpath "$SCRIPT_DIR/../../../buildroot/include" 2>/dev/null || true)" PARSED_ARGS=() while [[ $# -gt 0 ]]; do From c330d02e788d1e32c8377ae65e6b97d71101c110 Mon Sep 17 00:00:00 2001 From: henderkes Date: Mon, 8 Sep 2025 14:18:03 +0700 Subject: [PATCH 2/2] update pkg paths to not double the $arch-$os --- src/SPC/store/pkg/GoXcaddy.php | 27 ++++++++------------------- src/SPC/store/pkg/Zig.php | 15 +++------------ 2 files changed, 11 insertions(+), 31 deletions(-) diff --git a/src/SPC/store/pkg/GoXcaddy.php b/src/SPC/store/pkg/GoXcaddy.php index 13041a6f..daac9dc9 100644 --- a/src/SPC/store/pkg/GoXcaddy.php +++ b/src/SPC/store/pkg/GoXcaddy.php @@ -13,18 +13,7 @@ class GoXcaddy extends CustomPackage { public static function isInstalled(): bool { - $arch = arch2gnu(php_uname('m')); - $os = match (PHP_OS_FAMILY) { - 'Windows' => 'win', - 'Darwin' => 'macos', - 'BSD' => 'freebsd', - default => 'linux', - }; - - $packageName = "go-xcaddy-{$arch}-{$os}"; - $pkgroot = PKG_ROOT_PATH; - $folder = "{$pkgroot}/{$packageName}"; - + $folder = PKG_ROOT_PATH . '/go-xcaddy'; return is_dir($folder) && is_file("{$folder}/bin/go") && is_file("{$folder}/bin/xcaddy"); } @@ -59,7 +48,7 @@ class GoXcaddy extends CustomPackage 'macos' => 'darwin', default => throw new \InvalidArgumentException('Unsupported OS: ' . $name), }; - $go_version = '1.24.4'; + $go_version = '1.25.0'; $config = [ 'type' => 'url', 'url' => "https://go.dev/dl/go{$go_version}.{$os}-{$arch}.tar.gz", @@ -70,15 +59,15 @@ class GoXcaddy extends CustomPackage public function extract(string $name): void { $pkgroot = PKG_ROOT_PATH; - $go_exec = "{$pkgroot}/{$name}/bin/go"; - $xcaddy_exec = "{$pkgroot}/{$name}/bin/xcaddy"; + $go_exec = "{$pkgroot}/go-xcaddy/bin/go"; + $xcaddy_exec = "{$pkgroot}/go-xcaddy/bin/xcaddy"; if (file_exists($go_exec) && file_exists($xcaddy_exec)) { return; } $lock = json_decode(FileSystem::readFile(LockFile::LOCK_FILE), true); $source_type = $lock[$name]['source_type']; $filename = DOWNLOAD_PATH . '/' . ($lock[$name]['filename'] ?? $lock[$name]['dirname']); - $extract = $lock[$name]['move_path'] ?? "{$pkgroot}/{$name}"; + $extract = $lock[$name]['move_path'] ?? "{$pkgroot}/go-xcaddy"; FileSystem::extractPackage($name, $source_type, $filename, $extract); @@ -91,9 +80,9 @@ class GoXcaddy extends CustomPackage // install xcaddy without using musl tools, xcaddy build requires dynamic linking shell() ->appendEnv([ - 'PATH' => "{$pkgroot}/{$name}/bin:" . $sanitizedPath, - 'GOROOT' => "{$pkgroot}/{$name}", - 'GOBIN' => "{$pkgroot}/{$name}/bin", + 'PATH' => "{$pkgroot}/go-xcaddy/bin:" . $sanitizedPath, + 'GOROOT' => "{$pkgroot}/go-xcaddy", + 'GOBIN' => "{$pkgroot}/go-xcaddy/bin", 'GOPATH' => "{$pkgroot}/go", ]) ->exec('CC=cc go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest'); diff --git a/src/SPC/store/pkg/Zig.php b/src/SPC/store/pkg/Zig.php index 3ac90c6d..7c206f7c 100644 --- a/src/SPC/store/pkg/Zig.php +++ b/src/SPC/store/pkg/Zig.php @@ -103,7 +103,7 @@ class Zig extends CustomPackage public function extract(string $name): void { $pkgroot = PKG_ROOT_PATH; - $zig_bin_dir = "{$pkgroot}/{$name}"; + $zig_bin_dir = "{$pkgroot}/zig"; $files = ['zig', 'zig-cc', 'zig-c++', 'zig-ar', 'zig-ld.lld', 'zig-ranlib', 'zig-objcopy']; $all_exist = true; @@ -120,7 +120,7 @@ class Zig extends CustomPackage $lock = json_decode(FileSystem::readFile(LockFile::LOCK_FILE), true); $source_type = $lock[$name]['source_type']; $filename = DOWNLOAD_PATH . '/' . ($lock[$name]['filename'] ?? $lock[$name]['dirname']); - $extract = "{$pkgroot}/{$name}"; + $extract = "{$pkgroot}/zig"; FileSystem::extractPackage($name, $source_type, $filename, $extract); @@ -147,16 +147,7 @@ class Zig extends CustomPackage private static function getPath(): string { - $arch = arch2gnu(php_uname('m')); - $os = match (PHP_OS_FAMILY) { - 'Windows' => 'win', - 'Darwin' => 'macos', - 'BSD' => 'freebsd', - default => 'linux', - }; - - $packageName = "zig-{$arch}-{$os}"; - return PKG_ROOT_PATH . "/{$packageName}"; + return PKG_ROOT_PATH . '/zig'; } private function createZigCcScript(string $bin_dir): void