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 { };