diff --git a/pkgs/development/interpreters/tinyscheme/default.nix b/pkgs/development/interpreters/tinyscheme/default.nix new file mode 100644 index 000000000000..f2c5fd938cec --- /dev/null +++ b/pkgs/development/interpreters/tinyscheme/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "tinyscheme-${version}"; + version = "1.41"; + + src = fetchurl { + url = "mirror://sourceforge/tinyscheme/${name}.tar.gz"; + sha256 = "168rk4zrlhsknbvldq2jsgabpwlqkx6la44gkqmijmf7jhs11h7a"; + }; + + patchPhase = '' + substituteInPlace scheme.c --replace "init.scm" "$out/lib/init.scm" + ''; + + installPhase = '' + mkdir -p $out/bin $out/lib + cp init.scm $out/lib + cp scheme $out/bin/tinyscheme + ''; + + meta = with stdenv.lib; { + description = "Lightweight Scheme implementation"; + longDescription = '' + TinyScheme is a lightweight Scheme interpreter that implements as large a + subset of R5RS as was possible without getting very large and complicated. + ''; + homepage = http://tinyscheme.sourceforge.net/; + license = licenses.bsdOriginal; + maintainers = [ maintainers.ebzzry ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 29f8a70204dd..b15f3ac79f5d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7578,6 +7578,8 @@ in tinycc = callPackage ../development/compilers/tinycc { }; + tinyscheme = callPackage ../development/interpreters/tinyscheme { }; + inherit (ocaml-ng.ocamlPackages_4_02) trv; bupc = callPackage ../development/compilers/bupc { };