Subject: [bug#55606] [PATCH 1/2] gnu: Add harec.

From: Antero Mejr <[email-masked]>
Date: Sun, 26 Jun 2022 09:59:39 -0400

Resolving the issues mentioned above.

* gnu/packages/hare.scm (harec): New variable.
---
 gnu/packages/hare.scm | 67 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 67 insertions(+)
 create mode 100644 gnu/packages/hare.scm

diff --git a/gnu/packages/hare.scm b/gnu/packages/hare.scm
new file mode 100644
index 0000000000..abded91007
--- /dev/null
+++ b/gnu/packages/hare.scm
@@ -0,0 +1,67 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2022 (unmatched parenthesis <[email-masked]>
+;;; Copyright © 2022 Antero Mejr <[email-masked]>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages hare)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages c)
+  #:use-module (gnu packages man)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix gexp)
+  #:use-module (guix git-download)
+  #:use-module (guix packages)
+  #:use-module (guix platform)
+  #:use-module (guix utils))
+
+(define-public harec
+  (let ((commit "bbabe09bddf74bd699f8ad2224fdd6e2eefbd35e")
+        (revision "0"))
+    (package
+      (name "harec")
+      (version (git-version "0.0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://git.sr.ht/~sircmpwn/harec")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0sa8rjj5w01n55svql8drv761ks6i1bl9q4gj1yzr31dixaf6xvr"))))
+      (build-system gnu-build-system)
+      (arguments
+       (list #:configure-flags #~(list (string-append "--prefix=" #$output))
+             #:phases #~(modify-phases %standard-phases
+                          (replace 'configure
+                            (lambda* (#:key outputs
+                                      (configure-flags '()) #:allow-other-keys)
+                              (setenv "AR" #$(ar-for-target))
+                              (setenv "AS" #$(as-for-target))
+                              (setenv "CC" #$(cc-for-target))
+                              (setenv "LD" #$(ld-for-target))
+                              (setenv "QBE" (which "qbe"))
+                              (apply invoke "./configure" configure-flags))))))
+      (native-inputs (list qbe))
+      (home-page "https://harelang.org")
+      (synopsis "Hare bootstrap compiler in C")
+      (description "This package provides @code{harec}, the Hare language's
+bootstrap written in C.  Currently, @code{harec} is used as the default
+compiler in the @code{hare} build driver.")
+      (license license:gpl3))))
-- 
2.36.1