diff options
Diffstat (limited to 'third_party/tailscale')
-rw-r--r-- | third_party/tailscale/0001-fix-client-logger.patch | 28 | ||||
-rw-r--r-- | third_party/tailscale/default.nix | 41 |
2 files changed, 69 insertions, 0 deletions
diff --git a/third_party/tailscale/0001-fix-client-logger.patch b/third_party/tailscale/0001-fix-client-logger.patch new file mode 100644 index 000000000000..d86694adcae7 --- /dev/null +++ b/third_party/tailscale/0001-fix-client-logger.patch @@ -0,0 +1,28 @@ +From ce33360524307b6da4f996a9f465260e121011f8 Mon Sep 17 00:00:00 2001 +From: Vincent Ambo <tazjin@google.com> +Date: Tue, 11 Feb 2020 00:40:37 +0000 +Subject: [PATCH] fix(control): Ensure control client has a logger function + +For some reason this field ended up being nil in taillogin, which made +it difficult to actually log in. +--- + control/controlclient/auto.go | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/control/controlclient/auto.go b/control/controlclient/auto.go +index 67f187f..09cdf6f 100644 +--- a/control/controlclient/auto.go ++++ b/control/controlclient/auto.go +@@ -160,6 +160,9 @@ func NewNoStart(opts Options) (*Client, error) { + // + // It should only be called for clients created by NewNoStart. + func (c *Client) Start() { ++ c.logf = func(f string, args ...interface{}) { ++ fmt.Printf(f, args) ++ } + go c.authRoutine() + go c.mapRoutine() + } +-- +2.23.0 + diff --git a/third_party/tailscale/default.nix b/third_party/tailscale/default.nix new file mode 100644 index 000000000000..9f26d8f76af6 --- /dev/null +++ b/third_party/tailscale/default.nix @@ -0,0 +1,41 @@ +# This file packages the Tailscale client using the standard upstream +# Go packaging mechanisms instead of buildGo.nix + +{ pkgs, lib, ... }: + +let + inherit (pkgs) buildGoModule fetchFromGitHub; +in buildGoModule rec { + pname = "tailscale"; + version = "fef25489"; + + src = fetchFromGitHub { + owner = "tailscale"; + repo = "tailscale"; + rev = "fef254898178d100f25b98530499adcf07cfded3"; + sha256 = "1islxzr8lhnl2f0r686mcciwb8lzvqjczg9fs0nagr5pp6dsi9fa"; + }; + + patches = [ ./0001-fix-client-logger.patch ]; + + goPackagePath = "tailscale.com"; + modSha256 = "0cnih9flwgqjq4x4cwyac9yyz1prv2i2by1ki3g71ai8q621bq10"; + subPackages = [ + "cmd/relaynode" + "cmd/taillogin" + "cmd/tailscale" + "cmd/tailscaled" + ]; + + postInstall = '' + mkdir -p $out/etc/ + cp ${src}/cmd/relaynode/acl.json $out/etc/ + ''; + + meta = with lib; { + homepage = "https://tailscale.com/"; + description = "Private WireGuard networks made easy"; + license = licenses.bsd3; + maintainers = with maintainers; [ tazjin ]; + }; +} |