From ef5c48326a7fd7f6d2dc944634afc6b55381dd6d Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Tue, 9 Dec 2014 19:06:22 +0100 Subject: [PATCH] Adds ocaml-fieldslib This library defines a syntax extension for OCaml using Camlp4 that can be used to define first class values representing record fields, and additional routines, to get and set record fields, iterate and fold over all fields of a record and create new record values. Homepage: https://ocaml.janestreet.com/ --- .../ocaml-modules/fieldslib/default.nix | 25 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 27 insertions(+) create mode 100644 pkgs/development/ocaml-modules/fieldslib/default.nix diff --git a/pkgs/development/ocaml-modules/fieldslib/default.nix b/pkgs/development/ocaml-modules/fieldslib/default.nix new file mode 100644 index 00000000000..28b83d3af46 --- /dev/null +++ b/pkgs/development/ocaml-modules/fieldslib/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, ocaml, findlib, ocaml_typeconv, camlp4 }: + +assert stdenv.lib.versionOlder "4.00" (stdenv.lib.getVersion ocaml); + +stdenv.mkDerivation { + name = "ocaml-fieldslib-109.20.03"; + + src = fetchurl { + url = https://ocaml.janestreet.com/ocaml-core/109.20.00/individual/fieldslib-109.20.03.tar.gz; + sha256 = "1dkzk0wf26rhvji80dz1r56dp6x9zqrnp87wldd4pj56jli94vir"; + }; + + buildInputs = [ ocaml findlib ]; + propagatedBuildInputs = [ ocaml_typeconv camlp4 ]; + + createFindlibDestdir = true; + + meta = with stdenv.lib; { + homepage = https://ocaml.janestreet.com/; + description = "OCaml syntax extension to define first class values representing record fields, to get and set record fields, iterate and fold over all fields of a record and create new record values"; + license = licenses.asl20; + maintainers = [ maintainers.vbgl ]; + platforms = ocaml.meta.platforms; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6fef28741a0..2e80ec3f08e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3634,6 +3634,8 @@ let eliom = callPackage ../development/ocaml-modules/eliom { }; + fieldslib = callPackage ../development/ocaml-modules/fieldslib { }; + findlib = callPackage ../development/tools/ocaml/findlib { }; fix = callPackage ../development/ocaml-modules/fix { };