Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / ocaml-modules / rfc7748 / default.nix
blob0cc59fa3e7c567add8de50cd682deea47d0607b0
1 { lib
2 , buildDunePackage
3 , fetchFromGitHub
4 , fetchpatch
5 , ocaml
7 , ounit
8 , zarith
9 }:
11 buildDunePackage rec {
12   pname = "rfc7748";
13   version = "1.0";
15   src = fetchFromGitHub {
16     owner = "burgerdev";
17     repo = "ocaml-rfc7748";
18     rev = "v${version}";
19     sha256 = "sha256-mgZooyfxrKBVQFn01B8PULmFUW9Zq5HJfgHCSJSkJo4=";
20   };
22   # Compatibility with OCaml 5.0
23   patches = fetchpatch {
24     url = "https://github.com/burgerdev/ocaml-rfc7748/commit/f66257bae0317c7b24c4b208ee27ab6eb68460e4.patch";
25     hash = "sha256-780yy8gLOwwf7xIKIIIaoGpDPcY7+dZ0jPS4nrkH2s8=";
26   };
28   minimalOCamlVersion = "4.05";
30   propagatedBuildInputs = [ zarith ];
32   doCheck = lib.versionAtLeast ocaml.version "4.08";
33   checkInputs = [ ounit ];
35   meta = {
36     homepage = "https://github.com/burgerdev/ocaml-rfc7748";
37     description = "Elliptic Curve Diffie-Hellman on Edwards Curves (X25519, X448)";
38     longDescription = ''
39       This library implements the ECDH functions 'X25519' and 'X448' as specified
40       in RFC 7748, 'Elliptic curves for security'. In the spirit of the original
41       publications, the public API is kept as simple as possible to make it easy
42       to use and hard to misuse.
43     '';
44     license = lib.licenses.bsd2;
45     maintainers = with lib.maintainers; [ fufexan ];
46   };