blob: faeb2f31a1605b97ed0c630fea045012f0f2179f (
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
# For released versions, we precompile the man/html pages and store
# them in a tarball on our mirrors. This avoids ugly issues while
# building stages, and when the jade/sgml packages are broken (which
# seems to be more common than would be nice).
EAPI="4"
inherit flag-o-matic eutils toolchain-funcs fcaps
if [[ ${PV} == "99999999" ]] ; then
EGIT_REPO_URI="git://www.linux-ipv6.org/gitroot/iputils"
inherit git-2
else
SRC_URI="http://www.skbuff.net/iputils/iputils-s${PV}.tar.bz2
mirror://gentoo/iputils-s${PV}-manpages.tar.bz2"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-linux ~x86-linux"
fi
DESCRIPTION="Network monitoring tools including ping and ping6"
HOMEPAGE="https://wiki.linuxfoundation.org/networking/iputils"
LICENSE="BSD-4"
SLOT="0"
IUSE="caps doc gnutls idn ipv6 SECURITY_HAZARD ssl static"
LIB_DEPEND="caps? ( sys-libs/libcap[static-libs(+)] )
idn? ( net-dns/libidn[static-libs(+)] )
ipv6? ( ssl? (
gnutls? (
net-libs/gnutls[openssl(+)]
net-libs/gnutls[static-libs(+)]
)
!gnutls? ( dev-libs/openssl:0[static-libs(+)] )
) )"
RDEPEND="!net-misc/rarpd
!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
DEPEND="${RDEPEND}
static? ( ${LIB_DEPEND} )
virtual/os-headers"
if [[ ${PV} == "99999999" ]] ; then
DEPEND+="
app-text/openjade
dev-perl/SGMLSpm
app-text/docbook-sgml-dtd
app-text/docbook-sgml-utils
"
fi
S=${WORKDIR}/${PN}-s${PV}
src_prepare() {
epatch "${FILESDIR}"/021109-uclibc-no-ether_ntohost.patch
epatch "${FILESDIR}"/${PN}-20121221-openssl.patch #335436
epatch "${FILESDIR}"/${PN}-20121221-crypto-build.patch
epatch "${FILESDIR}"/${PN}-20100418-so_mark.patch #335347
epatch "${FILESDIR}"/${PN}-20121221-makefile.patch
epatch "${FILESDIR}"/${PN}-20121221-printf-size.patch
epatch "${FILESDIR}"/${PN}-20121221-owl-pingsock.diff
use SECURITY_HAZARD && epatch "${FILESDIR}"/${PN}-20071127-nonroot-floodping.patch
use static && append-ldflags -static
}
src_compile() {
tc-export CC
emake \
USE_CAP=$(usex caps) \
USE_IDN=$(usex idn) \
USE_GNUTLS=$(usex gnutls) \
USE_CRYPTO=$(usex ssl) \
$(use ipv6 || echo IPV6_TARGETS=)
if [[ ${PV} == "99999999" ]] ; then
emake -j1 html man
fi
}
ipv6() { usex ipv6 "$*" '' ; }
src_install() {
into /
dobin arping ping $(ipv6 ping6)
into /usr
dobin clockdiff
dosbin rarpd rdisc ipg tftpd tracepath $(ipv6 tracepath6)
dodoc INSTALL RELNOTES
use ipv6 \
&& dosym ping.8 /usr/share/man/man8/ping6.8 \
|| rm -f doc/*6.8
rm -f doc/{setkey,traceroute6}.8
doman doc/*.8
use doc && dohtml doc/*.html
}
pkg_postinst() {
fcaps cap_net_raw \
bin/{ar,}ping \
$(ipv6 bin/ping6) \
usr/bin/clockdiff
}
|