summary refs log tree commit diff
path: root/pkgs/applications/science
diff options
context:
space:
mode:
authorAustin Seipp <aseipp@pobox.com>2017-12-30 18:59:39 -0600
committerAustin Seipp <aseipp@pobox.com>2017-12-30 19:01:29 -0600
commit3813ab2589f7e1e60df63c9b7de7928f895f47f8 (patch)
tree22239236cc0075c1e45b2005e71fa83f3510cd13 /pkgs/applications/science
parenta31bdc07395d5ccdeeea3961fa24c235e06aed1a (diff)
downloadnixlib-3813ab2589f7e1e60df63c9b7de7928f895f47f8.tar
nixlib-3813ab2589f7e1e60df63c9b7de7928f895f47f8.tar.gz
nixlib-3813ab2589f7e1e60df63c9b7de7928f895f47f8.tar.bz2
nixlib-3813ab2589f7e1e60df63c9b7de7928f895f47f8.tar.lz
nixlib-3813ab2589f7e1e60df63c9b7de7928f895f47f8.tar.xz
nixlib-3813ab2589f7e1e60df63c9b7de7928f895f47f8.tar.zst
nixlib-3813ab2589f7e1e60df63c9b7de7928f895f47f8.zip
nixpkgs: init sapic 0.9
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Diffstat (limited to 'pkgs/applications/science')
-rw-r--r--pkgs/applications/science/logic/sapic/default.nix28
-rw-r--r--pkgs/applications/science/logic/sapic/native.patch38
2 files changed, 66 insertions, 0 deletions
diff --git a/pkgs/applications/science/logic/sapic/default.nix b/pkgs/applications/science/logic/sapic/default.nix
new file mode 100644
index 000000000000..27efe865a9d9
--- /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 000000000000..6e0b98113df2
--- /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