From d5f1dce6c8793220a5512557848d887005ae01f2 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Mon, 28 Sep 2020 23:04:32 +0200 Subject: [PATCH] coqPackages.VST: init at 2.6 --- pkgs/development/coq-modules/VST/default.nix | 43 ++++++++++++++++++++ pkgs/top-level/coq-packages.nix | 1 + 2 files changed, 44 insertions(+) create mode 100644 pkgs/development/coq-modules/VST/default.nix diff --git a/pkgs/development/coq-modules/VST/default.nix b/pkgs/development/coq-modules/VST/default.nix new file mode 100644 index 00000000000..a625aa54c14 --- /dev/null +++ b/pkgs/development/coq-modules/VST/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchFromGitHub, coq, compcert }: + +stdenv.mkDerivation rec { + pname = "coq${coq.coq-version}-VST"; + version = "2.6"; + + src = fetchFromGitHub { + owner = "PrincetonUniversity"; + repo = "VST"; + rev = "v${version}"; + sha256 = "00bf9hl4pvmsqa08lzjs1mrxyfgfxq4k6778pnldmc8ichm90jgk"; + }; + + buildInputs = [ coq ]; + propagatedBuildInputs = [ compcert ]; + + preConfigure = "patchShebangs util"; + + makeFlags = [ + "BITSIZE=64" + "COMPCERT=inst_dir" + "COMPCERT_INST_DIR=${compcert.lib}/lib/coq/${coq.coq-version}/user-contrib/compcert" + "INSTALLDIR=$(out)/lib/coq/${coq.coq-version}/user-contrib/VST" + ]; + + postInstall = '' + for d in msl veric floyd sepcomp progs64 + do + cp -r $d $out/lib/coq/${coq.coq-version}/user-contrib/VST/ + done + ''; + + enableParallelBuilding = true; + + passthru.compatibleCoqVersions = stdenv.lib.flip builtins.elem [ "8.11" ]; + + meta = { + description = "Verified Software Toolchain"; + homepage = "https://vst.cs.princeton.edu/"; + inherit (compcert.meta) platforms; + }; + +} diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix index c6c75cd7ffd..fe6cd81f9ea 100644 --- a/pkgs/top-level/coq-packages.nix +++ b/pkgs/top-level/coq-packages.nix @@ -59,6 +59,7 @@ let tlc = callPackage ../development/coq-modules/tlc {}; Velisarios = callPackage ../development/coq-modules/Velisarios {}; Verdi = callPackage ../development/coq-modules/Verdi {}; + VST = callPackage ../development/coq-modules/VST {}; filterPackages = filterCoqPackages; };