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>

Reply via email to