Sunday, September 06, 2026

Re: sparc64 bulk build report

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