mirror of
https://github.com/pentoo/pentoo-overlay
synced 2025-12-06 08:25:01 +01:00
78 lines
2 KiB
Bash
78 lines
2 KiB
Bash
# Copyright 1999-2020 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
inherit fcaps flag-o-matic toolchain-funcs
|
|
|
|
DESCRIPTION="A tunnel which turns UDP traffic into encrypted FakeTCP/UDP/ICMP traffic"
|
|
HOMEPAGE="https://github.com/wangyu-/udp2raw-tunnel"
|
|
|
|
if [[ ${PV} == *9999 ]]; then
|
|
inherit git-r3
|
|
EGIT_REPO_URI="https://github.com/wangyu-/udp2raw-tunnel"
|
|
else
|
|
SRC_URI="https://github.com/wangyu-/udp2raw-tunnel/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
|
KEYWORDS="~amd64 ~arm ~x86"
|
|
fi
|
|
|
|
LICENSE="MIT"
|
|
SLOT="0"
|
|
IUSE="cpu_flags_x86_aes doc iptables"
|
|
|
|
DEPEND=""
|
|
RDEPEND="${DEPEND}
|
|
iptables? ( net-firewall/iptables )"
|
|
|
|
src_prepare() {
|
|
# Disable optimisation flags and remove prefixes of exec files
|
|
sed -e 's/ -O[0-3a-z]*//' \
|
|
-e 's/\${NAME}_[a-zA-Z0-9\$@]*/\${NAME}/' \
|
|
-e 's/ -static//' \
|
|
-e "s/\${cc_[a-zA-Z0-9_]*}/$(tc-getCXX)/" \
|
|
-i makefile || die 'sed failed!'
|
|
|
|
default
|
|
}
|
|
|
|
src_compile() {
|
|
append-cxxflags -Wa,--noexecstack
|
|
emake OPT="${CXXFLAGS}" \
|
|
$(use cpu_flags_x86_aes && use amd64 && echo amd64_hw_aes) \
|
|
$(use arm && echo arm_asm_aes) \
|
|
$(use x86 && echo x86_asm_aes)
|
|
}
|
|
|
|
src_install() {
|
|
local exec_name=${PN%-tunnel}
|
|
|
|
insinto "/etc/${exec_name}"
|
|
fowners root:nobody "/etc/${exec_name}"
|
|
fperms 750 "/etc/${exec_name}"
|
|
doins example.conf
|
|
|
|
newinitd "${FILESDIR}"/udp2raw-daemon$(use iptables && echo '.iptables').initd udp2raw-daemon
|
|
newconfd "${FILESDIR}"/udp2raw-daemon.confd udp2raw-daemon
|
|
|
|
insinto "/etc/logrotate.d"
|
|
newins "${FILESDIR}"/udp2raw-daemon.logrotated udp2raw-daemon
|
|
|
|
dobin $exec_name
|
|
|
|
doman "${FILESDIR}"/man/udp2raw.1
|
|
dodoc -r \
|
|
$(use doc && echo 'images doc/*') \
|
|
README.md example.conf Dockerfile
|
|
}
|
|
|
|
pkg_postinst() {
|
|
fcaps cap_net_raw+ep /usr/bin/${PN%-tunnel}
|
|
|
|
if ! use cpu_flags_x86_aes && use amd64; then
|
|
ewarn "Please add CPU_FLAGS_X86=\"aes\" to /etc/portage/make.conf"
|
|
ewarn "if your CPU support the AES instruction. Just run:"
|
|
ewarn " ~# emerge -uDN @world"
|
|
fi
|
|
|
|
elog "\nSee documentation: https://github.com/wangyu-/udp2raw-tunnel#getting-started\n"
|
|
}
|