commit:     3ee18d29f9d2f245c8a9acda7a767edd247f7558
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 10 23:38:13 2018 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Tue Jul 10 23:38:13 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3ee18d29

net-misc/iputils: bump to v20180629

Package-Manager: Portage-2.3.41, Repoman-2.3.9

 net-misc/iputils/Manifest                          |   2 +
 net-misc/iputils/files/iputils-20180629-musl.patch |  87 ++++++++++
 net-misc/iputils/iputils-20180629.ebuild           | 178 +++++++++++++++++++++
 3 files changed, 267 insertions(+)

diff --git a/net-misc/iputils/Manifest b/net-misc/iputils/Manifest
index 4bd330cb3a8..e2cf5240b90 100644
--- a/net-misc/iputils/Manifest
+++ b/net-misc/iputils/Manifest
@@ -1,2 +1,4 @@
 DIST iputils-20171016_pre.tar.gz 195254 BLAKE2B 
1170db29d53dd8285b11d4df7b7da2ea3bd2be3599a3f0df85ca7e64247f2a534d03e43a2b6267ba4b9c0b65fcc58045151833ae2c1035a839ed728a389804af
 SHA512 
570896fc58d945e08032134701ab6ea02bbf6fff420437bc5f89687cdcce6f3c1c64418a4c5ff54ca3cdc582bae2c95e196b2c8368eba2b163ebf88490aabf99
+DIST iputils-20180629.tar.gz 195094 BLAKE2B 
81bf6ef427eac0769ea3f95c20294b46c81f9c619551234eb265b3a428998a96cf3df0cdc7499f9eea280c1999e899e87c3f4a863141de251a9c509840bc83b3
 SHA512 
16b8f5ad1cf88083ebaee0a71fddb14bb0a904336fd0baebfcca86c27ac0773553b21d12790b05cab7661d6432c75bbb1523e871e5e1b77faacd13ccc84f4476
 DIST iputils-manpages-20171016_pre.tar.xz 29764 BLAKE2B 
47def1413b2cdcfba7f924dd7a045063c289c244ba8fb4dc43caf2a8d52032b57ee6d86ee4dffd5351faa3124d4c83a33ca3365866568c2164b374eed9d70ec0
 SHA512 
31b4b0b4e46d7c98530577392c636e4397917cbe415762145a119e68e3223bc85b9d5afcfe61ae01584a35f6a1a772adffc52deeedc722c474179fa1d208d8d9
+DIST iputils-manpages-20180629.tar.xz 29804 BLAKE2B 
15983cc97bc6b6853c193f046687f10be11902f7e1d2dc2eec6c58edd1926f10152108d378858b0d7eb2d2908f038965b05515c4927aedc460282a22307883ad
 SHA512 
1c5b0bab8496a3f3d9b5080029221231a497d9a5e91c61bd0ddd0b63fd51572d052801294aafd08e1dc8ad448b82cdaf48c72f0b08cc143f9c144f3db6848d9a

diff --git a/net-misc/iputils/files/iputils-20180629-musl.patch 
b/net-misc/iputils/files/iputils-20180629-musl.patch
new file mode 100644
index 00000000000..48742d96602
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20180629-musl.patch
@@ -0,0 +1,87 @@
+commit 5007d7067918fb3d950d34c01d059e5222db679a
+Author:     Aric Belsito <[email protected]>
+AuthorDate: Mon Dec 4 00:10:29 2017 +0100
+Commit:     Thomas Deutschmann <[email protected]>
+CommitDate: Wed Jul 11 01:33:28 2018 +0200
+
+    Fix build on MUSL
+    
+    Add missing AI_IDN and NI_IDN declarations.
+    
+    Bug: https://bugs.gentoo.org/503914
+    Signed-off-by: Thomas Deutschmann <[email protected]>
+
+diff --git a/arping.c b/arping.c
+index c2f2129..d753345 100644
+--- a/arping.c
++++ b/arping.c
+@@ -44,6 +44,13 @@
+ 
+ #ifdef USE_IDN
+ #include <locale.h>
++
++#ifndef AI_IDN
++#define AI_IDN 0x0040
++#endif
++#ifndef AI_CANONIDN
++#define AI_CANONIDN 0x0080
++#endif
+ #endif
+ 
+ #include "SNAPSHOT.h"
+diff --git a/ping.h b/ping.h
+index 3e09685..1e51c67 100644
+--- a/ping.h
++++ b/ping.h
+@@ -37,6 +37,17 @@
+ 
+ #ifdef USE_IDN
+ #include <idn2.h>
++
++#ifndef AI_IDN
++#define AI_IDN 0x0040
++#endif
++#ifndef AI_CANONIDN
++#define AI_CANONIDN 0x0080
++#endif
++#ifndef NI_IDN
++#define NI_IDN 32
++#endif
++
+ #define getaddrinfo_flags (AI_CANONNAME | AI_IDN | AI_CANONIDN)
+ #define getnameinfo_flags NI_IDN
+ #else
+diff --git a/tracepath.c b/tracepath.c
+index 53bda16..9558e49 100644
+--- a/tracepath.c
++++ b/tracepath.c
+@@ -29,6 +29,14 @@
+ 
+ #ifdef USE_IDN
+ #include <locale.h>
++
++#ifndef AI_IDN
++#define AI_IDN 0x0040
++#endif
++#ifndef NI_IDN
++#define NI_IDN 32
++#endif
++
+ #define getnameinfo_flags     NI_IDN
+ #else
+ #define getnameinfo_flags     0
+diff --git a/traceroute6.c b/traceroute6.c
+index a1022f9..ab34615 100644
+--- a/traceroute6.c
++++ b/traceroute6.c
+@@ -246,6 +246,10 @@
+ #ifdef USE_IDN
+ #include <locale.h>
+ 
++#ifndef NI_IDN
++#define NI_IDN 32
++#endif
++
+ #define ADDRINFO_IDN_FLAGS    AI_IDN
+ #define getnameinfo_flags     NI_IDN
+ #else

diff --git a/net-misc/iputils/iputils-20180629.ebuild 
b/net-misc/iputils/iputils-20180629.ebuild
new file mode 100644
index 00000000000..fb577b0efbb
--- /dev/null
+++ b/net-misc/iputils/iputils-20180629.ebuild
@@ -0,0 +1,178 @@
+# 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_PV="${PV/_pre/}"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-20180629-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/s${MY_PV}.tar.gz -> 
${P}.tar.gz
+               
https://dev.gentoo.org/~whissi/dist/iputils/${PN}-manpages-${MY_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/libidn2:=[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}"
+
+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=yes
+                       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' '')
+}

Reply via email to