diff options
author | Aaron Bauman <bman@gentoo.org> | 2018-04-11 00:40:48 -0400 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2018-04-11 09:27:54 +0200 |
commit | e7b28e2545c9e3fb8f68f32899f10187f2da5b25 (patch) | |
tree | 0cadee50fe7f8dc8e131968b702107f02ce3bed3 /net-misc/iputils | |
parent | net-misc/miniupnpd: Version bump to 2.0.20180410 (diff) | |
download | gentoo-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')
-rw-r--r-- | net-misc/iputils/iputils-20171016_pre-r1.ebuild | 179 |
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' '') +} |