Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / slib / default.nix
blob91c32b5dd3a885663a2cdcf036ab5038cd283b4d
1 { lib, stdenv, fetchurl, scheme, texinfo, unzip }:
3 stdenv.mkDerivation rec {
4   pname = "slib";
5   version = "3b7";
7   src = fetchurl {
8     url = "https://groups.csail.mit.edu/mac/ftpdir/scm/${pname}-${version}.zip";
9     hash = "sha256-9dXNrTNTlaWlqjfv/iiqgHiyFuo5kR9lGSlnjxrCKLY=";
10   };
12   patches = [
13     ./catalog-in-library-vicinity.patch
14   ];
16   # slib:require unsupported feature color-database
17   postPatch = ''
18     substituteInPlace Makefile \
19       --replace " clrnamdb.scm" ""
20   '';
22   nativeBuildInputs = [ scheme texinfo unzip ];
23   buildInputs = [ scheme ];
25   postInstall = ''
26     ln -s mklibcat{.scm,}
27     SCHEME_LIBRARY_PATH="$out/lib/slib" make catalogs
29     sed -i \
30       -e '2i export PATH="${scheme}/bin:$PATH"' \
31       -e '3i export GUILE_AUTO_COMPILE=0' \
32       $out/bin/slib
33   '';
35   # There's no test suite (?!).
36   doCheck = false;
38   setupHook = ./setup-hook.sh;
40   meta = {
41     description = "The SLIB Portable Scheme Library";
43     longDescription = ''
44       SLIB is a portable library for the programming language Scheme.  It
45       provides a platform independent framework for using packages of Scheme
46       procedures and syntax.  As distributed, SLIB contains useful packages
47       for all Scheme implementations.  Its catalog can be transparently
48       extended to accommodate packages specific to a site, implementation,
49       user, or directory.
51       SLIB supports Bigloo, Chez, ELK 3.0, Gambit 4.0, Guile, JScheme, Kawa,
52       Larceny, MacScheme, MIT/GNU Scheme, Pocket Scheme, RScheme, scheme->C,
53       Scheme48, SCM, SCM Mac, scsh, sisc, Stk, T3.1, umb-scheme, and VSCM.
54     '';
56     # Public domain + permissive (non-copyleft) licensing of some files.
57     license = lib.licenses.publicDomain;
59     homepage = "http://people.csail.mit.edu/jaffer/SLIB";
61     maintainers = [ ];
62     platforms = lib.platforms.unix;
63   };