scmutils: init at 20230902
This commit is contained in:
parent
e9f994aaff
commit
f257eded3e
68
pkgs/by-name/sc/scmutils/package.nix
Normal file
68
pkgs/by-name/sc/scmutils/package.nix
Normal file
@ -0,0 +1,68 @@
|
||||
{
|
||||
stdenv,
|
||||
fetchurl,
|
||||
lib,
|
||||
mitschemeX11,
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "scmutils";
|
||||
version = "20230902";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://groups.csail.mit.edu/mac/users/gjs/6946/mechanics-system-installation/native-code/${finalAttrs.pname}-src-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-9/shOxoKwJ4uDTHmvXqhemgy3W+GUCmoqFm5e1t3W0M=";
|
||||
};
|
||||
|
||||
buildInputs = [ mitschemeX11 ];
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
ln -r -s kernel/ghelper-pro.scm kernel/ghelper.scm
|
||||
ln -r -s solve/nnsolve.scm solve/solve.scm
|
||||
substituteInPlace load.scm \
|
||||
--replace-fail '/usr/local/scmutils/' "$out/lib/mit-scheme/"
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
echo '(load "compile")' | mit-scheme --no-init-file --batch-mode --interactive
|
||||
echo '(load "load") (disk-save "edwin-mechanics.com")' | mit-scheme --no-init-file --batch-mode --interactive
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p "$out/lib/mit-scheme/" "$out/share/scmutils" "$out/bin"
|
||||
cp edwin-mechanics.com "$out/lib/mit-scheme/"
|
||||
declare -r TARGET="$out/lib/mit-scheme/"
|
||||
for SRC in $(find * -type f -name '*.bci'); do
|
||||
install -d "$TARGET"scmutils/"$(dirname "$SRC")"
|
||||
cp -a "$SRC" "$TARGET"scmutils/"$SRC"
|
||||
done
|
||||
# Convenience script to load the band
|
||||
declare -r CMD="exec ${mitschemeX11}/bin/mit-scheme --band $out/lib/mit-scheme/edwin-mechanics.com"
|
||||
echo "#!$SHELL" > $out/bin/scmutils
|
||||
echo "$CMD" "\"\$@\"" >> $out/bin/scmutils
|
||||
echo "#!$SHELL" > $out/bin/edwin-scmutils
|
||||
echo "$CMD" "--edit" "\"\$@\"" >> $out/bin/edwin-scmutils
|
||||
chmod uog+rx "$out/bin/scmutils" "$out/bin/edwin-scmutils"
|
||||
ln -r -s "$out/bin/edwin-scmutils" "$out/bin/mechanics"
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Scheme library for mathematical physics";
|
||||
|
||||
longDescription = ''
|
||||
Scmutils system is an integrated library of procedures,
|
||||
embedded in the programming language Scheme, and intended
|
||||
to support teaching and research in mathematical physics
|
||||
and electrical engineering.
|
||||
'';
|
||||
|
||||
homepage = "https://groups.csail.mit.edu/mac/users/gjs/6.5160/installation.html";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = [ lib.maintainers.fbeffa ];
|
||||
};
|
||||
})
|
Loading…
Reference in New Issue
Block a user