1 # Copyright 1999-2015 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
6 PYTHON_COMPAT=( python2_7 python3_{3,4} )
8 inherit distutils-r1 eutils libtool multilib multilib-minimal
12 LIBNL_DIR=${LIBNL_DIR//./_}
14 DESCRIPTION="A collection of libraries providing APIs to netlink protocol based Linux kernel interfaces"
15 HOMEPAGE="http://www.infradead.org/~tgr/libnl/ https://github.com/thom311/libnl"
17 https://github.com/thom311/${PN}/releases/download/${PN}${LIBNL_DIR}/${P/_rc/-rc}.tar.gz
19 LICENSE="LGPL-2.1 utils? ( GPL-2 )"
21 KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-linux ~ia64-linux ~x86-linux"
22 IUSE="static-libs python utils"
24 RDEPEND="python? ( ${PYTHON_DEPS} )
26 !<=app-emulation/emul-linux-x86-baselibs-20140508-r5
27 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
30 python? ( dev-lang/swig )
35 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
39 S=${WORKDIR}/${LIBNL_P}
41 MULTILIB_WRAPPED_HEADERS=(
42 # we do not install CLI stuff for non-native
43 /usr/include/libnl3/netlink/cli/addr.h
44 /usr/include/libnl3/netlink/cli/class.h
45 /usr/include/libnl3/netlink/cli/cls.h
46 /usr/include/libnl3/netlink/cli/ct.h
47 /usr/include/libnl3/netlink/cli/exp.h
48 /usr/include/libnl3/netlink/cli/link.h
49 /usr/include/libnl3/netlink/cli/neigh.h
50 /usr/include/libnl3/netlink/cli/qdisc.h
51 /usr/include/libnl3/netlink/cli/route.h
52 /usr/include/libnl3/netlink/cli/rule.h
53 /usr/include/libnl3/netlink/cli/tc.h
54 /usr/include/libnl3/netlink/cli/utils.h
58 epatch "${FILESDIR}"/${PN}-1.1-vlan-header.patch
59 epatch "${FILESDIR}"/${PN}-3.2.20-rtnl_tc_get_ops.patch
60 epatch "${FILESDIR}"/${PN}-3.2.20-cache-api.patch
65 cd "${S}"/python || die
66 distutils-r1_src_prepare
69 # out-of-source build broken
70 # https://github.com/thom311/libnl/pull/58
74 multilib_src_configure() {
76 --disable-silent-rules \
77 $(use_enable static-libs static) \
78 $(multilib_native_use_enable utils cli)
81 multilib_src_compile() {
84 if multilib_is_native_abi && use python; then
86 distutils-r1_src_compile
90 multilib_src_install() {
91 emake DESTDIR="${D}" install
93 if multilib_is_native_abi && use python; then
94 # Unset DOCS= since distutils-r1.eclass interferes
97 distutils-r1_src_install
101 multilib_src_install_all() {
103 prune_libtool_files --modules