Merge pull request #13077 from wizeman/u/ocaml-packages

Add ocamlPackages.{gen,sequence,containers}
This commit is contained in:
vbgl 2016-02-19 18:14:47 +01:00
commit 5ed9176c52
4 changed files with 116 additions and 0 deletions

View File

@ -0,0 +1,47 @@
{ stdenv, fetchFromGitHub, ocaml, findlib, cppo, gen, sequence, qtest, ounit }:
let version = "0.15"; in
stdenv.mkDerivation {
name = "ocaml-containers-${version}";
src = fetchFromGitHub {
owner = "c-cube";
repo = "ocaml-containers";
rev = "${version}";
sha256 = "13mdl8jp4ymg1wip7lqmh4224x4jnji3frm1ik55vvm3ac8caqng";
};
buildInputs = [ ocaml findlib cppo gen sequence qtest ounit ];
configureFlags = [
"--enable-unix"
"--enable-thread"
"--enable-bigarray"
"--enable-advanced"
"--enable-tests"
"--disable-bench"
];
doCheck = true;
checkTarget = "test";
createFindlibDestdir = true;
meta = {
homepage = https://github.com/c-cube/ocaml-containers;
description = "A modular standard library focused on data structures";
longDescription = ''
Containers is a standard library (BSD license) focused on data structures,
combinators and iterators, without dependencies on unix. Every module is
independent and is prefixed with 'CC' in the global namespace. Some modules
extend the stdlib (e.g. CCList provides safe map/fold_right/append, and
additional functions on lists).
It also features optional libraries for dealing with strings, and
helpers for unix and threads.
'';
license = stdenv.lib.licenses.bsd2;
platforms = ocaml.meta.platforms;
};
}

View File

@ -0,0 +1,25 @@
{ stdenv, fetchFromGitHub, ocaml, findlib, qtest, ounit }:
let version = "0.3"; in
stdenv.mkDerivation {
name = "ocaml-gen-${version}";
src = fetchFromGitHub {
owner = "c-cube";
repo = "gen";
rev = "${version}";
sha256 = "0xrnkcfa5q86ammf49j5hynw5563x5sa2mk7vqf7g097j1szif72";
};
buildInputs = [ ocaml findlib qtest ounit ];
createFindlibDestdir = true;
meta = {
homepage = https://github.com/c-cube/gen;
description = "Simple, efficient iterators for OCaml";
license = stdenv.lib.licenses.bsd3;
platforms = ocaml.meta.platforms;
};
}

View File

@ -0,0 +1,38 @@
{ stdenv, fetchFromGitHub, ocaml, findlib, qtest, ounit }:
let version = "0.6"; in
stdenv.mkDerivation {
name = "ocaml-sequence-${version}";
src = fetchFromGitHub {
owner = "c-cube";
repo = "sequence";
rev = "${version}";
sha256 = "0mky5qas3br2x4y14dzcky212z624ydqnx8mw8w00x0c1xjpafkb";
};
buildInputs = [ ocaml findlib qtest ounit ];
configureFlags = [
"--enable-tests"
];
doCheck = true;
checkTarget = "test";
createFindlibDestdir = true;
meta = {
homepage = https://github.com/c-cube/sequence;
description = "Simple sequence (iterator) datatype and combinators";
longDescription = ''
Simple sequence datatype, intended to transfer a finite number of
elements from one data structure to another. Some transformations on sequences,
like `filter`, `map`, `take`, `drop` and `append` can be performed before the
sequence is iterated/folded on.
'';
license = stdenv.lib.licenses.bsd2;
platforms = ocaml.meta.platforms;
};
}

View File

@ -4643,6 +4643,8 @@ let
config-file = callPackage ../development/ocaml-modules/config-file { };
containers = callPackage ../development/ocaml-modules/containers { };
cpdf = callPackage ../development/ocaml-modules/cpdf { };
cppo = callPackage ../development/tools/ocaml/cppo { };
@ -4693,6 +4695,8 @@ let
functory = callPackage ../development/ocaml-modules/functory { };
gen = callPackage ../development/ocaml-modules/gen { };
herelib = callPackage ../development/ocaml-modules/herelib { };
io-page = callPackage ../development/ocaml-modules/io-page { };
@ -4846,6 +4850,8 @@ let
re2 = callPackage ../development/ocaml-modules/re2 { };
sequence = callPackage ../development/ocaml-modules/sequence { };
tuntap = callPackage ../development/ocaml-modules/tuntap { };
tyxml = callPackage ../development/ocaml-modules/tyxml { };