diff mbox series

[bug#69552,1/2] gnu: Add cyclone-bootstrap.

Message ID 2d510059d5d61a3cde755399cfc79b494090d25f.1709580311.git.takev@disroot.org
State New
Headers show
Series Add cyclone scheme | expand

Commit Message

TakeV March 4, 2024, 7:32 p.m. UTC
* gnu/packages/scheme.scm (cyclone-bootstrap): New variable.

Change-Id: I85d37ebc48882d4b830ef34851ae6d37ecf2e6e5
---
 gnu/packages/scheme.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
diff mbox series

Patch

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 <whatson@tailcall.au>
 ;;; Copyright © 2023 Juliana Sims <juli@incana.org>
 ;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2024 TakeV <takev@disroot.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -59,6 +60,7 @@  (define-module (gnu packages scheme)
   #: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 @@  (define-public stklos
 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)))
+