diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index ad06d7db06..7931ac1cc1 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -23,6 +23,7 @@ ;;; Copyright © 2023 Andrew Whatson ;;; Copyright © 2023 Juliana Sims ;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2024 TakeV ;;; ;;; This file is part of GNU Guix. ;;; @@ -59,6 +60,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages bdw-gc) + #:use-module (gnu packages c) #:use-module (gnu packages compression) #:use-module (gnu packages databases) #:use-module (gnu packages emacs) @@ -1276,3 +1278,35 @@ as well as light. The implementation is based on an ad-hoc Virtual Machine. STklos can also be compiled as a library and embedded in an application.") (license gpl2+))) + +;; cyclone is self-hosted. To build it, we require the bootstrapped 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 "Install Cyclone Scheme on your machine.") + (description "Bootstrap the generate the cyclone scheme compiler") + (license expat))) +