View Raw Ebuild
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit edo git-r3 go-module
DESCRIPTION="Reverse proxy that inverts the direction of traffic"
HOMEPAGE="https://github.com/google/inverting-proxy"
EGIT_REPO_URI="https://github.com/google/${PN}.git"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="agent server test"
REQUIRED_USE="|| ( agent server )"
RESTRICT="!test? ( test )"
src_unpack() {
git-r3_src_unpack
edo pushd "${S}"
edo go mod tidy
edo popd
go-module_live_vendor
}
src_compile() {
use agent && ego build -o ./bin/proxy-forwarding-agent ./agent/agent.go
use server && ego build -o ./bin/inverting-proxy ./server/server.go
if use test ; then
ego build -o ./bin/inverting-proxy-run-local \
./testing/runlocal/main.go
ego build -o ./bin/inverting-proxy-run-websockets \
./testing/websockets/main.go
ego build -o ./bin/example-websocket-server \
./testing/websockets/example/main.go
fi
}
src_test() {
ego test -work ./agent/{banner,metrics,sessions,utils,websockets}/...
}
src_install() {
einstalldocs
if use agent ; then
dobin bin/proxy-forwarding-agent
newinitd "${FILESDIR}"/inverting-proxy-agent.initd inverting-proxy-agent
newconfd "${FILESDIR}"/inverting-proxy-agent.confd inverting-proxy-agent
fi
if use server ; then
dobin bin/inverting-proxy
newinitd "${FILESDIR}"/inverting-proxy-server.initd inverting-proxy-server
newconfd "${FILESDIR}"/inverting-proxy-server.confd inverting-proxy-server
fi
}