diff --git a/pkgs/default.nix b/pkgs/default.nix index 21ede79..95d397c 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -37,5 +37,10 @@ let self = { pinned = import ./pinned.nix pkgs pkgsUnstable; + # TODO-EXTERNAL: + # Remove this when https://github.com/NixOS/nixpkgs/pull/195337 is available in the + # nixpkgs-unstable channel + lnd = pkgsUnstable.callPackage ./lnd-0.15.2.nix {}; + modulesPkgs = self // self.pinned; }; in self diff --git a/pkgs/lnd-0.15.2.nix b/pkgs/lnd-0.15.2.nix new file mode 100644 index 0000000..bb91e14 --- /dev/null +++ b/pkgs/lnd-0.15.2.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.2-beta"; + + src = fetchFromGitHub { + owner = "lightningnetwork"; + repo = "lnd"; + rev = "v${version}"; + sha256 = "sha256-C7BZ6awY2v5Uvvh12YEosoEQyJoetWzH/1wIQSVjtEk="; + }; + + vendorSha256 = "sha256-rCdcPkgrFcDfLfF8wipFws7YTKEgotuVqVIJYLMOxbs="; + + 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 47eb00b..a9cc8aa 100644 --- a/pkgs/pinned.nix +++ b/pkgs/pinned.nix @@ -17,8 +17,7 @@ pkgs: pkgsUnstable: elementsd fulcrum hwi - lightning-loop - lnd; + lightning-loop; inherit pkgs pkgsUnstable; }