From 110a6af0295bbfc148577ce655428ffebbcb9327 Mon Sep 17 00:00:00 2001 Message-ID: <110a6af0295bbfc148577ce655428ffebbcb9327.1691486188.git.ekaitz@elenq.tech> From: Ekaitz Zarraga Date: Sat, 29 Jul 2023 13:09:25 +0200 Subject: [PATCH 1/2] gnu: Add harec * gnu/packages/hare.scm (harec): New variable. * gnu/local.mk: Add hare.scm --- gnu/local.mk | 2 ++ gnu/packages/hare.scm | 67 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 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 © 2023 Zheng Junjie <873216071@qq.com> # Copyright © 2023 Ivana Drazovic # Copyright © 2023 Andy Tai +# Copyright © 2023 Ekaitz Zarraga # # This file is part of GNU Guix. # @@ -314,6 +315,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/gv.scm \ %D%/packages/gxmessage.scm \ %D%/packages/hardware.scm \ + %D%/packages/hare.scm \ %D%/packages/haskell.scm \ %D%/packages/haskell-apps.scm \ %D%/packages/haskell-check.scm \ diff --git a/gnu/packages/hare.scm b/gnu/packages/hare.scm new file mode 100644 index 0000000000..da5820510a --- /dev/null +++ b/gnu/packages/hare.scm @@ -0,0 +1,67 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2023 Ekaitz Zarraga +;;; +;;; 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 . + +(define-module (gnu packages hare) + #:use-module (guix packages) + #:use-module (guix gexp) + #: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 + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'setenv + (lambda* (#:key inputs #:allow-other-keys) + (setenv "AR" #$(ar-for-target)) + (setenv "LD" #$(ld-for-target)) + (setenv "CC" #$(cc-for-target)))) + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (invoke "./configure" + (string-append "--prefix=" #$output))))))) + (native-inputs (list scdoc)) + (inputs (list qbe)) + (synopsis "Bootstrapping compiler for Hare language") + (description "Hare is a systems programming language designed to be +simple, stable, and robust. It uses a static type system, manual memory +management, and a minimal runtime. This package provides only the compiler. +If you want to code in Hare, @code{hare} package is recommended.") + (home-page "https://git.sr.ht/~sircmpwn/harec") + (license license:gpl3)))) base-commit: 917a299831361f253ea664f009176b4bbe06900a -- 2.41.0