nixpkgs/pkgs/applications/blockchains/torq/default.nix
2023-11-27 02:17:53 +01:00

62 lines
1.3 KiB
Nix

{ lib
, buildGoModule
, buildNpmPackage
, fetchFromGitHub
}:
let
pname = "torq";
version = "0.18.19";
src = fetchFromGitHub {
owner = "lncapital";
repo = pname;
rev = "v${version}";
hash = "sha256-qJIAH8SrB5a7j6ptorEm6fryZj63vDQIUQIgRsVn1us=";
};
web = buildNpmPackage {
pname = "${pname}-frontend";
inherit version;
src = "${src}/web";
npmDepsHash = "sha256-WulYJE2pdVa5hquV/7UjR1z9PkglJXOq5fv8nLa4wos=";
# copied from upstream Dockerfile
npmInstallFlags = [ "--legacy-peer-deps" ];
TSX_COMPILE_ON_ERROR="true";
ESLINT_NO_DEV_ERRORS="true";
# override npmInstallHook, we only care about the build/ directory
installPhase = ''
mkdir $out
cp -r build/* $out/
'';
};
in
buildGoModule rec {
inherit pname version src;
vendorHash = "sha256-bvisI589Gq9IdyJEqI+uzs3iDPOTUkq95P3n/KoFhF0=";
subPackages = [ "cmd/torq" ];
ldflags = [
"-s"
"-w"
"-X github.com/lncapital/torq/build.version=v${version}"
];
postInstall = ''
mkdir -p $out/web/build
cp -r ${web}/* $out/web/build/
'';
meta = with lib; {
description = "Capital management tool for lightning network nodes";
license = licenses.mit;
homepage = "https://github.com/lncapital/torq";
maintainers = with maintainers; [ mmilata prusnak ];
mainProgram = "torq";
};
}