head 1.3; access; symbols pkgsrc-2026Q3:1.2.0.2 pkgsrc-2026Q3-base:1.2; locks; strict; comment @// @; 1.3 date 2026.10.01.12.17.16; author kikadf; state Exp; branches; next 1.2; commitid 5oMkxpI3x3LUPLXG; 1.2 date 2026.09.10.09.15.32; author kikadf; state Exp; branches; next 1.1; commitid C9x3BqVzlwrlv3VG; 1.1 date 2026.08.24.14.25.32; author kikadf; state Exp; branches; next ; commitid PF81xg7MdF1tKTSG; desc @@ 1.3 log @ waybar: update cpu_frequency patch @ text @$NetBSD: patch-src_modules_cpu__frequency_bsd.cpp,v 1.2 2026/09/10 09:15:32 kikadf Exp $ * Add NetBSD support https://github.com/Alexays/Waybar/pull/5318 --- src/modules/cpu_frequency/bsd.cpp.orig 2026-02-06 20:15:03.000000000 +0000 +++ src/modules/cpu_frequency/bsd.cpp @@@@ -8,21 +8,58 @@@@ std::vector waybar::modules::CpuF size_t len; int32_t freq; -#ifndef __OpenBSD__ +#if defined(__NetBSD__) char buffer[256]; + const char *freq_sysctls[] = { +#if defined(__powerpc__) + "machdep.intrepid.frequency.current", +#endif +#if defined(__mips__) + "machdep.loongson.frequency.current", +#endif +#if defined(__i386__) || defined(__x86_64__) + "machdep.est.frequency.current", + "machdep.powernow.frequency.current", +#endif + "machdep.cpu.frequency.current", + "machdep.frequency.current", + NULL + }; uint32_t i = 0; + while (true) { - len = 4; - snprintf(buffer, 256, "dev.cpu.%u.freq", i); + len = sizeof(freq); + snprintf(buffer, 256, "machdep.cpufreq.cpu%u.current", i); if (sysctlbyname(buffer, &freq, &len, NULL, 0) == -1 || len <= 0) break; - frequencies.push_back(freq); + frequencies.push_back((float)freq); ++i; - } -#else + } + + if (frequencies.empty()) { + const char **s; + for (s = freq_sysctls; *s != NULL; ++s) { + len = sizeof(freq); + if (sysctlbyname(*s, &freq, &len, NULL, 0) != -1 || len <= 0) { + frequencies.push_back((float)freq); + break; + } + } + } +#elif defined(__OpenBSD__) int getMhz[] = {CTL_HW, HW_CPUSPEED}; len = sizeof(freq); sysctl(getMhz, 2, &freq, &len, NULL, 0); frequencies.push_back((float)freq); +#else + char buffer[256]; + uint32_t i = 0; + while (true) { + len = 4; + snprintf(buffer, 256, "dev.cpu.%u.freq", i); + if (sysctlbyname(buffer, &freq, &len, NULL, 0) == -1 || len <= 0) break; + frequencies.push_back(freq); + ++i; + } #endif if (frequencies.empty()) { @ 1.2 log @ waybar: fix memory info module @ text @d1 1 a1 1 $NetBSD$ d6 1 a6 1 --- src/modules/cpu_frequency/bsd.cpp.orig 2026-05-25 08:52:26.638052357 +0000 d8 1 a8 1 @@@@ -8,7 +8,7 @@@@ std::vector waybar::modules::CpuF d13 1 a13 1 +#if defined(__FreeBSD__) d15 15 d31 1 d33 7 a39 2 @@@@ -18,7 +18,11 @@@@ std::vector waybar::modules::CpuF frequencies.push_back(freq); d41 1 a41 1 } d43 12 a54 4 +#elif defined(__NetBSD__) + if (sysctlbyname("machdep.cpu.frequency.current", &freq, &len, NULL, 0) == 0) { + frequencies.push_back((float)freq); + } d59 14 @ 1.1 log @ waybar: new package Waybar is a highly customizable Wayland bar for Sway and Wlroots based compositors. @ text @d4 1 @