commit: 269b60b5fcb025445f65b18379db430cd115f45f Author: Alfred Wingate <parona <AT> protonmail <DOT> com> AuthorDate: Fri Oct 3 17:14:21 2025 +0000 Commit: David Roman <davidroman96 <AT> gmail <DOT> com> CommitDate: Wed Oct 22 20:54:52 2025 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=269b60b5
sys-apps/coolercontrold: add 3.0.1 Signed-off-by: Alfred Wingate <parona <AT> protonmail.com> Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com> sys-apps/coolercontrold/Manifest | 4 + .../coolercontrold/coolercontrold-3.0.1.ebuild | 112 +++++++++++++++++++++ .../files/coolercontrold-3.0.0-liquidctl.patch | 34 +++++++ sys-apps/coolercontrold/metadata.xml | 3 + 4 files changed, 153 insertions(+) diff --git a/sys-apps/coolercontrold/Manifest b/sys-apps/coolercontrold/Manifest index 56c345b9d8..3324dd053f 100644 --- a/sys-apps/coolercontrold/Manifest +++ b/sys-apps/coolercontrold/Manifest @@ -1,5 +1,9 @@ DIST coolercontrol-2.2.2-dist.tar.xz 997364 BLAKE2B bc614c98382f9731df3ecf8922a0073f7a3912d29d4f29f7c75ba928ccf6c5a800640e70df28f9191914bbd0d59c986b997e517c1550a02ab84125b4014b2ac6 SHA512 c34f88bc432e7f5bca647d73d7366685d77c6ad21632cb59c265ffd625dca6eab5bdd4a739bf94b72a12658bdf84fad6d555d27f5ee4e328152485459280f3ee DIST coolercontrol-2.2.2.tar.bz2 15870398 BLAKE2B ee26c65b702f934a2a2bc25b1443a0050596c6b10a7c11c40b4391a84aee2cc8d7d4063b082e9ebf39f002aa413c1a023030aebbf23c4a0fb346fa0e6a0a54a2 SHA512 550e323368ecf5131b96544173d36bf05d9e3b2c925d557146f0a3c325b70563fbec19e03918c0398a60749748e3e00d40a25669209009dca37dc2fdec3bbacc +DIST coolercontrol-3.0.1-dist.tar.xz 1103292 BLAKE2B 03accc9b4978026e8c8b6a558d83a89b21cec3e0230561e33d0cb5f35cfcca79a2d66394a66d901cb0be05370c646daf74d186780e478a79171dc8ddd36fbbf2 SHA512 32379e77ee4245b2a7046cfca9d8e5920fe4545c3fd35e787d03951a38a7ed6d9780ba20dcede92a91aeac578bdd25331d57b5f2e5a0cf080c116cd5750c81f7 +DIST coolercontrol-3.0.1.tar.bz2 38188904 BLAKE2B 2d6d1e9d84797b85eeaf5cf4b6184db187eeea47c767caf39570576c644ecc65e1df18ea8906ce5a62c956ffc64c650cf7412421e3909edfe166963f1f6ce54e SHA512 b053758772e1a4f69f95c11bb640bc6404ef51b8682982296b413cb48c77f264f17117c7524d4f9ee736af619cd67a985a81f476fe736e86cd85d73cfa7f5a70 DIST coolercontrold-2.2.2-crates.tar.xz 35507500 BLAKE2B 97e6a99d124d7c2546eb4cceafb6cc65870701e9b8a583209a8b67afd0d6773d842b688897259f9b8d42f0c4e71aaa976922f70ff4e928dd0f4865ebc61511ae SHA512 cccd1c4ff007ee5f0db6bf3250dd6408a2928d4536ca3b4395dd0b8ff4ea05ab858f40610b9fd7dff7bd859fbd3689d3bd5d7e2f5d382ad68885434ed23c0aae +DIST coolercontrold-3.0.1-crates.tar.xz 35903240 BLAKE2B de0f1661974e1de5317c7675b7b2c0844ddcce2e31d7fcd0750d4821a55d31749c5140bf5804fca8a3414289b9e0affdb79fad07a50d2948e324f36d0c65cacf SHA512 20ef9498190bf4c34bf81db9a71a878f9725049f9f66d575a869aaf97d881631361a0878aa52702a7ec178ed407b38633f1875c05a8442eb0eb52e0e9b5b08fb DIST nvml-wrapper-572095f631da93be8d243c73820e581676969897.gh.tar.gz 234938 BLAKE2B 91820ff38212c176027ab6fb0552efb1544e539fc0dda29e1f7d82e2cec8dce1ecd6cc499c120049869cde638ecf3918db3f73f86ea73214135e83c4bccbf8b7 SHA512 1ead616cd59058e3c2f100cc0dff9b6f4f97aeb70d30ef7d9667eef3e8b272bfae487e1c68e042680c4be8667246b4048cf8124ffe6a7011899cd2b87d8e9ec2 +DIST tower-governor-9cc5a4433fa4f5fc7ffaf82ac277471d056ceef4.gh.tar.gz 31666 BLAKE2B a5e28607537049aa4d2659cd85229205b7541993e3bfa72a414ebb7ee6ef0c8f00d60b3571dda5e1d6d5174768f53618991f9a0bbaa9801648f37f7e72e0ac70 SHA512 85e5818b75d26f7a2d61f7100bbbd8d80c15b5fed0fea95bc874b7de7a874c28286e53499e9ab23cbbeb31ec9370053d8a01174aab42ac7c3c49e5cc375bd277 DIST tower-governor-fd799d86418e58179468953c80ad7094a81a9e37.gh.tar.gz 31787 BLAKE2B 452d9423efbb4230bd88dfd58418850d0ccd53d5d7a45ff5f60005f292637c296c4c67d75397a7f4a59af51028b2fa95a2ef69b372c18b1dc02408437e8aac81 SHA512 40819f6d2dd7f1471af403e0314d261d043c6fddde12c55b797412d07f0ae6db3cfb640cbe3e2ebfea1be11794ed8ded20c39ca489784a4dbbbfdead3ff2f38c diff --git a/sys-apps/coolercontrold/coolercontrold-3.0.1.ebuild b/sys-apps/coolercontrold/coolercontrold-3.0.1.ebuild new file mode 100644 index 0000000000..fcc59dab1b --- /dev/null +++ b/sys-apps/coolercontrold/coolercontrold-3.0.1.ebuild @@ -0,0 +1,112 @@ +# 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;9cc5a4433fa4f5fc7ffaf82ac277471d056ceef4;tower-governor-%commit%' +) + +RUST_MIN_VER=1.86 + +PYTHON_COMPAT=( python3_{11..13} ) + +inherit cargo eapi9-ver optfeature python-single-r1 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 + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + 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 + " +fi +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 GPL-3+ + ISC MIT UoI-NCSA Unicode-3.0 ZLIB +" +SLOT="0" +KEYWORDS="~amd64" + +IUSE="liquidctl" +REQUIRED_USE="liquidctl? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + app-arch/zstd:= + liquidctl? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + app-misc/liquidctl[${PYTHON_USEDEP}] + ') + ) +" +DEPEND="${RDEPEND}" + +QA_FLAGS_IGNORED=".*" + +PATCHES=( + "${FILESDIR}"/coolercontrold-3.0.0-liquidctl.patch +) + +pkg_setup() { + rust_pkg_setup + use liquidctl && python-single-r1_pkg_setup +} + +src_prepare() { + pushd .. >/dev/null || die + default + popd >/dev/null || die + + if use liquidctl; then + # Upstream solution not suitable for Gentoo where multiple python targets are available. + sed -e "s|@@PYTHON@@|${PYTHON}|" \ + -i src/repositories/liquidctl/liqctld_service.rs || die + fi + + cp -rf "${WORKDIR}"/dist/* "${S}"/resources/app/ || die +} + +src_configure() { + export ZSTD_SYS_USE_PKG_CONFIG=1 + + cargo_src_configure +} + +src_install() { + cargo_src_install + + einstalldocs + + doinitd ../packaging/openrc/init.d/coolercontrol + doconfd ../packaging/openrc/conf.d/coolercontrol + + # Match documentation and systemd name to avoid confusion + newinitd ../packaging/openrc/init.d/coolercontrol coolercontrold + newconfd ../packaging/openrc/conf.d/coolercontrol coolercontrold + + systemd_dounit ../packaging/systemd/coolercontrold.service +} + +pkg_postinst() { + # libdrm[video_cards_amdgpu] dlopen'd, but the feature is not really noteworthy enough for optfeature + # (more accurate gpu names for amd) + optfeature "sensors support" sys-apps/lm-sensors + + if ver_replacing -lt 3.0.0; then + elog "coolercontrol-liqctld isn't packaged separately anymore. It's behind the liqtctl use flag now." + fi +} diff --git a/sys-apps/coolercontrold/files/coolercontrold-3.0.0-liquidctl.patch b/sys-apps/coolercontrold/files/coolercontrold-3.0.0-liquidctl.patch new file mode 100644 index 0000000000..2ad45e9aea --- /dev/null +++ b/sys-apps/coolercontrold/files/coolercontrold-3.0.0-liquidctl.patch @@ -0,0 +1,34 @@ +Patch to make it easy to sed in the configured python interpeter and mention the liquidctl use flag in the error message. +diff --git a/coolercontrold/src/repositories/liquidctl/liqctld_service.rs b/coolercontrold/src/repositories/liquidctl/liqctld_service.rs +index d5ab5aae..e726560c 100644 +--- a/coolercontrold/src/repositories/liquidctl/liqctld_service.rs ++++ b/coolercontrold/src/repositories/liquidctl/liqctld_service.rs +@@ -74,7 +74,7 @@ async fn run_python(script: &[u8], run_token: CancellationToken) -> Result<()> { + info!("Running liqctld inside an AppImage"); + (format!("{appdir}/usr/bin/python3"), "-I") + } else { +- ("python3".to_string(), "-q") ++ ("@@PYTHON@@".to_string(), "-q") + }; + let mut child = Command::new(cmd) + .envs(default_env) +diff --git a/coolercontrold/src/repositories/liquidctl/liquidctl_repo.rs b/coolercontrold/src/repositories/liquidctl/liquidctl_repo.rs +index 230d6391..1dca6180 100644 +--- a/coolercontrold/src/repositories/liquidctl/liquidctl_repo.rs ++++ b/coolercontrold/src/repositories/liquidctl/liquidctl_repo.rs +@@ -81,10 +81,10 @@ impl LiquidctlRepo { + } + if let Err(err) = liqctld_service::verify_env().await { + let msg = format!( +- "Python liquidctl system package not detected. If you want liquidctl device \ +- support, please make sure the liquidctl package is installed with your \ +- distribution's package manager. If not, you may disable liquidctl support \ +- to no longer see this message. {err}" ++ "Python liquidctl system package not detected or liquidctl use flag is disabled \ ++ for coolercontrold. If you want liquidctl device support, please make sure \ ++ the liquidctl use flag is enabled for coolercontrold. If not, you may disable \ ++ liquidctl support to no longer see this message. {err}" + ); + return Err(InitError::PythonEnv { msg }.into()); + } + diff --git a/sys-apps/coolercontrold/metadata.xml b/sys-apps/coolercontrold/metadata.xml index 13b08aa89a..ef2f6d2985 100644 --- a/sys-apps/coolercontrold/metadata.xml +++ b/sys-apps/coolercontrold/metadata.xml @@ -10,4 +10,7 @@ <remote-id type="gitlab">coolercontrol/coolercontrol</remote-id> <remote-id type="github">codifryed/nvml-wrapper</remote-id> </upstream> + <use> + <flag name="liquidctl">Support for interacting with AIO liquid coolers and other devices with <pkg>app-misc/liquidctl</pkg></flag> + </use> </pkgmetadata>
