gnu: Add cyclone-bootstrap.
* gnu/packages/scheme.scm (cyclone-bootstrap): New variable. Change-Id: I85d37ebc48882d4b830ef34851ae6d37ecf2e6e5
This commit is contained in:
parent
c9cd16c630
commit
e7f92411f9
|
@ -24,6 +24,7 @@
|
||||||
;;; Copyright © 2023 Juliana Sims <juli@incana.org>
|
;;; Copyright © 2023 Juliana Sims <juli@incana.org>
|
||||||
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||||
;;; Copyright © 2024 Skylar Hill <stellarskylark@posteo.net>
|
;;; Copyright © 2024 Skylar Hill <stellarskylark@posteo.net>
|
||||||
|
;;; Copyright © 2024 TakeV <takev@disroot.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -60,6 +61,7 @@ (define-module (gnu packages scheme)
|
||||||
#:use-module (gnu packages base)
|
#:use-module (gnu packages base)
|
||||||
#:use-module (gnu packages bash)
|
#:use-module (gnu packages bash)
|
||||||
#:use-module (gnu packages bdw-gc)
|
#:use-module (gnu packages bdw-gc)
|
||||||
|
#:use-module (gnu packages c)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages databases)
|
#:use-module (gnu packages databases)
|
||||||
#:use-module (gnu packages emacs)
|
#:use-module (gnu packages emacs)
|
||||||
|
@ -1254,3 +1256,42 @@ (define-public stklos
|
||||||
Machine. STklos can also be compiled as a library and embedded in an
|
Machine. STklos can also be compiled as a library and embedded in an
|
||||||
application.")
|
application.")
|
||||||
(license gpl2+)))
|
(license gpl2+)))
|
||||||
|
|
||||||
|
;; Cyclone is self-hosted. To build it, we require the bootstrap compiler.
|
||||||
|
(define cyclone-bootstrap
|
||||||
|
(package
|
||||||
|
(name "cyclone-bootstrap")
|
||||||
|
(version "0.36.0")
|
||||||
|
;; TODO Use system's libtommath after
|
||||||
|
;; https://github.com/justinethier/cyclone/issues/458 is resolved
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/justinethier/cyclone-bootstrap.git")
|
||||||
|
(commit (string-append "v" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32 "0fv0mnrn5shbx77383f4mbkvc4i9yyj1bjm3dfyhipnaqapbhqpi"))))
|
||||||
|
(inputs (list ck))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
(list
|
||||||
|
#:phases #~(modify-phases %standard-phases
|
||||||
|
(delete 'configure))
|
||||||
|
#:test-target "test"
|
||||||
|
#:make-flags #~(list "CC=gcc"
|
||||||
|
(string-append "PREFIX="
|
||||||
|
#$output))))
|
||||||
|
(home-page "https://github.com/justinethier/cyclone-bootstrap")
|
||||||
|
(synopsis "Cyclone Scheme bootstrap compiler")
|
||||||
|
(description
|
||||||
|
"Cyclone Scheme is a brand-new, R7RS Scheme-to-C compiler that uses a
|
||||||
|
variant of Cheney on the MTA to implement full tail recursion,
|
||||||
|
continuations, and generational garbage collection. This package uses
|
||||||
|
intermediate code generated by compiling the Scheme source files to
|
||||||
|
build and install Cyclone Scheme. The compiler is self-hosting and
|
||||||
|
cannot be built directly on a system without Cyclone binaries
|
||||||
|
installed.")
|
||||||
|
(license expat)))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue