diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:36 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:47 +0000 |
commit | 36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch) | |
tree | b3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/development/ocaml-modules/camlzip | |
parent | 4e31070265257dc67d120c27e0f75c2344fdfa9a (diff) | |
parent | abf060725d7614bd3b9f96764262dfbc2f9c2199 (diff) | |
download | nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.gz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.bz2 nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.lz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.xz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.zst nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.zip |
Add 'nixpkgs/' from commit 'abf060725d7614bd3b9f96764262dfbc2f9c2199'
git-subtree-dir: nixpkgs git-subtree-mainline: 4e31070265257dc67d120c27e0f75c2344fdfa9a git-subtree-split: abf060725d7614bd3b9f96764262dfbc2f9c2199
Diffstat (limited to 'nixpkgs/pkgs/development/ocaml-modules/camlzip')
3 files changed, 127 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/ocaml-modules/camlzip/META b/nixpkgs/pkgs/development/ocaml-modules/camlzip/META new file mode 100644 index 000000000000..44c5168ae518 --- /dev/null +++ b/nixpkgs/pkgs/development/ocaml-modules/camlzip/META @@ -0,0 +1,6 @@ +version="@VERSION@" +description="reading and writing ZIP, JAR and GZIP files" +requires="unix" +archive(byte)="zip.cma" +archive(native)="zip.cmxa" +linkopts = "" diff --git a/nixpkgs/pkgs/development/ocaml-modules/camlzip/default.nix b/nixpkgs/pkgs/development/ocaml-modules/camlzip/default.nix new file mode 100644 index 000000000000..c1490c3bf196 --- /dev/null +++ b/nixpkgs/pkgs/development/ocaml-modules/camlzip/default.nix @@ -0,0 +1,67 @@ +{stdenv, fetchurl, zlib, ocaml, findlib}: + +let + param = + if stdenv.lib.versionAtLeast ocaml.version "4.02" + then { + version = "1.07"; + url = "https://github.com/xavierleroy/camlzip/archive/rel107.tar.gz"; + sha256 = "1pdz3zyiczm6c46zfgag2frwq3ljlq044p3a2y4wm2wb4pgz8k9g"; + patches = []; + installTargets = "install-findlib"; + } else { + version = "1.05"; + download_id = "1037"; + url = "http://forge.ocamlcore.org/frs/download.php/${param.download_id}/camlzip-${param.version}.tar.gz"; + sha256 = "930b70c736ab5a7ed1b05220102310a0a2241564786657abe418e834a538d06b"; + patches = [./makefile_1_05.patch]; + installTargets = "install"; + }; +in + +stdenv.mkDerivation { + name = "camlzip-${param.version}"; + + src = fetchurl { + inherit (param) url; + inherit (param) sha256; + }; + + buildInputs = [ocaml findlib]; + + propagatedBuildInputs = [zlib]; + + inherit (param) patches; + + createFindlibDestdir = true; + + postPatch = '' + substitute ${./META} META --subst-var-by VERSION "${param.version}" + substituteInPlace Makefile \ + --subst-var-by ZLIB_LIBDIR "${zlib.out}/lib" \ + --subst-var-by ZLIB_INCLUDE "${zlib.dev}/include" + ''; + + buildFlags = "all allopt"; + + inherit (param) installTargets; + + postInstall = '' + ln -s $out/lib/ocaml/${ocaml.version}/site-lib/{,caml}zip + ''; + + 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"; + platforms = ocaml.meta.platforms or []; + maintainers = [ + stdenv.lib.maintainers.z77z + ]; + }; +} diff --git a/nixpkgs/pkgs/development/ocaml-modules/camlzip/makefile_1_05.patch b/nixpkgs/pkgs/development/ocaml-modules/camlzip/makefile_1_05.patch new file mode 100644 index 000000000000..87d0c8bec334 --- /dev/null +++ b/nixpkgs/pkgs/development/ocaml-modules/camlzip/makefile_1_05.patch @@ -0,0 +1,54 @@ +diff -Nuar camlzip-1.04/Makefile camlzip-1.04.nixpkgs/Makefile +--- camlzip-1.04/Makefile 2002-04-22 17:28:57.000000000 +0200 ++++ camlzip-1.04.nixpkgs/Makefile 2010-12-12 18:30:49.000000000 +0100 +@@ -4,14 +4,10 @@ + 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 +- +-# Where to install the library. By default: sub-directory 'zip' of +-# OCaml's standard library directory. +-INSTALLDIR=`$(OCAMLC) -where`/zip ++ZLIB_INCLUDE=@ZLIB_INCLUDE@ + + ### End of configuration section + +@@ -19,10 +15,13 @@ + OCAMLOPT=ocamlopt + OCAMLDEP=ocamldep + OCAMLMKLIB=ocamlmklib ++OCAMLFIND=ocamlfind + + OBJS=zlib.cmo zip.cmo gzip.cmo + C_OBJS=zlibstubs.o + ++LIBINSTALL_FILES = $(wildcard *.mli *.cmi *.cma *.cmxa *.a *.so) ++ + all: libcamlzip.a zip.cma + + allopt: libcamlzip.a zip.cmxa +@@ -55,18 +54,7 @@ + rm -f *.o *.a + + install: +- mkdir -p $(INSTALLDIR) +- 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: +- cp zip.cmxa zip.a zip.cmx gzip.cmx $(INSTALLDIR) ++ $(OCAMLFIND) install zip META $(LIBINSTALL_FILES) + + depend: + gcc -MM -I$(ZLIB_INCLUDE) *.c > .depend |