blob: be9afada5592a4d38f05daf37802948265da0d08 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit toolchain-funcs flag-o-matic
MY_P="nc${PV}"
DESCRIPTION="The network swiss army knife"
HOMEPAGE="https://nc110.sourceforge.io"
SRC_URI="mirror://sourceforge/nc110/${MY_P}.tar.xz"
S="${WORKDIR}/nc110"
LICENSE="netcat"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris"
IUSE="ipv6 static"
PATCHES=(
"${FILESDIR}/${P}-variadic-holler.patch"
)
src_prepare() {
default
sed -i \
-e '/#define HAVE_BIND/s:#define:#undef:' \
-e '/#define FD_SETSIZE 16/s:16:1024: #34250' \
netcat.c || die
if [[ ${CHOST} == *-solaris* ]] ; then
sed -i 's:gethostbyname2 *(\([^)]\+\)):getipnodebyname (\1, AI_DEFAULT, NULL):' netcat.c || die
fi
}
src_configure() {
if ! use ipv6 ; then
sed -i '/#define INET6/d' generic.h || die
fi
append-cppflags -DTELNET -DGAPING_SECURITY_HOLE
}
src_compile() {
local xlibs
[[ ${CHOST} == *-solaris* ]] && xlibs+=" -lnsl -lsocket"
emake \
LD="$(tc-getCC) ${LDFLAGS}" \
DFLAGS="${CPPFLAGS}" \
XFLAGS="${CFLAGS}" \
STATIC=$(usex static '-static' '') \
XLIBS="${xlibs}" \
nc
}
src_install() {
dobin nc
dodoc README* netcat.blurb
doman nc.1
docinto scripts
dodoc scripts/*
}
|