net-misc/iputils: bump to v20190709
authorThomas Deutschmann <whissi@gentoo.org>
Fri, 19 Jul 2019 11:04:03 +0000 (13:04 +0200)
committerThomas Deutschmann <whissi@gentoo.org>
Fri, 19 Jul 2019 11:04:03 +0000 (13:04 +0200)
Package-Manager: Portage-2.3.68, Repoman-2.3.16
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
net-misc/iputils/Manifest
net-misc/iputils/iputils-20190709.ebuild [new file with mode: 0644]

index d87174e0216bd9fe3a2c273a98cddcabf332cbe8..23ec4c046b6daa2bb433f34049e3de7cdfe85125 100644 (file)
@@ -1,4 +1,6 @@
 DIST iputils-20180629.tar.gz 195094 BLAKE2B 81bf6ef427eac0769ea3f95c20294b46c81f9c619551234eb265b3a428998a96cf3df0cdc7499f9eea280c1999e899e87c3f4a863141de251a9c509840bc83b3 SHA512 16b8f5ad1cf88083ebaee0a71fddb14bb0a904336fd0baebfcca86c27ac0773553b21d12790b05cab7661d6432c75bbb1523e871e5e1b77faacd13ccc84f4476
 DIST iputils-20190515.tar.gz 403228 BLAKE2B cebe2460ac4da5471a9b8e655bed1c1640f69d4dc41a724ab197533e3d532e34c28e9ccbc852e057d18c9867d9d668e2f73848b005439463dc4e7735c68ae87c SHA512 adb8831ca3a567b9a5f3762227c631aefa62eedbaa7578c2bfea90b6d494b9e0cccf49b68713912611ec56c352d6c517df9e8409c9c9478cfc5732371c8cf250
+DIST iputils-20190709.tar.gz 404101 BLAKE2B 38e66366cc13a77b7da1a85afe7245891c6c7069c218bc8d5d0dd3664d07a5c4004aa6fc56c192b90bfacf2e5e103997cd671a236aa0a9932a5818eca1e10744 SHA512 5db18ac49fa46ed810da4d508e78f4baf2d5c07e7f923eb49d005ad8745743d8861e5788b34a7e37fb7261cee7ddfb768b737eee9d200502ea53537142cac6b5
 DIST iputils-manpages-20180629.tar.xz 29804 BLAKE2B 15983cc97bc6b6853c193f046687f10be11902f7e1d2dc2eec6c58edd1926f10152108d378858b0d7eb2d2908f038965b05515c4927aedc460282a22307883ad SHA512 1c5b0bab8496a3f3d9b5080029221231a497d9a5e91c61bd0ddd0b63fd51572d052801294aafd08e1dc8ad448b82cdaf48c72f0b08cc143f9c144f3db6848d9a
 DIST iputils-manpages-20190515.tar.xz 27556 BLAKE2B adf3eb5c7f3fd71fa24ff48daffd367ba6abc0377bca45ddc439803d177bf668f7dfc7bd3da7a06e89d9ffdd68f2bb0dbb9aa0ac150c98cd1f2b207a68d4fb46 SHA512 4013fe05c592ccc09d6b947ee59d56515bfe49e9a9d5610225d4a2b8c5034a7f1e8dc41c214cf03ce909d36bc5a8438541ad302cddeb1f0b4359a9b9c85ad4b2
+DIST iputils-manpages-20190709.tar.xz 27588 BLAKE2B 9780a96dfde077625a7a499182511066ede63ca364d2de729403354af7cea6b25629da1408ee2081f9da1b21756ee956d04642ea36d05ee02ef7ef05b66c1ad5 SHA512 4de796666426574bd134f4c4ea4d560d8e3eae8bd8ac19b89793fe252a1ef9eebd1833cafb72a2987118f3061eaf00da8a2468e8bced1568611f9391a1203066
diff --git a/net-misc/iputils/iputils-20190709.ebuild b/net-misc/iputils/iputils-20190709.ebuild
new file mode 100644 (file)
index 0000000..3163709
--- /dev/null
@@ -0,0 +1,201 @@
+# Copyright 1999-2019 Gentoo Authors
+# 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="7"
+
+PLOCALES="ja"
+
+inherit fcaps flag-o-matic l10n meson systemd toolchain-funcs
+
+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${PV}.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 nls rarpd rdisc SECURITY_HAZARD ssl static tftpd tracepath traceroute6"
+
+BDEPEND="
+       virtual/os-headers
+       virtual/pkgconfig
+"
+
+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(+)] )
+                               )
+                       )
+               )
+       )
+       nls? ( sys-devel/gettext[static-libs(+)] )
+"
+
+RDEPEND="
+       arping? ( !net-misc/arping )
+       rarpd? ( !net-misc/rarpd )
+       traceroute6? ( !net-analyzer/traceroute )
+       !static? ( ${LIB_DEPEND//\[static-libs(+)]} )
+"
+
+DEPEND="
+       ${RDEPEND}
+       static? ( ${LIB_DEPEND} )
+"
+
+if [[ ${PV} == "99999999" ]] ; then
+       DEPEND+="
+               app-text/docbook-xml-dtd:4.2
+               app-text/docbook-xml-dtd:4.5
+               app-text/docbook-xsl-ns-stylesheets
+               app-text/docbook-xsl-stylesheets
+               dev-libs/libxslt:0
+       "
+fi
+
+[ "${PV}" == "99999999" ] || S="${WORKDIR}/${PN}-s${PV}"
+
+PATCHES=()
+
+src_prepare() {
+       use SECURITY_HAZARD && PATCHES+=( "${FILESDIR}"/${PN}-20150815-nonroot-floodping.patch )
+
+       default
+
+       l10n_get_locales > po/LINGUAS || die
+}
+
+src_configure() {
+       use static && append-ldflags -static
+
+       local emesonargs=(
+               -DUSE_CAP="$(usex caps true false)"
+               -DUSE_IDN="$(usex idn true false)"
+               -DBUILD_ARPING="$(usex arping true false)"
+               -DBUILD_CLOCKDIFF="$(usex clockdiff true false)"
+               -DBUILD_PING="true"
+               -DBUILD_RARPD="$(usex rarpd true false)"
+               -DBUILD_RDISC="$(usex rdisc true false)"
+               -DENABLE_RDISC_SERVER="$(usex rdisc true false)"
+               -DBUILD_TFTPD="$(usex tftpd true false)"
+               -DBUILD_TRACEPATH="$(usex tracepath true false)"
+               -DBUILD_TRACEROUTE6="$(usex ipv6 $(usex traceroute6 true false) false)"
+               -DBUILD_NINFOD="false"
+               -DNINFOD_MESSAGES="false"
+               -DNO_SETCAP_OR_SUID="true"
+               -Dsystemdunitdir="$(systemd_get_systemunitdir)"
+               -DUSE_GETTEXT="$(usex nls true false)"
+       )
+
+       if use ipv6 && use ssl ; then
+               emesonargs+=(
+                       -DUSE_CRYPTO="$(usex gcrypt gcrypt $(usex nettle nettle openssl))"
+               )
+       else
+               emesonargs+=(
+                       -DUSE_CRYPTO="none"
+               )
+       fi
+
+       if [[ "${PV}" == 99999999 ]] ; then
+               emesonargs+=(
+                       -DBUILD_HTML_MANS="$(usex doc true false)"
+                       -DBUILD_MANS="true"
+               )
+       else
+               emesonargs+=(
+                       -DBUILD_HTML_MANS="false"
+                       -DBUILD_MANS="false"
+               )
+       fi
+
+       meson_src_configure
+}
+
+src_compile() {
+       tc-export CC
+       meson_src_compile
+}
+
+src_install() {
+       meson_src_install
+
+       dodir /bin
+       local my_bin
+       for my_bin in $(usex arping arping '') ping ; do
+               mv "${ED%/}"/usr/bin/${my_bin} "${ED%/}"/bin/ || die
+       done
+       dosym ping /bin/ping4
+
+       if use tracepath ; then
+               dosym tracepath /usr/bin/tracepath4
+       fi
+
+       if use ipv6 ; then
+               dosym ping /bin/ping6
+
+               if use tracepath ; then
+                       dosym tracepath /usr/bin/tracepath6
+                       dosym tracepath.8 /usr/share/man/man8/tracepath6.8
+               fi
+       fi
+
+       if [[ "${PV}" != 99999999 ]] ; then
+               local -a man_pages
+               local -a html_man_pages
+
+               while IFS= read -r -u 3 -d $'\0' my_bin
+               do
+                       my_bin=$(basename "${my_bin}")
+                       [[ -z "${my_bin}" ]] && continue
+
+                       if [[ -f "${S}/doc/${my_bin}.8" ]] ; then
+                               man_pages+=( ${my_bin}.8 )
+                       fi
+
+                       if [[ -f "${S}/doc/${my_bin}.html" ]] ; then
+                               html_man_pages+=( ${my_bin}.html )
+                       fi
+               done 3< <(find "${ED%/}"/{bin,usr/bin,usr/sbin} -type f -perm -a+x -print0 2>/dev/null)
+
+               pushd doc &>/dev/null || die
+               doman "${man_pages[@]}"
+               if use doc ; then
+                       docinto html
+                       dodoc "${html_man_pages[@]}"
+               fi
+               popd &>/dev/null || die
+       else
+               if use doc ; then
+                       mv "${ED%/}"/usr/share/${PN} "${ED%/}"/usr/share/doc/${PF}/html || die
+               fi
+       fi
+}
+
+pkg_postinst() {
+       fcaps cap_net_raw \
+               bin/ping \
+               $(usex arping 'bin/arping' '') \
+               $(usex clockdiff 'usr/bin/clockdiff' '')
+}