nixpkgs/pkgs/development/ocaml-modules/pgocaml/default.nix
2023-06-08 13:45:04 +02:00

34 lines
1.1 KiB
Nix

{ lib, fetchFromGitHub, fetchpatch, buildDunePackage, ocaml
, calendar, camlp-streams, csv, hex, ppx_deriving, ppx_sexp_conv, re, rresult, sexplib
}:
let with-camlp-streams = lib.optional (lib.versionAtLeast ocaml.version "5.0"); in
buildDunePackage rec {
pname = "pgocaml";
version = "4.3.0";
src = fetchFromGitHub {
owner = "darioteixeira";
repo = "pgocaml";
rev = version;
hash = "sha256-W1fbRnU1l61qqxfVY2qiBnVpGD81xrBO8k0tWr+RXMY=";
};
# Compatibility with OCaml ≥ 5.0
patches = with-camlp-streams (fetchpatch {
url = "https://github.com/darioteixeira/pgocaml/commit/906a289dc57da4971e312c31eedd26d81e902ed5.patch";
hash = "sha256-/v9Jheg98GhrcD2gcsQpPvq7YiIrvJj22SKvrBRlR9Y=";
});
minimalOCamlVersion = "4.08";
propagatedBuildInputs = [ calendar csv hex ppx_deriving ppx_sexp_conv re rresult sexplib ]
++ with-camlp-streams camlp-streams;
meta = with lib; {
description = "An interface to PostgreSQL databases for OCaml applications";
inherit (src.meta) homepage;
license = licenses.lgpl2;
maintainers = with maintainers; [ vbgl ];
};
}