# Copyright 2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 inherit go-module systemd tmpfiles DESCRIPTION="Tailscale vpn client" HOMEPAGE="https://tailscale.com" EGO_SUM=( "cloud.google.com/go v0.34.0/go.mod" "github.com/BurntSushi/toml v0.3.1" "github.com/BurntSushi/toml v0.3.1/go.mod" "github.com/Masterminds/semver/v3 v3.0.3" "github.com/Masterminds/semver/v3 v3.0.3/go.mod" "github.com/alecthomas/kingpin v2.2.6+incompatible" "github.com/alecthomas/kingpin v2.2.6+incompatible/go.mod" "github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751" "github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod" "github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d" "github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod" "github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239" "github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod" "github.com/apenwarr/fixconsole v0.0.0-20191012055117-5a9f6489cc29" "github.com/apenwarr/fixconsole v0.0.0-20191012055117-5a9f6489cc29/go.mod" "github.com/apenwarr/w32 v0.0.0-20190407065021-aa00fece76ab" "github.com/apenwarr/w32 v0.0.0-20190407065021-aa00fece76ab/go.mod" "github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb" "github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb/go.mod" "github.com/cavaliercoder/go-cpio v0.0.0-20180626203310-925f9528c45e" "github.com/cavaliercoder/go-cpio v0.0.0-20180626203310-925f9528c45e/go.mod" "github.com/coreos/go-iptables v0.4.5" "github.com/coreos/go-iptables v0.4.5/go.mod" "github.com/davecgh/go-spew v1.1.0/go.mod" "github.com/davecgh/go-spew v1.1.1" "github.com/davecgh/go-spew v1.1.1/go.mod" "github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568" "github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod" "github.com/gliderlabs/ssh v0.2.2" "github.com/gliderlabs/ssh v0.2.2/go.mod" "github.com/go-ole/go-ole v1.2.4" "github.com/go-ole/go-ole v1.2.4/go.mod" "github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e" "github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod" "github.com/golang/protobuf v1.2.0" "github.com/golang/protobuf v1.2.0/go.mod" "github.com/google/go-cmp v0.2.0/go.mod" "github.com/google/go-cmp v0.3.1/go.mod" "github.com/google/go-cmp v0.4.0" "github.com/google/go-cmp v0.4.0/go.mod" "github.com/google/rpmpack v0.0.0-20191226140753-aa36bfddb3a0" "github.com/google/rpmpack v0.0.0-20191226140753-aa36bfddb3a0/go.mod" "github.com/goreleaser/nfpm v1.1.10" "github.com/goreleaser/nfpm v1.1.10/go.mod" "github.com/imdario/mergo v0.3.8" "github.com/imdario/mergo v0.3.8/go.mod" "github.com/jsimonetti/rtnetlink v0.0.0-20190606172950-9527aa82566a/go.mod" "github.com/jsimonetti/rtnetlink v0.0.0-20200117123717-f846d4f6c1f4" "github.com/jsimonetti/rtnetlink v0.0.0-20200117123717-f846d4f6c1f4/go.mod" "github.com/klauspost/compress v1.9.8" "github.com/klauspost/compress v1.9.8/go.mod" "github.com/kr/pretty v0.1.0" "github.com/kr/pretty v0.1.0/go.mod" "github.com/kr/pty v1.1.1" "github.com/kr/pty v1.1.1/go.mod" "github.com/kr/text v0.1.0" "github.com/kr/text v0.1.0/go.mod" "github.com/mattn/go-zglob v0.0.1" "github.com/mattn/go-zglob v0.0.1/go.mod" "github.com/mdlayher/netlink v0.0.0-20190409211403-11939a169225/go.mod" "github.com/mdlayher/netlink v1.0.0/go.mod" "github.com/mdlayher/netlink v1.1.0" "github.com/mdlayher/netlink v1.1.0/go.mod" "github.com/op/go-logging v0.0.0-20160315200505-970db520ece7" "github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod" "github.com/pborman/getopt v0.0.0-20190409184431-ee0cd42419d3" "github.com/pborman/getopt v0.0.0-20190409184431-ee0cd42419d3/go.mod" "github.com/pelletier/go-toml v1.6.0/go.mod" "github.com/peterbourgon/ff/v2 v2.0.0" "github.com/peterbourgon/ff/v2 v2.0.0/go.mod" "github.com/pkg/errors v0.8.1" "github.com/pkg/errors v0.8.1/go.mod" "github.com/pmezard/go-difflib v1.0.0" "github.com/pmezard/go-difflib v1.0.0/go.mod" "github.com/sassoftware/go-rpmutils v0.0.0-20190420191620-a8f1baeba37b" "github.com/sassoftware/go-rpmutils v0.0.0-20190420191620-a8f1baeba37b/go.mod" "github.com/stretchr/objx v0.1.0/go.mod" "github.com/stretchr/testify v1.4.0" "github.com/stretchr/testify v1.4.0/go.mod" "github.com/tailscale/winipcfg-go v0.0.0-20200213045944-185b07f8233f" "github.com/tailscale/winipcfg-go v0.0.0-20200213045944-185b07f8233f/go.mod" "github.com/tailscale/winipcfg-go v0.0.0-20200413171540-609dcf2df55f" "github.com/tailscale/winipcfg-go v0.0.0-20200413171540-609dcf2df55f/go.mod" "github.com/tailscale/wireguard-go v0.0.0-20200407164751-7f0c43dd1145" "github.com/tailscale/wireguard-go v0.0.0-20200407164751-7f0c43dd1145/go.mod" "github.com/tailscale/wireguard-go v0.0.0-20200416194755-23aababa2084" "github.com/tailscale/wireguard-go v0.0.0-20200416194755-23aababa2084/go.mod" "github.com/toqueteos/webbrowser v1.2.0" "github.com/toqueteos/webbrowser v1.2.0/go.mod" "github.com/ulikunitz/xz v0.5.6" "github.com/ulikunitz/xz v0.5.6/go.mod" "github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8" "github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod" "go4.org/mem v0.0.0-20200411205429-f77f31c81751" "go4.org/mem v0.0.0-20200411205429-f77f31c81751/go.mod" "golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod" "golang.org/x/crypto v0.0.0-20191002192127-34f69633bfdc/go.mod" "golang.org/x/crypto v0.0.0-20200317142112-1b76d66859c6" "golang.org/x/crypto v0.0.0-20200317142112-1b76d66859c6/go.mod" "golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod" "golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod" "golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod" "golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod" "golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod" "golang.org/x/net v0.0.0-20191003171128-d98b1b443823/go.mod" "golang.org/x/net v0.0.0-20191007182048-72f939374954/go.mod" "golang.org/x/net v0.0.0-20200202094626-16171245cfb2" "golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod" "golang.org/x/net v0.0.0-20200301022130-244492dfa37a" "golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod" "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d" "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod" "golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4" "golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod" "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e" "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod" "golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod" "golang.org/x/sys v0.0.0-20190310054646-10058d7d4faa/go.mod" "golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod" "golang.org/x/sys v0.0.0-20190405154228-4b34438f7a67/go.mod" "golang.org/x/sys v0.0.0-20190411185658-b44545bcd369/go.mod" "golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod" "golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod" "golang.org/x/sys v0.0.0-20191003212358-c178f38b412c/go.mod" "golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod" "golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5" "golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod" "golang.org/x/sys v0.0.0-20200317113312-5766fd39f98d" "golang.org/x/sys v0.0.0-20200317113312-5766fd39f98d/go.mod" "golang.org/x/text v0.3.0/go.mod" "golang.org/x/text v0.3.2" "golang.org/x/text v0.3.2/go.mod" "golang.org/x/time v0.0.0-20191024005414-555d28b269f0" "golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod" "golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod" "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543" "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod" "google.golang.org/appengine v1.4.0" "google.golang.org/appengine v1.4.0/go.mod" "gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod" "gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15" "gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod" "gopkg.in/yaml.v2 v2.2.2/go.mod" "gopkg.in/yaml.v2 v2.2.4/go.mod" "gopkg.in/yaml.v2 v2.2.7" "gopkg.in/yaml.v2 v2.2.7/go.mod" "gortc.io/stun v1.22.1" "gortc.io/stun v1.22.1/go.mod" "inet.af v0.0.0-20181218191229-53da77bc832c" "inet.af/netaddr v0.0.0-20200417144406-01f6d1b213c8" "inet.af/netaddr v0.0.0-20200417144406-01f6d1b213c8/go.mod" "inet.af/netaddr v0.0.0-20200417204647-17eccff2620c" "inet.af/netaddr v0.0.0-20200417204647-17eccff2620c/go.mod" "inet.af/netaddr v0.0.0-20200417205003-27c4b435b671" "inet.af/netaddr v0.0.0-20200417205003-27c4b435b671/go.mod" "inet.af/netaddr v0.0.0-20200417213433-f9e5bcc2d6ea" "inet.af/netaddr v0.0.0-20200417213433-f9e5bcc2d6ea/go.mod" "rsc.io/goversion v1.2.0" "rsc.io/goversion v1.2.0/go.mod" ) go-module_set_globals SRC_URI="https://github.com/tailscale/tailscale/archive/v${PV}.tar.gz -> ${P}.tar.gz ${EGO_SUM_SRC_URI}" LICENSE="MIT" SLOT="0" KEYWORDS="~amd64" RDEPEND="net-firewall/iptables" src_compile() { GOBIN="${S}"/bin \ go install ./cmd/tailscale{,d} || die "compile failed" } src_install() { dosbin bin/${PN}d dobin bin/${PN} systemd_dounit cmd/tailscaled/tailscaled.service insinto /etc/default newins cmd/tailscaled/tailscaled.defaults tailscaled keepdir /var/lib/${PN} fperms 0750 /var/lib/${PN} newtmpfiles "${FILESDIR}/${PN}.tmpfiles" ${PN}.conf newinitd "${FILESDIR}/${PN}d.initd" ${PN} newconfd "${FILESDIR}/${PN}d.confd" ${PN} }