1 |
commit: be8e4e44dfb0c9dd8521dcdaa886e6efae106556 |
2 |
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org> |
3 |
AuthorDate: Fri Jul 9 17:09:39 2021 +0000 |
4 |
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri Jul 9 17:11:31 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=be8e4e44 |
7 |
|
8 |
dev-util/bpftrace-0.13.0: Version bump |
9 |
|
10 |
Package-Manager: Portage-3.0.20, Repoman-3.0.3 |
11 |
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org> |
12 |
|
13 |
dev-util/bpftrace/Manifest | 1 + |
14 |
dev-util/bpftrace/bpftrace-0.13.0.ebuild | 88 +++++++++++++ |
15 |
.../files/bpftrace-0.13.0-install-libs.patch | 143 +++++++++++++++++++++ |
16 |
3 files changed, 232 insertions(+) |
17 |
|
18 |
diff --git a/dev-util/bpftrace/Manifest b/dev-util/bpftrace/Manifest |
19 |
index babfffac440..482103e5556 100644 |
20 |
--- a/dev-util/bpftrace/Manifest |
21 |
+++ b/dev-util/bpftrace/Manifest |
22 |
@@ -1,2 +1,3 @@ |
23 |
DIST bpftrace-0.11.4.tar.gz 868016 BLAKE2B 50af7b4094e2875905d1ca36c003cde84e51adb11360f7933b82cd004dd7b9a8c2146d11c1422411ec0bb1935a693b17ab6d405aa5569ecabccfc21cdd1ca548 SHA512 611a7e61dbd1f4cc52b7e51a1a143296ff7b2df115b3a28034c674d8eefb5d482cac551ab82d6b7cc2f6fc0668b07d2d9e283dff371fd9a3f649c80113fdca82 |
24 |
DIST bpftrace-0.12.1.tar.gz 938043 BLAKE2B 3599c21d2381265ab5a7a3c0bf142dc7f79acb66fbb4f54b4100d042c21fc3c9e86297522bfe46f82ad5edbc2203314a6b02ff7cc07552c778b0726e681cb993 SHA512 a578499668bd2eb7342689b6c0ef3db6ca263a971d8e6f1b9a68c502c27170d24ede212a0fc2a72263e72aff58924f488a5c80d447397503a08512dc47b63345 |
25 |
+DIST bpftrace-0.13.0.tar.gz 952412 BLAKE2B 8e3f6f28b0c652e2257e1a970b80b87ba5ac5e94dc26719bffe16a0bbff48efc2b9ab5bc03e5fe4b764f5c9c3df16039d931f1f13c1f14327880838a373edacc SHA512 16b3f11c365cc7e306045a5cb6bcf6c66b92d746884f6587ce7cc4c76841b284757bff7b38b9838eb3db129e996e4f1b13afec34da57981362dadef8460816d0 |
26 |
|
27 |
diff --git a/dev-util/bpftrace/bpftrace-0.13.0.ebuild b/dev-util/bpftrace/bpftrace-0.13.0.ebuild |
28 |
new file mode 100644 |
29 |
index 00000000000..3437f2e80ce |
30 |
--- /dev/null |
31 |
+++ b/dev-util/bpftrace/bpftrace-0.13.0.ebuild |
32 |
@@ -0,0 +1,88 @@ |
33 |
+# Copyright 2019-2021 Gentoo Authors |
34 |
+# Distributed under the terms of the GNU General Public License v2 |
35 |
+ |
36 |
+EAPI=7 |
37 |
+ |
38 |
+inherit toolchain-funcs llvm linux-info cmake |
39 |
+ |
40 |
+DESCRIPTION="High-level tracing language for eBPF" |
41 |
+HOMEPAGE="https://github.com/iovisor/bpftrace" |
42 |
+ |
43 |
+if [[ ${PV} =~ 9{4,} ]]; then |
44 |
+ inherit git-r3 |
45 |
+ EGIT_REPO_URI="https://github.com/iovisor/${PN}" |
46 |
+ BDEPEND="" |
47 |
+else |
48 |
+ MY_PV="${PV//_/}" |
49 |
+ SRC_URI="https://github.com/iovisor/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" |
50 |
+ KEYWORDS="~amd64 ~arm64 ~x86" |
51 |
+ BDEPEND="app-arch/xz-utils " |
52 |
+fi |
53 |
+ |
54 |
+LICENSE="Apache-2.0" |
55 |
+SLOT="0" |
56 |
+IUSE="fuzzing test" |
57 |
+ |
58 |
+COMMON_DEPEND=" |
59 |
+ dev-libs/libbpf:= |
60 |
+ >=dev-util/bcc-0.13.0:= |
61 |
+ dev-util/systemtap |
62 |
+ >=sys-devel/llvm-6:=[llvm_targets_BPF(+)] |
63 |
+ <=sys-devel/llvm-13:=[llvm_targets_BPF(+)] |
64 |
+ <=sys-devel/clang-13:= |
65 |
+ sys-libs/binutils-libs:= |
66 |
+ virtual/libelf |
67 |
+" |
68 |
+DEPEND="${COMMON_DEPEND} |
69 |
+ test? ( dev-cpp/gtest ) |
70 |
+" |
71 |
+RDEPEND="${COMMON_DEPEND}" |
72 |
+BDEPEND+=" |
73 |
+ >=dev-util/cmake-3.8 |
74 |
+ sys-devel/flex |
75 |
+ sys-devel/bison |
76 |
+" |
77 |
+ |
78 |
+S="${WORKDIR}/${PN}-${MY_PV:-${PV}}" |
79 |
+QA_DT_NEEDED="/usr/lib.*/libbpftraceresources.so" |
80 |
+ |
81 |
+PATCHES=( |
82 |
+ "${FILESDIR}/bpftrace-0.13.0-install-libs.patch" |
83 |
+ "${FILESDIR}/bpftrace-0.10.0-dont-compress-man.patch" |
84 |
+ "${FILESDIR}/bpftrace-0.11.4-old-kernels.patch" |
85 |
+ "${FILESDIR}/bpftrace-0.12.0-fuzzing-build.patch" |
86 |
+) |
87 |
+ |
88 |
+# lots of fixing needed |
89 |
+RESTRICT="test" |
90 |
+ |
91 |
+pkg_pretend() { |
92 |
+ local CONFIG_CHECK=" |
93 |
+ ~BPF |
94 |
+ ~BPF_EVENTS |
95 |
+ ~BPF_JIT |
96 |
+ ~BPF_SYSCALL |
97 |
+ ~FTRACE_SYSCALLS |
98 |
+ ~HAVE_EBPF_JIT |
99 |
+ " |
100 |
+ |
101 |
+ check_extra_config |
102 |
+} |
103 |
+ |
104 |
+pkg_setup() { |
105 |
+ LLVM_MAX_SLOT=12 llvm_pkg_setup |
106 |
+} |
107 |
+ |
108 |
+src_prepare() { |
109 |
+ cmake_src_prepare |
110 |
+} |
111 |
+ |
112 |
+src_configure() { |
113 |
+ local -a mycmakeargs=( |
114 |
+ -DSTATIC_LINKING:BOOL=OFF |
115 |
+ -DBUILD_TESTING:BOOL=OFF |
116 |
+ -DBUILD_FUZZ:BOOL=$(usex fuzzing) |
117 |
+ ) |
118 |
+ |
119 |
+ cmake_src_configure |
120 |
+} |
121 |
|
122 |
diff --git a/dev-util/bpftrace/files/bpftrace-0.13.0-install-libs.patch b/dev-util/bpftrace/files/bpftrace-0.13.0-install-libs.patch |
123 |
new file mode 100644 |
124 |
index 00000000000..03fd2d13e60 |
125 |
--- /dev/null |
126 |
+++ b/dev-util/bpftrace/files/bpftrace-0.13.0-install-libs.patch |
127 |
@@ -0,0 +1,143 @@ |
128 |
+diff --git a/CMakeLists.txt b/CMakeLists.txt |
129 |
+index e33bb1ca..52e1fa25 100644 |
130 |
+--- a/CMakeLists.txt |
131 |
++++ b/CMakeLists.txt |
132 |
+@@ -100,9 +100,10 @@ find_package(FLEX REQUIRED) |
133 |
+ bison_target(bison_parser src/parser.yy ${CMAKE_BINARY_DIR}/parser.tab.cc VERBOSE) |
134 |
+ flex_target(flex_lexer src/lexer.l ${CMAKE_BINARY_DIR}/lex.yy.cc) |
135 |
+ add_flex_bison_dependency(flex_lexer bison_parser) |
136 |
+-add_library(parser ${BISON_bison_parser_OUTPUTS} ${FLEX_flex_lexer_OUTPUTS}) |
137 |
+-target_compile_options(parser PRIVATE "-w") |
138 |
+-target_include_directories(parser PUBLIC src src/ast ${CMAKE_BINARY_DIR}) |
139 |
++add_library(bpftraceparser ${BISON_bison_parser_OUTPUTS} ${FLEX_flex_lexer_OUTPUTS}) |
140 |
++target_compile_options(bpftraceparser PRIVATE "-w") |
141 |
++target_include_directories(bpftraceparser PUBLIC src src/ast ${CMAKE_BINARY_DIR}) |
142 |
++install(TARGETS bpftraceparser LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
143 |
+ |
144 |
+ include(CheckSymbolExists) |
145 |
+ set(CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE) |
146 |
+diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt |
147 |
+index a95c60a1..f5c4d676 100644 |
148 |
+--- a/resources/CMakeLists.txt |
149 |
++++ b/resources/CMakeLists.txt |
150 |
+@@ -1,6 +1,7 @@ |
151 |
+-add_library(resources headers.cpp) |
152 |
++add_library(bpftraceresources headers.cpp) |
153 |
+ |
154 |
+-target_include_directories(resources PUBLIC ../src) |
155 |
++target_include_directories(bpftraceresources PUBLIC ../src) |
156 |
++install(TARGETS bpftraceresources LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
157 |
+ |
158 |
+ function(embed_headers output) |
159 |
+ file(WRITE ${output} "#include \"headers.h\"\n\nnamespace bpftrace {\n") |
160 |
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt |
161 |
+index 0361cdaa..f9c536a3 100644 |
162 |
+--- a/src/CMakeLists.txt |
163 |
++++ b/src/CMakeLists.txt |
164 |
+@@ -49,6 +49,7 @@ add_executable(${BPFTRACE} |
165 |
+ ) |
166 |
+ |
167 |
+ install(TARGETS ${BPFTRACE} DESTINATION ${CMAKE_INSTALL_BINDIR}) |
168 |
++install(TARGETS libbpftrace LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
169 |
+ target_link_libraries(${BPFTRACE} libbpftrace) |
170 |
+ |
171 |
+ if (BUILD_FUZZ) |
172 |
+@@ -109,7 +110,7 @@ if(STATIC_LINKING) |
173 |
+ endif(STATIC_LINKING) |
174 |
+ |
175 |
+ |
176 |
+-target_link_libraries(libbpftrace parser resources ast arch) |
177 |
++target_link_libraries(libbpftrace bpftraceparser bpftraceresources bpftraceast bpftracearch) |
178 |
+ |
179 |
+ if (LIBBPF_BTF_DUMP_FOUND) |
180 |
+ target_include_directories(libbpftrace PUBLIC ${LIBBPF_INCLUDE_DIRS}) |
181 |
+diff --git a/src/arch/CMakeLists.txt b/src/arch/CMakeLists.txt |
182 |
+index 76bb217e..6d243a7e 100644 |
183 |
+--- a/src/arch/CMakeLists.txt |
184 |
++++ b/src/arch/CMakeLists.txt |
185 |
+@@ -1,15 +1,15 @@ |
186 |
+ if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") |
187 |
+- add_library(arch aarch64.cpp) |
188 |
++ add_library(bpftracearch aarch64.cpp) |
189 |
+ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64" OR |
190 |
+ CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le") |
191 |
+- add_library(arch ppc64.cpp) |
192 |
++ add_library(bpftracearch ppc64.cpp) |
193 |
+ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "s390" OR |
194 |
+ CMAKE_SYSTEM_PROCESSOR STREQUAL "s390x") |
195 |
+- add_library(arch s390.cpp) |
196 |
++ add_library(bpftracearch s390.cpp) |
197 |
+ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") |
198 |
+- add_library(arch x86_64.cpp) |
199 |
++ add_library(bpftracearch x86_64.cpp) |
200 |
+ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "mips64") |
201 |
+- add_library(arch mips64.cpp) |
202 |
++ add_library(bpftracearch mips64.cpp) |
203 |
+ else() |
204 |
+ message(FATAL_ERROR "Unsupported architecture: ${CMAKE_SYSTEM_PROCESSOR}") |
205 |
+ endif() |
206 |
+diff --git a/src/ast/CMakeLists.txt b/src/ast/CMakeLists.txt |
207 |
+index 5234388c..8b40faaa 100644 |
208 |
+--- a/src/ast/CMakeLists.txt |
209 |
++++ b/src/ast/CMakeLists.txt |
210 |
+@@ -1,4 +1,4 @@ |
211 |
+-add_library(ast |
212 |
++add_library(bpftraceast |
213 |
+ ast.cpp |
214 |
+ attachpoint_parser.cpp |
215 |
+ codegen_llvm.cpp |
216 |
+@@ -13,17 +13,18 @@ add_library(ast |
217 |
+ signal.cpp |
218 |
+ visitors.cpp |
219 |
+ ) |
220 |
++install(TARGETS bpftraceast LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
221 |
+ |
222 |
+-target_include_directories(ast PUBLIC ${CMAKE_SOURCE_DIR}/src) |
223 |
+-target_include_directories(ast PUBLIC ${CMAKE_SOURCE_DIR}/src/ast) |
224 |
+-target_include_directories(ast PUBLIC ${CMAKE_BINARY_DIR}) |
225 |
+-target_link_libraries(ast arch) |
226 |
++target_include_directories(bpftraceast PUBLIC ${CMAKE_SOURCE_DIR}/src) |
227 |
++target_include_directories(bpftraceast PUBLIC ${CMAKE_SOURCE_DIR}/src/ast) |
228 |
++target_include_directories(bpftraceast PUBLIC ${CMAKE_BINARY_DIR}) |
229 |
++target_link_libraries(bpftraceast bpftracearch) |
230 |
+ |
231 |
+ if (HAVE_BCC_KFUNC) |
232 |
+- target_compile_definitions(ast PRIVATE HAVE_BCC_KFUNC) |
233 |
++ target_compile_definitions(bpftraceast PRIVATE HAVE_BCC_KFUNC) |
234 |
+ endif(HAVE_BCC_KFUNC) |
235 |
+ |
236 |
+-add_dependencies(ast parser) |
237 |
++add_dependencies(bpftraceast bpftraceparser) |
238 |
+ |
239 |
+ if (STATIC_LINKING) |
240 |
+ set(clang_libs |
241 |
+@@ -54,11 +55,11 @@ if (STATIC_LINKING) |
242 |
+ |
243 |
+ |
244 |
+ if(EMBED_USE_LLVM) |
245 |
+- target_link_libraries(ast "-Wl,--start-group" ${CLANG_EMBEDDED_CMAKE_TARGETS} ${LLVM_EMBEDDED_CMAKE_TARGETS} "-Wl,--end-group") |
246 |
++ target_link_libraries(bpftraceast "-Wl,--start-group" ${CLANG_EMBEDDED_CMAKE_TARGETS} ${LLVM_EMBEDDED_CMAKE_TARGETS} "-Wl,--end-group") |
247 |
+ else() |
248 |
+ llvm_map_components_to_libnames(llvm_libs ${llvm_lib_names}) |
249 |
+- target_link_libraries(ast ${clang_libs}) |
250 |
+- target_link_libraries(ast ${llvm_libs}) |
251 |
++ target_link_libraries(bpftraceast ${clang_libs}) |
252 |
++ target_link_libraries(bpftraceast ${llvm_libs}) |
253 |
+ endif() |
254 |
+ |
255 |
+ if(STATIC_LIBC) |
256 |
+@@ -68,11 +69,11 @@ if (STATIC_LINKING) |
257 |
+ else() |
258 |
+ find_library(found_LLVM LLVM HINTS ${LLVM_LIBRARY_DIRS}) |
259 |
+ if(found_LLVM) |
260 |
+- target_link_libraries(ast LLVM) |
261 |
++ target_link_libraries(bpftraceast LLVM) |
262 |
+ else() |
263 |
+ llvm_map_components_to_libnames(_llvm_libs bpfcodegen ipo irreader mcjit orcjit ${LLVM_TARGETS_TO_BUILD}) |
264 |
+ llvm_expand_dependencies(llvm_libs ${_llvm_libs}) |
265 |
+- target_link_libraries(ast ${llvm_libs}) |
266 |
++ target_link_libraries(bpftraceast ${llvm_libs}) |
267 |
+ endif() |
268 |
+- target_link_libraries(ast libclang) |
269 |
++ target_link_libraries(bpftraceast libclang) |
270 |
+ endif() |