net-p2p/yggdrasil-go - 0.5.10 (dm9pZCAq)

Search

Package Information

Description:
An experiment in scalable routing as an encrypted IPv6 overlay network
Homepage:
https://yggdrasil-network.github.io/ https://github.com/yggdrasil-network/yggdrasil-go
License:
LGPL-3 MIT Apache-2.0 BSD ZLIB

Ebuild Details

Version EAPI Keywords Slot
0.5.10 8 ~amd64 ~arm ~arm64 ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris 0
View Raw Ebuild
# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit go-module linux-info systemd fcaps

DESCRIPTION="An experiment in scalable routing as an encrypted IPv6 overlay network"
HOMEPAGE="
	https://yggdrasil-network.github.io/
	https://github.com/yggdrasil-network/yggdrasil-go
"
SRC_URI="
	https://github.com/${PN%%-*}-network/${PN}/archive/v${PV/_rc/rc}.tar.gz -> ${P}.tar.gz
	https://github.com/dm9pZCAq/gentoo-go-deps/releases/download/${P}/${P}-deps.tar.xz
"
S="${WORKDIR}/${P/_rc/rc}"

LICENSE="LGPL-3 MIT Apache-2.0 BSD ZLIB"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"

RDEPEND="
	acct-user/${PN%-*}
	acct-group/${PN%-*}
"
BDEPEND=">=dev-lang/go-1.21"

FILECAPS=(
	cap_net_admin,cap_net_raw+eip "usr/bin/${PN%-*}"
)

pkg_setup() {
	linux-info_pkg_setup
	if ! linux_config_exists; then
		eerror "Unable to check your kernel for TUN support"
	else
		CONFIG_CHECK="~TUN"
		ERROR_TUN="Your kernel lacks TUN support."
	fi
}

src_compile() {
	local src_version="github.com/yggdrasil-network/yggdrasil-go/src/version"
	local cmd=''
	for cmd in "${PN%-*}"{,ctl}; do
		CGO_ENABLED=0 ego build -ldflags="
			-X ${src_version}.buildName=${P}
			-X ${src_version}.buildVersion=v${PV}
			-extldflags '-static'
		" -o "${cmd}" "./cmd/${cmd}"
	done
}

src_install() {
	dobin yggdrasil{,ctl}

	systemd_dounit "contrib/systemd/${PN%-*}.service"

	doinitd "contrib/openrc/${PN%-*}"

	einstalldocs
}

Dependencies

RDEPEND

	acct-user/${PN%-*}
	acct-group/${PN%-*}

BDEPEND

>=dev-lang/go-1.21

Manifest for 0.5.10

Type File Size Source URLs
DIST yggdrasil-go-0.5.10-deps.tar.xz 48875376 bytes https://github.com/dm9pZCAq/gentoo-go-deps/releases/download/yggdrasil-go-0.5.10/yggdrasil-go-0.5.10-deps.tar.xz
DIST yggdrasil-go-0.5.10.tar.gz 110477 bytes https://github.com/${PN%%-*}-network/yggdrasil-go/archive/v${PV/_rc/rc}.tar.gz