diff options
| author | 2025-12-19 11:27:59 -0500 | |
|---|---|---|
| committer | 2025-12-19 11:27:59 -0500 | |
| commit | 42ccb63624aa75e24a1ff5993474e088691db27b (patch) | |
| tree | af232f8294b836c459e3b7b50f08435aca105aa3 /mcgoron/guix | |
| parent | tr7 2.0.12 (diff) | |
Diffstat (limited to '')
| -rw-r--r-- | mcgoron/guix/external-packages.scm | 44 | ||||
| -rw-r--r-- | mcgoron/guix/scheme-packages.scm | 45 |
2 files changed, 89 insertions, 0 deletions
diff --git a/mcgoron/guix/external-packages.scm b/mcgoron/guix/external-packages.scm new file mode 100644 index 0000000..8cd1abb --- /dev/null +++ b/mcgoron/guix/external-packages.scm @@ -0,0 +1,44 @@ +(define-module (mcgoron guix external-packages) + #:use-module (rnrs base) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (gnu packages) + #:use-module (guix build-system) + #:use-module (guix gexp) + #:use-module (guix build-system gnu) + #:use-module (guix licenses) + #:use-module (guix git-download) + #:use-module (guix download)) + +(define-public libck + (package + (name "libck") + (version "0.7.2") + (synopsis "Modern concurrency primitives and building blocks for high performance applications.") + (description "Concurrency primitives, safe memory reclamation mechanisms and non-blocking (including lock-free) data structures designed to aid in the research, design and implementation of high performance concurrent systems developed in C99+.") + (home-page "https://github.com/concurrencykit/ck") + (build-system gnu-build-system) + (source + (origin (method git-fetch) + (uri (git-reference (url "https://github.com/concurrencykit/ck") + (commit version))) + (sha256 (base32 "04m572h20ql8l8d4p9ka6rhc8zj7mngqyn61wagi393pqrd7q4lp")))) + (license bsd-2) + (arguments + (list + #:phases + #~ + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (invoke "./configure" + (string-append "--prefix=" + (assoc-ref %outputs "out"))))) + (replace 'build + (lambda _ + (invoke "make" "regressions") + (invoke "make" "all"))) + (replace 'check + (lambda _ + (invoke "make" "check")))))))) + diff --git a/mcgoron/guix/scheme-packages.scm b/mcgoron/guix/scheme-packages.scm index 810576d..9b7ff04 100644 --- a/mcgoron/guix/scheme-packages.scm +++ b/mcgoron/guix/scheme-packages.scm @@ -41,6 +41,7 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages texinfo) #:use-module (gnu packages readline) + #:use-module (mcgoron guix external-packages) #:use-module (guix gexp)) ;;;;;;;;;;;;; @@ -623,6 +624,50 @@ The current release of Mosh supports all of the features R7RS small and R6RS.")) ,(append-to "MOSH_LOADPATH" "GUIX_MOSH_PATH" "R6RS_LIBRARY_PATH") impl)))) +;;; ;;;;;;;;;;; +;;; Cyclone +;;; ;;;;;;;;;;; + +(define-public cyclone-scheme + (package + (name "cyclone-scheme") + (version "0.36.0") + (license expat) + (source + (origin + (method git-fetch) + (uri (git-reference (url "https://github.com/justinethier/cyclone-bootstrap") + (commit (string-append "v" version)))) + (sha256 (base32 "0fv0mnrn5shbx77383f4mbkvc4i9yyj1bjm3dfyhipnaqapbhqpi")))) + (build-system gnu-build-system) + (home-page "https://github.com/justinethier/cyclone-bootstrap") + (synopsis "An ahead-of-time R7RS compiler with native threads") + (inputs (list libck)) + (arguments + (list + #:phases + #~ + (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda* (#:key outputs #:allow-other-keys) + (invoke "make" (string-append + "PREFIX=" + (assoc-ref %outputs "out")) + "CC=gcc"))) + (replace 'check + (lambda _ (invoke "make" "test"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (invoke "make" + (string-append "PREFIX=" + (assoc-ref %outputs "out")) + "install")))))) + (description + "Cyclone Scheme is a brand-new compiler that allows real-world application development using the R7RS Scheme Language standard. We provide modern features and a stable system capable of generating fast native binaries. + +Cheney on the MTA is used by Cyclone's runtime to implement full tail recursion, continuations, and generational garbage collection. In addition, the Cheney on the MTA concept has been extended to allow execution of multiple native threads. An on-the-fly garbage collector is used to manage the second-generation heap and perform major collections without \"stopping the world\".")) ) + ;;;;;;;;;;;;;;; ;;;; SKint ;;;;;;;;;;;;;;; |
