* [bug#67739] [PATCH 1/2] gnu: qbe: Update to d023bdaa6.
@ 2023-12-10 7:11 Timmy Douglas via Guix-patches via
2023-12-10 7:11 ` [bug#67740] [PATCH 2/2] gnu: Add hare Timmy Douglas via Guix-patches via
2024-10-31 13:49 ` [bug#67739] update qbe in Guix Steve George
0 siblings, 2 replies; 4+ messages in thread
From: Timmy Douglas via Guix-patches via @ 2023-12-10 7:11 UTC (permalink / raw)
To: 67739; +Cc: Timmy Douglas
* gnu/packages/c.scm (qbe): Update to d023bdaa6.
Change-Id: I71c03bd49d7acb91a34837e48e5dd088763d1353
---
gnu/packages/c.scm | 67 +++++++++++++++++++++++++---------------------
1 file changed, 36 insertions(+), 31 deletions(-)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index ac83336ba5..a7e63a16e0 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -21,6 +21,7 @@
;;; Copyright © 2023 zamfofex <zamfofex@twdb.moe>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;; Copyright © 2023 David Elsing <david.elsing@posteo.net>
+;;; Copyright © 2023 Timmy Douglas <mail@timmydouglas.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -324,38 +325,42 @@ (define-public pcc
(license (list license:bsd-2 license:bsd-3))))
(define-public qbe
- (package
- (name "qbe")
- (version "1.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "git://c9x.me/qbe")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "07nl1kdgpz7hwfkng0yy4xihk0fmv1a2hq9bxzgvhy3vk9r7fmn8"))))
- (build-system gnu-build-system)
- (arguments
- (list #:make-flags
- #~(list (string-append "CC=" #$(cc-for-target))
- (string-append "PREFIX=" #$output))
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'allow-cross-compilation
- (lambda _
- (substitute* "Makefile"
- (("`uname -m`") #$(or (%current-target-system)
- (%current-system))))))
- (delete 'configure))))
- (supported-systems (list "x86_64-linux" "aarch64-linux" "riscv64-linux"))
- (synopsis "Simple compiler backend")
- (description
- "QBE is a small compiler backend using an SSA-based intermediate
+ (let ((revision "1")
+ (commit "d023bdaa6b493686f7e9be7ac200ee4ac37d351f"))
+ (package
+ (name "qbe")
+ (version (git-version "1.1.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://c9x.me/qbe")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11flr6mmxglidp4fr7whfzhwr1bjkiz0rcvpy541xmwm2isj5znm"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:make-flags #~(list (string-append "CC="
+ #$(cc-for-target))
+ (string-append "PREFIX="
+ #$output))
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'allow-cross-compilation
+ (lambda _
+ (substitute* "Makefile"
+ (("`uname -m`")
+ #$(or (%current-target-system)
+ (%current-system))))))
+ (delete 'configure))))
+ (supported-systems (list "x86_64-linux" "aarch64-linux" "riscv64-linux"))
+ (synopsis "Simple compiler backend")
+ (description
+ "QBE is a small compiler backend using an SSA-based intermediate
language as input.")
- (home-page "https://c9x.me/compile/")
- (license license:expat)))
+ (home-page "https://c9x.me/compile/")
+ (license license:expat))))
(define-public python-pcpp
(package
base-commit: 2e11caff39d502775d7c652972a441f5da3d9eec
--
2.41.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [bug#67740] [PATCH 2/2] gnu: Add hare.
2023-12-10 7:11 [bug#67739] [PATCH 1/2] gnu: qbe: Update to d023bdaa6 Timmy Douglas via Guix-patches via
@ 2023-12-10 7:11 ` Timmy Douglas via Guix-patches via
2024-11-23 16:44 ` bug#67740: " jgart via Guix-patches via
2024-10-31 13:49 ` [bug#67739] update qbe in Guix Steve George
1 sibling, 1 reply; 4+ messages in thread
From: Timmy Douglas via Guix-patches via @ 2023-12-10 7:11 UTC (permalink / raw)
To: 67740; +Cc: Timmy Douglas
* gnu/packages/hare.scm (harec): New variable.
* gnu/packages/hare.scm (hare-tzdata): New variable.
* gnu/packages/hare.scm (hare-xml): New variable.
* gnu/packages/hare.scm (hare-ev): New variable.
* gnu/packages/hare.scm (hare-wayland): New variable.
Change-Id: I06f3431b362982bf29b35b6426ff11a5bf27eeee
---
gnu/packages/hare.scm | 274 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 274 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..46669e3a2a
--- /dev/null
+++ b/gnu/packages/hare.scm
@@ -0,0 +1,274 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
+;;; Copyright © 2023 Timmy Douglas <mail@timmydouglas.com>
+;;;
+;;; 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 licenses) #:prefix license:)
+ #:use-module (guix gexp)
+ #:use-module (guix utils)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix store)
+ #:use-module (guix utils)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages c)
+ #:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages man)
+ #:use-module (gnu packages pkg-config))
+
+(define-public harec
+ (let ((revision "1")
+ (commit "08af3257fc210601713ad026e05c0269e4f71473"))
+ (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 "1a265f4dla482yqzzf2jsz10j6jhj1whnic0qsvmdv9q80mi444n"))))
+ (build-system gnu-build-system)
+ (inputs (list qbe scdoc))
+ (arguments
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (replace 'configure
+ ;; its custom configure script doesn't understand 'CONFIG_SHELL'.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (setenv "CC"
+ #$(cc-for-target))
+ (setenv "AR"
+ #$(ar-for-target))
+ (setenv "AS"
+ #$(as-for-target))
+ (setenv "CC"
+ #$(cc-for-target))
+ (setenv "LD"
+ #$(ld-for-target))
+ (setenv "QBE"
+ (string-append #$qbe "/bin/qbe"))
+ (invoke "./configure"
+ (string-append "--prefix=" out))))))))
+ (supported-systems (list "x86_64-linux" "aarch64-linux" "riscv64-linux"))
+ (synopsis "Hare bootstrap compiler")
+ (description
+ "This is a Hare compiler written in C11 for POSIX-compatible systems.")
+ (home-page "https://harelang.org")
+ (license license:gpl3+))))
+
+
+(define hare-tzdata
+ (package
+ (inherit tzdata)
+ (arguments
+ (substitute-keyword-arguments (package-arguments tzdata)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (add-after 'install 'copy-leap-seconds-list
+ (lambda _
+ (copy-file "leap-seconds.list"
+ (string-append
+ #$output "/share/zoneinfo/leap-seconds.list"))))))))))
+
+(define-public hare
+ (let ((revision "1")
+ (commit "3cf277739c142cdc611415ca605639aa39c38d20"))
+ (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 "1h0mz2w8bwcif43zq9csk8v3i8czqv3hqd6s2ijf2rdkg1mshrr5"))))
+ (build-system gnu-build-system)
+ (native-inputs (list scdoc))
+ (propagated-inputs (list binutils harec qbe))
+ (inputs (list hare-tzdata))
+ (arguments
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-makefile
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (tzdata-dir (assoc-ref inputs "tzdata"))
+ (buildtmp (getenv "TMPDIR"))
+ (arch-name (if #$(target-aarch64?) "aarch64"
+ (if #$(target-riscv64?)
+ "riscv64" "x86_64"))))
+ (copy-file "configs/linux.mk" "config.mk")
+ (setenv "XDG_CACHE_HOME" buildtmp) ;"Error creating /homeless-shelter/.cache/hare: Permission denied"
+ (substitute* "wordexp/wordexp.ha"
+ (("/bin/sh")
+ (which "sh")))
+ (substitute* "time/chrono/+linux.ha"
+ (("/usr")
+ tzdata-dir)) ;it uses leap-seconds.list
+ (substitute* "config.mk"
+ (("/usr/local")
+ out)
+ (("x86_64")
+ arch-name)
+ (("_LD=[-a-z]+")
+ (string-append "_LD="
+ #$(ld-for-target)))
+ (("_AS=[-a-z]+")
+ (string-append "_AS="
+ #$(as-for-target)))
+ (("_CC=[-a-z]+")
+ (string-append "_CC="
+ #$(cc-for-target)))
+ (("HARECACHE = .cache")
+ (string-append "HARECACHE=" buildtmp "/.cache"))
+ (("BINOUT = .bin")
+ (string-append "BINOUT=" buildtmp "/.bin"))))))
+ (delete 'configure))))
+ (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")))))
+ (synopsis "Hare compiler")
+ (description
+ "This is the Hare compiler. Hare is a systems programming language.")
+ (home-page "https://harelang.org")
+ (license (list license:gpl3 ;compiler
+ license:mpl2.0))))) ; stdlib
+
+
+(define-public hare-xml
+ (let ((revision "1")
+ (commit "6b90e482c431f072e9b3ce3ba4d9d5f59ffedef0"))
+ (package
+ (name "hare-xml")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~sircmpwn/hare-xml")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1n62xxni4l1xrprdb81j7yh0n3fwyjvw20a72b1xbmq8gkn863pb"))))
+ (build-system gnu-build-system)
+ (native-inputs (list hare scdoc))
+ (arguments
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-makefile
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (setenv "XDG_CACHE_HOME"
+ (getenv "TMPDIR"))
+ (substitute* "Makefile"
+ (("/usr/local")
+ out)))))
+ (delete 'configure))))
+ (supported-systems (list "x86_64-linux" "aarch64-linux" "riscv64-linux"))
+ (synopsis "Hare XML Library")
+ (description "This package provides XML support for Hare.")
+ (home-page "https://git.sr.ht/~sircmpwn/hare-xml")
+ (license license:mpl2.0))))
+
+
+(define-public hare-ev
+ (let ((revision "1")
+ (commit "e3c3f7613c602672ac41a3e47c106a5bd27a2378"))
+ (package
+ (name "hare-ev")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~sircmpwn/hare-ev")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ssb51a6qhsg4022k61wzk4yx6pqr8pjgabmwzp46zn9apd122sd"))))
+ (build-system gnu-build-system)
+ (native-inputs (list hare))
+ (arguments
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-makefile
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (setenv "XDG_CACHE_HOME"
+ (getenv "TMPDIR"))
+ (substitute* "Makefile"
+ (("/usr/local")
+ out)))))
+ (delete 'configure))))
+ (supported-systems (list "x86_64-linux" "aarch64-linux" "riscv64-linux"))
+ (synopsis "Hare event loop Library")
+ (description "This package provides an event loop for Hare programs.")
+ (home-page "https://git.sr.ht/~sircmpwn/hare-ev")
+ (license license:mpl2.0))))
+
+
+(define-public hare-wayland
+ (let ((revision "1")
+ (commit "21ba2418387bd00221290b28e8056173a459fd4a"))
+ (package
+ (name "hare-wayland")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~sircmpwn/hare-wayland")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1vv3apcxq7pdv2xblayi2ncqjh3gz0521x70schhn30781qp0l52"))))
+ (build-system gnu-build-system)
+ (native-inputs (list hare hare-xml pkg-config wayland wayland-protocols))
+ (arguments
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-makefile
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (setenv "XDG_CACHE_HOME"
+ (getenv "TMPDIR"))
+ (substitute* "Makefile"
+ (("/usr/local")
+ out)))))
+ (delete 'configure))))
+ (supported-systems (list "x86_64-linux" "aarch64-linux" "riscv64-linux"))
+ (synopsis "Native Hare Wayland bindings")
+ (description
+ "This package provides native Wayland bindings generated from Wayland
+XML protocol definitions.")
+ (home-page "https://git.sr.ht/~sircmpwn/hare-wayland")
+ (license license:mpl2.0))))
+
--
2.41.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [bug#67739] update qbe in Guix
2023-12-10 7:11 [bug#67739] [PATCH 1/2] gnu: qbe: Update to d023bdaa6 Timmy Douglas via Guix-patches via
2023-12-10 7:11 ` [bug#67740] [PATCH 2/2] gnu: Add hare Timmy Douglas via Guix-patches via
@ 2024-10-31 13:49 ` Steve George
1 sibling, 0 replies; 4+ messages in thread
From: Steve George @ 2024-10-31 13:49 UTC (permalink / raw)
To: 67739
Hi Timothy,
I found your patch to update qbe, there's a new release to 1.2. Are you
able to update your patch?
https://c9x.me/compile/releases.html
Futurile
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#67740: [PATCH 2/2] gnu: Add hare.
2023-12-10 7:11 ` [bug#67740] [PATCH 2/2] gnu: Add hare Timmy Douglas via Guix-patches via
@ 2024-11-23 16:44 ` jgart via Guix-patches via
0 siblings, 0 replies; 4+ messages in thread
From: jgart via Guix-patches via @ 2024-11-23 16:44 UTC (permalink / raw)
To: 67740-close, mail
Hi Timmy Douglas,
Thank you for working on this.
I'm closing this issue for now as there is a newer version of hare released in 2024 and someone else has packaged it in ticket #72926.
Sorry for the lack of reviewers to get to this in time. It also sounds like some other hare related issues had to address various things in how we would finally get hare into a proper Guix package.
https://issues.guix.gnu.org/72926
Thank you for working on getting hare into guix nonetheless and all is not in vain we hope.
I'll go review 72926 now.
all the best,
jgart
https://toys.whereis.social/
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-11-23 16:45 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-10 7:11 [bug#67739] [PATCH 1/2] gnu: qbe: Update to d023bdaa6 Timmy Douglas via Guix-patches via
2023-12-10 7:11 ` [bug#67740] [PATCH 2/2] gnu: Add hare Timmy Douglas via Guix-patches via
2024-11-23 16:44 ` bug#67740: " jgart via Guix-patches via
2024-10-31 13:49 ` [bug#67739] update qbe in Guix Steve George
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).