diff --git a/sys-apps/coolercontrold/coolercontrold-2.2.1.ebuild b/sys-apps/coolercontrold/coolercontrold-2.2.1.ebuild index 408eed3764..e807726716 100644 --- a/sys-apps/coolercontrold/coolercontrold-2.2.1.ebuild +++ b/sys-apps/coolercontrold/coolercontrold-2.2.1.ebuild @@ -47,6 +47,7 @@ QA_FLAGS_IGNORED=".*" PATCHES=( "${FILESDIR}"/coolercontrold-2.1.0-optional-libdrm_amdgpu.patch + "${FILESDIR}"/coolercontrold-2.2.0-backport-musl_fix.patch ) src_prepare() { diff --git a/sys-apps/coolercontrold/files/coolercontrold-2.2.0-backport-musl_fix.patch b/sys-apps/coolercontrold/files/coolercontrold-2.2.0-backport-musl_fix.patch new file mode 100644 index 0000000000..f41a0fca8f --- /dev/null +++ b/sys-apps/coolercontrold/files/coolercontrold-2.2.0-backport-musl_fix.patch @@ -0,0 +1,17 @@ +diff --git a/coolercontrold/src/repositories/hwmon/drivetemp.rs b/coolercontrold/src/repositories/hwmon/drivetemp.rs +index f49a8251..30d36a61 100644 +--- a/coolercontrold/src/repositories/hwmon/drivetemp.rs ++++ b/coolercontrold/src/repositories/hwmon/drivetemp.rs +@@ -149,10 +149,10 @@ async fn drive_power_state(dev_path: &Path) -> Result { + // low level kernel ioctl + unsafe { + query[0] = ATA_CHECKPOWERMODE; +- if libc::ioctl(fd, IOCTL_DRIVE_CMD, query.as_mut_ptr()) != 0 { ++ if libc::ioctl(fd, IOCTL_DRIVE_CMD.try_into()?, query.as_mut_ptr()) != 0 { + // Try the retired command if the current one failed + query[0] = ATA_CHECKPOWERMODE_RETIRED; +- if libc::ioctl(fd, IOCTL_DRIVE_CMD, query.as_mut_ptr()) != 0 { ++ if libc::ioctl(fd, IOCTL_DRIVE_CMD.try_into()?, query.as_mut_ptr()) != 0 { + return Err(anyhow!("Not a Block Device File")); + } + }