Commit | Line | Data |
---|---|---|
2846aec2 EZ |
1 | ;;; GNU Guix --- Functional package management for GNU |
2 | ;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech> | |
be0c3ac7 | 3 | ;;; Copyright © 2020 Evan Hanson <evhan@foldling.org> |
7dd7bab4 | 4 | ;;; Copyright © 2020 raingloom <raingloom@riseup.net> |
2846aec2 EZ |
5 | ;;; |
6 | ;;; This file is part of GNU Guix. | |
7 | ;;; | |
8 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
9 | ;;; under the terms of the GNU General Public License as published by | |
10 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
11 | ;;; your option) any later version. | |
12 | ;;; | |
13 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
14 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 | ;;; GNU General Public License for more details. | |
17 | ;;; | |
18 | ;;; You should have received a copy of the GNU General Public License | |
19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
20 | ||
21 | (define-module (gnu packages chicken) | |
22 | #:use-module (gnu packages) | |
23 | #:use-module (guix packages) | |
7dd7bab4 | 24 | #:use-module (guix build-system chicken) |
2846aec2 EZ |
25 | #:use-module (guix build-system gnu) |
26 | #:use-module (guix download) | |
7dd7bab4 | 27 | #:use-module (guix git-download) |
28 | #:use-module (guix svn-download) | |
7f6cb6bb | 29 | #:use-module (gnu packages commencement) |
2846aec2 | 30 | #:use-module ((guix licenses) |
a0e2a3e3 | 31 | #:prefix license:)) |
2846aec2 EZ |
32 | |
33 | (define-public chicken | |
34 | (package | |
35 | (name "chicken") | |
be0c3ac7 | 36 | (version "5.2.0") |
2846aec2 EZ |
37 | (source (origin |
38 | (method url-fetch) | |
39 | (uri (string-append "https://code.call-cc.org/releases/" | |
40 | version "/chicken-" version ".tar.gz")) | |
41 | (sha256 | |
42 | (base32 | |
be0c3ac7 | 43 | "1yl0hxm9cirgcp8jgxp6vv29lpswfvaw3zfkh6rsj0vkrv44k4c1")))) |
2846aec2 EZ |
44 | (build-system gnu-build-system) |
45 | (arguments | |
46 | `(#:modules ((guix build gnu-build-system) | |
47 | (guix build utils) | |
48 | (srfi srfi-1)) | |
49 | ||
50 | ;; No `configure' script; run "make check" after "make install" as | |
51 | ;; prescribed by README. | |
52 | #:phases | |
53 | (modify-phases %standard-phases | |
54 | (delete 'configure) | |
55 | (delete 'check) | |
56 | (add-after 'install 'check | |
57 | (assoc-ref %standard-phases 'check))) | |
58 | ||
59 | #:make-flags (let ((out (assoc-ref %outputs "out"))) | |
60 | (list "PLATFORM=linux" | |
61 | (string-append "PREFIX=" out) | |
62 | (string-append "VARDIR=" out "/var/lib"))) | |
63 | ||
64 | ;; Parallel builds are not supported, as noted in README. | |
65 | #:parallel-build? #f)) | |
918a643b | 66 | (native-search-paths |
67 | (list (search-path-specification | |
68 | (variable "CHICKEN_REPOSITORY_PATH") | |
69 | ;; TODO extract binary version into a module level definition. | |
70 | (files (list "var/lib/chicken/11"))))) | |
1628d57b | 71 | (propagated-inputs `(("gcc-toolchain" ,gcc-toolchain))) |
be0c3ac7 | 72 | (home-page "https://www.call-cc.org/") |
2846aec2 EZ |
73 | (synopsis "R5RS Scheme implementation that compiles native code via C") |
74 | (description | |
75 | "CHICKEN is a compiler for the Scheme programming language. CHICKEN | |
76 | produces portable and efficient C, supports almost all of the R5RS Scheme | |
77 | language standard, and includes many enhancements and extensions.") | |
a0e2a3e3 | 78 | (license license:bsd-3))) |
7dd7bab4 | 79 | |
f0f133d1 | 80 | (define-public chicken-srfi-1 |
81 | (package | |
82 | (name "chicken-srfi-1") | |
83 | (version "0.5.1") | |
84 | (source | |
85 | (origin | |
86 | (method svn-fetch) | |
87 | (uri (svn-reference | |
88 | (url (string-append | |
89 | "https://code.call-cc.org/svn/chicken-eggs/" | |
90 | "release/5/srfi-1/tags/" | |
91 | version)) | |
92 | (revision 39055) | |
93 | (user-name "anonymous") | |
94 | (password ""))) | |
95 | (file-name (string-append "chicken-srfi-1" version "-checkout")) | |
96 | (sha256 | |
97 | (base32 | |
98 | "02940zsjrmn7c34rnp1rllm2nahh9jvszlzrw8ak4pf31q09cmq1")))) | |
99 | (build-system chicken-build-system) | |
100 | (arguments '(#:egg-name "srfi-1")) | |
101 | (inputs | |
102 | `(("chicken-test" ,chicken-test))) | |
103 | (home-page "https://wiki.call-cc.org/eggref/5/srfi-1") | |
104 | (synopsis "SRFI-1 list library") | |
105 | (description | |
106 | "The list library defined in | |
107 | @uref{https://srfi.schemers.org/srfi-1/srfi-1.html, SRFI-1} contains a lot of | |
108 | useful list processing procedures for construction, examining, destructuring | |
109 | and manipulating lists and pairs.") | |
110 | (license license:bsd-3))) | |
111 | ||
c84f0c49 | 112 | (define-public chicken-srfi-69 |
113 | (package | |
114 | (name "chicken-srfi-69") | |
115 | (version "0.4.1") | |
116 | (source | |
117 | (origin | |
118 | (method svn-fetch) | |
119 | (uri (svn-reference | |
120 | (url (string-append "https://code.call-cc.org/svn/chicken-eggs/" | |
121 | "release/5/srfi-69/tags/" | |
122 | version)) | |
123 | (revision 39057) | |
124 | (user-name "anonymous") | |
125 | (password ""))) | |
126 | (file-name (string-append "chicken-srfi-69-" version "-checkout")) | |
127 | (sha256 | |
128 | (base32 | |
129 | "1z0m9vmg9bj9z0a941pls6igvg8nmhq4mj5psjjidbp0fac572mp")))) | |
130 | (arguments '(#:egg-name "srfi-69")) | |
131 | (build-system chicken-build-system) | |
132 | (home-page "https://wiki.call-cc.org/eggref/5/srfi-69") | |
133 | (synopsis "Implementation of SRFI 69 with SRFI 90 extensions") | |
134 | (description | |
135 | "This package provides an implementation of | |
136 | @uref{https://srfi.schemers.org/srfi-69/srfi-69.html, SRFI-69 hash tables} for | |
137 | CHICKEN Scheme, along with | |
138 | @uref{https://srfi.schemers.org/srfi-90/srfi-90.html, SRFI-90} extensions.") | |
139 | (license license:bsd-3))) | |
140 | ||
bb1b37d8 | 141 | (define-public chicken-iset |
142 | (package | |
143 | (name "chicken-iset") | |
144 | (version "2.2") | |
145 | (source | |
146 | (origin | |
147 | (method svn-fetch) | |
148 | (uri (svn-reference | |
149 | (url (string-append "https://code.call-cc.org/svn/chicken-eggs/" | |
150 | "release/5/iset/tags/" version)) | |
151 | (revision 39057) | |
152 | (user-name "anonymous") | |
153 | (password ""))) | |
154 | (file-name (string-append "chicken-iset-" version "-checkout")) | |
155 | (sha256 | |
156 | (base32 | |
157 | "0gz50n5i561n5sk9prry0lrxz6bfrq9if5bclaq6a0f7lzinhnzb")))) | |
158 | (inputs | |
159 | `(("chicken-test" ,chicken-test))) | |
160 | (build-system chicken-build-system) | |
161 | (arguments '(#:egg-name "iset")) | |
162 | (synopsis "Integer set library") | |
163 | (home-page "https://wiki.call-cc.org/eggref/5/iset") | |
164 | (description | |
165 | "This ``integer set'' CHICKEN Scheme library implements bit vectors. | |
166 | Bit-vectors provide an abstract interface to bitwise operations typically done | |
167 | with integers.") | |
168 | (license license:bsd-3))) | |
169 | ||
7dd7bab4 | 170 | (define-public chicken-test |
171 | (package | |
172 | (name "chicken-test") | |
173 | (version "1.1") | |
174 | (source | |
175 | (origin | |
176 | (method svn-fetch) | |
177 | (uri (svn-reference | |
178 | (url (string-append "https://code.call-cc.org/svn/chicken-eggs/" | |
179 | "release/5/test/tags/" version)) | |
180 | (revision 39263) | |
181 | (user-name "anonymous") | |
182 | (password ""))) | |
183 | (file-name (string-append "chicken-test-" version "-checkout")) | |
184 | (sha256 | |
185 | (base32 | |
186 | "14i91cxsn6hjkx6kqf7i9syck73cw71jik61jmhg87vpxx5kfnzx")))) | |
187 | (build-system chicken-build-system) | |
188 | (arguments '(#:egg-name "test")) | |
189 | (home-page "https://wiki.call-cc.org/eggref/5/test") | |
190 | (synopsis "Yet another testing utility") | |
191 | (description | |
192 | "This package provides a simple testing utility for CHICKEN Scheme.") | |
193 | (license license:bsd-3))) | |
f0f133d1 | 194 |