1{
2 lib,
3 stdenv,
4 buildNpmPackage,
5 fetchFromGitHub,
6 python3,
7 unbound,
8 cctools,
9}:
10
11buildNpmPackage rec {
12 pname = "hsd";
13 version = "7.0.1";
14
15 src = fetchFromGitHub {
16 owner = "handshake-org";
17 repo = "hsd";
18 rev = "v${version}";
19 hash = "sha256-bmvoykpaYQDWLYKOwgKZ1V6ivzDJFM1Yo+ATkzKTP2s=";
20 };
21
22 npmDepsHash = "sha256-qM1oPTKffJHlHWhF5huCBPmBSajiYstjhC2GB/iMQ7E=";
23
24 nativeBuildInputs = [
25 python3
26 ]
27 ++ lib.optionals stdenv.hostPlatform.isDarwin [
28 cctools
29 ];
30
31 buildInputs = [
32 unbound
33 ];
34
35 dontNpmBuild = true;
36
37 meta = {
38 changelog = "https://github.com/handshake-org/hsd/blob/${src.rev}/CHANGELOG.md";
39 description = "Implementation of the Handshake protocol";
40 homepage = "https://github.com/handshake-org/hsd";
41 license = lib.licenses.mit;
42 };
43}