about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/ocaml-modules/rfc7748/default.nix
blob: 40356ec9aa5fcf7d2f326cbe46f37a2864db2e26 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
{ lib
, buildDunePackage
, fetchFromGitHub
, ocaml

, ounit
, zarith
}:

buildDunePackage rec {
  pname = "rfc7748";
  version = "1.0";

  src = fetchFromGitHub {
    owner = "burgerdev";
    repo = "ocaml-rfc7748";
    rev = "v${version}";
    sha256 = "sha256-mgZooyfxrKBVQFn01B8PULmFUW9Zq5HJfgHCSJSkJo4=";
  };

  useDune2 = true;

  minimumOCamlVersion = "4.05";

  propagatedBuildInputs = [ zarith ];

  # the tests fail for 4.05
  doCheck = lib.versionAtLeast ocaml.version "4.06";
  checkInputs = [ ounit ];

  meta = {
    homepage = "https://github.com/burgerdev/ocaml-rfc7748";
    description = "Elliptic Curve Diffie-Hellman on Edwards Curves (X25519, X448)";
    longDescription = ''
      This library implements the ECDH functions 'X25519' and 'X448' as specified
      in RFC 7748, 'Elliptic curves for security'. In the spirit of the original
      publications, the public API is kept as simple as possible to make it easy
      to use and hard to misuse.
    '';
    license = lib.licenses.bsd2;
    maintainers = with lib.maintainers; [ fufexan ];
  };
}