From b3b02fe65691ac133515d80be109d1e26ddd6e12 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Sun, 1 May 2016 03:05:16 +0000 Subject: [PATCH] nixpkgs: chez scheme 9.4 Signed-off-by: Austin Seipp --- pkgs/development/compilers/chez/default.nix | 48 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 50 insertions(+) create mode 100644 pkgs/development/compilers/chez/default.nix diff --git a/pkgs/development/compilers/chez/default.nix b/pkgs/development/compilers/chez/default.nix new file mode 100644 index 000000000000..f9e0627f8aa5 --- /dev/null +++ b/pkgs/development/compilers/chez/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchgit, ncurses, libX11 }: + +stdenv.mkDerivation rec { + name = "chez-scheme-${version}"; + version = "9.4-${dver}"; + dver = "20160430"; + + src = fetchgit { + url = "https://github.com/cisco/ChezScheme.git"; + rev = "63a97939896c2a89fcffdf16c8b783efaeb816b5"; + sha256 = "1c58xjslgn7xnfy9j5p9b6sn0wzv2mk7zlmhflydzil7iimchjsi"; + fetchSubmodules = true; + }; + + enableParallelBuilding = true; + buildInputs = [ ncurses libX11 ]; + + /* Chez uses a strange default search path, which completely + ** ignores the installation prefix for some reason, and instead + ** defaults to {/usr,/usr/local,$HOME}/lib for finding the .boot + ** file. + ** + ** Also, we patch out a very annoying 'feature' in ./configure, too. + */ + patchPhase = '' + substituteInPlace c/scheme.c \ + --replace "/usr/lib/csv" "$out/lib/csv" + + substituteInPlace ./configure \ + --replace "git submodule init && git submodule update || exit 1" "" + ''; + + /* Don't use configureFlags, since that just implicitly appends + ** everything onto a --prefix flag, which ./configure gets very angry + ** about. + */ + configurePhase = '' + ./configure --threads --installprefix=$out --installman=$out/share/man + ''; + + meta = { + description = "A powerful and incredibly fast R6RS Scheme compiler"; + homepage = "http://www.scheme.com"; + license = stdenv.lib.licenses.asl20; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ thoughtpolice ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index adddcaf80afb..5b391263b1fa 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4028,6 +4028,8 @@ in ccl = callPackage ../development/compilers/ccl { }; + chez = callPackage ../development/compilers/chez { }; + clang = llvmPackages.clang; clang_38 = llvmPackages_38.clang;