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 libck
Diffstat (limited to '')
-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
;;;;;;;;;;;;;;;
b8cdb7992fd?s=13&d=retro' width='13' height='13' alt='Gravatar' /> aeb 6-8/+106 2000-09-01Added missing prototypes for iso send functions.Gravatar aeb 1-0/+7 2000-08-08Added raw1394_get_irm_id().Gravatar aeb 7-7/+39 2000-08-06Added support for isochronous sending.Gravatar aeb 3-0/+35 2000-07-05Added raw1394_reset_bus() call.Gravatar aeb 4-0/+23 2000-06-22- Set library version info in configure.in, use in src/Makefile.am.Gravatar aeb 4-2/+16 2000-06-15Update libtool version number.Gravatar aeb 2-2/+2 2000-06-14Added copyright headers.Gravatar aeb 6-0/+54 2000-06-11Added explicit AC_PROG_INSTALL call.Gravatar aeb 1-0/+1 2000-06-09Fix size of error field.Gravatar aeb 1-2/+2 2000-06-02Modified support for 32/64 bit environments, control struct fields have fixed...Gravatar aeb 7-43/+28 2000-05-28Added support for environments with 64 bit kernel and 32 bit userland.Gravatar aeb 8-7/+45 2000-04-27Fixed missing setting of ext code in raw1394_start_lock()Gravatar aeb 1-0/+1 2000-04-15Fixed lock transaction to actually return response value.Gravatar aeb 3-5/+11 2000-04-12Add userdata functions as news.Gravatar aeb 1-0/+4 2000-04-05Add userdata functions.Gravatar aeb 3-0/+18 2000-03-18Bump version number to 0.6.Gravatar aeb 3-5/+6 2000-03-18Mention byte order change.Gravatar aeb 1-0/+2 2000-03-18Mention SourceForge home.Gravatar aeb 1-1/+5