summaryrefslogtreecommitdiff
path: root/pkgs/radicle.nix
blob: 6a3ad9dc7e60ef731e1b80a007c365369e93de74 (plain)
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
{
  interface = { lib, buildNpmPackage, fetchgit, bash, config ? null, ...}: buildNpmPackage {
    pname = "radicle-interface";
    version = "git";
    src = fetchgit {
      url = "https://seed.radicle.xyz/z4V1sjrXqjvFdnCUbxPFqd5p4DtH5.git";
      rev = "288f55da7667d0678d4c1abc248da2cff54891e4";
      hash = "sha256-bdXsK01mLrz4g8rVlMQfZDB+p7ldMIsTJP7jfGeobkM=";
    };

    patches = [ ./patches/radicle-remove-curl-script.patch ];
    postPatch = ''
      patchShebangs scripts/*
      ${if config == null then "" else ''
        rm -f src/config.json
        echo ${lib.escapeShellArg (builtins.toJSON config)} > src/config.json
      ''}
    '';
    makeCacheWritable = true;

    installPhase = ''
      mkdir -p $out
      cp -r build/* $out
    '';

    buildInputs = [ bash ];

    npmDepsHash = "sha256-jqkkqLGojMfk75Chm/CG46ZE+VBAkXTGntwyj3l06jw=";
  };

  heartwood = { buildRustPackage, fetchgit }: buildRustPackage rec{
    pname = "heartwood";
    version = "git";
    src = fetchgit {
      url = "https://seed.radicle.xyz/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git";
      rev = "499738de711ee96343163550f2e053bdba248c1a";
      hash = "sha256-CnpiNynCtGEBpqcUCnTBR6T900bICyDTIp32T6RNQdo=";
    };
    cargoLock.lockFile = "${src}/Cargo.lock";
    cargoBuildFlags = [ "--all" ];
    # tests seem to be a little nondeterministic, and sometimes hang
    doCheck = false;
  };

  tui = { lib, buildRustPackage, fetchgit }: buildRustPackage rec {
    pname = "radicle-tui";
    version = "git";
    src = fetchgit {
      url = "https://seed.radicle.xyz/z39mP9rQAaGmERfUMPULfPUi473tY.git";
      rev = "96967897b0a436d3298d0d21562081fe3bb3052b";
      hash = "sha256-jLhL2dl7aywFHG8naTjb250znJJYW2i6YdEqKaRJZzs=";
    };
    cargoLock = {
      lockFile = "${src}/Cargo.lock";
      outputHashes = {
        "tui-realm-textarea-1.1.2" = "sha256-7dKyEUm4g+Hub2ouIBBSOnY9MDJcvD22At0Zi5CdmmY=";
        "tui-textarea-0.2.0" = "sha256-aeQJh1SG6ICaqZIsQZo101ANNSkSw8NdtHuNHZXnEPA=";
      };
    };
  };
}