summary refs log tree commit diff
path: root/gnu/packages/chicken.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/chicken.scm')
-rw-r--r--gnu/packages/chicken.scm218
1 files changed, 216 insertions, 2 deletions
diff --git a/gnu/packages/chicken.scm b/gnu/packages/chicken.scm
index 729cf25a6c..866ba8a062 100644
--- a/gnu/packages/chicken.scm
+++ b/gnu/packages/chicken.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
 ;;; Copyright © 2020 Evan Hanson <evhan@foldling.org>
+;;; Copyright © 2020 raingloom <raingloom@riseup.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,11 +21,14 @@
 (define-module (gnu packages chicken)
   #:use-module (gnu packages)
   #:use-module (guix packages)
+  #:use-module (guix build-system chicken)
   #:use-module (guix build-system gnu)
   #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix svn-download)
   #:use-module (gnu packages commencement)
   #:use-module ((guix licenses)
-                #:select (bsd-3)))
+                #:prefix license:))
 
 (define-public chicken
   (package
@@ -59,6 +63,11 @@
 
        ;; 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 `(("gcc-toolchain" ,gcc-toolchain)))
     (home-page "https://www.call-cc.org/")
     (synopsis "R5RS Scheme implementation that compiles native code via C")
@@ -66,4 +75,209 @@
      "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 bsd-3)))
+    (license license:bsd-3)))
+
+(define-public chicken-srfi-1
+  (package
+    (name "chicken-srfi-1")
+    (version "0.5.1")
+    (source
+     (origin
+       (method svn-fetch)
+       (uri (svn-reference
+             (url (string-append
+                   "https://code.call-cc.org/svn/chicken-eggs/"
+                   "release/5/srfi-1/tags/"
+                   version))
+             (revision 39055)
+             (user-name "anonymous")
+             (password "")))
+       (file-name (string-append "chicken-srfi-1" version "-checkout"))
+       (sha256
+        (base32
+         "02940zsjrmn7c34rnp1rllm2nahh9jvszlzrw8ak4pf31q09cmq1"))))
+    (build-system chicken-build-system)
+    (arguments '(#:egg-name "srfi-1"))
+    (inputs
+     `(("chicken-test" ,chicken-test)))
+    (home-page "https://wiki.call-cc.org/eggref/5/srfi-1")
+    (synopsis "SRFI-1 list library")
+    (description
+     "The list library defined in
+@uref{https://srfi.schemers.org/srfi-1/srfi-1.html, SRFI-1} contains a lot of
+useful list processing procedures for construction, examining, destructuring
+and manipulating lists and pairs.")
+    (license license:bsd-3)))
+
+(define-public chicken-srfi-14
+  (package
+    (name "chicken-srfi-14")
+    (version "0.2.1")
+    (source
+     (origin
+       (method svn-fetch)
+       (uri (svn-reference
+             (url (string-append "https://code.call-cc.org/svn/chicken-eggs/"
+                                 "release/5/srfi-14/tags/" version))
+             (revision 39057)
+             (user-name "anonymous")
+             (password "")))
+       (file-name (string-append "chicken-srfi-14-" version "-checkout"))
+       (sha256
+        (base32
+         "0wjsqfwawh9bx6vvii1gwag166bxkflc0ib374fbws14914g2ac1"))))
+    (build-system chicken-build-system)
+    (arguments '(#:egg-name "srfi-14"))
+    (home-page "https://wiki.call-cc.org/eggref/5/srfi-14")
+    (synopsis "Character set library")
+    (description
+     "Character sets can be created, extended, tested for the membership of
+a characters and be compared to other character sets")
+    (license (license:non-copyleft
+              "http://wiki.call-cc.org/eggref/5/srfi-14#license"))))
+
+(define-public chicken-srfi-69
+  (package
+    (name "chicken-srfi-69")
+    (version "0.4.1")
+    (source
+     (origin
+       (method svn-fetch)
+       (uri (svn-reference
+             (url (string-append "https://code.call-cc.org/svn/chicken-eggs/"
+                                 "release/5/srfi-69/tags/"
+                                 version))
+             (revision 39057)
+             (user-name "anonymous")
+             (password "")))
+       (file-name (string-append "chicken-srfi-69-" version "-checkout"))
+       (sha256
+        (base32
+         "1z0m9vmg9bj9z0a941pls6igvg8nmhq4mj5psjjidbp0fac572mp"))))
+    (arguments '(#:egg-name "srfi-69"))
+    (build-system chicken-build-system)
+    (home-page "https://wiki.call-cc.org/eggref/5/srfi-69")
+    (synopsis "Implementation of SRFI 69 with SRFI 90 extensions")
+    (description
+     "This package provides an implementation of
+@uref{https://srfi.schemers.org/srfi-69/srfi-69.html, SRFI-69 hash tables} for
+CHICKEN Scheme, along with
+@uref{https://srfi.schemers.org/srfi-90/srfi-90.html, SRFI-90} extensions.")
+    (license license:bsd-3)))
+
+(define-public chicken-agrep
+  (package
+    (name "chicken-agrep")
+    (version "1.7")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/iraikov/chicken-agrep")
+             (commit version)))
+       (file-name (string-append "chicken-agrep-" version "-checkout"))
+       (sha256
+        (base32
+         "0z05x7f154n9bgmainrsmncf5i6dil43r9ymr3rdgwbg4wnxmz4s"))))
+    ;; TODO do we really have to make these propagated?
+    ;; I don't know Chicken's module system well enough to tell
+    (propagated-inputs
+     `(("chicken-datatype" ,chicken-datatype)
+       ("chicken-srfi-1" ,chicken-srfi-1)
+       ("chicken-srfi-14" ,chicken-srfi-14)))
+    (inputs
+     `(("chicken-test" ,chicken-test)))
+    (build-system chicken-build-system)
+    (arguments '(#:egg-name "agrep"))
+    (synopsis "Approximate string matching library")
+    (home-page "https://wiki.call-cc.org/eggref/5/agrep")
+    (description
+     "This library implements the Wu-Manber algorithm for approximate string
+searching with errors, popularized by the agrep Unix command and the glimpse
+file indexing tool.")
+    (license license:gpl3+)))
+
+(define-public chicken-datatype
+  (package
+    (name "chicken-datatype")
+    (version "1.6")
+    (source
+     (origin
+       (method svn-fetch)
+       (uri (svn-reference
+             (url (string-append "https://code.call-cc.org/svn/chicken-eggs/"
+                                 "release/5/datatype/tags/" version))
+             (revision 39266)
+             (user-name "anonymous")
+             (password "")))
+       (file-name (string-append "chicken-datatype-" version "-checkout"))
+       (sha256
+        (base32
+         "1a58q8ypjkjz6wdv25247wixds4179239d36nnvsfn6gp70s9jfq"))))
+    (build-system chicken-build-system)
+    (arguments '(#:egg-name "datatype"))
+    (inputs
+     `(("chicken-srfi-1" ,chicken-srfi-1)
+       ("chicken-test" ,chicken-test)))
+    (home-page "https://wiki.call-cc.org/eggref/5/datatype")
+    (synopsis "Facility for creating and using variant records")
+    (description
+     "This CHICKEN Scheme library provides a facility for creating and using
+variant records, as described in the book @i{Essentials of Programming
+Languages} by Friedman, Wand, and Haynes.")
+    (license license:bsd-3)))
+
+(define-public chicken-iset
+  (package
+    (name "chicken-iset")
+    (version "2.2")
+    (source
+     (origin
+       (method svn-fetch)
+       (uri (svn-reference
+             (url (string-append "https://code.call-cc.org/svn/chicken-eggs/"
+                                 "release/5/iset/tags/" version))
+             (revision 39057)
+             (user-name "anonymous")
+             (password "")))
+       (file-name (string-append "chicken-iset-" version "-checkout"))
+       (sha256
+        (base32
+         "0gz50n5i561n5sk9prry0lrxz6bfrq9if5bclaq6a0f7lzinhnzb"))))
+    (inputs
+     `(("chicken-test" ,chicken-test)))
+    (build-system chicken-build-system)
+    (arguments '(#:egg-name "iset"))
+    (synopsis "Integer set library")
+    (home-page "https://wiki.call-cc.org/eggref/5/iset")
+    (description
+     "This ``integer set'' CHICKEN Scheme library implements bit vectors.
+Bit-vectors provide an abstract interface to bitwise operations typically done
+with integers.")
+    (license license:bsd-3)))
+
+(define-public chicken-test
+  (package
+    (name "chicken-test")
+    (version "1.1")
+    (source
+     (origin
+       (method svn-fetch)
+       (uri (svn-reference
+             (url (string-append "https://code.call-cc.org/svn/chicken-eggs/"
+                                 "release/5/test/tags/" version))
+             (revision 39263)
+             (user-name "anonymous")
+             (password "")))
+       (file-name (string-append "chicken-test-" version "-checkout"))
+       (sha256
+        (base32
+         "14i91cxsn6hjkx6kqf7i9syck73cw71jik61jmhg87vpxx5kfnzx"))))
+    (build-system chicken-build-system)
+    (arguments '(#:egg-name "test"))
+    (home-page "https://wiki.call-cc.org/eggref/5/test")
+    (synopsis "Yet another testing utility")
+    (description
+     "This package provides a simple testing utility for CHICKEN Scheme.")
+    (license license:bsd-3)))
+