From 7c061b8b2ad5ea9c04fed429a07828c1893d34f5 Mon Sep 17 00:00:00 2001 From: Steffen Beyer Date: Mon, 6 Apr 2026 07:31:34 +0200 Subject: [PATCH] fix: update installer and tribes source packages --- nbde/system/kexec-installer.scm | 1 + tribes/packages/mix.scm | 9 ++++----- tribes/packages/source.scm | 35 ++++++++++++++++++++++++--------- 3 files changed, 31 insertions(+), 14 deletions(-) diff --git a/nbde/system/kexec-installer.scm b/nbde/system/kexec-installer.scm index 9b87934..03b8df6 100644 --- a/nbde/system/kexec-installer.scm +++ b/nbde/system/kexec-installer.scm @@ -24,6 +24,7 @@ "diffutils" "findutils" "gawk" + "git-minimal" "grep" "gzip" "inetutils" diff --git a/tribes/packages/mix.scm b/tribes/packages/mix.scm index 575abdf..7987774 100644 --- a/tribes/packages/mix.scm +++ b/tribes/packages/mix.scm @@ -153,15 +153,14 @@ MIX-FOD-DEPS as a pre-fetched dependency tree." (file-append input "/share/aclocal")) aclocal-inputs)) (default-configure-gexp - #~(invoke "mix" "deps.compile" "--no-deps-check" - "--skip-umbrella-children")) + #~(invoke "mix" "deps.compile" "--skip-umbrella-children")) (default-build-gexp - #~(invoke "mix" "compile" "--no-deps-check" #$@compile-flags)) + #~(invoke "mix" "compile" #$@compile-flags)) (default-install-gexp (if (string=? mix-release-name "") - #~(invoke "mix" "release" "--no-deps-check" "--path" out) + #~(invoke "mix" "release" "--path" out) #~(invoke "mix" "release" #$mix-release-name - "--no-deps-check" "--path" out))) + "--path" out))) (configure-gexp (or configure-gexp default-configure-gexp)) (build-gexp (or build-gexp default-build-gexp)) (install-gexp (or install-gexp default-install-gexp)) diff --git a/tribes/packages/source.scm b/tribes/packages/source.scm index 35d078a..feb7b14 100644 --- a/tribes/packages/source.scm +++ b/tribes/packages/source.scm @@ -6,14 +6,18 @@ #:use-module (guix packages) #:use-module (guix utils) #:use-module (gnu packages autotools) + #:use-module (gnu packages bash) #:use-module (gnu packages base) #:use-module (gnu packages commencement) + #:use-module (gnu packages compression) #:use-module (gnu packages gawk) #:use-module (gnu packages linux) #:use-module (gnu packages m4) #:use-module (gnu packages node) + #:use-module (gnu packages nss) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages version-control) #:use-module ((tribes packages mix) #:prefix mix:) #:use-module (srfi srfi-1) #:use-module (srfi srfi-13) @@ -28,25 +32,25 @@ ;; from the current Tribes mix.lock, with git metadata stripped except for ;; .git/HEAD in SCM dependencies. (define %tribes-raw-mix-deps-sha256 - "0mv4jva8zkx8cq1b84hn65bl913nnhkvf25g6fi93z3jm35jy0pc") + "0s26zx8sf0dshpyy3dgk0yw7fndy9wc8kj82nqw8x7b74h8nkqv7") ;; Recursive sha256 of the Tribes-specific prepared deps tree, after injecting ;; the upstream secp256k1 source into the Hex package and patching its build ;; recipe to avoid build-time network access. (define %tribes-mix-deps-sha256 - "0ksjnc9gnjijp1nbz3jlvl9kz8w7hx1a0ssms1dvd15rr25gn0d4") + "0wfi6xwn9d1b1121p8zmn23fyrkgwzy1kflbwc0mrkkjmc1xwhx5") ;; Recursive sha256 of assets/node_modules generated from assets/package-lock.json ;; in an isolated build environment, with local file dependencies resolved from ;; the vendored Mix dependency tree. (define %tribes-npm-deps-sha256 - "1bfzs67ffhwcm0dwdkb1jqnbn3fpgj22zfhd2y907w8daj62gahv") + "1my46nw162265y8xh0xxfhbm3hd1d9vj3nkd9s1nrrida66siw91") (define %tribes-home-page "https://git.teralink.net/tribes/tribes.git") (define %tribes-commit - "1e026a60fdabcec8b9ec0a850a03f903d02496e7") + "db539690ccb06df16141763c01e69b50ed899909") (define %tribes-revision "1") @@ -54,7 +58,7 @@ (git-version "0.2.0" %tribes-revision %tribes-commit)) (define %tribes-source-sha256 - "1lqls1ngy3vpf0hh9jn44h1g9rx1hglj9ik3zi1ywcr4q01pmv68") + "1d7h9948zm6xwr2kqg5f7d41d56b68xkqb1kvg1wxf3jh0fvpj0h") (define %tribes-upstream-source (origin @@ -210,7 +214,12 @@ with local file dependencies resolved from MIX-FOD-DEPS." (mkdir-p (getenv "npm_config_cache")) (with-directory-excursion assets-dir - (invoke "npm" "ci" "--ignore-scripts" "--no-audit" "--no-fund")) + (invoke "npm" + "ci" + "--include=dev" + "--ignore-scripts" + "--no-audit" + "--no-fund")) (mkdir-p out) (copy-recursively (string-append assets-dir "/node_modules") @@ -396,7 +405,7 @@ mix.lock and assets/package-lock.json." (invoke "mix" "deps.compile")) #:build-gexp #~(begin - (invoke "mix" "compile" "--no-deps-check") + (invoke "mix" "compile") (let ((assets-node-modules "assets/node_modules")) (when (file-exists? assets-node-modules) @@ -417,7 +426,15 @@ mix.lock and assets/package-lock.json." assets-node-modules "-type" "f" "-path" "*/.bin/*" - "-exec" "chmod" "+x" "{}" "+")) + "-exec" "chmod" "+x" "{}" "+") + + ;; npm-installed CLI launchers assume /usr/bin/env exists, which is + ;; not true in the Guix build sandbox. + (for-each + (lambda (script) + (patch-shebang script + (list #$(file-append node "/bin")))) + (find-files (string-append assets-node-modules "/.bin")))) (let ((heroicons-dir "deps/heroicons")) (when (file-exists? heroicons-dir) @@ -441,7 +458,7 @@ mix.lock and assets/package-lock.json." (invoke "mix" "phx.digest")) #:install-gexp #~(begin - (invoke "mix" "release" "--no-deps-check" "--path" out) + (invoke "mix" "release" "--path" out) (let ((launcher (string-append out "/bin/" #$name)) (launcher-app (string-append out "/bin/" #$name "-app"))) (when (file-exists? launcher)