From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 883F0158086 for ; Sun, 7 Nov 2021 20:59:47 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id F0F692BC033; Sun, 7 Nov 2021 20:59:45 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id D2D262BC002 for ; Sun, 7 Nov 2021 20:59:45 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 1F0DA342D5F for ; Sun, 7 Nov 2021 20:59:44 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 40E064A for ; Sun, 7 Nov 2021 20:59:42 +0000 (UTC) From: "Jakov Smolić" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Jakov Smolić" Message-ID: <1636318714.aa3d066f2b9904a46cfec836c3de140b742fafbf.jsmolic@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/bcc/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-util/bcc/bcc-0.22.0-r1.ebuild X-VCS-Directories: dev-util/bcc/ X-VCS-Committer: jsmolic X-VCS-Committer-Name: Jakov Smolić X-VCS-Revision: aa3d066f2b9904a46cfec836c3de140b742fafbf X-VCS-Branch: master Date: Sun, 7 Nov 2021 20:59:42 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 5925bdbd-7ece-4837-a182-7e053d60c106 X-Archives-Hash: c6d2c98c069468553f7fb64e824a86bd commit: aa3d066f2b9904a46cfec836c3de140b742fafbf Author: Jakov Smolić gentoo org> AuthorDate: Sun Nov 7 20:58:05 2021 +0000 Commit: Jakov Smolić gentoo org> CommitDate: Sun Nov 7 20:58:34 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aa3d066f dev-util/bcc: Correctly append "old" prefix to old tools' names Previous fix solved the bug where bcc would install old versions on top of the new ones, but it failed to append the "old" prefix to old tools correctly, so they were not really installed. While at, let's do this in src_prepare rather than in src_install phase. Closes: https://bugs.gentoo.org/811288 Signed-off-by: Jakov Smolić gentoo.org> dev-util/bcc/bcc-0.22.0-r1.ebuild | 119 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) diff --git a/dev-util/bcc/bcc-0.22.0-r1.ebuild b/dev-util/bcc/bcc-0.22.0-r1.ebuild new file mode 100644 index 00000000000..36f7b33c57d --- /dev/null +++ b/dev-util/bcc/bcc-0.22.0-r1.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +LUA_COMPAT=( luajit ) +PYTHON_COMPAT=( python3_{7..10} ) + +inherit cmake linux-info llvm lua-single python-r1 + +DESCRIPTION="Tools for BPF-based Linux IO analysis, networking, monitoring, and more" +HOMEPAGE="https://iovisor.github.io/bcc/" + +SRC_URI="https://github.com/iovisor/bcc/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="+lua test" +REQUIRED_USE="${PYTHON_REQUIRED_USE} + lua? ( ${LUA_REQUIRED_USE} )" + +RDEPEND=" + || ( + ~dev-libs/libbpf-0.5.0 + ~dev-libs/libbpf-9999 + ) + dev-libs/libbpf:=[static-libs(-)] + >=sys-kernel/linux-headers-5.13 + >=dev-libs/elfutils-0.166:= + <=sys-devel/clang-13:= + <=sys-devel/llvm-13:=[llvm_targets_BPF(+)] + lua? ( ${LUA_DEPS} ) + ${PYTHON_DEPS} +" +DEPEND="${RDEPEND} + test? ( + || ( + net-misc/iputils[arping] + net-analyzer/arping + ) + net-analyzer/netperf + net-misc/iperf:* + ) +" +BDEPEND=" + dev-util/cmake + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}/bcc-0.9.0-no-luajit-automagic-dep.patch" + "${FILESDIR}/bcc-0.14.0-cmakelists.patch" +) + +# tests need root access +RESTRICT="test" + +pkg_pretend() { + local CONFIG_CHECK="~BPF ~BPF_SYSCALL ~NET_CLS_BPF ~NET_ACT_BPF + ~HAVE_EBPF_JIT ~BPF_EVENTS ~DEBUG_INFO ~FUNCTION_TRACER ~KALLSYMS_ALL + ~KPROBES" + + check_extra_config +} + +pkg_setup() { + LLVM_MAX_SLOT=12 llvm_pkg_setup + python_setup +} + +src_prepare() { + local bpf_link_path + + # this avoids bundling + bpf_link_path="$(realpath --relative-to="${S}/src/cc/libbpf" /usr/include/bpf)" || die + ln -sfn "${bpf_link_path}" src/cc/libbpf/include || die + + # bug 811288 + local script scriptname + for script in $(find tools/old -type f -name "*.py"); do + scriptname=$(basename ${script}) + mv ${script} tools/old/old-${scriptname} || die + done + + cmake_src_prepare +} + +python_add_impl() { + bcc_python_impls+="${EPYTHON};" +} + +src_configure() { + local bcc_python_impls + python_foreach_impl python_add_impl + + local -a mycmakeargs=( + -DREVISION=${PV%%_*} + -DENABLE_LLVM_SHARED=ON + -DCMAKE_USE_LIBBPF_PACKAGE=ON + -DKERNEL_INCLUDE_DIRS="${KERNEL_DIR}" + -DPYTHON_CMD="${bcc_python_impls%;}" + -Wno-dev + ) + if use lua && use lua_single_target_luajit; then + mycmakeargs+=( -DWITH_LUAJIT=1 ) + fi + + cmake_src_configure +} + +src_install() { + cmake_src_install + + python_replicate_script $(grep -Flr '#!/usr/bin/python' "${ED}/usr/share/bcc/tools") + python_foreach_impl python_optimize + + newenvd "${FILESDIR}"/60bcc.env 60bcc.env +}