Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 65 lines 1.2 kB view raw
1{ 2 stdenv, 3 lib, 4 fetchFromGitHub, 5 makeWrapper, 6 bison, 7 gcc, 8 tk, 9 swarm, 10 graphviz, 11}: 12 13let 14 binPath = lib.makeBinPath [ 15 gcc 16 graphviz 17 tk 18 swarm 19 ]; 20in 21 22stdenv.mkDerivation rec { 23 pname = "spin"; 24 version = "6.5.2"; 25 26 src = fetchFromGitHub { 27 owner = "nimble-code"; 28 repo = "Spin"; 29 rev = "version-${version}"; 30 sha256 = "sha256-drvQXfDZCZRycBZt/VNngy8zs4XVJg+d1b4dQXVcyFU="; 31 }; 32 33 nativeBuildInputs = [ makeWrapper ]; 34 buildInputs = [ bison ]; 35 36 sourceRoot = "${src.name}/Src"; 37 38 preBuild = '' 39 mkdir -p $out/bin 40 mkdir -p $out/share/man/man1 41 ''; 42 43 enableParallelBuilding = true; 44 makeFlags = [ "DESTDIR=$(out)" ]; 45 46 postInstall = '' 47 wrapProgram $out/bin/spin --prefix PATH : ${binPath} 48 49 mkdir -p $out/share/spin 50 cp $src/optional_gui/ispin.tcl $out/share/spin 51 makeWrapper $out/share/spin/ispin.tcl $out/bin/ispin \ 52 --prefix PATH : $out/bin:${binPath} 53 ''; 54 55 meta = with lib; { 56 description = "Formal verification tool for distributed software systems"; 57 homepage = "https://spinroot.com/"; 58 license = licenses.bsd3; 59 platforms = platforms.unix; 60 maintainers = with maintainers; [ 61 pSub 62 siraben 63 ]; 64 }; 65}