2021-01-17 00:15:33 +00:00
|
|
|
{ lib, stdenv, fetchFromGitHub, makeWrapper
|
2020-05-15 21:57:56 +00:00
|
|
|
, adoptopenjdk-bin, jre, ant
|
2020-04-24 23:36:52 +00:00
|
|
|
}:
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
pname = "tlaplus";
|
2020-05-15 21:57:56 +00:00
|
|
|
version = "1.7.0";
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "tlaplus";
|
|
|
|
repo = "tlaplus";
|
|
|
|
rev = "refs/tags/v${version}";
|
2020-05-15 21:57:56 +00:00
|
|
|
sha256 = "1mm6r9bq79zks50yk0agcpdkw9yy994m38ibmgpb3bi3wkpq9891";
|
2020-04-24 23:36:52 +00:00
|
|
|
};
|
|
|
|
|
2020-05-15 21:57:56 +00:00
|
|
|
buildInputs = [ makeWrapper adoptopenjdk-bin ant ];
|
2020-04-24 23:36:52 +00:00
|
|
|
|
2020-05-15 21:57:56 +00:00
|
|
|
buildPhase = "ant -f tlatools/org.lamport.tlatools/customBuild.xml compile dist";
|
2020-04-24 23:36:52 +00:00
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out/share/java $out/bin
|
2020-05-15 21:57:56 +00:00
|
|
|
cp tlatools/org.lamport.tlatools/dist/*.jar $out/share/java
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
makeWrapper ${jre}/bin/java $out/bin/tlc2 \
|
|
|
|
--add-flags "-cp $out/share/java/tla2tools.jar tlc2.TLC"
|
|
|
|
makeWrapper ${jre}/bin/java $out/bin/tla2sany \
|
|
|
|
--add-flags "-cp $out/share/java/tla2tools.jar tla2sany.SANY"
|
|
|
|
makeWrapper ${jre}/bin/java $out/bin/pcal \
|
|
|
|
--add-flags "-cp $out/share/java/tla2tools.jar pcal.trans"
|
|
|
|
makeWrapper ${jre}/bin/java $out/bin/tla2tex \
|
|
|
|
--add-flags "-cp $out/share/java/tla2tools.jar tla2tex.TLA"
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = {
|
|
|
|
description = "An algorithm specification language with model checking tools";
|
|
|
|
homepage = "http://lamport.azurewebsites.net/tla/tla.html";
|
2021-01-17 00:15:33 +00:00
|
|
|
license = lib.licenses.mit;
|
|
|
|
platforms = lib.platforms.unix;
|
|
|
|
maintainers = [ lib.maintainers.thoughtpolice ];
|
2020-04-24 23:36:52 +00:00
|
|
|
};
|
|
|
|
}
|