Gentoo Archives: gentoo-commits

From: Patrick McLean <chutzpah@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/bpftrace/files/, dev-util/bpftrace/
Date: Thu, 02 Dec 2021 17:31:05
Message-Id: 1638466248.ef0f3b1bb4c6bfb876c0af6cb1bcddff39dcef3b.chutzpah@gentoo
1 commit: ef0f3b1bb4c6bfb876c0af6cb1bcddff39dcef3b
2 Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
3 AuthorDate: Thu Dec 2 17:30:33 2021 +0000
4 Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
5 CommitDate: Thu Dec 2 17:30:48 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef0f3b1b
7
8 dev-util/bpftrace: Fix build with libbpf-0.6.0
9
10 Package-Manager: Portage-3.0.28, Repoman-3.0.3
11 Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
12
13 dev-util/bpftrace/bpftrace-0.14.0-r4.ebuild | 92 ++++++++++++++++++++++
14 .../bpftrace/files/bpftrace-0.14-libbpf-0.6.patch | 17 ++++
15 2 files changed, 109 insertions(+)
16
17 diff --git a/dev-util/bpftrace/bpftrace-0.14.0-r4.ebuild b/dev-util/bpftrace/bpftrace-0.14.0-r4.ebuild
18 new file mode 100644
19 index 000000000000..0aeeffbf10f6
20 --- /dev/null
21 +++ b/dev-util/bpftrace/bpftrace-0.14.0-r4.ebuild
22 @@ -0,0 +1,92 @@
23 +# Copyright 2019-2021 Gentoo Authors
24 +# Distributed under the terms of the GNU General Public License v2
25 +
26 +EAPI=7
27 +
28 +LLVM_MAX_SLOT=13
29 +
30 +inherit llvm linux-info cmake
31 +
32 +DESCRIPTION="High-level tracing language for eBPF"
33 +HOMEPAGE="https://github.com/iovisor/bpftrace"
34 +MY_PV="${PV//_/}"
35 +SRC_URI="https://github.com/iovisor/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
36 +S="${WORKDIR}/${PN}-${MY_PV:-${PV}}"
37 +
38 +LICENSE="Apache-2.0"
39 +SLOT="0"
40 +KEYWORDS="~amd64 ~x86"
41 +IUSE="fuzzing test"
42 +# lots of fixing needed
43 +RESTRICT="test"
44 +
45 +RDEPEND="
46 + dev-libs/libbpf:=
47 + >=dev-util/bcc-0.13.0:=
48 + dev-util/systemtap
49 + <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=
50 + <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_BPF(+)]
51 + sys-libs/binutils-libs:=
52 + virtual/libelf:=
53 +"
54 +DEPEND="
55 + ${COMMON_DEPEND}
56 + dev-libs/cereal:=
57 + test? ( dev-cpp/gtest )
58 +"
59 +BDEPEND="
60 + sys-apps/sed
61 + app-arch/xz-utils
62 + sys-devel/flex
63 + sys-devel/bison
64 + virtual/pkgconfig
65 +"
66 +
67 +QA_DT_NEEDED="/usr/lib.*/libbpftraceresources.so"
68 +
69 +PATCHES=(
70 + "${FILESDIR}/bpftrace-0.14.0-install-libs.patch"
71 + "${FILESDIR}/bpftrace-0.14.0-dont-compress-man.patch"
72 + "${FILESDIR}/bpftrace-0.14.0-fuzzing.patch"
73 + "${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
74 + "${FILESDIR}/bpftrace-0.12.0-fuzzing-build.patch"
75 + "${FILESDIR}/bpftrace-0.14-libbpf-0.6.patch"
76 +)
77 +
78 +pkg_pretend() {
79 + local CONFIG_CHECK="
80 + ~BPF
81 + ~BPF_EVENTS
82 + ~BPF_JIT
83 + ~BPF_SYSCALL
84 + ~FTRACE_SYSCALLS
85 + ~HAVE_EBPF_JIT
86 + "
87 +
88 + check_extra_config
89 +}
90 +
91 +pkg_setup() {
92 + llvm_pkg_setup
93 +}
94 +
95 +src_configure() {
96 + local -a mycmakeargs=(
97 + -DSTATIC_LINKING:BOOL=OFF
98 + # bug 809362, 754648
99 + -DBUILD_SHARED_LIBS:=OFF
100 + -DBUILD_TESTING:BOOL=OFF
101 + -DBUILD_FUZZ:BOOL=$(usex fuzzing)
102 + -DENABLE_MAN:BOOL=OFF
103 + -DLIBBPF_INCLUDE_DIRS="$(pkg-config --cflags-only-I libbpf | sed 's:-I::g')"
104 + )
105 +
106 + cmake_src_configure
107 +}
108 +
109 +src_install() {
110 + cmake_src_install
111 + # bug 809362
112 + dostrip -x /usr/bin/bpftrace
113 + doman man/man8/*.?
114 +}
115
116 diff --git a/dev-util/bpftrace/files/bpftrace-0.14-libbpf-0.6.patch b/dev-util/bpftrace/files/bpftrace-0.14-libbpf-0.6.patch
117 new file mode 100644
118 index 000000000000..e4a383dd69fc
119 --- /dev/null
120 +++ b/dev-util/bpftrace/files/bpftrace-0.14-libbpf-0.6.patch
121 @@ -0,0 +1,17 @@
122 +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
123 +index 47a050e2..5dd5ff3f 100644
124 +--- a/src/CMakeLists.txt
125 ++++ b/src/CMakeLists.txt
126 +@@ -123,10 +123,8 @@ endif(STATIC_LINKING)
127 +
128 + target_link_libraries(libbpftrace parser resources runtime aot ast arch cxxdemangler_llvm)
129 +
130 +-if (LIBBPF_BTF_DUMP_FOUND)
131 +- target_include_directories(runtime PUBLIC ${LIBBPF_INCLUDE_DIRS})
132 +- target_link_libraries(runtime ${LIBBPF_LIBRARIES})
133 +-endif(LIBBPF_BTF_DUMP_FOUND)
134 ++target_include_directories(runtime PUBLIC ${LIBBPF_INCLUDE_DIRS})
135 ++target_link_libraries(runtime ${LIBBPF_LIBRARIES})
136 +
137 + if(HAVE_BFD_DISASM)
138 + if(STATIC_LINKING)