diff --git a/.dir-locals.el b/.dir-locals.el index 1c19b79..69a5219 100644 --- a/.dir-locals.el +++ b/.dir-locals.el @@ -1,3 +1,4 @@ ;;; SPDX-License-Identifier: GPL-3.0-or-later ((nil . ((sentence-end-double-space . t))) - (scheme-mode . ((geiser-guile-binary . ("guix" "repl"))))) + (scheme-mode . ((geiser-active-implementations . (guile)) + (geiser-guile-binary . ("guix" "repl"))))) diff --git a/zilti/packages/chicken.scm b/zilti/packages/chicken.scm index 3eb1233..5c2b56a 100644 --- a/zilti/packages/chicken.scm +++ b/zilti/packages/chicken.scm @@ -30,71 +30,106 @@ #:use-module ((guix licenses) #:prefix license:)) +;;;; Eggs -(define-public chicken +;;;;; Language extensions + +#; +(define-public chicken-f-operator (package - (name "chicken") - (version "5.3.0") - (source (origin - (method url-fetch) - (uri (string-append "https://code.call-cc.org/releases/" - version "/chicken-" version ".tar.gz")) - (sha256 - (base32 - "0xhdvcdwlv9vbhxh7k0fzd32ybhc7fn83y9fj48dhzp1z7c9kbf3")))) - (build-system gnu-build-system) - (arguments - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-1)) + (name "chicken-f-operator") + (version "4.1.4") + (source + (origin + (method url-fetch) + (uri (egg-uri "f-operator" version)) + (sha256 + (base32 + "0z05x7f154n9bgmainrsmncf5i6dil43r9ymr3rdgwbg4wnxmz4s")))) + (propagated-inputs + (list chicken-miscmacros + chicken-datatype + chicken-box)) + (native-inputs + (list chicken-test + chicken-test-utils + chicken-utf8 + chicken-srfi-1 + chicken-srfi-18)) + (build-system chicken-build-system) + (arguments '(#:egg-name "f-operator")) + (synopsis "Delimited continuation operators") + (home-page "https://wiki.call-cc.org/eggref/5/f-operator") + (description "Delimited continuation operators") + (license license:bsd-2))) - ;; No `configure' script; run "make check" after "make install" as - ;; prescribed by README. - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'check) - (add-after 'install 'check - (assoc-ref %standard-phases 'check))) - #:make-flags (let ((out (assoc-ref %outputs "out"))) - (list "PLATFORM=linux" - (string-append "PREFIX=" out) - (string-append "VARDIR=" out "/var/lib"))) +#; +(define-public chicken-anaphora + (package + (name "chicken-anaphora") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (egg-uri "anaphora" version)) + (sha256 + (base32 + "0z05x7f154n9bgmainrsmncf5i6dil43r9ymr3rdgwbg4wnxmz4s")))) + (propagated-inputs + (list )) + (native-inputs + (list chicken-simple-tests)) + (build-system chicken-build-system) + (arguments '(#:egg-name "anaphora")) + (synopsis "Anaphoric macros") + (home-page "https://wiki.call-cc.org/eggref/5/anaphora") + (description "Anaphoric macros") + (license license:bsd-2))) - ;; Parallel builds are not supported, as noted in README. - #:parallel-build? #f)) - (native-search-paths - (list (search-path-specification - (variable "CHICKEN_REPOSITORY_PATH") - ;; TODO extract binary version into a module level definition. - (files (list "var/lib/chicken/11"))))) - (propagated-inputs (list gcc-toolchain)) - (home-page "https://www.call-cc.org/") - (synopsis "R5RS Scheme implementation that compiles native code via C") - (description - "CHICKEN is a compiler for the Scheme programming language. CHICKEN -produces portable and efficient C, supports almost all of the R5RS Scheme -language standard, and includes many enhancements and extensions.") - (license license:bsd-3))) +#; +(define-public chicken-begin-syntax + (package + (name "chicken-begin-syntax") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (egg-uri "begin-syntax" version)) + (sha256 + (base32 + "0z05x7f154n9bgmainrsmncf5i6dil43r9ymr3rdgwbg4wnxmz4s")))) + (propagated-inputs + (list chicken-matchable)) + (native-inputs + (list chicken-srfi-1 + chicken-module-declarations)) + (build-system chicken-build-system) + (arguments '(#:egg-name "begin-syntax")) + (synopsis "Convenience macro for inline syntax expansion") + (home-page "https://wiki.call-cc.org/eggref/5/begin-syntax") + (description "Convenience macro for inline syntax expansion") + (license license:bsd-3))) + +;;;;; Unsorted (define-public chicken-compile-file (package - (name "chicken-compile-file") - (version "1.3") - (source (origin - (method url-fetch) - (uri (egg-uri "compile-file" version)) - (sha256 - (base32 - "1029i5ifr48vb3clvl8n50iq23rzc42szdcsl9320qmj1ksg9y93")))) - (build-system chicken-build-system) - (arguments `(#:egg-name "compile-file")) - (home-page "https://wiki.call-cc.org/egg/compile-file") - (synopsis "Programmatic compiler invocation") - (description "This egg provides a way to do on-the-fly compilation of + (name "chicken-compile-file") + (version "1.3") + (source (origin + (method url-fetch) + (uri (egg-uri "compile-file" version)) + (sha256 + (base32 + "1029i5ifr48vb3clvl8n50iq23rzc42szdcsl9320qmj1ksg9y93")))) + (build-system chicken-build-system) + (arguments `(#:egg-name "compile-file")) + (home-page "https://wiki.call-cc.org/egg/compile-file") + (synopsis "Programmatic compiler invocation") + (description "This egg provides a way to do on-the-fly compilation of source code and load it into the running process.") - (license license:bsd-3))) + (license license:bsd-3))) (define-public chicken-agrep (package @@ -651,3 +686,73 @@ with integers.") (home-page "https://wiki.call-cc.org/eggref/5/doc") (description "chicken-doc is a tool for exploring Chicken documentation.") (license license:bsd-2))) + +(define-public chicken-input-parse + (package + (name "chicken-input-parse") + (version "1.2") + (source + (origin + (method url-fetch) + (uri (egg-uri "input-parse" version)) + (sha256 + (base32 + "0z05x7f154n9bgmainrsmncf5i6dil43r9ymr3rdgwbg4wnxmz4s")))) + (propagated-inputs + (list )) + (native-inputs + (list )) + (build-system chicken-build-system) + (arguments '(#:egg-name "input-parse")) + (synopsis "Oleg Kiselyov's basic input-stream tokenizing and parsing routines.") + (home-page "https://wiki.call-cc.org/eggref/5/input-parse") + (description "Oleg Kiselyov's basic input-stream tokenizing and parsing routines.") + (license license:public-domain))) + +(define-public chicken-ssax + (package + (name "chicken-ssax") + (version "5.1.0") + (source + (origin + (method url-fetch) + (uri (egg-uri "ssax" version)) + (sha256 + (base32 + "0z05x7f154n9bgmainrsmncf5i6dil43r9ymr3rdgwbg4wnxmz4s")))) + (propagated-inputs + (list chicken-input-parse + chicken-srfi-1 + chicken-srfi-13)) + (native-inputs + (list )) + (build-system chicken-build-system) + (arguments '(#:egg-name "ssax")) + (synopsis "Oleg Kiselyov's XML parser.") + (home-page "https://wiki.call-cc.org/eggref/5/ssax") + (description "Oleg Kiselyov's XML parser.") + (license license:public-domain))) + +(define-public chicken-rss + (package + (name "chicken-rss") + (version "1.7") + (source + (origin + (method url-fetch) + (uri (egg-uri "rss" version)) + (sha256 + (base32 + "0z05x7f154n9bgmainrsmncf5i6dil43r9ymr3rdgwbg4wnxmz4s")))) + (propagated-inputs + (list chicken-matchable + chicken-srfi-1 + chicken-ssax)) + (native-inputs + (list )) + (build-system chicken-build-system) + (arguments '(#:egg-name "rss")) + (synopsis "An RSS parser") + (home-page "https://wiki.call-cc.org/eggref/5/rss") + (description "An RSS parser") + (license license:bsd-2)))