Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 68 lines 1.4 kB view raw
1{ 2 fetchurl, 3 lib, 4 stdenv, 5 ocaml, 6 isabelle, 7 cvc3, 8 perl, 9 wget, 10 which, 11}: 12 13stdenv.mkDerivation rec { 14 pname = "tlaps"; 15 version = "1.4.5"; 16 src = fetchurl { 17 url = "https://tla.msr-inria.inria.fr/tlaps/dist/${version}/tlaps-${version}.tar.gz"; 18 sha256 = "c296998acd14d5b93a8d5be7ee178007ef179957465966576bda26944b1b7fca"; 19 }; 20 21 strictDeps = true; 22 23 nativeBuildInputs = [ 24 ocaml 25 isabelle 26 cvc3 27 perl 28 wget 29 which 30 ]; 31 32 installPhase = '' 33 mkdir -pv "$out" 34 export HOME="$out" 35 export PATH=$out/bin:$PATH 36 37 pushd zenon 38 ./configure --prefix $out 39 make 40 make install 41 popd 42 43 pushd isabelle 44 isabelle build -b Pure 45 popd 46 47 pushd tlapm 48 ./configure --prefix $out 49 make all 50 make install 51 ''; 52 53 meta = { 54 description = "Mechanically check TLA+ proofs"; 55 longDescription = '' 56 TLA+ is a general-purpose formal specification language that is 57 particularly useful for describing concurrent and distributed 58 systems. The TLA+ proof language is declarative, hierarchical, 59 and scalable to large system specifications. It provides a 60 consistent abstraction over the various backend verifiers. 61 ''; 62 homepage = "https://tla.msr-inria.inria.fr/tlaps/content/Home.html"; 63 license = lib.licenses.bsd2; 64 platforms = lib.platforms.unix; 65 maintainers = with lib.maintainers; [ florentc ]; 66 }; 67 68}