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 | ||
5422c718 | 112 | (define-public chicken-srfi-14 |
113 | (package | |
114 | (name "chicken-srfi-14") | |
115 | (version "0.2.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-14/tags/" version)) | |
122 | (revision 39057) | |
123 | (user-name "anonymous") | |
124 | (password ""))) | |
125 | (file-name (string-append "chicken-srfi-14-" version "-checkout")) | |
126 | (sha256 | |
127 | (base32 | |
128 | "0wjsqfwawh9bx6vvii1gwag166bxkflc0ib374fbws14914g2ac1")))) | |
129 | (build-system chicken-build-system) | |
130 | (arguments '(#:egg-name "srfi-14")) | |
131 | (home-page "https://wiki.call-cc.org/eggref/5/srfi-14") | |
132 | (synopsis "Character set library") | |
133 | (description | |
134 | "Character sets can be created, extended, tested for the membership of | |
135 | a characters and be compared to other character sets") | |
136 | (license (license:non-copyleft | |
137 | "http://wiki.call-cc.org/eggref/5/srfi-14#license")))) | |
138 | ||
c84f0c49 | 139 | (define-public chicken-srfi-69 |
140 | (package | |
141 | (name "chicken-srfi-69") | |
142 | (version "0.4.1") | |
143 | (source | |
144 | (origin | |
145 | (method svn-fetch) | |
146 | (uri (svn-reference | |
147 | (url (string-append "https://code.call-cc.org/svn/chicken-eggs/" | |
148 | "release/5/srfi-69/tags/" | |
149 | version)) | |
150 | (revision 39057) | |
151 | (user-name "anonymous") | |
152 | (password ""))) | |
153 | (file-name (string-append "chicken-srfi-69-" version "-checkout")) | |
154 | (sha256 | |
155 | (base32 | |
156 | "1z0m9vmg9bj9z0a941pls6igvg8nmhq4mj5psjjidbp0fac572mp")))) | |
157 | (arguments '(#:egg-name "srfi-69")) | |
158 | (build-system chicken-build-system) | |
159 | (home-page "https://wiki.call-cc.org/eggref/5/srfi-69") | |
160 | (synopsis "Implementation of SRFI 69 with SRFI 90 extensions") | |
161 | (description | |
162 | "This package provides an implementation of | |
163 | @uref{https://srfi.schemers.org/srfi-69/srfi-69.html, SRFI-69 hash tables} for | |
164 | CHICKEN Scheme, along with | |
165 | @uref{https://srfi.schemers.org/srfi-90/srfi-90.html, SRFI-90} extensions.") | |
166 | (license license:bsd-3))) | |
167 | ||
eee037ec | 168 | (define-public chicken-agrep |
169 | (package | |
170 | (name "chicken-agrep") | |
171 | (version "1.7") | |
172 | (source | |
173 | (origin | |
174 | (method git-fetch) | |
175 | (uri (git-reference | |
176 | (url "https://github.com/iraikov/chicken-agrep") | |
177 | (commit version))) | |
178 | (file-name (string-append "chicken-agrep-" version "-checkout")) | |
179 | (sha256 | |
180 | (base32 | |
181 | "0z05x7f154n9bgmainrsmncf5i6dil43r9ymr3rdgwbg4wnxmz4s")))) | |
182 | ;; TODO do we really have to make these propagated? | |
183 | ;; I don't know Chicken's module system well enough to tell | |
184 | (propagated-inputs | |
185 | `(("chicken-datatype" ,chicken-datatype) | |
186 | ("chicken-srfi-1" ,chicken-srfi-1) | |
187 | ("chicken-srfi-14" ,chicken-srfi-14))) | |
188 | (inputs | |
189 | `(("chicken-test" ,chicken-test))) | |
190 | (build-system chicken-build-system) | |
191 | (arguments '(#:egg-name "agrep")) | |
192 | (synopsis "Approximate string matching library") | |
193 | (home-page "https://wiki.call-cc.org/eggref/5/agrep") | |
194 | (description | |
195 | "This library implements the Wu-Manber algorithm for approximate string | |
196 | searching with errors, popularized by the agrep Unix command and the glimpse | |
197 | file indexing tool.") | |
198 | (license license:gpl3+))) | |
199 | ||
59fbfcfb | 200 | (define-public chicken-datatype |
201 | (package | |
202 | (name "chicken-datatype") | |
203 | (version "1.6") | |
204 | (source | |
205 | (origin | |
206 | (method svn-fetch) | |
207 | (uri (svn-reference | |
208 | (url (string-append "https://code.call-cc.org/svn/chicken-eggs/" | |
209 | "release/5/datatype/tags/" version)) | |
210 | (revision 39266) | |
211 | (user-name "anonymous") | |
212 | (password ""))) | |
213 | (file-name (string-append "chicken-datatype-" version "-checkout")) | |
214 | (sha256 | |
215 | (base32 | |
216 | "1a58q8ypjkjz6wdv25247wixds4179239d36nnvsfn6gp70s9jfq")))) | |
217 | (build-system chicken-build-system) | |
218 | (arguments '(#:egg-name "datatype")) | |
219 | (inputs | |
220 | `(("chicken-srfi-1" ,chicken-srfi-1) | |
221 | ("chicken-test" ,chicken-test))) | |
222 | (home-page "https://wiki.call-cc.org/eggref/5/datatype") | |
223 | (synopsis "Facility for creating and using variant records") | |
224 | (description | |
225 | "This CHICKEN Scheme library provides a facility for creating and using | |
226 | variant records, as described in the book @i{Essentials of Programming | |
227 | Languages} by Friedman, Wand, and Haynes.") | |
228 | (license license:bsd-3))) | |
229 | ||
bb1b37d8 | 230 | (define-public chicken-iset |
231 | (package | |
232 | (name "chicken-iset") | |
233 | (version "2.2") | |
234 | (source | |
235 | (origin | |
236 | (method svn-fetch) | |
237 | (uri (svn-reference | |
238 | (url (string-append "https://code.call-cc.org/svn/chicken-eggs/" | |
239 | "release/5/iset/tags/" version)) | |
240 | (revision 39057) | |
241 | (user-name "anonymous") | |
242 | (password ""))) | |
243 | (file-name (string-append "chicken-iset-" version "-checkout")) | |
244 | (sha256 | |
245 | (base32 | |
246 | "0gz50n5i561n5sk9prry0lrxz6bfrq9if5bclaq6a0f7lzinhnzb")))) | |
247 | (inputs | |
248 | `(("chicken-test" ,chicken-test))) | |
249 | (build-system chicken-build-system) | |
250 | (arguments '(#:egg-name "iset")) | |
251 | (synopsis "Integer set library") | |
252 | (home-page "https://wiki.call-cc.org/eggref/5/iset") | |
253 | (description | |
254 | "This ``integer set'' CHICKEN Scheme library implements bit vectors. | |
255 | Bit-vectors provide an abstract interface to bitwise operations typically done | |
256 | with integers.") | |
257 | (license license:bsd-3))) | |
258 | ||
7dd7bab4 | 259 | (define-public chicken-test |
260 | (package | |
261 | (name "chicken-test") | |
262 | (version "1.1") | |
263 | (source | |
264 | (origin | |
265 | (method svn-fetch) | |
266 | (uri (svn-reference | |
267 | (url (string-append "https://code.call-cc.org/svn/chicken-eggs/" | |
268 | "release/5/test/tags/" version)) | |
269 | (revision 39263) | |
270 | (user-name "anonymous") | |
271 | (password ""))) | |
272 | (file-name (string-append "chicken-test-" version "-checkout")) | |
273 | (sha256 | |
274 | (base32 | |
275 | "14i91cxsn6hjkx6kqf7i9syck73cw71jik61jmhg87vpxx5kfnzx")))) | |
276 | (build-system chicken-build-system) | |
277 | (arguments '(#:egg-name "test")) | |
278 | (home-page "https://wiki.call-cc.org/eggref/5/test") | |
279 | (synopsis "Yet another testing utility") | |
280 | (description | |
281 | "This package provides a simple testing utility for CHICKEN Scheme.") | |
282 | (license license:bsd-3))) | |
f0f133d1 | 283 |