1args:
2{ stdenv, lib, fetchFromGitHub, coreutils, darwin
3, ncurses, libiconv, libX11, zlib, lz4
4}:
5
6stdenv.mkDerivation (args // {
7 version = "unstable-2021-12-11";
8
9 src = fetchFromGitHub {
10 owner = "racket";
11 repo = "ChezScheme";
12 rev = "8846c96b08561f05a937d5ecfe4edc96cc99be39";
13 sha256 = "IYJQzT88T8kFahx2BusDOyzz6lQDCbZIfSz9rZoNF7A=";
14 fetchSubmodules = true;
15 };
16
17 prePatch = ''
18 rm -rf zlib/*.c lz4/lib/*.c
19 '';
20
21 postPatch = ''
22 export ZLIB="$(find ${zlib.out}/lib -type f | sort | head -n1)"
23 export LZ4="$(find ${lz4.out}/lib -type f | sort | head -n1)"
24 '';
25
26 nativeBuildInputs = lib.optionals stdenv.isDarwin (with darwin; [ cctools autoSignDarwinBinariesHook ]);
27 buildInputs = [ libiconv libX11 lz4 ncurses zlib ];
28
29 enableParallelBuilding = true;
30
31 env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isGNU "-Wno-error=format-truncation";
32
33 meta = {
34 description = "Fork of Chez Scheme for Racket";
35 homepage = "https://github.com/racket/ChezScheme";
36 license = lib.licenses.asl20;
37 maintainers = with lib.maintainers; [ l-as ];
38 platforms = lib.platforms.unix;
39 };
40})