summaryrefslogtreecommitdiff
path: root/dev-util/bpftrace
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-util/bpftrace
parent066d27181e9a797ad9f8fc43b49fc9a10ff2f707 (diff)
gentoo resync : 19.03.2019
Diffstat (limited to 'dev-util/bpftrace')
-rw-r--r--dev-util/bpftrace/Manifest6
-rw-r--r--dev-util/bpftrace/bpftrace-0.9.ebuild58
-rw-r--r--dev-util/bpftrace/bpftrace-9999.ebuild58
-rw-r--r--dev-util/bpftrace/files/bpftrace-0.9_pre20190311-install-libs.patch111
-rw-r--r--dev-util/bpftrace/files/bpftrace-mandir.patch22
-rw-r--r--dev-util/bpftrace/metadata.xml10
6 files changed, 265 insertions, 0 deletions
diff --git a/dev-util/bpftrace/Manifest b/dev-util/bpftrace/Manifest
new file mode 100644
index 000000000000..d0120253ffbf
--- /dev/null
+++ b/dev-util/bpftrace/Manifest
@@ -0,0 +1,6 @@
+AUX bpftrace-0.9_pre20190311-install-libs.patch 4453 BLAKE2B d8b552a04fa4815c8b2209c57ad9dbecb3938531ef3c6ad481d5ec034e8a8aff323f29acfa920f00d612a2f859b0b03272955384c06ee5051d7c8844163fdae6 SHA512 0fe1ea870b5a963ac040a7a636cd0255e60577bd7e9aa6080e40116c964c4a4bc1b5858290c2f381916433504bf28118f9b03089fb0baee32085aad104b1621c
+AUX bpftrace-mandir.patch 906 BLAKE2B d875e2523b7e719624d92c58a8f058cdd597da07bf6472d2e3dc05eb46be64718ed4056e15a93e4c22264fa35ceb6b79b428febade422ba435a2a2b9e17fb707 SHA512 11544e9e5892ae3657ff903fa2780e71223e380322b4059ddcea4a6edd80c5a7ab8d45188eb577127f64a6705a6ae41d53f3ba7e05bf450853b12a9ba3d84904
+DIST bpftrace-0.9.tar.gz 668655 BLAKE2B 650756ed7334cb92a64adc36a0bd86fff5c16c53fb94d57cc570dd3cd893d467e754da80c98da36c1ec1d14327fa6025b194d963e4a2d1bec99ebb868555b6bc SHA512 771c412a6b1ee7a7d5bba9e0910633056c6f5523e5d1efd9d7ccb5b9f9b462b7bda8d170c5ed0653f3c1bfd5cc77fce2fd552f12eb8222a8747620b3dc9b49f8
+EBUILD bpftrace-0.9.ebuild 1190 BLAKE2B 54b1634249e4594ea5115c87047e74e4f73c1b48e24f51292ed8dbb5f554cae84c8d18f70e1cd1c73b9f3120c670ecc94833f7d7f62c3efd4a43fa8c8b6bb783 SHA512 6a36f394710b5c027b0ae6b040c956e4891c17294cbb1e913152a592d46b1b694fa3dbf102ab8e555486b165764e0c7cf30fad79f8663be9b1d7cd3b1040ca3c
+EBUILD bpftrace-9999.ebuild 1233 BLAKE2B 493490aea8b690eb3d86ad875462602b40552a9ef4713ffcf733550bf30fd6b16f33b8847f670e26c3c2245b2a5f10d888bcfaa7869b868cb126d428994f6e88 SHA512 355f550827610fce8cf8a51561bdce9b56e5b00f5d49c5b0d31dabe93307be754011d93d1ad9cbe2f140950d51d9f9ec77a44ab9fa8130c863b598eb98e00e9b
+MISC metadata.xml 308 BLAKE2B 5440fafa478bdbdf6906c74d697a9542deb8b13b76527a380df723562759d914d597dff029f93ba4567ce4e0f4723fded5a13ea7d2032752253bad1906e753dc SHA512 c27c2ef4795e9167ea133e0c0e2c6d67425d6db754bd563d9cb7a791b4a155ebe855ad0e67c2b29235a9b9761f29dbb14958b124c95a1aaddb97801c763914ba
diff --git a/dev-util/bpftrace/bpftrace-0.9.ebuild b/dev-util/bpftrace/bpftrace-0.9.ebuild
new file mode 100644
index 000000000000..b483aed0116a
--- /dev/null
+++ b/dev-util/bpftrace/bpftrace-0.9.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs cmake-utils
+
+DESCRIPTION="High-level tracing language for eBPF"
+HOMEPAGE="https://github.com/iovisor/bpftrace"
+
+if [[ ${PV} =~ 9{4,} ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/iovisor/${PN}"
+ BDEPEND=""
+else
+ SRC_URI="https://github.com/iovisor/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ BDEPEND="app-arch/xz-utils "
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="test"
+
+COMMON_DEPEND="sys-devel/clang:=
+ >=sys-devel/llvm-3.7.1:=[llvm_targets_BPF(+)]
+ >=dev-util/bcc-0.9.0:=
+ virtual/libelf"
+DEPEND="${COMMON_DEPEND}
+ test? ( dev-cpp/gtest )"
+RDEPEND="${COMMON_DEPEND}"
+BDEPEND+="dev-util/cmake
+ sys-devel/flex
+ sys-devel/bison"
+
+QA_DT_NEEDED="/usr/lib.*/libbpftraceresources.so"
+
+PATCHES=(
+ "${FILESDIR}/bpftrace-0.9_pre20190311-install-libs.patch"
+ "${FILESDIR}/bpftrace-mandir.patch"
+)
+
+# lots of fixing needed
+RESTRICT="test"
+
+src_prepare() {
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local -a mycmakeargs
+ mycmakeargs=(
+ "-DSTATIC_LINKING:BOOL=OFF"
+ "-DBUILD_TESTING:BOOL=OFF"
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/dev-util/bpftrace/bpftrace-9999.ebuild b/dev-util/bpftrace/bpftrace-9999.ebuild
new file mode 100644
index 000000000000..1f874815e93c
--- /dev/null
+++ b/dev-util/bpftrace/bpftrace-9999.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs cmake-utils
+
+DESCRIPTION="High-level tracing language for eBPF"
+HOMEPAGE="https://github.com/iovisor/bpftrace"
+
+if [[ ${PV} =~ 9{4,} ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/iovisor/${PN}"
+ BDEPEND=""
+else
+ SRC_URI="mirror://gentoo/${P}.tar.xz"
+ #SRC_URI="https://github.com/iovisor/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ BDEPEND="app-arch/xz-utils "
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="test"
+
+COMMON_DEPEND="sys-devel/clang:=
+ >=sys-devel/llvm-3.7.1:=[llvm_targets_BPF(+)]
+ >=dev-util/bcc-0.9.0:=
+ virtual/libelf"
+DEPEND="${COMMON_DEPEND}
+ test? ( dev-cpp/gtest )"
+RDEPEND="${COMMON_DEPEND}"
+BDEPEND+="dev-util/cmake
+ sys-devel/flex
+ sys-devel/bison"
+
+PATCHES=(
+ "${FILESDIR}/bpftrace-0.9_pre20190311-bcc-0.9.patch"
+ "${FILESDIR}/bpftrace-0.9_pre20190311-install-libs.patch"
+ "${FILESDIR}/bpftrace-mandir.patch"
+)
+
+# lots of fixing needed
+RESTRICT="test"
+
+src_prepare() {
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local -a mycmakeargs
+ mycmakeargs=(
+ "-DSTATIC_LINKING:BOOL=OFF"
+ "-DBUILD_TESTING:BOOL=OFF"
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/dev-util/bpftrace/files/bpftrace-0.9_pre20190311-install-libs.patch b/dev-util/bpftrace/files/bpftrace-0.9_pre20190311-install-libs.patch
new file mode 100644
index 000000000000..68bd82559443
--- /dev/null
+++ b/dev-util/bpftrace/files/bpftrace-0.9_pre20190311-install-libs.patch
@@ -0,0 +1,111 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8ff6e1f..a276ba2 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -43,9 +43,10 @@ find_package(FLEX REQUIRED)
+ bison_target(bison_parser src/parser.yy ${CMAKE_BINARY_DIR}/parser.tab.cc)
+ flex_target(flex_lexer src/lexer.l ${CMAKE_BINARY_DIR}/lex.yy.cc)
+ add_flex_bison_dependency(flex_lexer bison_parser)
+-add_library(parser ${BISON_bison_parser_OUTPUTS} ${FLEX_flex_lexer_OUTPUTS})
+-target_compile_options(parser PRIVATE "-w")
+-target_include_directories(parser PUBLIC src src/ast ${CMAKE_BINARY_DIR})
++add_library(bpftraceparser ${BISON_bison_parser_OUTPUTS} ${FLEX_flex_lexer_OUTPUTS})
++target_compile_options(bpftraceparser PRIVATE "-w")
++target_include_directories(bpftraceparser PUBLIC src src/ast ${CMAKE_BINARY_DIR})
++install(TARGETS bpftraceparser LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+ include(CheckSymbolExists)
+ set(CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE)
+diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt
+index b8b0d96..0803c1e 100644
+--- a/resources/CMakeLists.txt
++++ b/resources/CMakeLists.txt
+@@ -1,6 +1,7 @@
+-add_library(resources headers.cpp)
++add_library(bpftraceresources headers.cpp)
+
+-target_include_directories(resources PUBLIC ../src)
++target_include_directories(bpftraceresources PUBLIC ../src)
++install(TARGETS bpftraceresources LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+ function(embed_headers output)
+ file(WRITE ${output} "#include \"headers.h\"\n\nnamespace bpftrace {\n")
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index b47f66d..36de26b 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -27,7 +27,8 @@ endif(HAVE_BCC_CREATE_MAP)
+ if(HAVE_GET_CURRENT_CGROUP_ID)
+ target_compile_definitions(bpftrace PRIVATE HAVE_GET_CURRENT_CGROUP_ID)
+ endif(HAVE_GET_CURRENT_CGROUP_ID)
+-target_link_libraries(bpftrace arch ast parser resources)
++target_link_libraries(bpftrace bpftracearch bpftraceast bpftraceparser
++ bpftraceresources)
+
+ if (STATIC_LINKING)
+ target_link_libraries(bpftrace ${LIBBCC_LIBRARIES})
+diff --git a/src/arch/CMakeLists.txt b/src/arch/CMakeLists.txt
+index 425926e..13b5d31 100644
+--- a/src/arch/CMakeLists.txt
++++ b/src/arch/CMakeLists.txt
+@@ -1,5 +1,7 @@
+ if(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "aarch64")
+- add_library(arch aarch64.cpp)
++ add_library(bpftracearch aarch64.cpp)
+ else()
+- add_library(arch x86_64.cpp)
++ add_library(bpftracearch x86_64.cpp)
+ endif()
++
++install(TARGETS bpftracearch LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+diff --git a/src/ast/CMakeLists.txt b/src/ast/CMakeLists.txt
+index 64db7b9..1a2eb6e 100644
+--- a/src/ast/CMakeLists.txt
++++ b/src/ast/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-add_library(ast
++add_library(bpftraceast
+ ast.cpp
+ codegen_llvm.cpp
+ irbuilderbpf.cpp
+@@ -6,12 +6,13 @@ add_library(ast
+ semantic_analyser.cpp
+ )
+
+-target_include_directories(ast PUBLIC ${CMAKE_SOURCE_DIR}/src)
+-target_include_directories(ast PUBLIC ${CMAKE_SOURCE_DIR}/src/ast)
+-target_include_directories(ast PUBLIC ${CMAKE_BINARY_DIR})
+-target_link_libraries(ast arch)
++target_include_directories(bpftraceast PUBLIC ${CMAKE_SOURCE_DIR}/src)
++target_include_directories(bpftraceast PUBLIC ${CMAKE_SOURCE_DIR}/src/ast)
++target_include_directories(bpftraceast PUBLIC ${CMAKE_BINARY_DIR})
++target_link_libraries(bpftraceast bpftracearch)
+
+-add_dependencies(ast parser)
++add_dependencies(bpftraceast bpftraceparser)
++install(TARGETS bpftraceast LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+ if (STATIC_LINKING)
+ set(clang_libs
+@@ -31,16 +32,16 @@ if (STATIC_LINKING)
+ clangSerialization
+ clangToolingCore)
+ llvm_map_components_to_libnames(llvm_libs bpfcodegen ipo irreader mcjit orcjit ${LLVM_TARGETS_TO_BUILD})
+- target_link_libraries(ast ${clang_libs})
+- target_link_libraries(ast ${llvm_libs})
++ target_link_libraries(bpftraceast ${clang_libs})
++ target_link_libraries(bpftraceast ${llvm_libs})
+ else()
+ find_library(found_LLVM LLVM HINTS ${LLVM_LIBRARY_DIRS})
+ if(found_LLVM)
+- target_link_libraries(ast LLVM)
++ target_link_libraries(bpftraceast LLVM)
+ else()
+ llvm_map_components_to_libnames(_llvm_libs bpfcodegen ipo irreader mcjit orcjit ${LLVM_TARGETS_TO_BUILD})
+ llvm_expand_dependencies(llvm_libs ${_llvm_libs})
+- target_link_libraries(ast ${llvm_libs})
++ target_link_libraries(bpftraceast ${llvm_libs})
+ endif()
+- target_link_libraries(ast libclang)
++ target_link_libraries(bpftraceast libclang)
+ endif()
diff --git a/dev-util/bpftrace/files/bpftrace-mandir.patch b/dev-util/bpftrace/files/bpftrace-mandir.patch
new file mode 100644
index 000000000000..d18c1e2f3210
--- /dev/null
+++ b/dev-util/bpftrace/files/bpftrace-mandir.patch
@@ -0,0 +1,22 @@
+diff --git a/man/man8/CMakeLists.txt b/man/man8/CMakeLists.txt
+index 45cfe5d..d13229e 100644
+--- a/man/man8/CMakeLists.txt
++++ b/man/man8/CMakeLists.txt
+@@ -1,12 +1,12 @@
+-find_program(GZIP gzip)
++find_program(CAT cat)
+ file(GLOB FILES *.8)
+ set(GZFILES "")
+ foreach(FIL ${FILES})
+ get_filename_component(NAME ${FIL} NAME)
+- add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.gz
+- COMMAND ${GZIP} -c ${FIL} > ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.gz
++ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}
++ COMMAND ${CAT} ${FIL} > ${CMAKE_CURRENT_BINARY_DIR}/${NAME}
+ DEPENDS ${FIL})
+- list(APPEND GZFILES "${CMAKE_CURRENT_BINARY_DIR}/${NAME}.gz")
++ list(APPEND GZFILES "${CMAKE_CURRENT_BINARY_DIR}/${NAME}")
+ endforeach()
+ add_custom_target(man ALL DEPENDS ${GZFILES})
+-install(FILES ${GZFILES} DESTINATION man/man8)
++install(FILES ${GZFILES} DESTINATION share/man/man8)
diff --git a/dev-util/bpftrace/metadata.xml b/dev-util/bpftrace/metadata.xml
new file mode 100644
index 000000000000..777f99f832ca
--- /dev/null
+++ b/dev-util/bpftrace/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">iovisor/bpftrace</remote-id>
+ </upstream>
+</pkgmetadata>