summaryrefslogtreecommitdiff
path: root/dev-libs/libnl
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-libs/libnl
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-libs/libnl')
-rw-r--r--dev-libs/libnl/Manifest12
-rw-r--r--dev-libs/libnl/files/libnl-1.1-flags.patch11
-rw-r--r--dev-libs/libnl/files/libnl-1.1-vlan-header.patch80
-rw-r--r--dev-libs/libnl/files/libnl-1.1.3-offsetof.patch12
-rw-r--r--dev-libs/libnl/libnl-1.1.4.ebuild53
-rw-r--r--dev-libs/libnl/libnl-3.2.28.ebuild110
-rw-r--r--dev-libs/libnl/libnl-3.4.0.ebuild104
-rw-r--r--dev-libs/libnl/libnl-99999999.ebuild100
-rw-r--r--dev-libs/libnl/metadata.xml16
9 files changed, 498 insertions, 0 deletions
diff --git a/dev-libs/libnl/Manifest b/dev-libs/libnl/Manifest
new file mode 100644
index 000000000000..3846e2069cd4
--- /dev/null
+++ b/dev-libs/libnl/Manifest
@@ -0,0 +1,12 @@
+AUX libnl-1.1-flags.patch 441 BLAKE2B b07df1490a4485468aadbe7dc3aa025fa2514c36116788e517840370952c85e7cc8173b4fec532ddcb405eef9b9df813090c531df1834ad8e7d3644c93247f08 SHA512 1f97dc181118368977ebc7bc6134c7e9fb6acd083721f1c857fca9e3a2cc242e03cbd198a0fb12a05597765a732d9a9384a75f46d1f023f6d5160631a29a9947
+AUX libnl-1.1-vlan-header.patch 2378 BLAKE2B c6d72cb5c7437bc6600e2c34eb6f17fd22df4338c37cee53f0112d3824bf2e940c9166f233fe32df3d451ea37fee2c08db27db7f46d7522f5d04169abdecd28c SHA512 ea45d780b16e6045735aaf2e3febf19ddccab4ca0e03710aebfe51655adc50177aefa3bd4d06e0ccce0160f4c6db73cfa4eb7cebe53b3e15c1807c3b00dc1c9c
+AUX libnl-1.1.3-offsetof.patch 320 BLAKE2B 5edb7d935321ae40784d16fdf289470deee86921f2372d200468206ab06cb391a3fce01998d7e4924fd6d235e9292bbbd6134dbc87aa3ebc3dafd16610b4a2a1 SHA512 fe625a9ac6ea8776c8f7ef3d7e3553651c0244e830883587bd7e86490e0ec6e8b29865e172a0e39947e213b910a4279202eabfdd5d7f08e835f5be91d4ff9d6b
+DIST libnl-1.1.4.tar.gz 1174974 BLAKE2B e6466e15db17fe4725674d77c6cdcefac73e51346f6f4378bc3ea8409c1534519cc28f1123c8201e78f6b95254701a2f9591f907b3cc597ac1210fd3f8b832ea SHA512 25e26ddcc16540346ea34815ab6ac094177e5cee2eb3d843c4f8b30cd9d83390a3e87cb46046dc3bd9ae4d21f77e57bb3827c2cfc588eb18afe049921f2030b4
+DIST libnl-3.2.28-in6.patch.xz 6368 BLAKE2B cafea9217a9aaee7a8d1a33598279a717cd96e08f326d003ebb833d501a4c9e3be3546fc4570aad137c579e88d82d3e2501546875d260fb4c2ec6c69544d2edd SHA512 de14f7540e514871db2058236a339192443423e56f2f5bd52e02ff06873c9e411029b12f3119e57eb01201ce3643ce78ca3e8d9ada4f6ba318df96288304bead
+DIST libnl-3.2.28.tar.gz 941954 BLAKE2B c36817832f36ef2f3e32af8703024c92c874a85f898fc02673c6f3ee983757ffa8c7c3340942dd47880d94da7d907f4a867a99fa252628d816705dd4318a85a0 SHA512 b5f145ecafb2625ed1c42594afd6063f112a601077de5c35884b3c3bc8c562b29b52a006ccebd795c127fe69692a82def425c8605afed7e6d441582943e803d9
+DIST libnl-3.4.0.tar.gz 933443 BLAKE2B 735da9f800277c48a5deceb78084f510f56f7017b1184e91b2bb45ba61a2e95355e7a3f5d0a74bdaf7ae003393a6c7556d5b201d0d0052dfc66042aa9e137986 SHA512 6336e5c55c79ff2638de9c812cc1842871769236bad7f65c547dec35fafd91988b257fceab144a0cc133c4b29f61172f6552c53aa9fc723bdc783079c2b1851e
+EBUILD libnl-1.1.4.ebuild 1141 BLAKE2B 16521e18a8b986a96540245ed54c5737c1ba8d17d3a492fe34b2e504216ba21186d1eaf4685716894f826186a87dd3b4ad82c87d9a4e439cd984fdf0472b4828 SHA512 1c63d4eabb1268b349918acbdc3cbc7d2fabc09a75e4b07793f1e380309404f460bfc3b90c7426377d57be65f5b679a5d20155003ab589497b225dea2f9c281a
+EBUILD libnl-3.2.28.ebuild 2486 BLAKE2B 2f99ac310c3777c72d36d7eb2ee3ca8d165fcef9385e67385297f384606bdc69675d23e85fb9b4cdadf0dca25639e51d677ce266005a0e9a405f9e069c61e789 SHA512 e6fc4f0076da3a41c6ec89cd52619f42ca5e966f2080e2150b5697612a4edad5c5f47fa34bb3188611fec7f04574db57cbbb1fd94ac3ca992771bd8f8086c30f
+EBUILD libnl-3.4.0.ebuild 2403 BLAKE2B a387a668f1a038addbef80b494d242963ea748e01bf8a3b4c63f605d68c0a1a74d2a54117e8bca8419461a105d8a5851e79c422c57091861987a11ed6e3cddb8 SHA512 c3c0d850a5a0a950222f89efa0d7fe8ca95b130a3d7f97aff6a4f4eae3987aa5af6f5d92ddb21496412975058fae099b3b60de3e7cd814bfcaad96c6b722b6a7
+EBUILD libnl-99999999.ebuild 2196 BLAKE2B aeff1715ffd0c59e7524386f82283e1c41d0aa39548e2f4ebdcfed77624ed64ae975a74bf1796644411c846c32c275b3465f89878cdffe4fa757d54f184136b1 SHA512 65b184e96b140b5e95dc1623175c5b042d8fade476fde6a8f58e462d31e6db4d1fda6d998097f75c6acae0f6ab65fbbce6502a0737e8c051d2358885e5ef54e6
+MISC metadata.xml 584 BLAKE2B a20cc961918ee8685889b73f8fcdf5cd26a5b0da2ddb95164774461c2fd78754262619d7de2dcb6030f7ef3d27a34057662b2c01cde1fe3729ba1c34bd2a087f SHA512 0e8731a9aafb77b313583babfb2786c4fcbe655f3fcebe93fee90b2ea4c7f03a6ed559a253cb63f5f3a5eb9fd841babcbb5c85c4c93e51a670abe605e9d22a9c
diff --git a/dev-libs/libnl/files/libnl-1.1-flags.patch b/dev-libs/libnl/files/libnl-1.1-flags.patch
new file mode 100644
index 000000000000..dc512c587b9e
--- /dev/null
+++ b/dev-libs/libnl/files/libnl-1.1-flags.patch
@@ -0,0 +1,11 @@
+--- a/lib/Makefile
++++ b/lib/Makefile
+@@ -48,7 +48,7 @@
+
+ $(OUT_SLIB): ../Makefile.opts $(OBJ)
+ @echo " LD $(OUT_SLIB)"; \
+- $(CC) -shared -Wl,-soname,libnl.so.1 -o $(OUT_SLIB) $(OBJ) $(LIBNL_LIB) -lc
++ $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-soname,libnl.so.1 -o $(OUT_SLIB) $(OBJ) $(LIBNL_LIB) -lc
+ @echo " LN $(OUT_SLIB) $(LN1_SLIB)"; \
+ rm -f $(LN1_SLIB) ; $(LN) -s $(OUT_SLIB) $(LN1_SLIB)
+ @echo " LN $(LN1_SLIB) $(LN_SLIB)"; \
diff --git a/dev-libs/libnl/files/libnl-1.1-vlan-header.patch b/dev-libs/libnl/files/libnl-1.1-vlan-header.patch
new file mode 100644
index 000000000000..c4c2fc6382de
--- /dev/null
+++ b/dev-libs/libnl/files/libnl-1.1-vlan-header.patch
@@ -0,0 +1,80 @@
+From: Patrick McHardy <kaber@trash.net>
+Date: Fri, 18 Jan 2008 16:55:48 +0000 (+0100)
+Subject: [LIBNL]: Add if_vlan.h
+X-Git-Url: http://git.kernel.org/?p=libs%2Fnetlink%2Flibnl.git;a=commitdiff_plain;h=e91bb2ffb090955d443e643a25b250bf3d33534a;hp=7f6b7a8eea0334b34d58dec72c66121a76f08958
+
+[LIBNL]: Add if_vlan.h
+
+vlan support needs VLAN_FLAG_REORDER_HDR, which is not available in
+older if_vlan.h versions. Add the current version from the kernel.
+
+Signed-off-by: Patrick McHardy <kaber@trash.net>
+---
+
+diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h
+new file mode 100644
+index 0000000..068cd7b
+--- /dev/null
++++ include/linux/if_vlan.h
+@@ -0,0 +1,61 @@
++/*
++ * VLAN An implementation of 802.1Q VLAN tagging.
++ *
++ * Authors: Ben Greear <greearb@candelatech.com>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version
++ * 2 of the License, or (at your option) any later version.
++ *
++ */
++
++#ifndef _LINUX_IF_VLAN_H_
++#define _LINUX_IF_VLAN_H_
++
++
++/* VLAN IOCTLs are found in sockios.h */
++
++/* Passed in vlan_ioctl_args structure to determine behaviour. */
++enum vlan_ioctl_cmds {
++ ADD_VLAN_CMD,
++ DEL_VLAN_CMD,
++ SET_VLAN_INGRESS_PRIORITY_CMD,
++ SET_VLAN_EGRESS_PRIORITY_CMD,
++ GET_VLAN_INGRESS_PRIORITY_CMD,
++ GET_VLAN_EGRESS_PRIORITY_CMD,
++ SET_VLAN_NAME_TYPE_CMD,
++ SET_VLAN_FLAG_CMD,
++ GET_VLAN_REALDEV_NAME_CMD, /* If this works, you know it's a VLAN device, btw */
++ GET_VLAN_VID_CMD /* Get the VID of this VLAN (specified by name) */
++};
++
++enum vlan_flags {
++ VLAN_FLAG_REORDER_HDR = 0x1,
++};
++
++enum vlan_name_types {
++ VLAN_NAME_TYPE_PLUS_VID, /* Name will look like: vlan0005 */
++ VLAN_NAME_TYPE_RAW_PLUS_VID, /* name will look like: eth1.0005 */
++ VLAN_NAME_TYPE_PLUS_VID_NO_PAD, /* Name will look like: vlan5 */
++ VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD, /* Name will look like: eth0.5 */
++ VLAN_NAME_TYPE_HIGHEST
++};
++
++struct vlan_ioctl_args {
++ int cmd; /* Should be one of the vlan_ioctl_cmds enum above. */
++ char device1[24];
++
++ union {
++ char device2[24];
++ int VID;
++ unsigned int skb_priority;
++ unsigned int name_type;
++ unsigned int bind_type;
++ unsigned int flag; /* Matches vlan_dev_info flags */
++ } u;
++
++ short vlan_qos;
++};
++
++#endif /* !(_LINUX_IF_VLAN_H_) */
diff --git a/dev-libs/libnl/files/libnl-1.1.3-offsetof.patch b/dev-libs/libnl/files/libnl-1.1.3-offsetof.patch
new file mode 100644
index 000000000000..e370a5e62fc6
--- /dev/null
+++ b/dev-libs/libnl/files/libnl-1.1.3-offsetof.patch
@@ -0,0 +1,12 @@
+--- a/include/netlink-local.h
++++ b/include/netlink-local.h
+@@ -343,7 +343,9 @@
+ }
+
+ #define ARRAY_SIZE(X) (sizeof(X) / sizeof((X)[0]))
++#ifndef offsetof
+ #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
++#endif
+
+ #define __init __attribute__ ((constructor))
+ #define __exit __attribute__ ((destructor))
diff --git a/dev-libs/libnl/libnl-1.1.4.ebuild b/dev-libs/libnl/libnl-1.1.4.ebuild
new file mode 100644
index 000000000000..686c171132d1
--- /dev/null
+++ b/dev-libs/libnl/libnl-1.1.4.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="Libraries providing APIs to netlink protocol based Linux kernel interfaces"
+HOMEPAGE="http://www.infradead.org/~tgr/libnl/"
+SRC_URI="http://www.infradead.org/~tgr/libnl/files/${P}.tar.gz"
+LICENSE="LGPL-2.1"
+SLOT="1.1"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux"
+IUSE="doc static-libs"
+
+DEPEND="doc? ( app-doc/doxygen )"
+DOCS=( ChangeLog )
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-1.1-vlan-header.patch \
+ "${FILESDIR}"/${PN}-1.1-flags.patch \
+ "${FILESDIR}"/${PN}-1.1.3-offsetof.patch
+ sed -i \
+ -e '/@echo/d' \
+ Makefile.rules {lib,src,tests}/Makefile || die
+ sed -i \
+ -e 's|-g ||g' \
+ Makefile.opts.in || die
+
+ if ! use static-libs; then
+ sed -i lib/Makefile -e '/OUT_AR/d' || die
+ fi
+
+ rm -f lib/libnl.a
+}
+
+src_compile() {
+ emake AR=$(tc-getAR)
+
+ if use doc ; then
+ cd "${S}/doc"
+ emake gendoc || die
+ fi
+}
+
+src_install() {
+ default
+
+ if use doc ; then
+ cd "${S}/doc"
+ dohtml -r html/*
+ fi
+}
diff --git a/dev-libs/libnl/libnl-3.2.28.ebuild b/dev-libs/libnl/libnl-3.2.28.ebuild
new file mode 100644
index 000000000000..d623fb202531
--- /dev/null
+++ b/dev-libs/libnl/libnl-3.2.28.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
+DISTUTILS_OPTIONAL=1
+inherit distutils-r1 eutils libtool multilib multilib-minimal
+
+LIBNL_P=${P/_/-}
+LIBNL_DIR=${PV/_/}
+LIBNL_DIR=${LIBNL_DIR//./_}
+
+DESCRIPTION="Libraries providing APIs to netlink protocol based Linux kernel interfaces"
+HOMEPAGE="http://www.infradead.org/~tgr/libnl/ https://github.com/thom311/libnl"
+SRC_URI="
+ https://github.com/thom311/${PN}/releases/download/${PN}${LIBNL_DIR}/${P/_rc/-rc}.tar.gz
+ https://dev.gentoo.org/~jer/libnl-3.2.28-in6.patch.xz
+"
+LICENSE="LGPL-2.1 utils? ( GPL-2 )"
+SLOT="3"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs python utils"
+
+RDEPEND="
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="
+ ${RDEPEND}
+ python? ( dev-lang/swig )
+ sys-devel/bison
+ sys-devel/flex
+"
+
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+DOCS=(
+ ChangeLog
+)
+
+S=${WORKDIR}/${LIBNL_P}
+
+MULTILIB_WRAPPED_HEADERS=(
+ # we do not install CLI stuff for non-native
+ /usr/include/libnl3/netlink/cli/addr.h
+ /usr/include/libnl3/netlink/cli/class.h
+ /usr/include/libnl3/netlink/cli/cls.h
+ /usr/include/libnl3/netlink/cli/ct.h
+ /usr/include/libnl3/netlink/cli/exp.h
+ /usr/include/libnl3/netlink/cli/link.h
+ /usr/include/libnl3/netlink/cli/neigh.h
+ /usr/include/libnl3/netlink/cli/qdisc.h
+ /usr/include/libnl3/netlink/cli/route.h
+ /usr/include/libnl3/netlink/cli/rule.h
+ /usr/include/libnl3/netlink/cli/tc.h
+ /usr/include/libnl3/netlink/cli/utils.h
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.1-vlan-header.patch
+ "${WORKDIR}"/${PN}-3.2.28-in6.patch
+)
+
+src_prepare() {
+ default
+
+ elibtoolize
+
+ if use python; then
+ cd "${S}"/python || die
+ distutils-r1_src_prepare
+ fi
+
+ # out-of-source build broken
+ # https://github.com/thom311/libnl/pull/58
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ econf \
+ --disable-silent-rules \
+ $(use_enable static-libs static) \
+ $(multilib_native_use_enable utils cli)
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python; then
+ cd python || die
+ distutils-r1_src_compile
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi && use python; then
+ # Unset DOCS= since distutils-r1.eclass interferes
+ local DOCS=()
+ cd python || die
+ distutils-r1_src_install
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files --modules
+}
diff --git a/dev-libs/libnl/libnl-3.4.0.ebuild b/dev-libs/libnl/libnl-3.4.0.ebuild
new file mode 100644
index 000000000000..bc1a0718a1ba
--- /dev/null
+++ b/dev-libs/libnl/libnl-3.4.0.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
+DISTUTILS_OPTIONAL=1
+inherit distutils-r1 eutils libtool multilib multilib-minimal
+
+LIBNL_P=${P/_/-}
+LIBNL_DIR=${PV/_/}
+LIBNL_DIR=${LIBNL_DIR//./_}
+
+DESCRIPTION="Libraries providing APIs to netlink protocol based Linux kernel interfaces"
+HOMEPAGE="http://www.infradead.org/~tgr/libnl/ https://github.com/thom311/libnl"
+SRC_URI="
+ https://github.com/thom311/${PN}/releases/download/${PN}${LIBNL_DIR}/${P/_rc/-rc}.tar.gz
+"
+LICENSE="LGPL-2.1 utils? ( GPL-2 )"
+SLOT="3"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-linux ~x86-linux"
+IUSE="+debug static-libs python +threads utils"
+
+RDEPEND="
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="
+ ${RDEPEND}
+ python? ( dev-lang/swig )
+ sys-devel/bison
+ sys-devel/flex
+"
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+DOCS=(
+ ChangeLog
+)
+
+S=${WORKDIR}/${LIBNL_P}
+
+MULTILIB_WRAPPED_HEADERS=(
+ # we do not install CLI stuff for non-native
+ /usr/include/libnl3/netlink/cli/addr.h
+ /usr/include/libnl3/netlink/cli/class.h
+ /usr/include/libnl3/netlink/cli/cls.h
+ /usr/include/libnl3/netlink/cli/ct.h
+ /usr/include/libnl3/netlink/cli/exp.h
+ /usr/include/libnl3/netlink/cli/link.h
+ /usr/include/libnl3/netlink/cli/neigh.h
+ /usr/include/libnl3/netlink/cli/qdisc.h
+ /usr/include/libnl3/netlink/cli/route.h
+ /usr/include/libnl3/netlink/cli/rule.h
+ /usr/include/libnl3/netlink/cli/tc.h
+ /usr/include/libnl3/netlink/cli/utils.h
+)
+
+src_prepare() {
+ default
+
+ elibtoolize
+
+ if use python; then
+ cd "${S}"/python || die
+ distutils-r1_src_prepare
+ fi
+
+ # out-of-source build broken
+ # https://github.com/thom311/libnl/pull/58
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ econf \
+ $(multilib_native_use_enable utils cli) \
+ $(use_enable debug) \
+ $(use_enable static-libs static) \
+ $(use_enable threads) \
+ --disable-silent-rules
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python; then
+ cd python || die
+ distutils-r1_src_compile
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi && use python; then
+ # Unset DOCS= since distutils-r1.eclass interferes
+ local DOCS=()
+ cd python || die
+ distutils-r1_src_install
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files --modules
+}
diff --git a/dev-libs/libnl/libnl-99999999.ebuild b/dev-libs/libnl/libnl-99999999.ebuild
new file mode 100644
index 000000000000..f8aea0b33b55
--- /dev/null
+++ b/dev-libs/libnl/libnl-99999999.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
+DISTUTILS_OPTIONAL=1
+inherit autotools distutils-r1 eutils git-r3 libtool multilib multilib-minimal
+
+DESCRIPTION="Libraries providing APIs to netlink protocol based Linux kernel interfaces"
+HOMEPAGE="http://www.infradead.org/~tgr/libnl/ https://github.com/thom311/libnl"
+EGIT_REPO_URI="
+ https://github.com/thom311/libnl.git
+"
+LICENSE="LGPL-2.1 utils? ( GPL-2 )"
+SLOT="3"
+KEYWORDS=""
+IUSE="+debug static-libs python +threads utils"
+
+RDEPEND="
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="
+ ${RDEPEND}
+ python? ( dev-lang/swig )
+ sys-devel/bison
+ sys-devel/flex
+"
+
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+DOCS=(
+ ChangeLog
+)
+
+MULTILIB_WRAPPED_HEADERS=(
+ # we do not install CLI stuff for non-native
+ /usr/include/libnl3/netlink/cli/addr.h
+ /usr/include/libnl3/netlink/cli/class.h
+ /usr/include/libnl3/netlink/cli/cls.h
+ /usr/include/libnl3/netlink/cli/ct.h
+ /usr/include/libnl3/netlink/cli/exp.h
+ /usr/include/libnl3/netlink/cli/link.h
+ /usr/include/libnl3/netlink/cli/neigh.h
+ /usr/include/libnl3/netlink/cli/qdisc.h
+ /usr/include/libnl3/netlink/cli/route.h
+ /usr/include/libnl3/netlink/cli/rule.h
+ /usr/include/libnl3/netlink/cli/tc.h
+ /usr/include/libnl3/netlink/cli/utils.h
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+
+ if use python; then
+ cd "${S}"/python || die
+ distutils-r1_src_prepare
+ fi
+
+ # out-of-source build broken
+ # https://github.com/thom311/libnl/pull/58
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ econf \
+ $(multilib_native_use_enable utils cli) \
+ $(use_enable debug) \
+ $(use_enable static-libs static) \
+ $(use_enable threads) \
+ --disable-silent-rules
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python; then
+ cd python || die
+ distutils-r1_src_compile
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi && use python; then
+ # Unset DOCS= since distutils-r1.eclass interferes
+ local DOCS=()
+ cd python || die
+ distutils-r1_src_install
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files --modules
+}
diff --git a/dev-libs/libnl/metadata.xml b/dev-libs/libnl/metadata.xml
new file mode 100644
index 000000000000..ae83e25b4104
--- /dev/null
+++ b/dev-libs/libnl/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>netmon@gentoo.org</email>
+ <name>Gentoo network monitoring and analysis project</name>
+ </maintainer>
+ <use>
+ <flag name="doc">Install development documentation</flag>
+ <flag name="python">Install experimental <pkg>dev-lang/python</pkg> bindings</flag>
+ <flag name="utils">Install command line interface utils</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">thom311/libnl</remote-id>
+ </upstream>
+</pkgmetadata>