Skip to content

Commit

Permalink
ocamlPackages.csv: 1.7 -> 2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
vbgl committed Sep 20, 2017
1 parent 19e3c58 commit 1e9deaa
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 42 deletions.
32 changes: 32 additions & 0 deletions pkgs/development/ocaml-modules/csv/1.5.nix
@@ -0,0 +1,32 @@
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild }:

stdenv.mkDerivation {

name = "ocaml${ocaml.version}-csv-1.5";

src = fetchzip {
url = "https://github.com/Chris00/ocaml-csv/releases/download/1.5/csv-1.5.tar.gz";
sha256 = "1ca7jgg58j24pccs5fshis726s06fdcjshnwza5kwxpjgdbvc63g";
};

buildInputs = [ ocaml findlib ocamlbuild ];

createFindlibDestdir = true;

configurePhase = "ocaml setup.ml -configure --prefix $out --enable-tests";

buildPhase = "ocaml setup.ml -build";

doCheck = true;
checkPhase = "ocaml setup.ml -test";

installPhase = "ocaml setup.ml -install";

meta = with stdenv.lib; {
description = "A pure OCaml library to read and write CSV files";
homepage = https://github.com/Chris00/ocaml-csv;
license = licenses.lgpl21;
maintainers = [ maintainers.vbgl ];
platforms = ocaml.meta.platforms or [];
};
}
60 changes: 19 additions & 41 deletions pkgs/development/ocaml-modules/csv/default.nix
@@ -1,48 +1,26 @@
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, ocaml_lwt }:
{ stdenv, fetchurl, ocaml, findlib, jbuilder }:

let param =
if stdenv.lib.versionAtLeast ocaml.version "4.2"
then {
version = "1.7";
url = https://math.umons.ac.be/anum/software/csv/csv-1.7.tar.gz;
sha256 = "1mmcjiiz0jppgipavpph5kn04xcpalw4scbjrw2z3drghvr3qqwf";
lwtSupport = true;
} else {
version = "1.5";
url = https://github.com/Chris00/ocaml-csv/releases/download/1.5/csv-1.5.tar.gz;
sha256 = "1ca7jgg58j24pccs5fshis726s06fdcjshnwza5kwxpjgdbvc63g";
lwtSupport = false;
};
in
stdenv.mkDerivation rec {
version = "2.0";
name = "ocaml${ocaml.version}-csv-${version}";
src = fetchurl {
url = "https://github.com/Chris00/ocaml-csv/releases/download/2.0/csv-2.0.tbz";
sha256 = "1g6xsybwc5ifr7n4hkqlh3294njzca12xg86ghh6pqy350wpq1zp";
};

stdenv.mkDerivation {
unpackCmd = "tar -xjf $src";

name = "ocaml${ocaml.version}-csv-${param.version}";
buildInputs = [ ocaml findlib jbuilder ];

src = fetchzip {
inherit (param) url sha256;
};
buildPhase = "jbuilder build -p csv";

buildInputs = [ ocaml findlib ocamlbuild ]
++ stdenv.lib.optional param.lwtSupport ocaml_lwt;
inherit (jbuilder) installPhase;

createFindlibDestdir = true;

configurePhase = "ocaml setup.ml -configure --prefix $out --enable-tests"
+ stdenv.lib.optionalString param.lwtSupport " --enable-lwt";

buildPhase = "ocaml setup.ml -build";

doCheck = true;
checkPhase = "ocaml setup.ml -test";

installPhase = "ocaml setup.ml -install";

meta = with stdenv.lib; {
description = "A pure OCaml library to read and write CSV files";
homepage = https://github.com/Chris00/ocaml-csv;
license = licenses.lgpl21;
maintainers = [ maintainers.vbgl ];
platforms = ocaml.meta.platforms or [];
};
meta = {
description = "A pure OCaml library to read and write CSV files";
license = stdenv.lib.licenses.lgpl21;
maintainers = [ stdenv.lib.maintainers.vbgl ];
inherit (src.meta) homepage;
inherit (ocaml.meta) platforms;
};
}
5 changes: 4 additions & 1 deletion pkgs/top-level/ocaml-packages.nix
Expand Up @@ -172,7 +172,10 @@ let
lwt = ocaml_lwt;
};

csv = callPackage ../development/ocaml-modules/csv { };
csv =
if lib.versionAtLeast ocaml.version "4.2"
then callPackage ../development/ocaml-modules/csv { }
else callPackage ../development/ocaml-modules/csv/1.5.nix { };

curses = callPackage ../development/ocaml-modules/curses { };

Expand Down

0 comments on commit 1e9deaa

Please sign in to comment.