nixpkgs/pkgs/tools/networking/yggdrasil/default.nix
2021-10-12 00:04:27 +02:00

38 lines
1.2 KiB
Nix

{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
buildGoModule rec {
pname = "yggdrasil";
version = "0.4.0";
src = fetchFromGitHub {
owner = "yggdrasil-network";
repo = "yggdrasil-go";
rev = "v${version}";
sha256 = "sha256-sMcbOTLdmAXp3U2XeNM0hrwOTjzr+9B6IvAaVbjhuFY=";
};
vendorSha256 = "sha256-QQN8ePOQ7DT9KeuY4ohFuPtocuinh3Y3us6QMnCQ4gc=";
# Change the default location of the management socket on Linux
# systems so that the yggdrasil system service unit does not have to
# be granted write permission to /run.
patches = [ ./change-runtime-dir.patch ];
subPackages = [ "cmd/genkeys" "cmd/yggdrasil" "cmd/yggdrasilctl" ];
ldflags = [
"-X github.com/yggdrasil-network/yggdrasil-go/src/version.buildVersion=${version}"
"-X github.com/yggdrasil-network/yggdrasil-go/src/version.buildName=${pname}"
"-s" "-w"
];
passthru.tests.basic = nixosTests.yggdrasil;
meta = with lib; {
description =
"An experiment in scalable routing as an encrypted IPv6 overlay network";
homepage = "https://yggdrasil-network.github.io/";
license = licenses.lgpl3;
maintainers = with maintainers; [ ehmry gazally lassulus ];
};
}