commit: c8f109aab9d2896c21b360c74a9e9da5108117aa Author: Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com> AuthorDate: Thu May 8 19:57:00 2025 +0000 Commit: David Roman <davidroman96 <AT> gmail <DOT> com> CommitDate: Thu May 8 21:13:33 2025 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=c8f109aa
sys-apps/coolercontrold: add 2.1.0, new package Bug: https://bugs.gentoo.org/907178 Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com> sys-apps/coolercontrold/Manifest | 5 ++ .../coolercontrold/coolercontrold-2.1.0.ebuild | 90 ++++++++++++++++++++++ ...olercontrold-2.1.0-optional-libdrm_amdgpu.patch | 54 +++++++++++++ sys-apps/coolercontrold/metadata.xml | 13 ++++ 4 files changed, 162 insertions(+) diff --git a/sys-apps/coolercontrold/Manifest b/sys-apps/coolercontrold/Manifest new file mode 100644 index 000000000..11decf364 --- /dev/null +++ b/sys-apps/coolercontrold/Manifest @@ -0,0 +1,5 @@ +DIST coolercontrol-2.1.0-dist.tar.xz 867648 BLAKE2B 529ed66ae42f8cd35e2818ab7bd7a4d893850a216286153b0583f74cb31a529e14359579d4698bd6fec1fce00a4765ab85d7b94c992d01fb441954354e929b25 SHA512 d210fedb513e8c21f7ce93a814074d025c490cbc9726fd78d740b706ad07f1f7acda58fd572c582c221fe05680188ce720b718daa0fc2832d3ce7c770e0cec75 +DIST coolercontrol-2.1.0.tar.bz2 15732132 BLAKE2B e90692b6b5d9b99ebc2bd26d519f9311600664c8296d1264ccd3d1d81b70e80ffa353eeae65a55e8398fc6e992dec0e7c451f22fe39bc0eec9cee1364a9004e8 SHA512 975877f0bbea06e294ff7b1d07ad7c12543b4dfc044e1500daf4658d3a9b13e49c52a66847b81f4d81d6c8604b6e3526c9fdc93f0a830650f8e0b3b081cefd81 +DIST coolercontrold-2.1.0-crates.tar.xz 45467392 BLAKE2B e0e26e43b86df39e6c896c46beb3fdb4c4115628ef58d5d5ad03a0c353dd9af3f420a7c3f1b3d0799d45d1bb5b28e144f1f4cccc82a74ca50de071f073ad8821 SHA512 4dec1899ab32b6df6f2da642c868cb18519df2da88e9908dd4a0c108cca78bbe054b825402e0621099ac4bb556a3a031fdaecd033f76186c184091f2f0ac6ef1 +DIST nvml-wrapper-572095f631da93be8d243c73820e581676969897.gh.tar.gz 234938 BLAKE2B 91820ff38212c176027ab6fb0552efb1544e539fc0dda29e1f7d82e2cec8dce1ecd6cc499c120049869cde638ecf3918db3f73f86ea73214135e83c4bccbf8b7 SHA512 1ead616cd59058e3c2f100cc0dff9b6f4f97aeb70d30ef7d9667eef3e8b272bfae487e1c68e042680c4be8667246b4048cf8124ffe6a7011899cd2b87d8e9ec2 +DIST tower-governor-fd799d86418e58179468953c80ad7094a81a9e37.gh.tar.gz 31787 BLAKE2B 452d9423efbb4230bd88dfd58418850d0ccd53d5d7a45ff5f60005f292637c296c4c67d75397a7f4a59af51028b2fa95a2ef69b372c18b1dc02408437e8aac81 SHA512 40819f6d2dd7f1471af403e0314d261d043c6fddde12c55b797412d07f0ae6db3cfb640cbe3e2ebfea1be11794ed8ded20c39ca489784a4dbbbfdead3ff2f38c diff --git a/sys-apps/coolercontrold/coolercontrold-2.1.0.ebuild b/sys-apps/coolercontrold/coolercontrold-2.1.0.ebuild new file mode 100644 index 000000000..ef884d141 --- /dev/null +++ b/sys-apps/coolercontrold/coolercontrold-2.1.0.ebuild @@ -0,0 +1,90 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" + +declare -A GIT_CRATES=( + [nvml-wrapper-sys]='https://github.com/codifryed/nvml-wrapper;572095f631da93be8d243c73820e581676969897;nvml-wrapper-%commit%/nvml-wrapper-sys' + [nvml-wrapper]='https://github.com/codifryed/nvml-wrapper;572095f631da93be8d243c73820e581676969897;nvml-wrapper-%commit%/nvml-wrapper' + [tower_governor]='https://github.com/codifryed/tower-governor;fd799d86418e58179468953c80ad7094a81a9e37;tower-governor-%commit%' +) + +inherit cargo optfeature systemd + +DESCRIPTION="Monitor and control your cooling and other devices (daemon)" +HOMEPAGE="https://gitlab.com/coolercontrol/coolercontrol" +SRC_URI=" + https://gitlab.com/coolercontrol/coolercontrol/-/archive/${PV}/coolercontrol-${PV}.tar.bz2 + https://gitlab.com/api/v4/projects/32909921/packages/generic/coolercontrol/${PV}/coolercontrol-${PV}-dist.tar.xz + https://gitlab.com/api/v4/projects/32909921/packages/generic/coolercontrol/${PV}/coolercontrold-${PV}-crates.tar.xz + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}/coolercontrol-${PV}/${PN}" + +LICENSE="GPL-3+" +# Dependent crate licenses +LICENSE+=" + AGPL-3+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC-PD + GPL-3+ ISC MIT MPL-2.0 UoI-NCSA Unicode-3.0 ZLIB +" +SLOT="0" +KEYWORDS="~amd64" + +IUSE="video_cards_amdgpu" + +RDEPEND=" + app-arch/zstd:= + video_cards_amdgpu? ( + x11-libs/libdrm[video_cards_amdgpu] + ) +" +DEPEND="${RDEPEND}" + +QA_FLAGS_IGNORED=".*" + +PATCHES=( + "${FILESDIR}"/coolercontrold-2.1.0-optional-libdrm_amdgpu.patch +) + +src_prepare() { + pushd .. >/dev/null || die + default + popd >/dev/null || die + + # Disable stripping + sed -i -e '/^strip =/d' Cargo.toml || die + + cp -rf "${WORKDIR}"/dist/* "${S}"/resources/app/ || die +} + +src_configure() { + export ZSTD_SYS_USE_PKG_CONFIG=1 + + local myfeatures=( + $(usev video_cards_amdgpu libdrm_amdgpu) + ) + + cargo_src_configure +} + +src_install() { + cargo_src_install + + einstalldocs + + doinitd ../packaging/openrc/init.d/coolercontrol + doconfd ../packaging/openrc/conf.d/coolercontrol + + systemd_dounit ../packaging/systemd/coolercontrold.service +} + +pkg_postinst() { + optfeature "interact with AIO liquid coolers and other devices" sys-apps/coolercontrol-liqctld + + if [[ -n ${REPLACING_VERSIONS} ]]; then + elog "Remember to restart coolercontrol service to use the new version." + fi +} diff --git a/sys-apps/coolercontrold/files/coolercontrold-2.1.0-optional-libdrm_amdgpu.patch b/sys-apps/coolercontrold/files/coolercontrold-2.1.0-optional-libdrm_amdgpu.patch new file mode 100644 index 000000000..4042cf400 --- /dev/null +++ b/sys-apps/coolercontrold/files/coolercontrold-2.1.0-optional-libdrm_amdgpu.patch @@ -0,0 +1,54 @@ +From e55e506862c8c2bc37520fc72a16093f9a2a23fc Mon Sep 17 00:00:00 2001 +From: Alfred Wingate <[email protected]> +Date: Mon, 23 Sep 2024 14:35:35 +0300 +Subject: [PATCH] Allow disabling linking to libdrm_amdgpu + +Notably users on Gentoo may choose to disable building libdrm with amdgpu support leading to a build +failure. + +Signed-off-by: Alfred Wingate <[email protected]> +--- a/coolercontrold/Cargo.toml ++++ b/coolercontrold/Cargo.toml +@@ -17,6 +17,7 @@ license = "GPL-3.0-or-later" + [features] + default = [] + io_uring = ["dep:tokio-uring"] ++libdrm_amdgpu = [] + + [dependencies] + log = "0.4.27" +--- a/coolercontrold/src/repositories/gpu/amd.rs ++++ b/coolercontrold/src/repositories/gpu/amd.rs +@@ -37,7 +37,9 @@ use crate::repositories::hwmon::{devices, fans, freqs, power, temps}; + use crate::repositories::repository::DeviceLock; + use anyhow::{anyhow, Context, Result}; + use heck::ToTitleCase; ++#[cfg(feature = "libdrm_amdgpu")] + use libdrm_amdgpu_sys::LibDrmAmdgpu; ++#[cfg(feature = "libdrm_amdgpu")] + use libdrm_amdgpu_sys::AMDGPU::GPU_INFO; + use log::{debug, error, info, trace, warn}; + use regex::Regex; +@@ -145,7 +147,11 @@ impl GpuAMD { + debug!("Could not get RDNA3/4 fan curve info: {err}"); + }) + .ok(); ++ #[cfg(feature = "libdrm_amdgpu")] + let drm_device_name = Self::get_drm_device_name(&path).await; ++ #[cfg(not(feature = "libdrm_amdgpu"))] ++ // https://github.com/Umio-Yasuno/libdrm-amdgpu-sys-rs/blob/c10593dd00ad822d71e284424455023a3ad6a20c/amdgpu/mod.rs#L14 ++ let drm_device_name = Some(String::from("AMD Radeon Graphics")); + let pci_device_names = devices::get_device_pci_names(&path).await; + let model = devices::get_device_model_name(&path) + .await +@@ -187,6 +193,7 @@ impl GpuAMD { + } + } + ++ #[cfg(feature = "libdrm_amdgpu")] + async fn get_drm_device_name(base_path: &Path) -> Option<String> { + let drm_amdgpu = LibDrmAmdgpu::new().ok()?; + let slot_name = devices::get_pci_slot_name(base_path).await?; +-- +2.49.0 + diff --git a/sys-apps/coolercontrold/metadata.xml b/sys-apps/coolercontrold/metadata.xml new file mode 100644 index 000000000..13b08aa89 --- /dev/null +++ b/sys-apps/coolercontrold/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>[email protected]</email> + <name>Paul Zander</name> + </maintainer> + <upstream> + <doc>https://docs.coolercontrol.org/</doc> + <remote-id type="gitlab">coolercontrol/coolercontrol</remote-id> + <remote-id type="github">codifryed/nvml-wrapper</remote-id> + </upstream> +</pkgmetadata>
