unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
blob 0c65463e927ef0e510bdacb2b30691cfaecd7917 4272 bytes (raw)
name: gnu/packages/hare.scm 	 # note: path name is non-authoritative(*)

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
 
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2023 Ekaitz Zarraga <ekaitz@elenq.tech>
;;;
;;; 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=" (assoc-ref outputs "out")))))
            (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=./cache"
                         ,(string-append "PREFIX=" (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))))

debug log:

solving 0c65463e92 ...
found 0c65463e92 in https://yhetil.org/guix-patches/GvOYop3WTKkSSyf8Bw443CZlf6uRVc-AO7IYjEaQVZ6QrPCFHOhs6L0Rh0Z-d_1QqO65DnG6TLCmiowhj1qssn4Wo-qA12jZMjLcFpYLEhw=@elenq.tech/

applying [1/1] https://yhetil.org/guix-patches/GvOYop3WTKkSSyf8Bw443CZlf6uRVc-AO7IYjEaQVZ6QrPCFHOhs6L0Rh0Z-d_1QqO65DnG6TLCmiowhj1qssn4Wo-qA12jZMjLcFpYLEhw=@elenq.tech/
diff --git a/gnu/packages/hare.scm b/gnu/packages/hare.scm
new file mode 100644
index 0000000000..0c65463e92

Checking patch gnu/packages/hare.scm...
Applied patch gnu/packages/hare.scm cleanly.

index at:
100644 0c65463e927ef0e510bdacb2b30691cfaecd7917	gnu/packages/hare.scm

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).