Add SLIB, a portable Scheme library.
svn path=/nixpkgs/trunk/; revision=17546
This commit is contained in:
parent
b62af15130
commit
1a9597827d
@ -0,0 +1,29 @@
|
|||||||
|
Write the catalog in under `(library-vicinity)', which is a subdir of $out,
|
||||||
|
rather than under `(implementation-vicinity)', which is a subdir of ${scheme}.
|
||||||
|
|
||||||
|
The downside is that we can't build an SLIB for several Schemes at the
|
||||||
|
same time.
|
||||||
|
|
||||||
|
--- slib/mklibcat.scm 2007-12-24 05:47:34.000000000 +0100
|
||||||
|
+++ slib/mklibcat.scm 2009-09-29 14:08:28.000000000 +0200
|
||||||
|
@@ -17,7 +17,7 @@
|
||||||
|
;promotional, or sales literature without prior written consent in
|
||||||
|
;each case.
|
||||||
|
|
||||||
|
-(let ((catpath (in-vicinity (implementation-vicinity) "slibcat")))
|
||||||
|
+(let ((catpath (in-vicinity (library-vicinity) "slibcat")))
|
||||||
|
(and (file-exists? catpath) (delete-file catpath))
|
||||||
|
(call-with-output-file catpath
|
||||||
|
(lambda (op)
|
||||||
|
|
||||||
|
--- slib/require.scm 2009-08-03 04:09:47.000000000 +0200
|
||||||
|
+++ slib/require.scm 2009-09-29 14:13:56.000000000 +0200
|
||||||
|
@@ -74,7 +74,7 @@
|
||||||
|
|
||||||
|
(define (catalog:get feature)
|
||||||
|
(if (not *catalog*)
|
||||||
|
- (let ((slibcat (catalog:try-read (implementation-vicinity) "slibcat")))
|
||||||
|
+ (let ((slibcat (catalog:try-read (library-vicinity) "slibcat")))
|
||||||
|
(cond ((not (catalog/require-version-match? slibcat))
|
||||||
|
(slib:load-source (in-vicinity (library-vicinity) "mklibcat"))
|
||||||
|
(set! slibcat
|
59
pkgs/development/libraries/slib/default.nix
Normal file
59
pkgs/development/libraries/slib/default.nix
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
{ fetchurl, stdenv, unzip, scheme, texinfo }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "slib-3b2";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://groups.csail.mit.edu/mac/ftpdir/scm/${name}.zip";
|
||||||
|
sha256 = "1s6a7f3ha2bhwj4nkg34n0j511ww1nlgrn5xis8k53l8ghdrrjxi";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [ ./catalog-in-library-vicinity.patch ];
|
||||||
|
|
||||||
|
buildInputs = [ unzip scheme texinfo ];
|
||||||
|
|
||||||
|
configurePhase = ''
|
||||||
|
ensureDir "$out"
|
||||||
|
sed -i "Makefile" \
|
||||||
|
-e "s|^[[:blank:]]*prefix[[:blank:]]*=.*$|prefix = $out/|g"
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildPhase = "make infoz";
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
make install
|
||||||
|
|
||||||
|
ln -s mklibcat{.scm,}
|
||||||
|
SCHEME_LIBRARY_PATH="$out/lib/slib" make catalogs
|
||||||
|
|
||||||
|
sed -i "$out/bin/slib" \
|
||||||
|
-e "/^SCHEME_LIBRARY_PATH/i export PATH=\"${scheme}/bin:$PATH\""
|
||||||
|
'';
|
||||||
|
|
||||||
|
# There's no test suite (?!).
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "The SLIB Portable Scheme Library";
|
||||||
|
|
||||||
|
longDescription = ''
|
||||||
|
SLIB is a portable library for the programming language Scheme. It
|
||||||
|
provides a platform independent framework for using packages of Scheme
|
||||||
|
procedures and syntax. As distributed, SLIB contains useful packages
|
||||||
|
for all Scheme implementations. Its catalog can be transparently
|
||||||
|
extended to accomodate packages specific to a site, implementation,
|
||||||
|
user, or directory.
|
||||||
|
|
||||||
|
SLIB supports Bigloo, Chez, ELK 3.0, Gambit 4.0, Guile, JScheme, Kawa,
|
||||||
|
Larceny, MacScheme, MIT/GNU Scheme, Pocket Scheme, RScheme, scheme->C,
|
||||||
|
Scheme48, SCM, SCM Mac, scsh, sisc, Stk, T3.1, umb-scheme, and VSCM.
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Public domain + permissive (non-copyleft) licensing of some files.
|
||||||
|
license = "public domain";
|
||||||
|
|
||||||
|
homepage = http://people.csail.mit.edu/jaffer/SLIB;
|
||||||
|
|
||||||
|
maintainers = [ stdenv.lib.maintainers.ludo ];
|
||||||
|
};
|
||||||
|
}
|
@ -4268,6 +4268,11 @@ let
|
|||||||
inherit fetchurl stdenv ncurses pcre libpng zlib readline;
|
inherit fetchurl stdenv ncurses pcre libpng zlib readline;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
slibGuile = import ../development/libraries/slib {
|
||||||
|
inherit fetchurl stdenv unzip texinfo;
|
||||||
|
scheme = guile;
|
||||||
|
};
|
||||||
|
|
||||||
snack = import ../development/libraries/snack {
|
snack = import ../development/libraries/snack {
|
||||||
inherit fetchurl stdenv tcl tk pkgconfig x11;
|
inherit fetchurl stdenv tcl tk pkgconfig x11;
|
||||||
# optional
|
# optional
|
||||||
|
Loading…
x
Reference in New Issue
Block a user