summaryrefslogtreecommitdiff
path: root/pkgs/radicle.nix
blob: ff65ecca4e56315e840cede852f169b3b2e1492f (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
let
  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 = [ ./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;
  };
in
{
  inherit interface heartwood;
}