nixpkgs-suyu/pkgs/development/coq-modules/mathcomp/generic.nix
Vincent Laporte 42bf99ef44 coqPackages.{ssreflect,mathcomp}: fix build with Coq-8.6
by adding `findlib` as a build input.

Also clean `default.nix` a little bit.
2017-01-25 13:06:11 +00:00

41 lines
1.2 KiB
Nix

{ stdenv, fetchurl, coq, ssreflect, ncurses, which
, graphviz, withDoc ? false
, src, name
}:
stdenv.mkDerivation {
inherit name;
inherit src;
nativeBuildInputs = stdenv.lib.optionals withDoc [ graphviz ];
buildInputs = [ coq.ocaml coq.findlib coq.camlp5 ncurses which ];
propagatedBuildInputs = [ coq ssreflect ];
enableParallelBuilding = true;
buildFlags = stdenv.lib.optionalString withDoc "doc";
preBuild = ''
patchShebangs etc/utils/ssrcoqdep
cd mathcomp
export COQBIN=${coq}/bin/
'';
installPhase = ''
make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install
rm -fr $out/lib/coq/${coq.coq-version}/user-contrib/mathcomp/ssreflect*
rm -fr $out/lib/coq/${coq.coq-version}/user-contrib/ssrmatching.cmi
rm -fr $out/share/coq/${coq.coq-version}/user-contrib/mathcomp/ssreflect*
'' + stdenv.lib.optionalString withDoc ''
make -f Makefile.coq install-doc DOCDIR=$out/share/coq/${coq.coq-version}/
'';
meta = with stdenv.lib; {
homepage = http://ssr.msr-inria.inria.fr/;
license = licenses.cecill-b;
maintainers = [ maintainers.vbgl maintainers.jwiegley ];
platforms = coq.meta.platforms;
};
}