summary refs log tree commit diff
path: root/pkgs/development/compilers/compcert/default.nix
blob: bdf850df8cb208d8467a1ed0e51dcd3d515c097e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{ stdenv, fetchurl, coq, ocaml, ocamlPackages, gcc }:

stdenv.mkDerivation rec {
  name    = "compcert-${version}";
  version = "2.4";

  src = fetchurl {
    url    = "http://compcert.inria.fr/release/${name}.tgz";
    sha256 = "1qrb1cplx3v5wxn1c46kx67v1j52yznvjm2hkrsdybphhki2pyia";
  };

  buildInputs = [ coq ocaml ocamlPackages.menhir ];

  enableParallelBuilding = true;
  configurePhase = "./configure -prefix $out -toolprefix ${gcc}/bin/ " +
    (if stdenv.isDarwin then "ia32-macosx" else "ia32-linux");

  meta = with stdenv.lib; {
    description = "Formally verified C compiler";
    homepage    = "http://compcert.inria.fr";
    license     = licenses.inria;
    platforms   = platforms.linux ++
                  platforms.darwin;
    maintainers = with maintainers; [ thoughtpolice jwiegley vbgl ];
  };
}