aboutsummaryrefslogtreecommitdiffstats
path: root/mcgoron
diff options
context:
space:
mode:
authorGravatar Peter McGoron 2025-12-19 11:27:59 -0500
committerGravatar Peter McGoron 2025-12-19 11:27:59 -0500
commit42ccb63624aa75e24a1ff5993474e088691db27b (patch)
treeaf232f8294b836c459e3b7b50f08435aca105aa3 /mcgoron
parenttr7 2.0.12 (diff)
cyclone and libckHEADmaster
Diffstat (limited to 'mcgoron')
-rw-r--r--mcgoron/guix/external-packages.scm44
-rw-r--r--mcgoron/guix/scheme-packages.scm45
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
;;;;;;;;;;;;;;;
span>New gb.h!!!!Gravatar gingerBill 1-370/+1414 2016-04-10License UpdateGravatar gingerBill 1-45/+40 2016-04-08Update README.mdGravatar gingerBill 1-1/+1 2016-04-08Use 64-bit murmur64 version on WIN64Gravatar gingerBill 1-3/+3 2016-04-08Update gb_math.hGravatar gingerBill 1-5/+6 2016-04-08Fix strict aliasing in gb_quake_inv_sqrtGravatar gingerBill 1-11/+13 2016-04-08Update gb_math.hGravatar gingerBill 1-1/+2 2016-04-08gb_math.h v0.04a - Minor bug fixesGravatar gingerBill 1-45/+50 2016-04-08Update README.mdGravatar gingerBill 1-2/+1 2016-04-08Delete gb_math.hppGravatar gingerBill 1-3882/+0 2016-04-08gb_math.h - v0.04 - Namespace everything with gbGravatar gingerBill 1-340/+1484 2016-03-03Update gb.h - v0.02Gravatar gingerBill 1-38/+59 2016-03-03New LibrariesGravatar gingerBill 3-2101/+1219 2016-01-01Explicit Everything!Gravatar gingerBill 4-306/+241 2015-12-17Macro fixesGravatar gingerBill 3-58/+75 2015-12-17Change conventions slightlyGravatar gingerBill 4-1041/+1069 2015-12-15Remove C++ specific macrosGravatar gingerBill 1-19/+2 2015-12-15Allow for no <stdio.h>Gravatar gingerBill 2-18/+32 2015-12-14gb.hpp - Allocators can be passed to gb_alloc/free/etc. without cast using `t...Gravatar gingerBill 3-33/+126 2015-12-14Update README.mdGravatar gingerBill 1-1/+1 2015-12-14gb.h - Implement all functions (from gb.hpp)Gravatar gingerBill 3-247/+1983 2015-12-14Update README.mdGravatar gingerBill 1-0/+1