summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/iputils')
-rw-r--r--net-misc/iputils/Manifest2
-rw-r--r--net-misc/iputils/iputils-20190515.ebuild198
2 files changed, 200 insertions, 0 deletions
diff --git a/net-misc/iputils/Manifest b/net-misc/iputils/Manifest
index 50e512301db0..d87174e0216b 100644
--- a/net-misc/iputils/Manifest
+++ b/net-misc/iputils/Manifest
@@ -1,2 +1,4 @@
DIST iputils-20180629.tar.gz 195094 BLAKE2B 81bf6ef427eac0769ea3f95c20294b46c81f9c619551234eb265b3a428998a96cf3df0cdc7499f9eea280c1999e899e87c3f4a863141de251a9c509840bc83b3 SHA512 16b8f5ad1cf88083ebaee0a71fddb14bb0a904336fd0baebfcca86c27ac0773553b21d12790b05cab7661d6432c75bbb1523e871e5e1b77faacd13ccc84f4476
+DIST iputils-20190515.tar.gz 403228 BLAKE2B cebe2460ac4da5471a9b8e655bed1c1640f69d4dc41a724ab197533e3d532e34c28e9ccbc852e057d18c9867d9d668e2f73848b005439463dc4e7735c68ae87c SHA512 adb8831ca3a567b9a5f3762227c631aefa62eedbaa7578c2bfea90b6d494b9e0cccf49b68713912611ec56c352d6c517df9e8409c9c9478cfc5732371c8cf250
DIST iputils-manpages-20180629.tar.xz 29804 BLAKE2B 15983cc97bc6b6853c193f046687f10be11902f7e1d2dc2eec6c58edd1926f10152108d378858b0d7eb2d2908f038965b05515c4927aedc460282a22307883ad SHA512 1c5b0bab8496a3f3d9b5080029221231a497d9a5e91c61bd0ddd0b63fd51572d052801294aafd08e1dc8ad448b82cdaf48c72f0b08cc143f9c144f3db6848d9a
+DIST iputils-manpages-20190515.tar.xz 27556 BLAKE2B adf3eb5c7f3fd71fa24ff48daffd367ba6abc0377bca45ddc439803d177bf668f7dfc7bd3da7a06e89d9ffdd68f2bb0dbb9aa0ac150c98cd1f2b207a68d4fb46 SHA512 4013fe05c592ccc09d6b947ee59d56515bfe49e9a9d5610225d4a2b8c5034a7f1e8dc41c214cf03ce909d36bc5a8438541ad302cddeb1f0b4359a9b9c85ad4b2
diff --git a/net-misc/iputils/iputils-20190515.ebuild b/net-misc/iputils/iputils-20190515.ebuild
new file mode 100644
index 000000000000..ff6506c4be4d
--- /dev/null
+++ b/net-misc/iputils/iputils-20190515.ebuild
@@ -0,0 +1,198 @@
+# 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="6"
+
+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"
+
+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} )
+ virtual/os-headers
+ virtual/pkgconfig
+"
+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
+
+ local oifs=${IFS}
+ 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)
+ IFS=${oifs}
+
+ 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' '')
+}