diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-04 05:48:38 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-04 05:48:38 -0500 |
| commit | bfd9c39e4712ebdb442d4ca0673061faed1e70e1 (patch) | |
| tree | 0d7a74b4463ee387f9cf9368ceb1b757f694f72a /app-admin/ananicy-cpp | |
| parent | f716a9fe6455d39eef01e718aae68dae61c19704 (diff) | |
| download | baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.tar.gz baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.tar.xz baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.zip | |
Revert "Adding metadata"
This reverts commit f716a9fe6455d39eef01e718aae68dae61c19704.
Diffstat (limited to 'app-admin/ananicy-cpp')
| -rw-r--r-- | app-admin/ananicy-cpp/Manifest | 1 | ||||
| -rw-r--r-- | app-admin/ananicy-cpp/ananicy-cpp-1.1.1-r4.ebuild | 87 | ||||
| -rw-r--r-- | app-admin/ananicy-cpp/files/ananicy-cpp-1.1.1-clang-19.patch | 45 | ||||
| -rw-r--r-- | app-admin/ananicy-cpp/files/ananicy-cpp-1.1.1-glibc-2.41.patch | 103 | ||||
| -rw-r--r-- | app-admin/ananicy-cpp/files/ananicy-cpp-1.1.1-remove-debug-flags.patch | 18 | ||||
| -rw-r--r-- | app-admin/ananicy-cpp/files/ananicy-cpp.initd | 18 | ||||
| -rw-r--r-- | app-admin/ananicy-cpp/metadata.xml | 14 |
7 files changed, 286 insertions, 0 deletions
diff --git a/app-admin/ananicy-cpp/Manifest b/app-admin/ananicy-cpp/Manifest new file mode 100644 index 000000000000..d2ce42cb0a6f --- /dev/null +++ b/app-admin/ananicy-cpp/Manifest @@ -0,0 +1 @@ +DIST ananicy-cpp-v1.1.1.tar.bz2 326329 BLAKE2B b9e62e2e2a2ee956b6e1e3b0e484e340bbaa8a62f851c342efa5ce9a896d477213cd10aea5dc2f9978fdaddc85d17473a9ed9a0544d83fca01b52ecb09f6bbfd SHA512 ef351d45d54c6f3c60be9208e105d3952b88ad31708247dbda02c2de0e4852f29f06ba8c4f82a50f8d2bd1aa51f6fc914f9d7c13f598e21b527155bd0cbde27c diff --git a/app-admin/ananicy-cpp/ananicy-cpp-1.1.1-r4.ebuild b/app-admin/ananicy-cpp/ananicy-cpp-1.1.1-r4.ebuild new file mode 100644 index 000000000000..7f9f1b1c941d --- /dev/null +++ b/app-admin/ananicy-cpp/ananicy-cpp-1.1.1-r4.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Ananicy rewritten in C++ for much lower CPU and memory usage" +HOMEPAGE="https://gitlab.com/ananicy-cpp/ananicy-cpp" +SRC_URI="https://gitlab.com/ananicy-cpp/ananicy-cpp/-/archive/v${PV}/${PN}-v${PV}.tar.bz2" + +S="${WORKDIR}/${PN}-v${PV}" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" + +IUSE="bpf clang systemd" +REQUIRED_USE=" + bpf? ( clang ) +" + +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:= ) +" + +DEPEND=" + >=dev-build/cmake-3.17 + clang? ( >=llvm-core/clang-10 ) + ${RDEPEND} +" + +PATCHES=( + "${FILESDIR}/${P}-remove-debug-flags.patch" + "${FILESDIR}/${P}-clang-19.patch" + "${FILESDIR}/${P}-glibc-2.41.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 +} + +src_install() { + cmake_src_install + + if ! use systemd ; then + doinitd "${FILESDIR}/${PN}.initd" + fi + + keepdir /etc/ananicy.d +} diff --git a/app-admin/ananicy-cpp/files/ananicy-cpp-1.1.1-clang-19.patch b/app-admin/ananicy-cpp/files/ananicy-cpp-1.1.1-clang-19.patch new file mode 100644 index 000000000000..1a2ffadcc7e0 --- /dev/null +++ b/app-admin/ananicy-cpp/files/ananicy-cpp-1.1.1-clang-19.patch @@ -0,0 +1,45 @@ +https://gitlab.com/ananicy-cpp/ananicy-cpp/-/commit/b2589a9b1faa2ecf54aeede40ea781c33bfb09a8 +From: John Titor <50095635+JohnRTitor@users.noreply.github.com> +Date: Fri, 27 Dec 2024 11:37:04 +0530 +Subject: [PATCH] atomic-queue: fix build with clang 19 + +> error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw] + +Co-authored-by: Reno Dakota <paparodeo@proton.me> +--- a/include/utility/atomic_queue/atomic_queue.h ++++ b/include/utility/atomic_queue/atomic_queue.h +@@ -393,13 +393,13 @@ class AtomicQueue2 : public AtomicQueueCommon<AtomicQueue2<T, SIZE, MINIMIZE_CON + + T do_pop(unsigned tail) noexcept { + unsigned index = details::remap_index<SHUFFLE_BITS>(tail % size_); +- return Base::template do_pop_any(states_[index], elements_[index]); ++ return Base::template do_pop_any<T>(states_[index], elements_[index]); + } + + template<class U> + void do_push(U&& element, unsigned head) noexcept { + unsigned index = details::remap_index<SHUFFLE_BITS>(head % size_); +- Base::template do_push_any(std::forward<U>(element), states_[index], elements_[index]); ++ Base::template do_push_any<U>(std::forward<U>(element), states_[index], elements_[index]); + } + + public: +@@ -521,13 +521,13 @@ class AtomicQueueB2 : public AtomicQueueCommon<AtomicQueueB2<T, A, MAXIMIZE_THRO + + T do_pop(unsigned tail) noexcept { + unsigned index = details::remap_index<SHUFFLE_BITS>(tail & (size_ - 1)); +- return Base::template do_pop_any(states_[index], elements_[index]); ++ return Base::template do_pop_any<T>(states_[index], elements_[index]); + } + + template<class U> + void do_push(U&& element, unsigned head) noexcept { + unsigned index = details::remap_index<SHUFFLE_BITS>(head & (size_ - 1)); +- Base::template do_push_any(std::forward<U>(element), states_[index], elements_[index]); ++ Base::template do_push_any<U>(std::forward<U>(element), states_[index], elements_[index]); + } + + public: +-- +GitLab + diff --git a/app-admin/ananicy-cpp/files/ananicy-cpp-1.1.1-glibc-2.41.patch b/app-admin/ananicy-cpp/files/ananicy-cpp-1.1.1-glibc-2.41.patch new file mode 100644 index 000000000000..a6747de7a069 --- /dev/null +++ b/app-admin/ananicy-cpp/files/ananicy-cpp-1.1.1-glibc-2.41.patch @@ -0,0 +1,103 @@ +https://gitlab.com/ananicy-cpp/ananicy-cpp/-/commit/99e64815bacaf3baa28ad89d022e33ebede94fa9 +From: Antoine Viallon <antoine@lesviallon.fr> +Date: Thu, 3 Apr 2025 14:24:10 +0200 +Subject: [PATCH] [Platform/Linux] rename sched_*attr symbols to avoid + conflicts with newer GLibc versions + +(cherry picked from commit 6748f23c5f1eaf6c15cb771a3804e3e527015903) +--- a/src/platform/linux/priority.cpp ++++ b/src/platform/linux/priority.cpp +@@ -185,12 +185,12 @@ std::string_view test_latnice_support() noexcept { + + // Use this here instead of function, + // to suppress errors from function call. +- struct sched_attr attr = { +- .size = sizeof(struct sched_attr), ++ struct ananicy_sched_attr attr = { ++ .size = sizeof(struct ananicy_sched_attr), + .sched_flags = SCHED_FLAG_LATENCY_NICE | SCHED_FLAG_KEEP_PARAMS, + .sched_latency_nice = latency_nice, + }; +- const std::int32_t err = sched_setattr(pid, &attr, 0); ++ const std::int32_t err = ananicy_sched_setattr(pid, &attr, 0); + bool is_supported{}; + if (err == 0 && errno == 0) { + set_latnice(pid, saved_latnice); +--- a/src/platform/linux/process_info.cpp ++++ b/src/platform/linux/process_info.cpp +@@ -104,16 +104,16 @@ static std::string get_sched_policy_name(unsigned sched_policy) { + } + } + +-static sched_attr get_sched_attributes(process_id_t pid) { ++static ananicy_sched_attr get_sched_attributes(process_id_t pid) { + +- ::sched_attr attr{}; +- sched_getattr(static_cast<pid_t>(pid), &attr, sizeof(attr), 0); ++ ::ananicy_sched_attr attr{}; ++ ananicy_sched_getattr(static_cast<pid_t>(pid), &attr, sizeof(attr), 0); + + return attr; + } + + bool is_realtime(process_id_t pid) { +- const sched_attr attr = get_sched_attributes(pid); ++ const ananicy_sched_attr attr = get_sched_attributes(pid); + return attr.sched_priority > 0; + } + +--- a/src/platform/linux/syscalls.h ++++ b/src/platform/linux/syscalls.h +@@ -69,7 +69,7 @@ static int ioprio_get(__priority_which_t _which, id_t _who) { + #define SCHED_FLAG_KEEP_POLICY 0x08 + #endif + +-struct [[gnu::packed]] sched_attr { ++struct [[gnu::packed]] ananicy_sched_attr { + uint32_t size; + + uint32_t sched_policy; // SCHED_(FIFO,RR,DEADLINE,OTHER,BATCH,IDLE, etc.) +@@ -94,20 +94,20 @@ struct [[gnu::packed]] sched_attr { + int32_t sched_latency_nice; + }; + +-static int sched_setattr(pid_t pid, const struct sched_attr *attr, ++static int ananicy_sched_setattr(pid_t pid, const struct ananicy_sched_attr *attr, + unsigned int flags) { + return static_cast<int>(syscall(__NR_sched_setattr, pid, attr, flags)); + } + +-static int sched_getattr(pid_t pid, struct sched_attr *attr, unsigned int size, ++static int ananicy_sched_getattr(pid_t pid, struct ananicy_sched_attr *attr, unsigned int size, + unsigned int flags) { + return static_cast<int>(syscall(__NR_sched_getattr, pid, attr, size, flags)); + } + + static int get_latnice(pid_t pid) { + // pid==0 refers to calling thread +- struct sched_attr attr = { .size = sizeof(struct sched_attr) }; +- if (sched_getattr(pid, &attr, sizeof(attr), 0) < 0) { ++ struct ananicy_sched_attr attr = { .size = sizeof(struct ananicy_sched_attr) }; ++ if (ananicy_sched_getattr(pid, &attr, sizeof(attr), 0) < 0) { + std::perror("sched_getattr"); + } + return attr.sched_latency_nice; // defaults to 0 +@@ -115,12 +115,12 @@ static int get_latnice(pid_t pid) { + + static int set_latnice(pid_t pid, int latency_nice) { + // pid==0 refers to calling thread +- struct sched_attr attr = { +- .size = sizeof(struct sched_attr), ++ struct ananicy_sched_attr attr = { ++ .size = sizeof(struct ananicy_sched_attr), + .sched_flags = SCHED_FLAG_LATENCY_NICE | SCHED_FLAG_KEEP_PARAMS, + .sched_latency_nice = latency_nice, + }; +- const int err = sched_setattr(pid, &attr, 0); ++ const int err = ananicy_sched_setattr(pid, &attr, 0); + if (err < 0) { + // sched_setattr failed + if (errno == EINVAL) { +-- +GitLab + diff --git a/app-admin/ananicy-cpp/files/ananicy-cpp-1.1.1-remove-debug-flags.patch b/app-admin/ananicy-cpp/files/ananicy-cpp-1.1.1-remove-debug-flags.patch new file mode 100644 index 000000000000..612eedddef23 --- /dev/null +++ b/app-admin/ananicy-cpp/files/ananicy-cpp-1.1.1-remove-debug-flags.patch @@ -0,0 +1,18 @@ +Removes debug flags from RELWITHDEBINFO build. +Bug: https://bugs.gentoo.org/887193 +Signed-off-by: Alberto Gireud <agireud@protonmail.com> + +index e1a041f..7e16d4c 100644 +--- a/cmake/CompilerChecks.cmake ++++ b/cmake/CompilerChecks.cmake +@@ -22,8 +22,6 @@ set(CMAKE_MESSAGE_CONTEXT "") + + if(CXX_ACCEPTS_G3) + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g3") +- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_DEBUG} -g3") + elseif(CXX_ACCEPTS_G) + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g") +- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_DEBUG} -g") + endif() + + if(CXX_ACCEPTS_OG) diff --git a/app-admin/ananicy-cpp/files/ananicy-cpp.initd b/app-admin/ananicy-cpp/files/ananicy-cpp.initd new file mode 100644 index 000000000000..4d41fcbc16eb --- /dev/null +++ b/app-admin/ananicy-cpp/files/ananicy-cpp.initd @@ -0,0 +1,18 @@ +#!/sbin/openrc-run + +pidfile="/run/ananicy-cpp.pid" +command="/usr/bin/ananicy-cpp" +command_args="start" +command_background=true + +start_pre() { + /usr/sbin/sysctl -e kernel.sched_autogroup_enabled=0 +} + +stop_post() { + /usr/sbin/sysctl -e kernel.sched_autogroup_enabled=1 +} + +stop() { + start-stop-daemon --stop --pidfile "$pidfile" +} diff --git a/app-admin/ananicy-cpp/metadata.xml b/app-admin/ananicy-cpp/metadata.xml new file mode 100644 index 000000000000..160250046dde --- /dev/null +++ b/app-admin/ananicy-cpp/metadata.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <!-- maintainer-needed --> + <upstream> + <bugs-to>https://gitlab.com/ananicy-cpp/ananicy-cpp/-/issues</bugs-to> + <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> |
