Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib, stdenv, buildGoModule, fetchFromGitHub, makeWrapper, iptables, iproute2, procps, shadow, getent }: 2 3let 4 version = "1.48.2"; 5in 6buildGoModule { 7 pname = "tailscale"; 8 inherit version; 9 10 src = fetchFromGitHub { 11 owner = "tailscale"; 12 repo = "tailscale"; 13 rev = "v${version}"; 14 hash = "sha256-5Usi7W4y6JniyxBIfQid1XjDIZRS5oIw+KUMMiFRBwk="; 15 }; 16 vendorHash = "sha256-Fr4VZcKrXnT1PZuEG110KBefjcZzRsQRBSvByELKAy4="; 17 18 nativeBuildInputs = lib.optionals stdenv.isLinux [ makeWrapper ]; 19 20 CGO_ENABLED = 0; 21 22 subPackages = [ "cmd/tailscale" "cmd/tailscaled" ]; 23 24 ldflags = [ 25 "-w" 26 "-s" 27 "-X tailscale.com/version.longStamp=${version}" 28 "-X tailscale.com/version.shortStamp=${version}" 29 ]; 30 31 doCheck = false; 32 33 postInstall = lib.optionalString stdenv.isLinux '' 34 wrapProgram $out/bin/tailscaled --prefix PATH : ${lib.makeBinPath [ iproute2 iptables getent shadow ]} 35 wrapProgram $out/bin/tailscale --suffix PATH : ${lib.makeBinPath [ procps ]} 36 37 sed -i -e "s#/usr/sbin#$out/bin#" -e "/^EnvironmentFile/d" ./cmd/tailscaled/tailscaled.service 38 install -D -m0444 -t $out/lib/systemd/system ./cmd/tailscaled/tailscaled.service 39 ''; 40 41 meta = with lib; { 42 homepage = "https://tailscale.com"; 43 description = "The node agent for Tailscale, a mesh VPN built on WireGuard"; 44 license = licenses.bsd3; 45 mainProgram = "tailscale"; 46 maintainers = with maintainers; [ danderson mbaillie twitchyliquid64 jk mfrw ]; 47 }; 48}