summary refs log tree commit diff
path: root/pkgs/development/ocaml-modules/camlzip
diff options
context:
space:
mode:
authorMarco Maggesi <maggesi@math.unifi.it>2010-12-09 15:40:04 +0000
committerMarco Maggesi <maggesi@math.unifi.it>2010-12-09 15:40:04 +0000
commitac457478e35e56e7370e3e40167e5df75de98363 (patch)
treefcbfe2bb58b8e32bbb60c0c4e25e069139e73ceb /pkgs/development/ocaml-modules/camlzip
parent114fa21c481f0c9b52f4e7a2915bffbdfb61467e (diff)
downloadnixpkgs-ac457478e35e56e7370e3e40167e5df75de98363.tar
nixpkgs-ac457478e35e56e7370e3e40167e5df75de98363.tar.gz
nixpkgs-ac457478e35e56e7370e3e40167e5df75de98363.tar.bz2
nixpkgs-ac457478e35e56e7370e3e40167e5df75de98363.tar.lz
nixpkgs-ac457478e35e56e7370e3e40167e5df75de98363.tar.xz
nixpkgs-ac457478e35e56e7370e3e40167e5df75de98363.tar.zst
nixpkgs-ac457478e35e56e7370e3e40167e5df75de98363.zip
* Add ocaml packages findlib, camlzip, ocaml-ssl, ocaml-batteries, menhir, camomile, ocaml-lwt, cryptokit, ocaml-cryptgps, ounit, ocaml-react
svn path=/nixpkgs/trunk/; revision=25041
Diffstat (limited to 'pkgs/development/ocaml-modules/camlzip')
-rw-r--r--pkgs/development/ocaml-modules/camlzip/META23
-rw-r--r--pkgs/development/ocaml-modules/camlzip/default.nix47
-rw-r--r--pkgs/development/ocaml-modules/camlzip/makefile.patch32
3 files changed, 102 insertions, 0 deletions
diff --git a/pkgs/development/ocaml-modules/camlzip/META b/pkgs/development/ocaml-modules/camlzip/META
new file mode 100644
index 00000000000..85456166101
--- /dev/null
+++ b/pkgs/development/ocaml-modules/camlzip/META
@@ -0,0 +1,23 @@
+# Specifications for the "camlzip" library:
+
+name="zip"
+version="1.04"
+description="A library for handling ZIP and GZIP files in OCaml"
+directory="@INSTALLDIR@"
+
+requires="unix"
+requires(byte)="unix"
+requires(native)="unix"
+requires(toploop)="unix"
+
+requires(byte,mt)="unix"
+requires(native,mt)="unix"
+requires(toploop,mt)="unix"
+
+archive(byte)="zip.cma"
+archive(native)="zip.cmxa"
+archive(toploop)="zip.cma"
+
+archive(byte,mt)="zip.cma"
+archive(native,mt)="zip.cmxa"
+archive(toploop,mt)="zip.cma"
diff --git a/pkgs/development/ocaml-modules/camlzip/default.nix b/pkgs/development/ocaml-modules/camlzip/default.nix
new file mode 100644
index 00000000000..4e5df2cd75d
--- /dev/null
+++ b/pkgs/development/ocaml-modules/camlzip/default.nix
@@ -0,0 +1,47 @@
+{stdenv, fetchurl, zlib, ocaml}:
+
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+  version = "1.04";
+in
+
+stdenv.mkDerivation {
+  name = "camlzip-${version}";
+
+  src = fetchurl {
+    url = "http://forge.ocamlcore.org/frs/download.php/328/" +
+          "camlzip-${version}.tar.gz";
+    sha256 = "1zpchmp199x7f4mzmapvfywgy7f6wy9yynd9nd8yh8l78s5gixbn";
+  };
+
+  buildInputs = [zlib ocaml];
+
+  patches = [ ./makefile.patch ];
+
+  configurePhase = ''
+    export INSTALLDIR="$out/lib/ocaml/${ocaml_version}/site-lib/zip"
+    substituteInPlace Makefile \
+      --subst-var-by ZLIB_LIBDIR "${zlib}/lib" \
+      --subst-var-by ZLIB_INCLUDE "${zlib}/include" \
+      --subst-var INSTALLDIR
+  '';
+
+  buildFlags = "all allopt";
+
+  installTargets = "install installopt";
+
+  postInstall = ''
+    substitute ${./META} $INSTALLDIR/META --subst-var INSTALLDIR
+  '';
+
+  meta = {
+    homepage = "http://cristal.inria.fr/~xleroy/software.html#camlzip";
+    description = "A library for handling ZIP and GZIP files in OCaml";
+    longDescription = ''
+      This Objective Caml library provides easy access to compressed files in
+      ZIP and GZIP format, as well as to Java JAR files.  It provides functions
+      for reading from and writing to compressed files in these formats.
+    '';
+    license = "LGPL+linking exceptions";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/camlzip/makefile.patch b/pkgs/development/ocaml-modules/camlzip/makefile.patch
new file mode 100644
index 00000000000..10adcd6687b
--- /dev/null
+++ b/pkgs/development/ocaml-modules/camlzip/makefile.patch
@@ -0,0 +1,32 @@
+diff -Naur camlzip-1.04/Makefile camlzip-1.04.nixos/Makefile
+--- camlzip-1.04/Makefile	2002-04-22 17:28:57.000000000 +0200
++++ camlzip-1.04.nixos/Makefile	2010-08-17 14:40:07.000000000 +0200
+@@ -4,14 +4,14 @@
+ ZLIB_LIB=-lz
+ 
+ # The directory containing the Zlib library (libz.a or libz.so)
+-ZLIB_LIBDIR=/usr/local/lib
++ZLIB_LIBDIR=@ZLIB_LIBDIR@
+ 
+ # The directory containing the Zlib header file (zlib.h)
+-ZLIB_INCLUDE=/usr/local/include
++ZLIB_INCLUDE=@ZLIB_INCLUDE@
+ 
+ # Where to install the library.  By default: sub-directory 'zip' of
+ # OCaml's standard library directory.
+-INSTALLDIR=`$(OCAMLC) -where`/zip
++INSTALLDIR=@INSTALLDIR@
+ 
+ ### End of configuration section
+ 
+@@ -59,10 +59,6 @@
+ 	cp zip.cma zip.cmi gzip.cmi zip.mli gzip.mli libcamlzip.a $(INSTALLDIR)
+ 	if test -f dllcamlzip.so; then \
+ 	  cp dllcamlzip.so $(INSTALLDIR); \
+-          ldconf=`$(OCAMLC) -where`/ld.conf; \
+-          installdir=$(INSTALLDIR); \
+-          if test `grep -s -c $$installdir'$$' $$ldconf || :` = 0; \
+-          then echo $$installdir >> $$ldconf; fi \
+         fi
+ 
+ installopt: