diff options
| author | Arun Isaac | 2025-11-17 22:39:14 +0000 |
|---|---|---|
| committer | Arun Isaac | 2025-11-17 23:00:15 +0000 |
| commit | a5d84e51e845b579b8a14af902906949cf1b836d (patch) | |
| tree | fa84cb63a277d35247a0acbcb3b75b6641daa45b /.guix/run64-release.scm | |
| parent | 058b1f9788e26a290617db64ec5e70167e90ecd7 (diff) | |
| download | run64-a5d84e51e845b579b8a14af902906949cf1b836d.tar.gz run64-a5d84e51e845b579b8a14af902906949cf1b836d.tar.lz run64-a5d84e51e845b579b8a14af902906949cf1b836d.zip | |
guix: Push version detection into G-expression.
We push version detection into the G-expression. This way, it won't interfere with channel compilation.
Diffstat (limited to '.guix/run64-release.scm')
| -rw-r--r-- | .guix/run64-release.scm | 55 |
1 files changed, 28 insertions, 27 deletions
diff --git a/.guix/run64-release.scm b/.guix/run64-release.scm index bca9e39..6a767a1 100644 --- a/.guix/run64-release.scm +++ b/.guix/run64-release.scm @@ -20,28 +20,7 @@ #:use-module ((gnu packages base) #:select (gnu-make)) #:use-module ((gnu packages compression) #:select (lzip)) #:use-module ((gnu packages version-control) #:select (git-minimal)) - #:use-module (guix gexp) - #:use-module (ice-9 match) - #:use-module (ice-9 popen) - #:use-module (srfi srfi-26) - #:use-module (rnrs io ports)) - -(define (call-with-input-pipe command proc) - "Call @var{proc} with input pipe to @var{command}. @var{command} is a list of -program arguments." - (match command - ((prog args ...) - (let ((port #f)) - (dynamic-wind - (lambda () - (set! port (apply open-pipe* OPEN_READ prog args))) - (cut proc port) - (cut close-pipe port)))))) - -(define version - (call-with-input-pipe (list "git" "tag" "--sort=-taggerdate" "--list" "v*") - (compose (cut substring <> (string-length "v")) - get-line))) + #:use-module (guix gexp)) (define run64-git-repo (local-file "../.git" @@ -51,17 +30,39 @@ program arguments." (define run64-release-gexp (with-imported-modules '((guix build utils)) #~(begin - (use-modules (guix build utils)) + (use-modules (guix build utils) + (ice-9 match) + (ice-9 popen) + (srfi srfi-26) + (rnrs io ports)) + + (define (call-with-input-pipe command proc) + "Call @var{proc} with input pipe to @var{command}. @var{command} is a list of +program arguments." + (match command + ((prog args ...) + (let ((port #f)) + (dynamic-wind + (lambda () + (set! port (apply open-pipe* OPEN_READ prog args))) + (cut proc port) + (cut close-pipe port)))))) + + (define (git-version) + (call-with-input-pipe (list "git" "tag" "--sort=-taggerdate" "--list" "v*") + (compose (cut substring <> (string-length "v")) + get-line))) (set-path-environment-variable "PATH" '("bin") '(#$git-minimal #$gnu-make #$lzip)) (invoke "git" "clone" (string-append "file://" #$run64-git-repo) (getcwd)) - (invoke "make" "dist" #$(string-append "version=" version)) - (copy-file #$(string-append "run64-" version ".tar.lz") - #$output)))) + (let ((version (git-version))) + (invoke "make" "dist" (string-append "version=" version)) + (copy-file (string-append "run64-" version ".tar.lz") + #$output))))) (define run64-release - (computed-file (string-append "run64-" version ".tar.lz") + (computed-file "run64.tar.lz" run64-release-gexp)) run64-release |
