sys-apps/iproute2: respect CC
authorRobin H. Johnson <robbat2@gentoo.org>
Wed, 29 Nov 2017 18:45:37 +0000 (10:45 -0800)
committerRobin H. Johnson <robbat2@gentoo.org>
Wed, 29 Nov 2017 18:46:06 +0000 (10:46 -0800)
Closes: https://bugs.gentoo.org/630268
Package-Manager: Portage-2.3.16, Repoman-2.3.6

14 files changed:
sys-apps/iproute2/iproute2-4.10.0.ebuild
sys-apps/iproute2/iproute2-4.11.0.ebuild
sys-apps/iproute2/iproute2-4.12.0.ebuild
sys-apps/iproute2/iproute2-4.13.0.ebuild
sys-apps/iproute2/iproute2-4.14.0.ebuild
sys-apps/iproute2/iproute2-4.14.1-r1.ebuild [new file with mode: 0644]
sys-apps/iproute2/iproute2-4.14.1.ebuild
sys-apps/iproute2/iproute2-4.4.0.ebuild
sys-apps/iproute2/iproute2-4.5.0.ebuild
sys-apps/iproute2/iproute2-4.6.0.ebuild
sys-apps/iproute2/iproute2-4.7.0.ebuild
sys-apps/iproute2/iproute2-4.8.0.ebuild
sys-apps/iproute2/iproute2-4.9.0.ebuild
sys-apps/iproute2/iproute2-9999.ebuild

index 42721a9c071e49ea2faf3201e11891eb56da93ff..ab3c0bc0aa38e45900f3dd58122e8a1c12e31bf3 100644 (file)
@@ -50,7 +50,7 @@ src_prepare() {
        epatch "${PATCHES[@]}"
 
        sed -i \
-               -e '/^CC :=/d' \
+               -e '/^CC :\?=/d' \
                -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
                -e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
                -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
index 9df53753f0499b5b8452811dc7661a1375c7643c..eb2172f67d27b0e461996a6ef269981f970ee0d4 100644 (file)
@@ -50,7 +50,7 @@ src_prepare() {
        epatch "${PATCHES[@]}"
 
        sed -i \
-               -e '/^CC :=/d' \
+               -e '/^CC :\?=/d' \
                -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
                -e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
                -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
index dd3511a17bc08f1a90bfaf244a18069963c750f7..9ef487fdda6ceb76448a3befe0156d985817d720 100644 (file)
@@ -62,7 +62,7 @@ src_prepare() {
        epatch "${PATCHES[@]}"
 
        sed -i \
-               -e '/^CC :=/d' \
+               -e '/^CC :\?=/d' \
                -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
                -e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
                -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
index 94559ea6e5eb53629c45b3fee70ce3b61e55a2af..83ce363f69ab955bd2b9f3f239c708a6c00f4732 100644 (file)
@@ -62,7 +62,7 @@ src_prepare() {
        default
 
        sed -i \
-               -e '/^CC :=/d' \
+               -e '/^CC :\?=/d' \
                -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
                -e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
                -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
index 898a3f4b5aa3159fe6d562ac1d5e201b7f230c3d..1659cc7eac1f5076a7e7622627d457e6647f6ad6 100644 (file)
@@ -62,7 +62,7 @@ src_prepare() {
        default
 
        sed -i \
-               -e '/^CC :=/d' \
+               -e '/^CC :\?=/d' \
                -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
                -e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
                -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
diff --git a/sys-apps/iproute2/iproute2-4.14.1-r1.ebuild b/sys-apps/iproute2/iproute2-4.14.1-r1.ebuild
new file mode 100644 (file)
index 0000000..1659cc7
--- /dev/null
@@ -0,0 +1,149 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs flag-o-matic multilib
+
+if [[ ${PV} == "9999" ]] ; then
+       EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git"
+       inherit git-r3
+else
+       SRC_URI="mirror://kernel/linux/utils/net/${PN}/${P}.tar.xz"
+       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+fi
+
+DESCRIPTION="kernel routing and traffic control utilities"
+HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="atm berkdb +iptables ipv6 minimal selinux"
+
+# We could make libmnl optional, but it's tiny, so eh
+RDEPEND="
+       !net-misc/arpd
+       !minimal? ( net-libs/libmnl virtual/libelf )
+       iptables? ( >=net-firewall/iptables-1.4.20:= )
+       berkdb? ( sys-libs/db:= )
+       atm? ( net-dialup/linux-atm )
+       selinux? ( sys-libs/libselinux )
+"
+# We require newer linux-headers for ipset support #549948 and some defines #553876
+DEPEND="
+       ${RDEPEND}
+       app-arch/xz-utils
+       iptables? ( virtual/pkgconfig )
+       sys-devel/bison
+       sys-devel/flex
+       >=sys-kernel/linux-headers-3.16
+       elibc_glibc? ( >=sys-libs/glibc-2.7 )
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-3.1.0-mtu.patch #291907
+)
+
+src_prepare() {
+       if ! use ipv6 ; then
+               PATCHES+=(
+                       "${FILESDIR}"/${PN}-4.11.0-no-ipv6.patch #326849
+               )
+       fi
+
+       # Local uclibc-ng compat fix until uclibc-ng upstream can sync
+       # netinet/in.h with glibc.  Resolves #626546.
+       if use elibc_uclibc ; then
+               PATCHES+=(
+                       "${FILESDIR}"/${PN}-4.12.0-uclibc-ng-add-ipproto_mh.patch
+               )
+       fi
+
+       default
+
+       sed -i \
+               -e '/^CC :\?=/d' \
+               -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
+               -e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
+               -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
+               -e "/^WFLAGS/s:-Werror::" \
+               -e "/^DBM_INCLUDE/s:=.*:=${T}:" \
+               Makefile || die
+
+       # Use /run instead of /var/run.
+       sed -i \
+               -e 's:/var/run:/run:g' \
+               include/namespace.h \
+               man/man8/ip-netns.8 || die
+
+       # build against system headers
+       rm -r include/netinet #include/linux include/ip{,6}tables{,_common}.h include/libiptc
+       sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die
+
+       use minimal && sed -i -e '/^SUBDIRS=/s:=.*:=lib tc ip:' Makefile
+}
+
+src_configure() {
+       tc-export AR CC PKG_CONFIG
+
+       # This sure is ugly.  Should probably move into toolchain-funcs at some point.
+       local setns
+       pushd "${T}" >/dev/null
+       printf '#include <sched.h>\nint main(){return setns(0, 0);}\n' > test.c
+       ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null && setns=y || setns=n
+       echo 'int main(){return 0;}' > test.c
+       ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null || sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile
+       popd >/dev/null
+
+       cat <<-EOF > Config
+       TC_CONFIG_ATM := $(usex atm y n)
+       TC_CONFIG_XT  := $(usex iptables y n)
+       TC_CONFIG_NO_XT := $(usex iptables n y)
+       # We've locked in recent enough kernel headers #549948
+       TC_CONFIG_IPSET := y
+       HAVE_BERKELEY_DB := $(usex berkdb y n)
+       HAVE_MNL      := $(usex minimal n y)
+       HAVE_ELF      := $(usex minimal n y)
+       HAVE_SELINUX  := $(usex selinux y n)
+       IP_CONFIG_SETNS := ${setns}
+       # Use correct iptables dir, #144265 #293709
+       IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir)
+       EOF
+}
+
+src_install() {
+       if use minimal ; then
+               into /
+               dosbin tc/tc
+               dobin ip/ip
+               return 0
+       fi
+
+       emake \
+               DESTDIR="${D}" \
+               LIBDIR="${EPREFIX%/}"/$(get_libdir) \
+               SBINDIR="${EPREFIX%/}"/sbin \
+               CONFDIR="${EPREFIX%/}"/etc/iproute2 \
+               DOCDIR="${EPREFIX%/}"/usr/share/doc/${PF} \
+               MANDIR="${EPREFIX%/}"/usr/share/man \
+               ARPDDIR="${EPREFIX%/}"/var/lib/arpd \
+               install
+
+       dodir /bin
+       mv "${ED%/}"/{s,}bin/ip || die #330115
+
+       dolib.a lib/libnetlink.a
+       insinto /usr/include
+       doins include/libnetlink.h
+       # This local header pulls in a lot of linux headers it
+       # doesn't directly need.  Delete this header that requires
+       # linux-headers-3.8 until that goes stable.  #467716
+       sed -i '/linux\/netconf.h/d' "${ED%/}"/usr/include/libnetlink.h || die
+
+       if use berkdb ; then
+               dodir /var/lib/arpd
+               # bug 47482, arpd doesn't need to be in /sbin
+               dodir /usr/bin
+               mv "${ED%/}"/sbin/arpd "${ED%/}"/usr/bin/ || die
+       fi
+}
index 898a3f4b5aa3159fe6d562ac1d5e201b7f230c3d..1659cc7eac1f5076a7e7622627d457e6647f6ad6 100644 (file)
@@ -62,7 +62,7 @@ src_prepare() {
        default
 
        sed -i \
-               -e '/^CC :=/d' \
+               -e '/^CC :\?=/d' \
                -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
                -e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
                -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
index a4fb54b81c134e68e929537344c5d714f32c1519..dcf1e9ea55d80cec4fffb07fb0310c148b94d36f 100644 (file)
@@ -41,7 +41,7 @@ src_prepare() {
        use ipv6 || epatch "${FILESDIR}"/${PN}-4.2.0-no-ipv6.patch #326849
 
        sed -i \
-               -e '/^CC =/d' \
+               -e '/^CC :\?=/d' \
                -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
                -e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
                -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
index 49cf0f5b2ccf499a615e41ed246fc42a8be18dcb..f31e3d62beb2491a09db0f772a49ec673e7ee9ab 100644 (file)
@@ -41,7 +41,7 @@ src_prepare() {
        use ipv6 || epatch "${FILESDIR}"/${PN}-4.2.0-no-ipv6.patch #326849
 
        sed -i \
-               -e '/^CC =/d' \
+               -e '/^CC :\?=/d' \
                -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
                -e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
                -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
index 94a220666a087b21ad87d1c92a76ac24f1fdaf5a..06b0fa5285c5fa8a696eccc6af1e5f7000dba012 100644 (file)
@@ -51,7 +51,7 @@ src_prepare() {
        epatch "${PATCHES[@]}"
 
        sed -i \
-               -e '/^CC =/d' \
+               -e '/^CC :\?=/d' \
                -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
                -e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
                -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
index f5ec388e9ad6156088773b46a0354f89dcee4748..06b0fa5285c5fa8a696eccc6af1e5f7000dba012 100644 (file)
@@ -51,7 +51,7 @@ src_prepare() {
        epatch "${PATCHES[@]}"
 
        sed -i \
-               -e '/^CC :=/d' \
+               -e '/^CC :\?=/d' \
                -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
                -e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
                -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
index f5ec388e9ad6156088773b46a0354f89dcee4748..06b0fa5285c5fa8a696eccc6af1e5f7000dba012 100644 (file)
@@ -51,7 +51,7 @@ src_prepare() {
        epatch "${PATCHES[@]}"
 
        sed -i \
-               -e '/^CC :=/d' \
+               -e '/^CC :\?=/d' \
                -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
                -e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
                -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
index 42721a9c071e49ea2faf3201e11891eb56da93ff..ab3c0bc0aa38e45900f3dd58122e8a1c12e31bf3 100644 (file)
@@ -50,7 +50,7 @@ src_prepare() {
        epatch "${PATCHES[@]}"
 
        sed -i \
-               -e '/^CC :=/d' \
+               -e '/^CC :\?=/d' \
                -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
                -e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
                -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
index 5cb1a31486662b2861082fcfae7341e6e47513dc..2b947780886137e343050e8bdf2fde4202f6f164 100644 (file)
@@ -48,7 +48,7 @@ src_prepare() {
        default
 
        sed -i \
-               -e '/^CC :=/d' \
+               -e '/^CC :\?=/d' \
                -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
                -e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
                -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \