diff options
Diffstat (limited to 'pkgs/development/ocaml-modules/camlzip')
-rw-r--r-- | pkgs/development/ocaml-modules/camlzip/META | 23 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/camlzip/default.nix | 47 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/camlzip/makefile.patch | 32 |
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 000000000000..85456166101e --- /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 000000000000..4e5df2cd75d9 --- /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 000000000000..10adcd6687b0 --- /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: |