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