1{ lib, stdenv, fetchFromGitHub, libck, darwin }:
2
3let
4 version = "0.34.0";
5 bootstrap = stdenv.mkDerivation {
6 pname = "cyclone-bootstrap";
7 inherit version;
8
9 src = fetchFromGitHub {
10 owner = "justinethier";
11 repo = "cyclone-bootstrap";
12 rev = "v${version}";
13 sha256 = "sha256-kJBPb0Ej32HveY/vdGpH2gyxSwq8Xq7muneFIw3Y7hM=";
14 };
15
16 enableParallelBuilding = true;
17
18 nativeBuildInputs = lib.optionals stdenv.isDarwin [ darwin.cctools ];
19
20 buildInputs = [ libck ];
21
22 makeFlags = [ "PREFIX=${placeholder "out"}" ];
23 };
24in
25stdenv.mkDerivation {
26 pname = "cyclone";
27 inherit version;
28
29 src = fetchFromGitHub {
30 owner = "justinethier";
31 repo = "cyclone";
32 rev = "v${version}";
33 sha256 = "sha256-4U/uOTbFpPTC9BmO6Wkhy4PY8UCFVt5eHSGqrOlKT/U=";
34 };
35
36 enableParallelBuilding = true;
37
38 nativeBuildInputs = [ bootstrap ]
39 ++ lib.optionals stdenv.isDarwin [ darwin.cctools ];
40
41 buildInputs = [ libck ];
42
43 makeFlags = [ "PREFIX=${placeholder "out"}" ];
44
45 meta = with lib; {
46 homepage = "https://justinethier.github.io/cyclone/";
47 description = "A brand-new compiler that allows practical application development using R7RS Scheme";
48 license = licenses.mit;
49 maintainers = with maintainers; [ siraben ];
50 };
51}