diff options
| author | Ludovic Courtès <ludo@gnu.org> | 2013-05-11 22:13:59 +0200 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2013-05-11 22:13:59 +0200 |
| commit | f7ce90e7b94bc06aae8a28d493242969fbe7737c (patch) | |
| tree | 853b1958eb296e864db69bac096ce8e31e38165f /gnu | |
| parent | 35ff176877886ee335ecfd2dfc43a3290d10b9ff (diff) | |
gnu: Add Scheme48.
* gnu/packages/scheme.scm (scheme48): New variable.
* gnu/packages/patches/scheme48-tests.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
Diffstat (limited to 'gnu')
| -rw-r--r-- | gnu/packages/patches/scheme48-tests.patch | 36 | ||||
| -rw-r--r-- | gnu/packages/scheme.scm | 24 |
2 files changed, 60 insertions, 0 deletions
diff --git a/gnu/packages/patches/scheme48-tests.patch b/gnu/packages/patches/scheme48-tests.patch new file mode 100644 index 00000000000..7ee228f3aaa --- /dev/null +++ b/gnu/packages/patches/scheme48-tests.patch | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | The test case below relies on /etc/groups and similar info that is | ||
| 2 | not available in chroot builds, so skip it. | ||
| 3 | |||
| 4 | --- scheme48-1.9/scheme/posix/check.scm 2013-05-11 21:55:36.000000000 +0200 | ||
| 5 | +++ scheme48-1.9/scheme/posix/check.scm 2013-05-11 21:55:40.000000000 +0200 | ||
| 6 | @@ -229,29 +229,7 @@ | ||
| 7 | |||
| 8 | ; This assumes that we are not running as root and that / is owned by root. | ||
| 9 | |||
| 10 | -(define-test-case users&groups posix-core-tests | ||
| 11 | - (let ((my-info (get-file-info directory-name)) | ||
| 12 | - (root-info (get-file-info "/"))) | ||
| 13 | - (let ((my-user (user-id->user-info (file-info-owner my-info))) | ||
| 14 | - (root-user (user-id->user-info (file-info-owner root-info))) | ||
| 15 | - (my-group (group-id->group-info (file-info-group my-info))) | ||
| 16 | - (root-group (group-id->group-info (file-info-group root-info)))) | ||
| 17 | - (let ((my-other-user (name->user-info (user-info-name my-user))) | ||
| 18 | - (my-other-group (name->group-info (group-info-name my-group)))) | ||
| 19 | - (check-that (file-info-owner my-info) | ||
| 20 | - (is user-id=? (user-info-id my-user))) | ||
| 21 | - (check-that (file-info-owner root-info) | ||
| 22 | - (opposite (is user-id=? (user-info-id my-user)))) | ||
| 23 | - (check-that (file-info-group my-info) | ||
| 24 | - (is group-id=? (group-info-id my-group))) | ||
| 25 | - ;; doesn't work reliably | ||
| 26 | - ;; (specifically, if the user is member of wheel) | ||
| 27 | - ;; (check (not (group-id=? (file-info-group root-info) | ||
| 28 | - ;; (group-info-id my-group)))) | ||
| 29 | - (check-that (os-string->string (user-info-name root-user)) | ||
| 30 | - (member-of '("root" | ||
| 31 | - "bin" ; AIX | ||
| 32 | - ))))))) | ||
| 33 | + | ||
| 34 | |||
| 35 | (define-test-case environment posix-core-tests | ||
| 36 | (let ((env (reverse (environment-alist)))) | ||
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 13f1002090b..c79a709ecd9 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm | |||
| @@ -295,3 +295,27 @@ mashups, office (web agendas, mail clients, ...), etc.") | |||
| 295 | produces portable and efficient C, supports almost all of the R5RS Scheme | 295 | produces portable and efficient C, supports almost all of the R5RS Scheme |
| 296 | language standard, and includes many enhancements and extensions.") | 296 | language standard, and includes many enhancements and extensions.") |
| 297 | (license bsd-3))) | 297 | (license bsd-3))) |
| 298 | |||
| 299 | (define-public scheme48 | ||
| 300 | (package | ||
| 301 | (name "scheme48") | ||
| 302 | (version "1.9") | ||
| 303 | (source (origin | ||
| 304 | (method url-fetch) | ||
| 305 | (uri (string-append "http://s48.org/" version | ||
| 306 | "/scheme48-" version ".tgz")) | ||
| 307 | (sha256 | ||
| 308 | (base32 | ||
| 309 | "0rw2lz5xgld0klvld292ds6hvfk5l12vskzgf1hhwjdpa38r3fnw")))) | ||
| 310 | (build-system gnu-build-system) | ||
| 311 | (arguments `(#:patches (list (assoc-ref %build-inputs "patch/tests")))) | ||
| 312 | (inputs `(("patch/tests" ,(search-patch "scheme48-tests.patch")))) | ||
| 313 | (home-page "http://s48.org/") | ||
| 314 | (synopsis "Scheme implementation using a bytecode interpreter") | ||
| 315 | (description | ||
| 316 | "Scheme 48 is an implementation of Scheme based on a byte-code | ||
| 317 | interpreter and is designed to be used as a testbed for experiments in | ||
| 318 | implementation techniques and as an expository tool.") | ||
| 319 | |||
| 320 | ;; Most files are BSD-3; see COPYING for the few exceptions. | ||
| 321 | (license bsd-3))) | ||
