On 9/6/26 3:13 PM, kmos@openbsd.org wrote: [...] > Build failures: 35 [...] > https://cranky.work/sparc64/2026-09-01/wayland/waybar.log Looks like a hidden build dependency on devel/git. I've been updating my local version of waybar to recent upstream commits semi-regularly: they contain some improvements for wayland/mango, wayland/wayfire, and some of our patches, and have been working fine for me all the while. So here's a proposal to update the port and fix the build issue in one go ... thoughts? ok?
Index: Makefile
===================================================================
RCS file: /cvs/ports/wayland/waybar/Makefile,v
retrieving revision 1.6
diff -u -p -r1.6 Makefile
--- Makefile 24 Jun 2026 12:18:13 -0000 1.6
+++ Makefile 6 Sep 2026 19:52:26 -0000
@@ -1,10 +1,9 @@
COMMENT = Customizable Wayland bar for wlroots based compositors
-V = 0.15.0
+V = 0.15.0pl20260906
-DIST_TUPLE= github Alexays Waybar ${V} .
+DIST_TUPLE= github Alexays Waybar 6d60c8e02be67bb85bb9b1ea803f2fbcf0722002 .
PKGNAME= waybar-${V}
-REVISION= 2
CATEGORIES = wayland
@@ -59,7 +58,8 @@ CONFIGURE_ARGS = -Dcava=disabled \
-Dpulseaudio=disabled \
-Dsndio=enabled \
-Dsystemd=disabled \
- -Dwireplumber=disabled
+ -Dwireplumber=disabled \
+ -Dwwan=disabled
DEBUG_PACKAGES = ${BUILD_PACKAGES}
Index: distinfo
===================================================================
RCS file: /cvs/ports/wayland/waybar/distinfo,v
retrieving revision 1.2
diff -u -p -r1.2 distinfo
--- distinfo 3 Mar 2026 19:18:10 -0000 1.2
+++ distinfo 6 Sep 2026 19:52:26 -0000
@@ -1,2 +1,2 @@
-SHA256 (Alexays-Waybar-0.15.0.tar.gz) = IcK774jEBHPDVQA1gvkzHS+bigHv3M4JNe38X2sCOj4=
-SIZE (Alexays-Waybar-0.15.0.tar.gz) = 355671
+SHA256 (Alexays-Waybar-6d60c8e02be67bb85bb9b1ea803f2fbcf0722002.tar.gz) = QgwHUAkvarB/6AfimCQ9xpq46hIk4vJZeoK9ZYktgyA=
+SIZE (Alexays-Waybar-6d60c8e02be67bb85bb9b1ea803f2fbcf0722002.tar.gz) = 508917
Index: patches/patch-include_util_SafeSignal_hpp
===================================================================
RCS file: patches/patch-include_util_SafeSignal_hpp
diff -N patches/patch-include_util_SafeSignal_hpp
--- patches/patch-include_util_SafeSignal_hpp 17 Apr 2026 14:11:30 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,15 +0,0 @@
-Index: include/util/SafeSignal.hpp
---- include/util/SafeSignal.hpp.orig
-+++ include/util/SafeSignal.hpp
-@@ -11,11 +11,6 @@
- #include <type_traits>
- #include <utility>
-
--#ifdef __OpenBSD__
--#define SIGRTMIN SIGUSR1 - 1
--#define SIGRTMAX SIGUSR1 + 1
--#endif
--
- namespace waybar {
-
- /**
Index: patches/patch-meson_build
===================================================================
RCS file: patches/patch-meson_build
diff -N patches/patch-meson_build
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-meson_build 6 Sep 2026 19:52:26 -0000
@@ -0,0 +1,15 @@
+Index: meson.build
+--- meson.build.orig
++++ meson.build
+@@ -36,9 +36,9 @@ elif compiler.has_link_argument('-lstdc++fs')
+ cpp_link_args += ['-lstdc++fs']
+ endif
+
+-git = find_program('git', native: true, required: false)
++# git = find_program('git', native: true, required: false)
+
+-if not git.found()
++if true
+ add_project_arguments('-DVERSION="@0@"'.format(meson.project_version()), language: 'cpp')
+ else
+ git_path = run_command(git, 'rev-parse', '--show-toplevel', check: false).stdout().strip()
Index: patches/patch-resources_config_jsonc
===================================================================
RCS file: /cvs/ports/wayland/waybar/patches/patch-resources_config_jsonc,v
retrieving revision 1.4
diff -u -p -r1.4 patch-resources_config_jsonc
--- patches/patch-resources_config_jsonc 17 Apr 2026 14:11:30 -0000 1.4
+++ patches/patch-resources_config_jsonc 6 Sep 2026 19:52:26 -0000
@@ -3,10 +3,11 @@ Tweak configuration for OpenBSD
Index: resources/config.jsonc
--- resources/config.jsonc.orig
+++ resources/config.jsonc
-@@ -7,30 +7,28 @@
+@@ -7,30 +7,30 @@
"spacing": 4, // Gaps between modules (4px)
// Choose the order of the modules
"modules-left": [
++ "mango/workspaces",
+ "niri/workspaces",
"sway/workspaces",
"sway/mode",
@@ -14,6 +15,7 @@ Index: resources/config.jsonc
- "custom/media"
],
"modules-center": [
++ "mango/window",
+ "niri/window",
"sway/window"
],
@@ -42,10 +44,10 @@ Index: resources/config.jsonc
"custom/power"
],
// Modules configuration
-@@ -50,15 +48,6 @@
- // "default": ""
- // }
- // },
+@@ -71,15 +71,6 @@
+ "default": ""
+ }
+ },
- "keyboard-state": {
- "numlock": true,
- "capslock": true,
@@ -58,7 +60,7 @@ Index: resources/config.jsonc
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
-@@ -112,7 +101,7 @@
+@@ -133,7 +124,7 @@
},
"clock": {
// "timezone": "America/New_York",
@@ -67,7 +69,7 @@ Index: resources/config.jsonc
"format-alt": "{:%Y-%m-%d}"
},
"cpu": {
-@@ -122,98 +111,32 @@
+@@ -143,99 +134,33 @@
"memory": {
"format": "{}% "
},
@@ -77,12 +79,13 @@ Index: resources/config.jsonc
- "critical-threshold": 80,
- // "format-critical": "{temperatureC}°C {icon}",
- "format": "{temperatureC}°C {icon}",
-- "format-icons": ["", "", ""]
+- "format-icons": ["", "", ""]
- },
"backlight": {
// "device": "acpi_video1",
"format": "{percent}% {icon}",
- "format-icons": ["", "", "", "", "", "", "", "", ""]
+ "format-icons": ["", "", "", "", "", "", "", "", ""],
+ "min-brightness": 1
},
- "battery": {
- "states": {
@@ -92,19 +95,19 @@ Index: resources/config.jsonc
- },
- "format": "{capacity}% {icon}",
- "format-full": "{capacity}% {icon}",
-- "format-charging": "{capacity}% ",
+- "format-charging": "{capacity}% ",
- "format-plugged": "{capacity}% ",
- "format-alt": "{time} {icon}",
- // "format-good": "", // An empty format will hide the module
- // "format-full": "",
- "format-icons": ["", "", "", "", ""]
+ "custom/sndio": {
-+ "format": " {}% ",
-+ "interval": 10,
-+ "exec": "if [ $(sndioctl -n output.mute) -eq 1 ]; then echo \"--\"; else sndioctl -n output.level | awk '{printf \"%.0f\\n\", $1 * 100}'; fi",
-+ "on-click": "sndioctl output.mute=! > /dev/null",
-+ "on-scroll-down": "sndioctl output.level=-0.01 > /dev/null",
-+ "on-scroll-up": "sndioctl output.level=+0.01 > /dev/null"
++ "format": " {}% ",
++ "interval": 10,
++ "exec": "if [ $(sndioctl -n output.mute) -eq 1 ]; then echo \"--\"; else sndioctl -n output.level | awk '{printf \"%.0f\\n\", $1 * 100}'; fi",
++ "on-click": "sndioctl output.mute=! > /dev/null",
++ "on-scroll-down": "sndioctl output.level=-0.01 > /dev/null",
++ "on-scroll-up": "sndioctl output.level=+0.01 > /dev/null"
},
- "battery#bat2": {
- "bat": "BAT2"
@@ -115,7 +118,7 @@ Index: resources/config.jsonc
},
- "power-profiles-daemon": {
- "format": "{icon}",
-- "tooltip-format": "Power profile: {profile}\nDriver: {driver}",
+- "tooltip-format": "Power profile: {profile}\nCPU driver: {cpu_driver}\nPlatform driver: {platform_driver}",
- "tooltip": true,
- "format-icons": {
- "default": "",
@@ -131,9 +134,9 @@ Index: resources/config.jsonc
- "network": {
- // "interface": "wlp2*", // (Optional) To force the use of this interface
- "format-wifi": "{essid} ({signalStrength}%) ",
-- "format-ethernet": "{ipaddr}/{cidr} ",
-- "tooltip-format": "{ifname} via {gwaddr} ",
-- "format-linked": "{ifname} (No IP) ",
+- "format-ethernet": "{ipaddr}/{cidr} ",
+- "tooltip-format": "{ifname} via {gwaddr} ",
+- "format-linked": "{ifname} (No IP) ",
- "format-disconnected": "Disconnected ⚠",
- "format-alt": "{ifname}: {ipaddr}/{cidr}"
- },
@@ -141,14 +144,14 @@ Index: resources/config.jsonc
- // "scroll-step": 1, // %, can be a float
- "format": "{volume}% {icon} {format_source}",
- "format-bluetooth": "{volume}% {icon} {format_source}",
-- "format-bluetooth-muted": " {icon} {format_source}",
-- "format-muted": " {format_source}",
+- "format-bluetooth-muted": " {icon} {format_source}",
+- "format-muted": " {format_source}",
- "format-source": "{volume}% ",
- "format-source-muted": "",
- "format-icons": {
- "headphone": "",
-- "hands-free": "",
-- "headset": "",
+- "hands-free": "",
+- "headset": "",
- "phone": "",
- "portable": "",
- "car": "",
@@ -169,7 +172,7 @@ Index: resources/config.jsonc
- // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
- },
"custom/power": {
-- "format" : "⏻ ",
+ "format" : "⏻ ",
- "tooltip": false,
- "menu": "on-click",
- "menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder
@@ -179,7 +182,6 @@ Index: resources/config.jsonc
- "suspend": "systemctl suspend",
- "hibernate": "systemctl hibernate"
- }
-+ "format" : "⏻",
+ "tooltip": "Sleep",
+ "on-click": "zzz"
}
Index: patches/patch-src_main_cpp
===================================================================
RCS file: patches/patch-src_main_cpp
diff -N patches/patch-src_main_cpp
--- patches/patch-src_main_cpp 17 Apr 2026 14:11:30 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,30 +0,0 @@
-Index: src/main.cpp
---- src/main.cpp.orig
-+++ src/main.cpp
-@@ -52,9 +52,11 @@ static void catchSignals(waybar::SafeSignal<int>& sign
- std::signal(SIGINT, writeSignalToPipe);
- std::signal(SIGCHLD, writeSignalToPipe);
-
-+#ifdef SIGRTMIN
- for (int sig = SIGRTMIN + 1; sig <= SIGRTMAX; ++sig) {
- std::signal(sig, writeSignalToPipe);
- }
-+#endif
-
- while (true) {
- int signum;
-@@ -116,12 +118,14 @@ void handleUserSignal(int signal, bool& reload) {
- // If this signal should restart or close the bar, this function will write
- // `true` or `false`, respectively, into `reload`.
- static void handleSignalMainThread(int signum, bool& reload) {
-+#ifdef SIGRTMIN
- if (signum >= SIGRTMIN + 1 && signum <= SIGRTMAX) {
- for (auto& bar : waybar::Client::inst()->bars) {
- bar->handleSignal(signum);
- }
- return;
- }
-+#endif
-
- switch (signum) {
- case SIGUSR1:
Index: patches/patch-src_modules_custom_cpp
===================================================================
RCS file: patches/patch-src_modules_custom_cpp
diff -N patches/patch-src_modules_custom_cpp
--- patches/patch-src_modules_custom_cpp 17 Apr 2026 14:11:30 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,15 +0,0 @@
-Index: src/modules/custom.cpp
---- src/modules/custom.cpp.orig
-+++ src/modules/custom.cpp
-@@ -136,9 +136,11 @@ void waybar::modules::Custom::waitingWorker() {
- }
-
- void waybar::modules::Custom::refresh(int sig) {
-+#ifdef SIGRTMIN
- if (config_["signal"].isInt() && sig == SIGRTMIN + config_["signal"].asInt()) {
- thread_.wake_up();
- }
-+#endif
- }
-
- void waybar::modules::Custom::handleEvent() {
Index: patches/patch-src_modules_image_cpp
===================================================================
RCS file: patches/patch-src_modules_image_cpp
diff -N patches/patch-src_modules_image_cpp
--- patches/patch-src_modules_image_cpp 17 Apr 2026 14:11:30 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,15 +0,0 @@
-Index: src/modules/image.cpp
---- src/modules/image.cpp.orig
-+++ src/modules/image.cpp
-@@ -41,9 +41,11 @@ void waybar::modules::Image::delayWorker() {
- }
-
- void waybar::modules::Image::refresh(int sig) {
-+#ifdef SIGRTMIN
- if (config_["signal"].isInt() && sig == SIGRTMIN + config_["signal"].asInt()) {
- thread_.wake_up();
- }
-+#endif
- }
-
- auto waybar::modules::Image::update() -> void {
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/wayland/waybar/pkg/PLIST,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 PLIST
--- pkg/PLIST 4 Jan 2026 18:15:27 -0000 1.1.1.1
+++ pkg/PLIST 6 Sep 2026 19:52:26 -0000
@@ -17,6 +17,11 @@
@man man/man5/waybar-idle-inhibitor.5
@man man/man5/waybar-image.5
@man man/man5/waybar-inhibitor.5
+@man man/man5/waybar-mango-keymode.5
+@man man/man5/waybar-mango-language.5
+@man man/man5/waybar-mango-layout.5
+@man man/man5/waybar-mango-window.5
+@man man/man5/waybar-mango-workspaces.5
@man man/man5/waybar-memory.5
@man man/man5/waybar-menu.5
@man man/man5/waybar-mpd.5
@@ -38,6 +43,9 @@
@man man/man5/waybar-temperature.5
@man man/man5/waybar-tray.5
@man man/man5/waybar-upower.5
+@man man/man5/waybar-user.5
+@man man/man5/waybar-wayfire-window.5
+@man man/man5/waybar-wayfire-workspaces.5
@man man/man5/waybar-wlr-taskbar.5
@man man/man5/waybar.5
share/examples/waybar/
No comments:
Post a Comment