diff --git a/pkgs/default.nix b/pkgs/default.nix index 21ede79..c142a9f 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -37,5 +37,9 @@ let self = { pinned = import ./pinned.nix pkgs pkgsUnstable; + # TODO-EXTERNAL: + # Remove this when lnd 0.15.4 is available in the nixpkgs-unstable channel + lnd = pkgsUnstable.callPackage ./lnd-0.15.4.nix {}; + modulesPkgs = self // self.pinned; }; in self diff --git a/pkgs/lnd-0.15.4.nix b/pkgs/lnd-0.15.4.nix new file mode 100644 index 0000000..a5cc743 --- /dev/null +++ b/pkgs/lnd-0.15.4.nix @@ -0,0 +1,40 @@ +{ buildGoModule +, fetchFromGitHub +, lib +, tags ? [ "autopilotrpc" "signrpc" "walletrpc" "chainrpc" "invoicesrpc" "watchtowerrpc" "routerrpc" "monitoring" "kvdb_postgres" "kvdb_etcd" ] +}: + +buildGoModule rec { + pname = "lnd"; + version = "0.15.4-beta"; + + src = fetchFromGitHub { + owner = "lightningnetwork"; + repo = "lnd"; + rev = "v${version}"; + sha256 = "sha256-/PKW2Y6+PlWk88pC4DHFi1ZRqMfQzoO9MVLYZrB2UNc="; + }; + + vendorSha256 = "sha256-bUo0PhtOFhsZfhAXtRJMjfaLrAsOv3ksxsrPOlMNv48="; + + subPackages = [ "cmd/lncli" "cmd/lnd" ]; + + preBuild = let + buildVars = { + RawTags = lib.concatStringsSep "," tags; + GoVersion = "$(go version | egrep -o 'go[0-9]+[.][^ ]*')"; + }; + buildVarsFlags = lib.concatStringsSep " " (lib.mapAttrsToList (k: v: "-X github.com/lightningnetwork/lnd/build.${k}=${v}") buildVars); + in + lib.optionalString (tags != []) '' + buildFlagsArray+=("-tags=${lib.concatStringsSep " " tags}") + buildFlagsArray+=("-ldflags=${buildVarsFlags}") + ''; + + meta = with lib; { + description = "Lightning Network Daemon"; + homepage = "https://github.com/lightningnetwork/lnd"; + license = licenses.mit; + maintainers = with maintainers; [ cypherpunk2140 prusnak ]; + }; +} diff --git a/pkgs/pinned.nix b/pkgs/pinned.nix index 1ff832b..868d3fe 100644 --- a/pkgs/pinned.nix +++ b/pkgs/pinned.nix @@ -6,7 +6,6 @@ pkgs: pkgsUnstable: bitcoind extra-container lightning-pool - lnd lndconnect; inherit (pkgsUnstable)