From 3813ab2589f7e1e60df63c9b7de7928f895f47f8 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Sat, 30 Dec 2017 18:59:39 -0600 Subject: [PATCH] nixpkgs: init sapic 0.9 Signed-off-by: Austin Seipp --- .../science/logic/sapic/default.nix | 28 ++++++++++++++ .../science/logic/sapic/native.patch | 38 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 68 insertions(+) create mode 100644 pkgs/applications/science/logic/sapic/default.nix create mode 100644 pkgs/applications/science/logic/sapic/native.patch diff --git a/pkgs/applications/science/logic/sapic/default.nix b/pkgs/applications/science/logic/sapic/default.nix new file mode 100644 index 00000000000..27efe865a9d --- /dev/null +++ b/pkgs/applications/science/logic/sapic/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, unzip, ocaml }: + +stdenv.mkDerivation rec { + name = "sapic-${version}"; + version = "0.9"; + + src = fetchurl { + url = "http://sapic.gforge.inria.fr/${name}.zip"; + sha256 = "1ckl090lpyfh90mkjhnpcys5grs3nrl9wlbn9nfkxxnaivn2yx9y"; + }; + + nativeBuildInputs = [ unzip ]; + buildInputs = [ ocaml ]; + patches = [ ./native.patch ]; # create a native binary, not a bytecode one + + buildPhase = "make depend && make"; + installPhase = '' + mkdir -p $out/bin + cp ./sapic $out/bin + ''; + + meta = { + description = "Stateful applied Pi Calculus for protocol verification"; + homepage = http://sapic.gforge.inria.fr/; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/applications/science/logic/sapic/native.patch b/pkgs/applications/science/logic/sapic/native.patch new file mode 100644 index 00000000000..6e0b98113df --- /dev/null +++ b/pkgs/applications/science/logic/sapic/native.patch @@ -0,0 +1,38 @@ +diff --git a/Makefile b/Makefile +index a1de94d..f9e2eb8 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,8 +1,8 @@ + TARGET = sapic +-OBJS=lexer.cmo apip.cmo firsttranslation.cmo main.cmo #secondtranslation.cmo thirdtranslation.cmo main.cmo ++OBJS=lexer.cmx apip.cmx firsttranslation.cmx main.cmx + + sapic: $(OBJS) +- ocamlc -o $@ $(OBJS) ++ ocamlopt.opt -o $@ $(OBJS) + + depend: + ocamldep *.ml *.mli > .depend +@@ -13,17 +13,17 @@ clean: + rm -rf *.cmi *.cmo $(TARGET) + rm -rf apip.ml apip.mli lexer.ml lexer.mli + +-.SUFFIXES: .ml .mli .mll .mly .cmo .cmi ++.SUFFIXES: .ml .mli .mll .mly .cmo .cmi .cmx + +-.ml.cmo: +- ocamlc -c $< ++.ml.cmx: ++ ocamlopt.opt -c $< + .mli.cmi: +- ocamlc -c $< ++ ocamlopt.opt -c $< + .mll.ml: + ocamllex $< + .mly.ml: + ocamlyacc $< + .ml.mli: +- ocamlc -i $< > $@ ++ ocamlopt.opt -i $< > $@ + + -include .depend diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5c47f2b7c99..72d26445b0d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19026,6 +19026,8 @@ with pkgs; proverif = callPackage ../applications/science/logic/proverif { }; + sapic = callPackage ../applications/science/logic/sapic { }; + satallax = callPackage ../applications/science/logic/satallax { ocaml = ocamlPackages_4_01_0.ocaml; };