diff options
author | 2024-03-06 21:49:13 -0600 | |
---|---|---|
committer | 2024-03-06 22:06:14 -0600 | |
commit | af85370459af3a4b5244cf8e6642ed7773afc94d (patch) | |
tree | e96a8881293dff90a5929e44035796e8fc5f9ebd /app-admin | |
parent | x11-misc/i3-restore: add einfo with link to alternative software (diff) | |
download | guru-af85370459af3a4b5244cf8e6642ed7773afc94d.tar.gz guru-af85370459af3a4b5244cf8e6642ed7773afc94d.tar.bz2 guru-af85370459af3a4b5244cf8e6642ed7773afc94d.zip |
app-admin/ananicy-cpp: Add support for Clang compilation and eBPF implementation
Signed-off-by: Alberto Gireud <agireud@protonmail.com>
Diffstat (limited to 'app-admin')
-rw-r--r-- | app-admin/ananicy-cpp/ananicy-cpp-1.1.1-r3.ebuild (renamed from app-admin/ananicy-cpp/ananicy-cpp-1.1.1-r2.ebuild) | 39 | ||||
-rw-r--r-- | app-admin/ananicy-cpp/metadata.xml | 4 |
2 files changed, 40 insertions, 3 deletions
diff --git a/app-admin/ananicy-cpp/ananicy-cpp-1.1.1-r2.ebuild b/app-admin/ananicy-cpp/ananicy-cpp-1.1.1-r3.ebuild index e97720ff9..abefa9baa 100644 --- a/app-admin/ananicy-cpp/ananicy-cpp-1.1.1-r2.ebuild +++ b/app-admin/ananicy-cpp/ananicy-cpp-1.1.1-r3.ebuild @@ -10,32 +10,65 @@ HOMEPAGE="https://gitlab.com/ananicy-cpp/ananicy-cpp" LICENSE="GPL-3" SLOT="0" KEYWORDS="~amd64" -IUSE="systemd" +IUSE="bpf clang systemd" +REQUIRED_USE=" + bpf? ( clang ) +" SRC_URI="https://gitlab.com/ananicy-cpp/ananicy-cpp/-/archive/v${PV}/${PN}-v${PV}.tar.bz2" S="${WORKDIR}/${PN}-v${PV}" -DEPEND=" +RDEPEND=" !app-admin/ananicy >=dev-cpp/nlohmann_json-3.9 >=dev-libs/libfmt-8 >=dev-libs/spdlog-1.9 + bpf? ( + dev-libs/elfutils + dev-libs/libbpf + dev-util/bpftool + ) systemd? ( sys-apps/systemd ) " -RDEPEND="${DEPEND}" + +DEPEND=" + >=dev-build/cmake-3.17 + clang? ( >=sys-devel/clang-10 ) + ${RDEPEND} +" PATCHES=( "${FILESDIR}/${P}-remove-debug-flags.patch" ) +pkg_setup() { + if use bpf ; then + CONFIG_CHECK+="~BPF ~BPF_EVENTS ~BPF_SYSCALL ~HAVE_EBPF_JIT" + fi +} + src_configure() { local mycmakeargs=( -DENABLE_SYSTEMD=$(usex systemd) + -DUSE_BPF_PROC_IMPL=$(usex bpf) -DUSE_EXTERNAL_FMTLIB=ON -DUSE_EXTERNAL_JSON=ON -DUSE_EXTERNAL_SPDLOG=ON -DVERSION=${PV} ) + + if use clang; then + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + + if use bpf ; then + mycmakeargs+=( -DBPF_BUILD_LIBBPF=OFF ) + fi + fi + cmake_src_configure } diff --git a/app-admin/ananicy-cpp/metadata.xml b/app-admin/ananicy-cpp/metadata.xml index 52724a179..59b0456ac 100644 --- a/app-admin/ananicy-cpp/metadata.xml +++ b/app-admin/ananicy-cpp/metadata.xml @@ -10,4 +10,8 @@ <remote-id type="gitlab">ananicy-cpp/ananicy-cpp</remote-id> <remote-id type="github">kuche1/minq-ananicy</remote-id> </upstream> + <use> + <flag name="bpf">Use eBPF for processing</flag> + <flag name="clang">Use Clang compiler instead of GCC</flag> + </use> </pkgmetadata> |