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) |