GNU bug report logs - #64891
[PATCH] gnu: Add hare

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix-patches; Reported by: Ekaitz Zarraga <ekaitz@HIDDEN>; Keywords: patch; dated Thu, 27 Jul 2023 08:37:01 UTC; Maintainer for guix-patches is guix-patches@HIDDEN.

Message received at 64891 <at> debbugs.gnu.org:


Received: (at 64891) by debbugs.gnu.org; 28 Jul 2023 14:22:21 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jul 28 10:22:21 2023
Received: from localhost ([127.0.0.1]:45845 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qPOMH-0002cb-Bt
	for submit <at> debbugs.gnu.org; Fri, 28 Jul 2023 10:22:21 -0400
Received: from knopi.disroot.org ([178.21.23.139]:53770)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <paren@HIDDEN>) id 1qPOMF-0002cO-VO
 for 64891 <at> debbugs.gnu.org; Fri, 28 Jul 2023 10:22:20 -0400
Received: from localhost (localhost [127.0.0.1])
 by disroot.org (Postfix) with ESMTP id 1F4954100B;
 Fri, 28 Jul 2023 16:22:15 +0200 (CEST)
X-Virus-Scanned: SPAM Filter at disroot.org
Received: from knopi.disroot.org ([127.0.0.1])
 by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id LD7UFjYlQTfN; Fri, 28 Jul 2023 16:22:13 +0200 (CEST)
References: <GvOYop3WTKkSSyf8Bw443CZlf6uRVc-AO7IYjEaQVZ6QrPCFHOhs6L0Rh0Z-d_1QqO65DnG6TLCmiowhj1qssn4Wo-qA12jZMjLcFpYLEhw=@elenq.tech>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail;
 t=1690554133; bh=/3223tYMH0nXfNNU0VS9OJR9T8eZM5HKUSeFz2yAkKM=;
 h=References:From:To:Cc:Subject:Date:In-reply-to;
 b=A4hSbiW8ZW5I2i0axzOdKPbuHeyWKOgojEkkumvPbPLh2AQlWdE83GvZM3rWXWmyP
 cZ/iLdL4sjG48rgMjsIiBlwJSJVFXpq+ZDCTyVjbkpW2mBa1bhSU27GcAQZQifn7s8
 8WkwRxpBhvy8MWm2L48bWzSzH25B24FscfQhWPN61t6vVKEPo+CeX4FhnMivmJacIC
 UAxuXxUnV6wF/p/7vhhUZP0/61Q7Eff9HyNG1IbDuihdjaidpAYqzxPKbmfhzgkmWh
 RPXY6CJr5bmKHYuIEYYHKxYxj+wVuetXsZTf/BtnUm28qILI+uzhFwcIvuRcd0nXRB
 Y9dERXakdcCkg==
From: "(" <paren@HIDDEN>
To: Ekaitz Zarraga <ekaitz@HIDDEN>
Subject: Re: [bug#64891] [PATCH] gnu: Add hare
Date: Fri, 28 Jul 2023 14:14:46 +0100
In-reply-to: <GvOYop3WTKkSSyf8Bw443CZlf6uRVc-AO7IYjEaQVZ6QrPCFHOhs6L0Rh0Z-d_1QqO65DnG6TLCmiowhj1qssn4Wo-qA12jZMjLcFpYLEhw=@elenq.tech>
Message-ID: <87ila4t8tq.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 64891
Cc: 64891 <at> debbugs.gnu.org, guix-patches@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi!

Ekaitz Zarraga <ekaitz@HIDDEN> writes:
> * gnu/packages/hare.scm (hare, harec): New variable.
> * gnu/local.mk: Add hare.scm

:)

> +          (sha256
> +            (base32 "1xdf9pdwy5dvxhgvw6hqkpnjl8z76xc413vsnbbqfvwmfing53yn"))))
              ^
Odd spacing here.

> +      (build-system gnu-build-system)
> +      (arguments
> +        `(#:phases

Please use gexps and LIST for any new packages.

> +          (modify-phases %standard-phases
> +            (add-before 'configure 'setenv
> +              (lambda _
> +                (setenv "CC" ,(cc-for-target))))

Hmm.  In my version of the package[1], I also have:

  (setenv "AR" #$(ar-for-target))
  (setenv "LD" #$(ld-for-target))

Not sure why I added those, though.  Maybe try cross-compiling both
packages?  Perhaps these lines are needed for that...

> +            (add-after 'configure 'configure-better
> +              (lambda* (#:key outputs #:allow-other-keys)
> +                (invoke "./configure"
> +                        (string-append "--prefix=" (assoc-ref outputs "out")))))
> +            (delete 'configure))))

You could just (replace 'configure ...) instead :)

> +simple, stable, and robust.  Hare uses a static type system, manual memory

s/Hare/It/ in this line, maybe?

> +(define-public hare

Each package should have its own commit, remember.

> +  (let ((revision "1")
> +        (commit  "112b75eb56d98c442094966fe59cbf3cd5feb909"))
                   ^
Rouge space.

> +          (sha256
> +            (base32 "0ilnz56757k4v0ggdc2v4xsjw0c944y8r289nfmqhw4hwzsrvb4j"))))
              ^
Another.

> +      (inputs (list scdoc))

scdoc should be a native-input.

> +      (propagated-inputs (list qbe harec))

Might be an idea to make QBE and harec regular inputs, using substitute*
to replace any invocations of their binaries within the code with the
full /gnu/store/.../bin/blah path.  Propagated inputs should be avoided
where possible, even if it makes the package definition a little more
complex.

> +      (arguments
> +        `(#:make-flags `("HARECACHE=./cache"
> +                         ,(string-append "PREFIX=" (assoc-ref %outputs "out")))

Again, please use gexps within LIST, and replace
``(assoc-ref %outputs "out")'' with ``#$output''.

> +          #:phases
> +          (modify-phases %standard-phases
> +            (add-before 'configure 'configure-make
> +              (lambda _
> +                ;; NOTE: We are not really using this because overwriting it via
> +                ;; `make-flags` is way easier with our tooling.
> +                ;; Maybe we should?

No, I think what you do here is fine.

> +                (copy-file "config.example.mk" "config.mk")))

You can use RENAME-FILE rather than COPY-FILE here.

> +            (delete 'configure))))

Again, please just use REPLACE; it's simpler.

> +      (synopsis "Hare build driver")

Maybe "Build driver for the Hare language"?  "Hare build driver" is
almost a bit *too* short, IMO.

> +      (description "Hare is a systems programming language designed to be
> +simple, stable, and robust.  Hare uses a static type system, manual memory
> +management, and a minimal runtime.  It is well-suited to writing operating
> +systems, system tools, compilers, networking software, and other low-level,
> +high performance tasks.")

Perhaps trim the language description down a bit and add a sentence or
two about what *this specific tool* does.

  -- (




Information forwarded to guix-patches@HIDDEN:
bug#64891; Package guix-patches. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 28 Jul 2023 14:22:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jul 28 10:22:28 2023
Received: from localhost ([127.0.0.1]:45848 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qPOMN-0002ct-QD
	for submit <at> debbugs.gnu.org; Fri, 28 Jul 2023 10:22:28 -0400
Received: from lists.gnu.org ([2001:470:142::17]:45938)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <paren@HIDDEN>) id 1qPOMM-0002ca-9M
 for submit <at> debbugs.gnu.org; Fri, 28 Jul 2023 10:22:26 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <paren@HIDDEN>) id 1qPOMG-0000rm-T7
 for guix-patches@HIDDEN; Fri, 28 Jul 2023 10:22:20 -0400
Received: from knopi.disroot.org ([178.21.23.139])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <paren@HIDDEN>) id 1qPOME-0003Xv-OI
 for guix-patches@HIDDEN; Fri, 28 Jul 2023 10:22:20 -0400
Received: from localhost (localhost [127.0.0.1])
 by disroot.org (Postfix) with ESMTP id 1F4954100B;
 Fri, 28 Jul 2023 16:22:15 +0200 (CEST)
X-Virus-Scanned: SPAM Filter at disroot.org
Received: from knopi.disroot.org ([127.0.0.1])
 by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id LD7UFjYlQTfN; Fri, 28 Jul 2023 16:22:13 +0200 (CEST)
References: <GvOYop3WTKkSSyf8Bw443CZlf6uRVc-AO7IYjEaQVZ6QrPCFHOhs6L0Rh0Z-d_1QqO65DnG6TLCmiowhj1qssn4Wo-qA12jZMjLcFpYLEhw=@elenq.tech>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail;
 t=1690554133; bh=/3223tYMH0nXfNNU0VS9OJR9T8eZM5HKUSeFz2yAkKM=;
 h=References:From:To:Cc:Subject:Date:In-reply-to;
 b=A4hSbiW8ZW5I2i0axzOdKPbuHeyWKOgojEkkumvPbPLh2AQlWdE83GvZM3rWXWmyP
 cZ/iLdL4sjG48rgMjsIiBlwJSJVFXpq+ZDCTyVjbkpW2mBa1bhSU27GcAQZQifn7s8
 8WkwRxpBhvy8MWm2L48bWzSzH25B24FscfQhWPN61t6vVKEPo+CeX4FhnMivmJacIC
 UAxuXxUnV6wF/p/7vhhUZP0/61Q7Eff9HyNG1IbDuihdjaidpAYqzxPKbmfhzgkmWh
 RPXY6CJr5bmKHYuIEYYHKxYxj+wVuetXsZTf/BtnUm28qILI+uzhFwcIvuRcd0nXRB
 Y9dERXakdcCkg==
From: "(" <paren@HIDDEN>
To: Ekaitz Zarraga <ekaitz@HIDDEN>
Subject: Re: [bug#64891] [PATCH] gnu: Add hare
Date: Fri, 28 Jul 2023 14:14:46 +0100
In-reply-to: <GvOYop3WTKkSSyf8Bw443CZlf6uRVc-AO7IYjEaQVZ6QrPCFHOhs6L0Rh0Z-d_1QqO65DnG6TLCmiowhj1qssn4Wo-qA12jZMjLcFpYLEhw=@elenq.tech>
Message-ID: <87ila4t8tq.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=178.21.23.139; envelope-from=paren@HIDDEN;
 helo=knopi.disroot.org
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.9 (/)
X-Debbugs-Envelope-To: submit
Cc: 64891 <at> debbugs.gnu.org, guix-patches@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.1 (/)

Hi!

Ekaitz Zarraga <ekaitz@HIDDEN> writes:
> * gnu/packages/hare.scm (hare, harec): New variable.
> * gnu/local.mk: Add hare.scm

:)

> +          (sha256
> +            (base32 "1xdf9pdwy5dvxhgvw6hqkpnjl8z76xc413vsnbbqfvwmfing53yn"))))
              ^
Odd spacing here.

> +      (build-system gnu-build-system)
> +      (arguments
> +        `(#:phases

Please use gexps and LIST for any new packages.

> +          (modify-phases %standard-phases
> +            (add-before 'configure 'setenv
> +              (lambda _
> +                (setenv "CC" ,(cc-for-target))))

Hmm.  In my version of the package[1], I also have:

  (setenv "AR" #$(ar-for-target))
  (setenv "LD" #$(ld-for-target))

Not sure why I added those, though.  Maybe try cross-compiling both
packages?  Perhaps these lines are needed for that...

> +            (add-after 'configure 'configure-better
> +              (lambda* (#:key outputs #:allow-other-keys)
> +                (invoke "./configure"
> +                        (string-append "--prefix=" (assoc-ref outputs "out")))))
> +            (delete 'configure))))

You could just (replace 'configure ...) instead :)

> +simple, stable, and robust.  Hare uses a static type system, manual memory

s/Hare/It/ in this line, maybe?

> +(define-public hare

Each package should have its own commit, remember.

> +  (let ((revision "1")
> +        (commit  "112b75eb56d98c442094966fe59cbf3cd5feb909"))
                   ^
Rouge space.

> +          (sha256
> +            (base32 "0ilnz56757k4v0ggdc2v4xsjw0c944y8r289nfmqhw4hwzsrvb4j"))))
              ^
Another.

> +      (inputs (list scdoc))

scdoc should be a native-input.

> +      (propagated-inputs (list qbe harec))

Might be an idea to make QBE and harec regular inputs, using substitute*
to replace any invocations of their binaries within the code with the
full /gnu/store/.../bin/blah path.  Propagated inputs should be avoided
where possible, even if it makes the package definition a little more
complex.

> +      (arguments
> +        `(#:make-flags `("HARECACHE=./cache"
> +                         ,(string-append "PREFIX=" (assoc-ref %outputs "out")))

Again, please use gexps within LIST, and replace
``(assoc-ref %outputs "out")'' with ``#$output''.

> +          #:phases
> +          (modify-phases %standard-phases
> +            (add-before 'configure 'configure-make
> +              (lambda _
> +                ;; NOTE: We are not really using this because overwriting it via
> +                ;; `make-flags` is way easier with our tooling.
> +                ;; Maybe we should?

No, I think what you do here is fine.

> +                (copy-file "config.example.mk" "config.mk")))

You can use RENAME-FILE rather than COPY-FILE here.

> +            (delete 'configure))))

Again, please just use REPLACE; it's simpler.

> +      (synopsis "Hare build driver")

Maybe "Build driver for the Hare language"?  "Hare build driver" is
almost a bit *too* short, IMO.

> +      (description "Hare is a systems programming language designed to be
> +simple, stable, and robust.  Hare uses a static type system, manual memory
> +management, and a minimal runtime.  It is well-suited to writing operating
> +systems, system tools, compilers, networking software, and other low-level,
> +high performance tasks.")

Perhaps trim the language description down a bit and add a sentence or
two about what *this specific tool* does.

  -- (




Information forwarded to guix-patches@HIDDEN:
bug#64891; Package guix-patches. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 27 Jul 2023 08:36:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jul 27 04:36:14 2023
Received: from localhost ([127.0.0.1]:40705 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qOwTm-0001mx-1l
	for submit <at> debbugs.gnu.org; Thu, 27 Jul 2023 04:36:14 -0400
Received: from lists.gnu.org ([2001:470:142::17]:50650)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ekaitz@HIDDEN>) id 1qOwTi-0001mi-QX
 for submit <at> debbugs.gnu.org; Thu, 27 Jul 2023 04:36:12 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ekaitz@HIDDEN>) id 1qOwTc-0004vt-7d
 for guix-patches@HIDDEN; Thu, 27 Jul 2023 04:36:04 -0400
Received: from mail-0301.mail-europe.com ([188.165.51.139])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ekaitz@HIDDEN>) id 1qOwTY-0001kk-7A
 for guix-patches@HIDDEN; Thu, 27 Jul 2023 04:36:03 -0400
Date: Thu, 27 Jul 2023 08:35:45 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=elenq.tech;
 s=protonmail2; t=1690446953; x=1690706153;
 bh=JD+smJ5pZ9YdH522XMJ9dGTJBAF4+jCFlV9SlHHRhD8=;
 h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector;
 b=Y/YVuowluCHTCwWe0jk75w/xfWJxpgAXColjFEwUtKxd8fYNsmqVLm7PQTvQopI+A
 cYcQKt1/7saKaMcy2tbvTcZWFhbPC5kce+BUMMq37hAKhm5uPOsMhEG6rh//0i9ilY
 mhdP7wUuBr9jcPMaxaV5rBSyziK/zrRGU2jrEhVi4NJnNsi1LdTNoUPNxVRT8uPfYs
 CaLzZ9wK7Cc/cGWgp6KDIwC0JViSN2Y85ANwWqNXMkQADQV2Ft8Wluxpnovu4fk29n
 8GEG5AIScJHYsufFjkVFlw/tvS89Vr/8ATSKRtH0qg3kpRmfTstp8wSdDWK6/DoIF/
 c49/bqqd72gdg==
To: "guix-patches@HIDDEN" <guix-patches@HIDDEN>
From: Ekaitz Zarraga <ekaitz@HIDDEN>
Subject: [PATCH] gnu: Add hare
Message-ID: <GvOYop3WTKkSSyf8Bw443CZlf6uRVc-AO7IYjEaQVZ6QrPCFHOhs6L0Rh0Z-d_1QqO65DnG6TLCmiowhj1qssn4Wo-qA12jZMjLcFpYLEhw=@elenq.tech>
Feedback-ID: 3263582:user:proton
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=188.165.51.139; envelope-from=ekaitz@HIDDEN;
 helo=mail-0301.mail-europe.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

From 308b67848e93a25f627dd64e024e9a501979a157 Mon Sep 17 00:00:00 2001
Message-Id: <308b67848e93a25f627dd64e024e9a501979a157.1689368739.git.ekaitz=
@elenq.tech>
From: Ekaitz Zarraga <ekaitz@HIDDEN>
Date: Fri, 14 Jul 2023 22:52:59 +0200
Subject: [PATCH] gnu: Add hare

* gnu/packages/hare.scm (hare, harec): New variable.
* gnu/local.mk: Add hare.scm
---
 gnu/local.mk          |   2 +
 gnu/packages/hare.scm | 104 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 106 insertions(+)
 create mode 100644 gnu/packages/hare.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 06a376a99a..4d1645c595 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -59,6 +59,7 @@
 # Copyright =C2=A9 2023 Zheng Junjie <873216071@HIDDEN>
 # Copyright =C2=A9 2023 Ivana Drazovic <iv.dra@HIDDEN>
 # Copyright =C2=A9 2023 Andy Tai <atai@HIDDEN>
+# Copyright =C2=A9 2023 Ekaitz Zarraga <ekaitz@HIDDEN>
 #
 # This file is part of GNU Guix.
 #
@@ -314,6 +315,7 @@ GNU_SYSTEM_MODULES =3D=09=09=09=09\
   %D%/packages/gv.scm=09=09=09=09\
   %D%/packages/gxmessage.scm=09=09=09\
   %D%/packages/hardware.scm=09=09=09\
+  %D%/packages/hare.scm=09=09=09=09\
   %D%/packages/haskell.scm=09=09=09\
   %D%/packages/haskell-apps.scm=09=09=09\
   %D%/packages/haskell-check.scm=09=09\
diff --git a/gnu/packages/hare.scm b/gnu/packages/hare.scm
new file mode 100644
index 0000000000..0c65463e92
--- /dev/null
+++ b/gnu/packages/hare.scm
@@ -0,0 +1,104 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright =C2=A9 2023 Ekaitz Zarraga <ekaitz@HIDDEN>
+;;;
+;;; 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 (guix packages)
+  #:use-module (guix utils)
+  #:use-module (guix git-download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages c)
+  #:use-module (gnu packages man))
+
+(define-public harec
+  (let ((revision "1")
+        (commit "f5da14c17f734f0bba5a741997b79d3e65a87712"))
+    (package
+      (name "harec")
+      (version (git-version "0.0.1" 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 "1xdf9pdwy5dvxhgvw6hqkpnjl8z76xc413vsnbbqfvwmfing53yn"=
))))
+      (build-system gnu-build-system)
+      (arguments
+        `(#:phases
+          (modify-phases %standard-phases
+            (add-before 'configure 'setenv
+              (lambda _
+                (setenv "CC" ,(cc-for-target))))
+            (add-after 'configure 'configure-better
+              (lambda* (#:key outputs #:allow-other-keys)
+                (invoke "./configure"
+                        (string-append "--prefix=3D" (assoc-ref outputs "o=
ut")))))
+            (delete 'configure))))
+      (inputs (list qbe scdoc))
+      (synopsis "Bootstrapping compiler for Hare")
+      (description "Hare is a systems programming language designed to be
+simple, stable, and robust.  Hare uses a static type system, manual memory
+management, and a minimal runtime.  It is well-suited to writing operating
+systems, system tools, compilers, networking software, and other low-level=
,
+high performance tasks.")
+      (home-page "https://git.sr.ht/~sircmpwn/harec")
+      (license license:gpl3))))
+
+
+(define-public hare
+  (let ((revision "1")
+        (commit  "112b75eb56d98c442094966fe59cbf3cd5feb909"))
+    (package
+      (name "hare")
+      (version (git-version "0.0.1" revision commit))
+      (source
+        (origin
+          (method git-fetch)
+          (uri (git-reference
+                 (url "https://git.sr.ht/~sircmpwn/hare")
+                 (commit version)))
+          (file-name (git-file-name name version))
+          (sha256
+            (base32 "0ilnz56757k4v0ggdc2v4xsjw0c944y8r289nfmqhw4hwzsrvb4j"=
))))
+      (inputs (list scdoc))
+      (propagated-inputs (list qbe harec))
+      (build-system gnu-build-system)
+      (arguments
+        `(#:make-flags `("HARECACHE=3D./cache"
+                         ,(string-append "PREFIX=3D" (assoc-ref %outputs "=
out")))
+          #:phases
+          (modify-phases %standard-phases
+            (add-before 'configure 'configure-make
+              (lambda _
+                ;; NOTE: We are not really using this because overwriting =
it via
+                ;; `make-flags` is way easier with our tooling.
+                ;; Maybe we should?
+                (copy-file "config.example.mk" "config.mk")))
+            (delete 'configure))))
+      (synopsis "Hare build driver")
+      (description "Hare is a systems programming language designed to be
+simple, stable, and robust.  Hare uses a static type system, manual memory
+management, and a minimal runtime.  It is well-suited to writing operating
+systems, system tools, compilers, networking software, and other low-level=
,
+high performance tasks.")
+      (home-page "https://git.sr.ht/~sircmpwn/hare")
+      (license license:gpl3))))

base-commit: 917a299831361f253ea664f009176b4bbe06900a
--=20
2.39.2






Acknowledgement sent to Ekaitz Zarraga <ekaitz@HIDDEN>:
New bug report received and forwarded. Copy sent to guix-patches@HIDDEN. Full text available.
Report forwarded to guix-patches@HIDDEN:
bug#64891; Package guix-patches. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Fri, 28 Jul 2023 14:30:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.