2021-01-11 07:54:33 +00:00
|
|
|
{ lib, stdenv, fetchurl, perl, ocaml, findlib, ocamlbuild }:
|
2018-08-21 18:52:09 +00:00
|
|
|
|
2021-01-11 12:49:15 +00:00
|
|
|
if lib.versionAtLeast ocaml.version "4.06"
|
2018-08-21 18:52:09 +00:00
|
|
|
then throw "cil is not available for OCaml ${ocaml.version}"
|
|
|
|
else
|
|
|
|
|
2021-11-09 19:42:54 +00:00
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
pname = "ocaml-cil";
|
|
|
|
version = "1.7.3";
|
|
|
|
|
2014-11-22 22:50:31 +00:00
|
|
|
src = fetchurl {
|
2021-11-09 19:42:54 +00:00
|
|
|
url = "mirror://sourceforge/cil/cil-${version}.tar.gz";
|
2014-11-22 22:50:31 +00:00
|
|
|
sha256 = "05739da0b0msx6kmdavr3y2bwi92jbh3szc35d7d8pdisa8g5dv9";
|
|
|
|
};
|
|
|
|
|
2022-02-22 09:59:04 +00:00
|
|
|
nativeBuildInputs = [ perl ocaml findlib ocamlbuild ];
|
|
|
|
|
|
|
|
strictDeps = true;
|
2014-11-22 22:50:31 +00:00
|
|
|
|
|
|
|
createFindlibDestdir = true;
|
|
|
|
|
|
|
|
preConfigure = ''
|
2018-02-21 17:21:11 +00:00
|
|
|
substituteInPlace Makefile.in --replace 'MACHDEPCC=gcc' 'MACHDEPCC=$(CC)'
|
2014-11-22 22:50:31 +00:00
|
|
|
export FORCE_PERL_PREFIX=1
|
|
|
|
'';
|
|
|
|
prefixKey = "-prefix=";
|
|
|
|
|
2021-01-11 07:54:33 +00:00
|
|
|
meta = with lib; {
|
2020-04-01 01:11:51 +00:00
|
|
|
homepage = "http://kerneis.github.io/cil/";
|
2014-11-22 22:50:31 +00:00
|
|
|
description = "A front-end for the C programming language that facilitates program analysis and transformation";
|
|
|
|
license = licenses.bsd3;
|
|
|
|
maintainers = [ maintainers.vbgl ];
|
2021-11-09 19:53:19 +00:00
|
|
|
platforms = ocaml.meta.platforms or [ ];
|
2014-11-22 22:50:31 +00:00
|
|
|
};
|
|
|
|
}
|