summary refs log tree commit diff
path: root/pkgs/development/ocaml-modules
diff options
context:
space:
mode:
authorvbgl <vbgl@users.noreply.github.com>2015-06-27 18:52:03 +0200
committervbgl <vbgl@users.noreply.github.com>2015-06-27 18:52:03 +0200
commit742824bd78cce63870ce89d2cf4b3f8b018c4052 (patch)
tree49ffc8ded5567f92038decc8088ab8c27501ae23 /pkgs/development/ocaml-modules
parente4d16dcc720c947993ab6306235c9305c85e4580 (diff)
parent9c0f1eefc616bcf7d83fb834d448d1b4aa6e434f (diff)
downloadnixlib-742824bd78cce63870ce89d2cf4b3f8b018c4052.tar
nixlib-742824bd78cce63870ce89d2cf4b3f8b018c4052.tar.gz
nixlib-742824bd78cce63870ce89d2cf4b3f8b018c4052.tar.bz2
nixlib-742824bd78cce63870ce89d2cf4b3f8b018c4052.tar.lz
nixlib-742824bd78cce63870ce89d2cf4b3f8b018c4052.tar.xz
nixlib-742824bd78cce63870ce89d2cf4b3f8b018c4052.tar.zst
nixlib-742824bd78cce63870ce89d2cf4b3f8b018c4052.zip
Merge pull request #8291 from maurer/misc-ocaml
Add miscellaneous OCaml Packages
Diffstat (limited to 'pkgs/development/ocaml-modules')
-rw-r--r--pkgs/development/ocaml-modules/bitstring/2.0.4.nix25
-rw-r--r--pkgs/development/ocaml-modules/bitstring/camlp4-git.patch44
-rw-r--r--pkgs/development/ocaml-modules/bitstring/camlp4.patch84
-rw-r--r--pkgs/development/ocaml-modules/bitstring/default.nix28
-rw-r--r--pkgs/development/ocaml-modules/bitstring/meta.patch15
-rw-r--r--pkgs/development/ocaml-modules/faillib/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/piqi-ocaml/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/piqi/default.nix30
-rw-r--r--pkgs/development/ocaml-modules/piqi/no-ocamlpath-override.patch17
-rw-r--r--pkgs/development/ocaml-modules/uuidm/default.nix28
10 files changed, 319 insertions, 0 deletions
diff --git a/pkgs/development/ocaml-modules/bitstring/2.0.4.nix b/pkgs/development/ocaml-modules/bitstring/2.0.4.nix
new file mode 100644
index 000000000000..da4bcdcb527a
--- /dev/null
+++ b/pkgs/development/ocaml-modules/bitstring/2.0.4.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl, buildOcaml, time}:
+
+buildOcaml rec {
+  name = "bitstring";
+  version = "2.0.4"; 
+  src = fetchurl {
+    url = "http://bitstring.googlecode.com/files/ocaml-bitstring-${version}.tar.gz";
+    sha256 = "0mapzn2ls5qcrzjm1az50lqjj76ldkmz4fbv2phc9w6smab50qy5";
+  };
+
+  patches = [ ./camlp4.patch ./meta.patch ];
+
+  buildInputs = [time];
+  doCheck = true;
+
+  createFindlibDestdir = true;
+  hasSharedObjects = true;
+
+  meta = with stdenv.lib; {
+    description = "This library adds Erlang-style bitstrings and matching over bitstrings as a syntax extension and library for OCaml.";
+    homepage = http://code.google.com/p/bitstring/;
+    license = licenses.lgpl21Plus;
+    maintainers = [ maintainers.maurer ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/bitstring/camlp4-git.patch b/pkgs/development/ocaml-modules/bitstring/camlp4-git.patch
new file mode 100644
index 000000000000..24d2e362dfac
--- /dev/null
+++ b/pkgs/development/ocaml-modules/bitstring/camlp4-git.patch
@@ -0,0 +1,44 @@
+diff --git a/Makefile.in b/Makefile.in
+index d040f4c..cc1a8f5 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -40,7 +40,7 @@ pkg_extlib	= @OCAML_PKG_extlib@
+ enable_coverage = @enable_coverage@
+ 
+ OCAMLCFLAGS	= -g
+-OCAMLCPACKAGES	=
++OCAMLCPACKAGES	= -package camlp4
+ OCAMLCLIBS	= -linkpkg
+ OCAMLOPTFLAGS	= $(OCAMLCFLAGS)
+ OCAMLOPTPACKAGES = $(OCAMLCPACKAGES)
+@@ -110,12 +110,13 @@ bitstring_persistent.cmi: bitstring_persistent.mli
+ 	  -I +camlp4 -pp camlp4of -c $<
+ 
+ pa_bitstring.cmo: pa_bitstring.ml bitstring.cma bitstring_persistent.cma
+-	$(OCAMLFIND) ocamlc bitstring.cma -I +camlp4 dynlink.cma camlp4lib.cma \
++	$(OCAMLFIND) ocamlc $(OCAMLCPACKAGES) \
++          bitstring.cma -I +camlp4 dynlink.cma camlp4lib.cma \
+ 	  -pp camlp4of -c $< -o $@
+ 
+ bitstring-objinfo: bitstring_objinfo.cmo bitstring.cma bitstring_persistent.cma
+ 	$(OCAMLFIND) ocamlc -I +camlp4 unix.cma dynlink.cma camlp4lib.cma \
+-	  $(OCAMLCFLAGS) $(OCAMLCLIBS) \
++	  $(OCAMLCFLAGS) $(OCAMLCLIBS) $(OCAMLCPACKAGES) \
+ 	  bitstring.cma bitstring_persistent.cma \
+ 	  $< -o $@
+ 
+@@ -158,12 +159,13 @@ tests/test.bmpp: create_test_pattern
+ 
+ create_test_pattern: create_test_pattern.cmo
+ 	$(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -pp camlp4of \
+-	  unix.cma -I +camlp4 dynlink.cma camlp4lib.cma \
++	  unix.cma -I `ocamlfind query camlp4` dynlink.cma camlp4lib.cma \
+ 	  $(OCAMLCLIBS) \
+ 	  -I . bitstring.cma bitstring_persistent.cma $< -o $@
+ 
+ create_test_pattern.cmo: create_test_pattern.ml
+ 	$(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -pp camlp4of \
++	  $(OCAMLCPACKAGES) \
+ 	  unix.cma -I +camlp4 \
+ 	  -I . -c $< -o $@
+ 
diff --git a/pkgs/development/ocaml-modules/bitstring/camlp4.patch b/pkgs/development/ocaml-modules/bitstring/camlp4.patch
new file mode 100644
index 000000000000..920c78007bb0
--- /dev/null
+++ b/pkgs/development/ocaml-modules/bitstring/camlp4.patch
@@ -0,0 +1,84 @@
+diff -rupN ocaml-bitstring-2.0.4.orig/camlp4.patch ocaml-bitstring-2.0.4/camlp4.patch
+--- ocaml-bitstring-2.0.4.orig/camlp4.patch	1970-01-01 00:00:00.000000000 +0000
++++ ocaml-bitstring-2.0.4/camlp4.patch	2015-06-10 18:06:54.016000000 +0000
+@@ -0,0 +1,31 @@
++--- Makefile.in	2015-06-10 20:05:26.603000000 +0200
+++++ ../bs-old/Makefile.in	2013-05-14 17:42:32.000000000 +0200
++@@ -40,10 +40,10 @@
++ enable_coverage = @enable_coverage@
++ 
++ OCAMLCFLAGS	= -g
++-OCAMLCPACKAGES	= -package camlp4
+++OCAMLCPACKAGES	=
++ OCAMLCLIBS	= -linkpkg
++ OCAMLOPTFLAGS	=
++-OCAMLOPTPACKAGES = -package camlp4
+++OCAMLOPTPACKAGES =
++ OCAMLOPTLIBS	= -linkpkg
++ 
++ ifneq ($(enable_coverage),no)
++@@ -110,13 +110,12 @@
++ 	  -I +camlp4 -pp camlp4of -c $<
++ 
++ pa_bitstring.cmo: pa_bitstring.ml bitstring.cma bitstring_persistent.cma
++-	$(OCAMLFIND) ocamlc $(OCAMLCPACKAGES) \
++-	  bitstring.cma -I +camlp4 dynlink.cma camlp4lib.cma \
+++	$(OCAMLFIND) ocamlc bitstring.cma -I +camlp4 dynlink.cma camlp4lib.cma \
++ 	  -pp camlp4of -c $< -o $@
++ 
++ bitstring-objinfo: bitstring_objinfo.cmo bitstring.cma bitstring_persistent.cma
++ 	$(OCAMLFIND) ocamlc -I +camlp4 unix.cma dynlink.cma camlp4lib.cma \
++-	  $(OCAMLCPACKAGES) $(OCAMLCLIBS) \
+++	  $(OCAMLCLIBS) \
++ 	  bitstring.cma bitstring_persistent.cma \
++ 	  $< -o $@
++ 
+diff -rupN ocaml-bitstring-2.0.4.orig/Makefile.in ocaml-bitstring-2.0.4/Makefile.in
+--- ocaml-bitstring-2.0.4.orig/Makefile.in	2013-05-14 15:42:32.000000000 +0000
++++ ocaml-bitstring-2.0.4/Makefile.in	2015-06-25 20:05:52.759000000 +0000
+@@ -40,10 +40,10 @@ pkg_extlib	= @OCAML_PKG_extlib@
+ enable_coverage = @enable_coverage@
+ 
+ OCAMLCFLAGS	= -g
+-OCAMLCPACKAGES	=
++OCAMLCPACKAGES	= -package camlp4
+ OCAMLCLIBS	= -linkpkg
+ OCAMLOPTFLAGS	=
+-OCAMLOPTPACKAGES =
++OCAMLOPTPACKAGES = -package camlp4
+ OCAMLOPTLIBS	= -linkpkg
+ 
+ ifneq ($(enable_coverage),no)
+@@ -110,12 +110,13 @@ bitstring_persistent.cmi: bitstring_pers
+ 	  -I +camlp4 -pp camlp4of -c $<
+ 
+ pa_bitstring.cmo: pa_bitstring.ml bitstring.cma bitstring_persistent.cma
+-	$(OCAMLFIND) ocamlc bitstring.cma -I +camlp4 dynlink.cma camlp4lib.cma \
++	$(OCAMLFIND) ocamlc $(OCAMLCPACKAGES) \
++	  bitstring.cma -I +camlp4 dynlink.cma camlp4lib.cma \
+ 	  -pp camlp4of -c $< -o $@
+ 
+ bitstring-objinfo: bitstring_objinfo.cmo bitstring.cma bitstring_persistent.cma
+ 	$(OCAMLFIND) ocamlc -I +camlp4 unix.cma dynlink.cma camlp4lib.cma \
+-	  $(OCAMLCLIBS) \
++	  $(OCAMLCPACKAGES) $(OCAMLCLIBS) \
+ 	  bitstring.cma bitstring_persistent.cma \
+ 	  $< -o $@
+ 
+@@ -158,13 +159,13 @@ tests/test.bmpp: create_test_pattern
+ 
+ create_test_pattern: create_test_pattern.cmo
+ 	$(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -pp camlp4of \
+-	  unix.cma -I +camlp4 dynlink.cma camlp4lib.cma \
+-	  $(OCAMLCLIBS) \
++	  unix.cma -I `$(OCAMLFIND) query camlp4` dynlink.cma camlp4lib.cma \
++	  $(OCAMLCLIBS) $(OCAMLCPACKAGES) \
+ 	  -I . bitstring.cma bitstring_persistent.cma $< -o $@
+ 
+ create_test_pattern.cmo: create_test_pattern.ml
+ 	$(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -pp camlp4of \
+-	  unix.cma -I +camlp4 \
++	  unix.cma -I `$(OCAMLFIND) query camlp4` $(OCAMLCPACKAGES) \
+ 	  -I . -c $< -o $@
+ 
+ # Coverage of tests.
diff --git a/pkgs/development/ocaml-modules/bitstring/default.nix b/pkgs/development/ocaml-modules/bitstring/default.nix
new file mode 100644
index 000000000000..b612ec1c0bdb
--- /dev/null
+++ b/pkgs/development/ocaml-modules/bitstring/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchgit, buildOcaml, time, autoconf, automake}:
+
+buildOcaml rec {
+  name = "bitstring";
+  version = "f1673f8"; 
+  src = fetchgit {
+    url = "https://code.google.com/p/bitstring/";
+    rev = "f1673f8";
+    sha256 = "1lh97qf1b7mq64pxkphr2w91ri5hfwg58cpjb2xd8a453c9jylw4";
+  };
+
+  patches = [ ./camlp4-git.patch ./meta.patch ];
+
+  buildInputs = [time autoconf automake];
+  doCheck = true;
+
+  createFindlibDestdir = true;
+  hasSharedObjects = true;
+
+  preConfigure = "./bootstrap; echo breakhash";
+
+  meta = with stdenv.lib; {
+    description = "This library adds Erlang-style bitstrings and matching over bitstrings as a syntax extension and library for OCaml.";
+    homepage = http://code.google.com/p/bitstring/;
+    license = licenses.lgpl21Plus;
+    maintainers = [ maintainers.maurer ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/bitstring/meta.patch b/pkgs/development/ocaml-modules/bitstring/meta.patch
new file mode 100644
index 000000000000..78f44cbe15f5
--- /dev/null
+++ b/pkgs/development/ocaml-modules/bitstring/meta.patch
@@ -0,0 +1,15 @@
+diff -rupN ocaml-bitstring-2.0.4/META.in ocaml-bitstring-2.0.4.new/META.in
+--- ocaml-bitstring-2.0.4/META.in	2013-05-14 17:42:32.000000000 +0200
++++ ocaml-bitstring-2.0.4.new/META.in	2015-06-11 17:26:11.674000000 +0200
+@@ -15,8 +15,8 @@ package "persistent" (
+ 
+ package "syntax" (
+   version = "@PACKAGE_VERSION@"
+-  requires = "camlp4"
++  requires = "camlp4, bitstring.persistent, bitstring"
+   description = "Syntax extension: bitstring operators"
+-  archive(syntax,preprocessor) = "-parser o -parser op -printer p unix.cma bitstring.cma bitstring_persistent.cma pa_bitstring.cmo"
+-  archive(syntax,toploop) = "unix.cma bitstring.cma bitstring_persistent.cma pa_bitstring.cmo"
++  archive(syntax,preprocessor) = "-parser o -parser op -printer p pa_bitstring.cmo"
++  archive(syntax,toploop) = "pa_bitstring.cmo"
+ )
diff --git a/pkgs/development/ocaml-modules/faillib/default.nix b/pkgs/development/ocaml-modules/faillib/default.nix
new file mode 100644
index 000000000000..98acc8032e3f
--- /dev/null
+++ b/pkgs/development/ocaml-modules/faillib/default.nix
@@ -0,0 +1,24 @@
+{stdenv, buildOcaml, fetchurl, herelib, camlp4}:
+
+buildOcaml rec {
+  minimumSupportedOcamlVersion = "4.00";
+  name = "faillib";
+  version = "111.17.00";
+
+  src = fetchurl {
+    url = "https://github.com/janestreet/faillib/archive/${version}.tar.gz";
+    sha256 = "12dvaxkmgf7yzzvbadcyk1n17llgh6p8qr33867d21npaljy7l9v"; 
+  };
+
+  propagatedBuildInputs = [ camlp4 herelib ];
+
+  doCheck = true;
+  checkPhase = "make test";
+
+  meta = with stdenv.lib; {
+    homepage = https://ocaml.janestreet.com/;
+    description = "Library for dealing with failure in OCaml";
+    license = licenses.asl20;
+    maintainers = [ maintainers.maurer ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/piqi-ocaml/default.nix b/pkgs/development/ocaml-modules/piqi-ocaml/default.nix
new file mode 100644
index 000000000000..fea1ee150446
--- /dev/null
+++ b/pkgs/development/ocaml-modules/piqi-ocaml/default.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchurl, ocaml, findlib, piqi, ulex, easy-format, xmlm, base64, camlp4}:
+
+stdenv.mkDerivation rec {
+  version = "0.7.4";
+  name    = "piqi-ocaml-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/alavrik/piqi-ocaml/archive/v${version}.tar.gz";
+    sha256 = "064c74f031l847q6s1vilj77n7h7i84jn8c83yid9nha3dssaf7m";
+  };
+
+  buildInputs = [ocaml findlib piqi base64 camlp4];
+
+  createFindlibDestdir = true;
+
+  installPhase = "DESTDIR=$out make install";
+
+  meta = with stdenv.lib; {
+    homepage = http://piqi.org;
+    description = "Universal schema language and a collection of tools built around it. These are the ocaml bindings.";
+    license = licenses.asl20;
+    maintainers = [ maintainers.maurer ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/piqi/default.nix b/pkgs/development/ocaml-modules/piqi/default.nix
new file mode 100644
index 000000000000..7cca68c4f795
--- /dev/null
+++ b/pkgs/development/ocaml-modules/piqi/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchurl, ocaml, findlib, camlp4, which, ulex, easy-format, ocaml_optcomp, xmlm, base64}:
+
+stdenv.mkDerivation rec {
+  version = "0.6.12";
+  name    = "piqi-${version}";
+ 
+  src = fetchurl {
+    url = "https://github.com/alavrik/piqi/archive/v${version}.tar.gz";
+    sha256 = "1ifnawnblvibf5rgp6gr4f20266dckfrlryikg1iiq3dx2wfl7f8";
+  };
+
+  buildInputs = [ocaml findlib camlp4 which ocaml_optcomp base64];
+  propagatedBuildInputs = [ulex xmlm easy-format];
+
+  patches = [ ./no-ocamlpath-override.patch ];
+
+  createFindlibDestdir = true;
+
+  installPhase = ''
+    make install;
+    make ocaml-install;
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://piqi.org;
+    description = "Universal schema language and a collection of tools built around it.";
+    license = licenses.asl20;
+    maintainers = [ maintainers.maurer ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/piqi/no-ocamlpath-override.patch b/pkgs/development/ocaml-modules/piqi/no-ocamlpath-override.patch
new file mode 100644
index 000000000000..bf85a42551c0
--- /dev/null
+++ b/pkgs/development/ocaml-modules/piqi/no-ocamlpath-override.patch
@@ -0,0 +1,17 @@
+diff -rupN piqi-0.6.12.orig/make/Makefile.ocaml piqi-0.6.12/make/Makefile.ocaml
+--- piqi-0.6.12.orig/make/Makefile.ocaml	2015-03-13 13:35:19.000000000 +0100
++++ piqi-0.6.12/make/Makefile.ocaml	2015-06-10 21:19:57.231000000 +0200
+@@ -1,13 +1,5 @@
+ OCAMLMAKEFILE := $(PIQI_ROOT)/make/OCamlMakefile
+ 
+-
+-OCAMLPATH := $(PIQI_BUILD)/lib/ocaml
+-ifeq ($(SYSTEM),$(filter $(SYSTEM),mingw mingw64))
+-OCAMLPATH := $(shell cygpath -w $(OCAMLPATH))
+-endif
+-export OCAMLPATH
+-
+-
+ # make sure camlp4o produces pretty-printed text instead of AST
+ export CAMLP4_O = $(CAMLP4)o -printer o
+ 
diff --git a/pkgs/development/ocaml-modules/uuidm/default.nix b/pkgs/development/ocaml-modules/uuidm/default.nix
new file mode 100644
index 000000000000..0473f64bcdf9
--- /dev/null
+++ b/pkgs/development/ocaml-modules/uuidm/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchurl, ocaml, findlib}:
+
+stdenv.mkDerivation rec {
+  version = "0.9.5";
+  name = "uuidm-${version}"; 
+  src = fetchurl {
+    url = "http://erratique.ch/software/uuidm/releases/uuidm-${version}.tbz";
+    sha256 = "03bgxs119bphv9ggg97nsl5m61s43ixgby05hhggv16iadx9zndm";
+  };
+
+  unpackCmd = "tar -xf $curSrc";
+
+  buildInputs = [ocaml findlib];
+
+  configurePhase = "ocaml setup.ml -configure --prefix $prefix";
+  buildPhase = "ocaml setup.ml -build";
+  installPhase = "ocaml setup.ml -install";
+
+  createFindlibDestdir = true;
+
+  meta = with stdenv.lib; {
+    description = "An OCaml module implementing 128 bits universally unique identifiers version 3, 5 (name based with MD5, SHA-1 hashing) and 4 (random based) according to RFC 4122.";
+    homepage = http://erratique.ch/software/uuidm;
+    license = licenses.bsd3;
+    platforms = ocaml.meta.platforms;
+    maintainers = [ maintainers.maurer ];
+  };
+}