all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Liliana Marie Prikler <liliana.prikler@gmail.com>
To: Antero Mejr <antero@mailbox.org>, 55606@debbugs.gnu.org
Cc: "\(" <paren@disroot.org>, Tobias Geerinckx-Rice <me@tobias.gr>,
	Maxime Devos <maximedevos@telenet.be>
Subject: [bug#55606] [PATCH 2/2] gnu: Add hare.
Date: Sun, 26 Jun 2022 09:18:45 +0200	[thread overview]
Message-ID: <415a5fd68a5540c6ba45bdd69edbbf8fb39335d9.camel@gmail.com> (raw)
In-Reply-To: <20220626043902.3076-2-antero@mailbox.org>

Hi,

Am Sonntag, dem 26.06.2022 um 00:39 -0400 schrieb Antero Mejr:
> * gnu/packages/hare.scm (hare): New variable.
> ---
>  gnu/packages/hare.scm | 73
> +++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 73 insertions(+)
> 
> diff --git a/gnu/packages/hare.scm b/gnu/packages/hare.scm
> index a1149499d5..16c7d8e2dd 100644
> --- a/gnu/packages/hare.scm
> +++ b/gnu/packages/hare.scm
> @@ -64,3 +64,76 @@ (define-public harec
>  bootstrap written in C.  Currently, the self-hosting @code{harec}
> rewrite is
>  incomplete, so this is used as the default compiler in the build
> driver.")
>        (license license:gpl3))))
> +
> +(define-public hare
> +  (let ((commit "19e380ccb7dfe2bcab5f94e6bd03004e3e2c6005")
> (revision "0"))
As with harec.
> +    (package
> +      (name "hare")
> +      (version (git-version "0.0.0" revision commit))
> +      (source (origin
> +                (method git-fetch)
> +                (uri (git-reference
> +                      (url "https://git.sr.ht/~sircmpwn/hare")
> +                      (commit commit)))
> +                (file-name (git-file-name name version))
> +                (sha256
> +                 (base32
> +                 
> "04fk3akj3410f8fxw2ixp6l6f9x54pnnk00c0hx0297p7hdzzzq4"))))
> +      (build-system gnu-build-system)
> +      (arguments
> +       (list #:make-flags
> +             #~(list (string-append "BINDIR=" #$output "/bin")
> +                     (string-append "MANDIR=" #$output "/share/man")
> +                     (string-append "SRCDIR=" #$output "/src")
> +                     (string-append "LOCALSRCDIR=" #$output
> "/src/hare")
> +                     (string-append "HAREC=" #$harec "/bin/harec")
Should have a (this-package-input) or (this-package-native-input) for
harec.  If it's the latter, (which "harec") might also be acceptable.
> +                     (string-append "PLATFORM=" "linux")
> +                     (string-append "HAREPATH="
> +                                    #$output "/src/hare/stdlib:"
> +                                    #$output "/src/hare/third-
> party")
> +                     (string-append "ARCH="
> +                                    #$(platform-linux-architecture
> +                                       (lookup-platform-by-target-
> or-system
> +                                        (or (%current-target-system)
> +                                            (%current-system)))))
> +                     (string-append "AR=" #$(ar-for-target))
> +                     (string-append "AS=" #$(as-for-target))
> +                     (string-append "LD=" #$(ld-for-target))
> +                     (string-append "QBE=" #$qbe "/bin/qbe")
As with harec.
> +                     (string-append "SCDOC=" #$scdoc "/bin/scdoc")
As with harec.
> +                     "HARECACHE=.cache"
> +                     "BINOUT=.bin")
I suppose neither of those ought to be installed?
> +             #:phases
> +             #~(modify-phases %standard-phases
> +                 (add-after 'unpack 'patch-failing-tests
> +                   (lambda _
> +                     ;; These tests fail due to a NaN-related bug in
> QBE when
> +                     ;; used on glibc.
> +                     (substitute* "math/complex/+test.ha"
> +                       (("@test (fn (cos|cosh|exp)\\(\\) void =)" _
> func)
> +                        func))))
> +                 (add-after 'unpack 'patch-makefile
> +                   (lambda _
> +                     (substitute* "Makefile"
> +                       (("include config.mk") ""))))
> +                 (delete 'configure))))
Why delete configure here, but not in harec?  I'm pretty sure we can
use the same hack for both packages.

> +      (native-inputs (list scdoc))
> +      (inputs (list tzdata))
> +      (propagated-inputs (list binutils harec qbe))
> +      (supported-systems (list "x86_64-linux" "aarch64-linux"
> "riscv64-linux"))
> +      (native-search-paths
> +       (list (search-path-specification
> +              (variable "HAREPATH")
> +              (files '("src/hare/stdlib" "src/hare/third-party")))))
Is there a need to split HAREPATH like that?  From a functionality
perspective, a singular "include/hare" or similar ought to be enough. 
I'd specifically avoid "src" since it exists "only for reference
purposes" in the FHS.  Other distros mandate that the linux kernel
source code be put there.
> +      (home-page "https://harelang.org")
> +      (synopsis "Systems programming language")
> +      (description "Hare is a systems programming language that aims
> to improve
> +on C while retaining its core philosophy. Its principles are:
> +@itemize
> +@item Trust the programmer.
> +@item Provide tools the programmer may use when they don't trust
> themselves.
> +@item Prefer explicit behavior over implicit behavior.
> +@item A good program must be both correct and simple.
> +@end itemize")
> +      (license (list license:gpl3 ;compiler and build driver
> +                     license:mpl2.0))))) ;standard library

Cheers





  reply	other threads:[~2022-06-26  7:19 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-24  1:21 [bug#55605] [PATCH 1/2] gnu: Add qbe Antero Mejr via Guix-patches via
2022-05-24  1:21 ` [bug#55606] [PATCH 2/2] gnu: Add hare Antero Mejr via Guix-patches via
2022-05-24 17:01   ` Maxime Devos
2022-05-24 17:07   ` Maxime Devos
2022-05-24 17:09   ` Maxime Devos
2022-05-24 17:10   ` Tobias Geerinckx-Rice via Guix-patches via
2022-05-29  0:54   ` [bug#55606] [PATCH] " Antero Mejr via Guix-patches via
2022-06-03 17:54   ` [bug#55606] Antero Mejr via Guix-patches via
2022-06-25 16:54     ` [bug#55606] [PATCH 2/2] gnu: Add hare Liliana Marie Prikler
2022-06-25 17:53       ` ( via Guix-patches via
2022-06-26  4:56         ` Antero Mejr via Guix-patches via
2022-06-25 17:59       ` ( via Guix-patches via
2022-06-26  4:40         ` Antero Mejr via Guix-patches via
2022-06-26  7:30           ` Maxime Devos
2022-06-26  7:34           ` Maxime Devos
2022-06-26 10:58           ` ( via Guix-patches via
2022-06-26 14:07             ` Antero Mejr via Guix-patches via
2022-06-26 14:27               ` Maxime Devos
2022-06-26 14:39                 ` Antero Mejr via Guix-patches via
2022-07-24 16:10               ` ( via Guix-patches via
2022-06-25 21:32       ` Antero Mejr via Guix-patches via
2022-06-26  4:39   ` [bug#55606] [PATCH 1/2] gnu: Add harec Antero Mejr via Guix-patches via
2022-06-26  4:39     ` [bug#55606] [PATCH 2/2] gnu: Add hare Antero Mejr via Guix-patches via
2022-06-26  7:18       ` Liliana Marie Prikler [this message]
2022-06-26 11:05         ` ( via Guix-patches via
2022-06-26 14:00         ` Antero Mejr via Guix-patches via
2022-06-26  6:50     ` [bug#55606] [PATCH 1/2] gnu: Add harec Liliana Marie Prikler
2022-06-26 13:59   ` Antero Mejr via Guix-patches via
2022-06-26 13:59     ` [bug#55606] [PATCH 2/2] gnu: Add hare Antero Mejr via Guix-patches via
2022-06-26 14:20       ` Maxime Devos
2022-06-26 14:30         ` Antero Mejr via Guix-patches via
2022-06-26 14:39           ` Maxime Devos
2022-06-26 14:22       ` Maxime Devos
2022-06-26 14:33         ` Antero Mejr via Guix-patches via
2022-06-26 14:44           ` Maxime Devos
2022-06-26 14:53             ` Maxime Devos
2022-05-24 16:56 ` [bug#55605] [PATCH 1/2] gnu: Add qbe Maxime Devos
2022-05-24 21:06 ` Maxime Devos

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=415a5fd68a5540c6ba45bdd69edbbf8fb39335d9.camel@gmail.com \
    --to=liliana.prikler@gmail.com \
    --cc=55606@debbugs.gnu.org \
    --cc=antero@mailbox.org \
    --cc=maximedevos@telenet.be \
    --cc=me@tobias.gr \
    --cc=paren@disroot.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.