summaryrefslogtreecommitdiff
path: root/dev-libs/libbpf
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-03-19 11:37:34 +0000
committerV3n3RiX <venerix@redcorelinux.org>2019-03-19 11:37:34 +0000
commitb7b97785ebbb2f11d24d14dab8b81ed274f4ce6a (patch)
tree9fd110f9fc996e8a4213eeda994a8c112491b86d /dev-libs/libbpf
parent066d27181e9a797ad9f8fc43b49fc9a10ff2f707 (diff)
gentoo resync : 19.03.2019
Diffstat (limited to 'dev-libs/libbpf')
-rw-r--r--dev-libs/libbpf/Manifest4
-rw-r--r--dev-libs/libbpf/files/libbpf-makefile.patch24
-rw-r--r--dev-libs/libbpf/libbpf-0.20190311.ebuild68
-rw-r--r--dev-libs/libbpf/metadata.xml10
4 files changed, 106 insertions, 0 deletions
diff --git a/dev-libs/libbpf/Manifest b/dev-libs/libbpf/Manifest
new file mode 100644
index 000000000000..86644c2c2241
--- /dev/null
+++ b/dev-libs/libbpf/Manifest
@@ -0,0 +1,4 @@
+AUX libbpf-makefile.patch 655 BLAKE2B c601e3c6de94a21569e7ca8def5e798484e8a1f945cd2e30beff1086bf835cd21c37472a9d6483514f251901eab38aebd588a89f59a7eafce2e74e7bf640dd56 SHA512 30e1368b6da2fca87b72d0479652a8c154d17a08bad005312306e14d80b831b4c088e88cabf9fc190b2e83ff27c68abb22b2b17a63fb869fa98d4056787f1ef2
+DIST libbpf-0.20190311.tar.gz 110782 BLAKE2B b660b2677abd3068aa37f390e817c755ee06cf683e357cad6a9537d8e509d53f24ac66e472148f5b66cbcdca7849db10fc34ff8e6f85bd54a0570a52846ff933 SHA512 dbac8efce3b4c6d4faf40b22de6f71bee630fc8b71aa96e13692ffff0474ed7aa5f66a3c1f5871ec1c27dc71b87bec3ce5138096590fb9238d4d696a722f358d
+EBUILD libbpf-0.20190311.ebuild 1505 BLAKE2B 18e4884b9b82382eb00535941150a09d34ea2c0d7dca8119336f4149cab42eb0dc2cad35dadc8cf93090febde32d966e5392fef9644fc80e76ec79d7e9554f28 SHA512 4b68c327b79792445a8f4c11d8422a07b04394bb1a99d9b822f758aa4e26e39b558b2492ff0f6b9ba2c73dbbdf938fb33d1beccb99c5d82f994c7a6502df0507
+MISC metadata.xml 305 BLAKE2B d5a605019f99aa1bb75e405bface00e9006038c60d280bdab31ac9a42e3bcf75e2884b3efc8be4e2a88f7e35769b610f0480ccfba291444e8d4ddaecf73a57f9 SHA512 38df62cf50255dcd59c3ab6961643379e549eb568f2c0d010cd8bf73a93fceb0dbdbb32af7b07f21475b4146f99e684aad6928963e56ea8d6777b8f63f8d8a41
diff --git a/dev-libs/libbpf/files/libbpf-makefile.patch b/dev-libs/libbpf/files/libbpf-makefile.patch
new file mode 100644
index 000000000000..a98cbb8762b2
--- /dev/null
+++ b/dev-libs/libbpf/files/libbpf-makefile.patch
@@ -0,0 +1,24 @@
+diff --git a/Makefile b/Makefile
+index 7ea1ff1..75ca998 100644
+--- a/Makefile
++++ b/Makefile
+@@ -22,7 +22,9 @@ OBJDIR ?= .
+ OBJS := $(addprefix $(OBJDIR)/,bpf.o btf.o libbpf.o libbpf_errno.o netlink.o \
+ nlattr.o str_error.o libbpf_probes.o bpf_prog_linfo.o xsk.o)
+
+-LIBS := $(OBJDIR)/libbpf.a
++ifdef BUILD_STATIC
++ LIBS := $(OBJDIR)/libbpf.a
++endif
+ ifdef BUILD_SHARED
+ LIBS += $(OBJDIR)/libbpf.so
+ endif
+@@ -52,7 +54,7 @@ $(OBJDIR)/libbpf.a: $(OBJS)
+ $(AR) rcs $@ $^
+
+ $(OBJDIR)/libbpf.so: $(OBJS)
+- $(CC) -shared $(LDFLAGS) $^ -o $@
++ $(CC) -shared $(LDFLAGS) $^ -Wl,-soname,libbpf.so -o $@
+
+ $(OBJDIR)/%.o: %.c
+ $(CC) $(ALL_CFLAGS) -c $< -o $@
diff --git a/dev-libs/libbpf/libbpf-0.20190311.ebuild b/dev-libs/libbpf/libbpf-0.20190311.ebuild
new file mode 100644
index 000000000000..114e79ca5a39
--- /dev/null
+++ b/dev-libs/libbpf/libbpf-0.20190311.ebuild
@@ -0,0 +1,68 @@
+# Copyright 2019 Sony Interactive Entertainment Inc.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+EGIT_COMMIT="cb658e9724e3c34973eee913b1ff0cb9c50b8e53"
+
+HOMEPAGE="https://github.com/libbpf/libbpf"
+DESCRIPTION="Stand-alone build of libbpf from the Linux kernel"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1 BSD-2"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="static-libs"
+
+COMMON_DEPEND="virtual/libelf
+ !<=dev-util/bcc-0.7.0"
+DEPEND="${COMMON_DEPEND}
+ sys-kernel/linux-headers"
+RDEPEND="${COMMON_DEPEND}"
+
+S="${WORKDIR}/${PN}-${EGIT_COMMIT}/src"
+
+PATCHES=(
+ "${FILESDIR}/libbpf-makefile.patch"
+)
+
+src_prepare() {
+ # upstream doesn't provide a pkgconfig file, so
+ # let's make one
+ printf 'prefix=/usr\nexec_prefix=${prefix}\nlibdir=%s\n' \
+ "/usr/$(get_libdir)" \
+ > ${PN}.pc
+ printf 'includedir=${prefix}/include\n\n' \
+ >> ${PN}.pc
+
+ printf 'Name: %s\nDescription: %s\nVersion: %s\nLibs: -lbpf %s\n' \
+ "${PN}" \
+ "${DESCRIPTION}" \
+ "${PV}" \
+ "$($(tc-getPKG_CONFIG) --libs libelf)" \
+ >> ${PN}.pc
+
+ default
+}
+
+src_compile() {
+ emake \
+ BUILD_SHARED=y \
+ LIBSUBDIR="$(get_libdir)" \
+ $(usex static-libs 'BUILD_STATIC=y' '' '' '') \
+ CC="$(tc-getCC)"
+}
+
+src_install() {
+ emake \
+ BUILD_SHARED=y \
+ LIBSUBDIR="$(get_libdir)" \
+ DESTDIR="${D}" \
+ $(usex static-libs 'BUILD_STATIC=y' '' '' '') \
+ install
+
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins ${PN}.pc
+}
diff --git a/dev-libs/libbpf/metadata.xml b/dev-libs/libbpf/metadata.xml
new file mode 100644
index 000000000000..401d77a76ee2
--- /dev/null
+++ b/dev-libs/libbpf/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">libbpf/libbpf</remote-id>
+ </upstream>
+</pkgmetadata>