summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Bauman <bman@gentoo.org>2018-04-11 00:40:48 -0400
committerLars Wendler <polynomial-c@gentoo.org>2018-04-11 09:27:54 +0200
commite7b28e2545c9e3fb8f68f32899f10187f2da5b25 (patch)
tree0cadee50fe7f8dc8e131968b702107f02ce3bed3 /net-misc/iputils/iputils-20171016_pre-r1.ebuild
parentnet-misc/miniupnpd: Version bump to 2.0.20180410 (diff)
downloadgentoo-e7b28e2545c9e3fb8f68f32899f10187f2da5b25.tar.gz
gentoo-e7b28e2545c9e3fb8f68f32899f10187f2da5b25.tar.bz2
gentoo-e7b28e2545c9e3fb8f68f32899f10187f2da5b25.zip
net-misc/iputils: fix ipv6 dependency logic and drop REQUIRED_USE
This revision bump adjusts the logic for OpenSSL and LibreSSL ensuring that the libressl flag is not dependent on the openssl flag being set. Also, this revision bump removes the requirement for REQUIRED_USE and defaults to dev-libs/openssl if no user flags are set. OpenSSL was chosen as it is the current default provider for a stage3. Should the libressl project decide to build a stage3 this can also be easily adjusted in profiles without ebuild modifications. Bug: https://bugs.gentoo.org/643304 Package-Manager: Portage-2.3.28, Repoman-2.3.9 Closes: https://github.com/gentoo/gentoo/pull/7937
Diffstat (limited to 'net-misc/iputils/iputils-20171016_pre-r1.ebuild')
-rw-r--r--net-misc/iputils/iputils-20171016_pre-r1.ebuild179
1 files changed, 179 insertions, 0 deletions
diff --git a/net-misc/iputils/iputils-20171016_pre-r1.ebuild b/net-misc/iputils/iputils-20171016_pre-r1.ebuild
new file mode 100644
index 000000000000..0bd65c826279
--- /dev/null
+++ b/net-misc/iputils/iputils-20171016_pre-r1.ebuild
@@ -0,0 +1,179 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# 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 reduces depedencies.
+# To regenerate man/html pages emerge iputils-99999999[doc] with
+# EGIT_COMMIT set to release tag and tar ${S}/doc folder.
+
+EAPI="6"
+
+inherit flag-o-matic toolchain-funcs fcaps
+
+MY_COMMIT="67e7d0daf1f231cc708217e6aec2f8d5ce7aeacf"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-99999999-tracepath46.patch
+ "${FILESDIR}"/${PN}-99999999-musl.patch
+)
+
+if [[ ${PV} == "99999999" ]] ; then
+ EGIT_REPO_URI="https://github.com/iputils/iputils.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/iputils/iputils/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~whissi/dist/iputils/${PN}-manpages-${PV}.tar.xz"
+ 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 GPL-2+ rdisc"
+SLOT="0"
+IUSE="+arping caps clockdiff doc gcrypt idn ipv6 libressl nettle rarpd rdisc SECURITY_HAZARD ssl static tftpd tracepath traceroute"
+
+LIB_DEPEND="caps? ( sys-libs/libcap[static-libs(+)] )
+ idn? ( net-dns/libidn[static-libs(+)] )
+ ipv6? ( ssl? (
+ gcrypt? ( dev-libs/libgcrypt:0=[static-libs(+)] )
+ !gcrypt? (
+ nettle? ( dev-libs/nettle[static-libs(+)] )
+ !nettle? (
+ libressl? ( dev-libs/libressl:0[static-libs(+)] )
+ !libressl? ( dev-libs/openssl:0=[static-libs(+)] )
+ )
+ )
+ )
+)"
+RDEPEND="arping? ( !net-misc/arping )
+ rarpd? ( !net-misc/rarpd )
+ traceroute? ( !net-analyzer/traceroute )
+ !static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+DEPEND="${RDEPEND}
+ static? ( ${LIB_DEPEND} )
+ virtual/os-headers
+"
+if [[ ${PV} == "99999999" ]] ; then
+ DEPEND+="app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt:0
+ "
+fi
+
+[ "${PV}" = "99999999" ] || S="${WORKDIR}/${PN}-s${PV}"
+
+S="${WORKDIR}/${PN}-${MY_COMMIT}"
+
+src_prepare() {
+ use SECURITY_HAZARD && PATCHES+=( "${FILESDIR}"/${PN}-20150815-nonroot-floodping.patch )
+
+ default
+}
+
+src_configure() {
+ use static && append-ldflags -static
+
+ TARGETS=(
+ ping
+ $(for v in arping clockdiff rarpd rdisc tftpd tracepath ; do usev ${v} ; done)
+ )
+ if use ipv6 ; then
+ TARGETS+=(
+ $(usex traceroute 'traceroute6' '')
+ )
+ fi
+
+ myconf=(
+ USE_CRYPTO=no
+ USE_GCRYPT=no
+ USE_NETTLE=no
+ )
+
+ if use ipv6 && use ssl ; then
+ myconf=(
+ USE_CRYPTO=$(usex openssl)
+ USE_GCRYPT=$(usex gcrypt)
+ USE_NETTLE=$(usex nettle)
+ )
+ fi
+}
+
+src_compile() {
+ tc-export CC
+ emake \
+ USE_CAP=$(usex caps) \
+ USE_IDN=$(usex idn) \
+ IPV4_DEFAULT=$(usex ipv6 'no' 'yes') \
+ TARGETS="${TARGETS[*]}" \
+ ${myconf[@]}
+
+ if [[ ${PV} == "99999999" ]] ; then
+ emake man
+
+ use doc && emake html
+ fi
+}
+
+src_install() {
+ into /
+ dobin ping
+ dosym ping /bin/ping4
+ if use ipv6 ; then
+ dosym ping /bin/ping6
+ dosym ping.8 /usr/share/man/man8/ping6.8
+ fi
+ doman doc/ping.8
+
+ if use arping ; then
+ dobin arping
+ doman doc/arping.8
+ fi
+
+ into /usr
+
+ if use tracepath ; then
+ dosbin tracepath
+ doman doc/tracepath.8
+ dosym tracepath /usr/sbin/tracepath4
+ fi
+
+ local u
+ for u in clockdiff rarpd rdisc tftpd ; do
+ if use ${u} ; then
+ case ${u} in
+ clockdiff) dobin ${u};;
+ *) dosbin ${u};;
+ esac
+ doman doc/${u}.8
+ fi
+ done
+
+ if use tracepath && use ipv6 ; then
+ dosym tracepath /usr/sbin/tracepath6
+ dosym tracepath.8 /usr/share/man/man8/tracepath6.8
+ fi
+
+ if use traceroute && use ipv6 ; then
+ dosbin traceroute6
+ doman doc/traceroute6.8
+ fi
+
+ if use rarpd ; then
+ newinitd "${FILESDIR}"/rarpd.init.d rarpd
+ newconfd "${FILESDIR}"/rarpd.conf.d rarpd
+ fi
+
+ dodoc INSTALL.md
+
+ use doc && dodoc doc/*.html
+}
+
+pkg_postinst() {
+ fcaps cap_net_raw \
+ bin/ping \
+ $(usex arping 'bin/arping' '') \
+ $(usex clockdiff 'usr/bin/clockdiff' '')
+}