gnu: hare: Add hare-update.

Recommended for packaging alongside hare by upstream.

* gnu/packages/hare.scm (hare-update): New variable.

Change-Id: I46b002d7efae70d18213373142581c18d4765bb2
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
This commit is contained in:
Lilah Tascheter 2025-08-06 12:05:49 -05:00 committed by Liliana Marie Prikler
parent 8be59a7e3e
commit a5277f44cd
No known key found for this signature in database
GPG key ID: 442A84B8C70E2F87

View file

@ -172,3 +172,37 @@ package.")
(description "Hare is a simple systems programming language, featuring
static typing, manual memory management, and a minimal runtime.")
(license (list license:gpl3 license:mpl2.0))))
(define-public hare-update
(package
(name "hare-update")
(version "0.25.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~sircmpwn/hare-update")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0hpcgiyg458v353g3wm2iaz2kszhc2n2rc40lnvxbg9q6i232m76"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags #~(list (string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda _
;; genrules is invoked during build, so we can't just set
;; make-flags to cross-compile all.
(invoke "make" "hare-update-genrules")
(invoke "make" "hare-update"
(format #f "HAREFLAGS=-a ~a" #$(target->hare-arch))))))))
(native-inputs (list hare))
(supported-systems hare-supported-systems)
(home-page "https://harelang.org")
(synopsis "Harelang interversion updater tool")
(description "@code{hare-update} updates Harelang source files to newer
versions of the language and stdlib automagically.")
(license license:eupl1.2)))