1 # Copyright 1999-2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
5 PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
7 inherit distutils-r1 eutils libtool multilib multilib-minimal
11 LIBNL_DIR=${LIBNL_DIR//./_}
13 DESCRIPTION="Libraries providing APIs to netlink protocol based Linux kernel interfaces"
14 HOMEPAGE="http://www.infradead.org/~tgr/libnl/ https://github.com/thom311/libnl"
16 https://github.com/thom311/${PN}/releases/download/${PN}${LIBNL_DIR}/${P/_rc/-rc}.tar.gz
18 LICENSE="LGPL-2.1 utils? ( GPL-2 )"
20 KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~riscv s390 ~sh sparc x86 ~amd64-linux ~x86-linux"
21 IUSE="+debug static-libs python +threads utils"
24 python? ( ${PYTHON_DEPS} )
28 python? ( dev-lang/swig )
33 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
63 cd "${S}"/python || die
64 distutils-r1_src_prepare
67 # out-of-source build broken
68 # https://github.com/thom311/libnl/pull/58
72 multilib_src_configure() {
74 $(multilib_native_use_enable utils cli) \
76 $(use_enable static-libs static) \
77 $(use_enable threads) \
78 --disable-silent-rules
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