From 1c9c10896e6d161b6ca2b39b19f5e83a1bef2e14 Mon Sep 17 00:00:00 2001 From: kat witch Date: Thu, 15 Jul 2021 02:35:11 +0100 Subject: [PATCH] Ygg version reversal --- pkgs/default.nix | 2 ++ pkgs/yggdrasil/default.nix | 41 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 pkgs/yggdrasil/default.nix diff --git a/pkgs/default.nix b/pkgs/default.nix index b3bc9c2a..91ea4c77 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -58,6 +58,8 @@ let zfsUnstable = ksuper.zfsUnstable.overrideAttrs (old: { meta = old.meta // { broken = false; }; }); }); + yggdrasil = self.callPackage ./yggdrasil { }; + obs-studio = super.obs-studio.override { pipewireSupport = true; }; libreelec-dvb-firmware = self.callPackage ./libreelec-dvb-firmware { }; diff --git a/pkgs/yggdrasil/default.nix b/pkgs/yggdrasil/default.nix new file mode 100644 index 00000000..8228132b --- /dev/null +++ b/pkgs/yggdrasil/default.nix @@ -0,0 +1,41 @@ +{ lib, buildGoModule, fetchFromGitHub, nixosTests }: + +buildGoModule rec { + pname = "yggdrasil"; + version = "0.3.16"; + + src = fetchFromGitHub { + owner = "yggdrasil-network"; + repo = "yggdrasil-go"; + rev = "v${version}"; + sha256 = "sha256-uUF0zkgtzdMZB/GKOtawjn7AQBkRoiAEj9nUUmpQSVQ="; + }; + + vendorSha256 = "sha256-619PSqd7pl3Akj/kzLQhDIp1adumBGhLrzQsZvMzC7w="; + + doCheck = false; + + # 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/yggdrasil" "cmd/yggdrasilctl" ]; + + buildFlagsArray = '' + -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 ]; + }; +}