push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -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

View File

@@ -0,0 +1,76 @@
{
lib,
stdenv,
fetchurl,
scheme,
texinfo,
unzip,
}:
stdenv.mkDerivation rec {
pname = "slib";
version = "3c1";
src = fetchurl {
url = "https://groups.csail.mit.edu/mac/ftpdir/scm/${pname}-${version}.zip";
hash = "sha256-wvjrmOYFMN9TIRmF1LQDtul6epaYM8Gm0b+DVh2gx4E=";
};
patches = [
./catalog-in-library-vicinity.patch
];
# slib:require unsupported feature color-database
postPatch = ''
substituteInPlace Makefile \
--replace " clrnamdb.scm" ""
'';
nativeBuildInputs = [
scheme
texinfo
unzip
];
buildInputs = [ scheme ];
postInstall = ''
ln -s mklibcat{.scm,}
SCHEME_LIBRARY_PATH="$out/lib/slib" make catalogs
sed -i \
-e '2i export PATH="${scheme}/bin:$PATH"' \
-e '3i export GUILE_AUTO_COMPILE=0' \
$out/bin/slib
'';
# There's no test suite (?!).
doCheck = false;
setupHook = ./setup-hook.sh;
meta = {
description = "SLIB Portable Scheme Library";
mainProgram = "slib";
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 accommodate 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 = lib.licenses.publicDomain;
homepage = "https://people.csail.mit.edu/jaffer/SLIB";
maintainers = [ ];
platforms = lib.platforms.unix;
};
}

View File

@@ -0,0 +1,13 @@
addSlibPath () {
if test -f "$1/lib/slib/slibcat"
then
export SCHEME_LIBRARY_PATH="$1/lib/slib/"
echo "SLIB found in \`$1'; setting \$SCHEME_LIBRARY_PATH to \`$SCHEME_LIBRARY_PATH'"
# This is needed so that `(load-from-path "slib/guile.init")' works.
export GUILE_LOAD_PATH="$1/lib:$GUILE_LOAD_PATH"
echo "SLIB: setting \$GUILE_LOAD_PATH to \`$GUILE_LOAD_PATH'"
fi
}
addEnvHooks "$hostOffset" addSlibPath