git: 9f4e6185484f - main - x11/mangobar: Add new port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 07 Sep 2026 08:55:31 UTC
The branch main has been updated by nivit:
URL: https://cgit.FreeBSD.org/ports/commit/?id=9f4e6185484f842515b4ed878f3702d0235ceee5
commit 9f4e6185484f842515b4ed878f3702d0235ceee5
Author: Nicola Vitale <nivit@FreeBSD.org>
AuthorDate: 2026-09-07 08:53:19 +0000
Commit: Nicola Vitale <nivit@FreeBSD.org>
CommitDate: 2026-09-07 08:53:19 +0000
x11/mangobar: Add new port
Mangobar is a Wayland status bar for mangowm, built on wlr-layer-shell. It
reads all of its runtime settings from JSONC and CSS; there are no hard-coded
module defaults beyond sample files.
The system tray (StatusNotifierItem / DBusMenu) is inspired by swaybar and
waybar.
https://github.com/mangowm/mangobar
---
x11/Makefile | 1 +
x11/mangobar/Makefile | 40 +++++++++++++++++++++++++++++++++++
x11/mangobar/distinfo | 3 +++
x11/mangobar/files/patch-config.jsonc | 22 +++++++++++++++++++
x11/mangobar/files/patch-mangobar.c | 14 ++++++++++++
x11/mangobar/files/patch-meson.build | 14 ++++++++++++
x11/mangobar/files/pkg-message.in | 13 ++++++++++++
x11/mangobar/pkg-descr | 5 +++++
8 files changed, 112 insertions(+)
diff --git a/x11/Makefile b/x11/Makefile
index 73ec185a8ee4..132addfbbbc6 100644
--- a/x11/Makefile
+++ b/x11/Makefile
@@ -280,6 +280,7 @@
SUBDIR += lxrandr
SUBDIR += ly
SUBDIR += mako
+ SUBDIR += mangobar
SUBDIR += mate
SUBDIR += mate-applet-appmenu
SUBDIR += mate-applets
diff --git a/x11/mangobar/Makefile b/x11/mangobar/Makefile
new file mode 100644
index 000000000000..64f360fd944f
--- /dev/null
+++ b/x11/mangobar/Makefile
@@ -0,0 +1,40 @@
+PORTNAME= mangobar
+DISTVERSION= 0.2.1
+CATEGORIES= x11
+
+MAINTAINER= nivit@FreeBSD.org
+COMMENT= Simple bar for x11-wm/mango
+WWW= https://github.com/mangowm/mangobar
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= tllist>=1.1.0:devel/tllist \
+ wayland-protocols>=1.24:graphics/wayland-protocols \
+ wayland-scanner:graphics/wayland
+LIB_DEPENDS= libasound.so:audio/alsa-lib \
+ libbasu.so:devel/basu \
+ libcjson.so:devel/libcjson \
+ libfcft.so:x11-fonts/fcft \
+ libpixman-1.so:x11/pixman \
+ libpulse.so:audio/pulseaudio \
+ libudev.so:devel/libudev-devd \
+ libwayland-server.so:graphics/wayland
+
+USES= gnome meson ninja pkgconfig
+USE_GITHUB= yes
+GH_ACCOUNT= mangowm
+USE_GNOME= cairo gdkpixbuf pango
+
+SUB_FILES= pkg-message
+
+PLIST_FILES= bin/mangobar \
+ share/mangobar/config.jsonc \
+ share/mangobar/style.css
+
+post-install:
+ ${MKDIR} ${STAGEDIR}${DATADIR}
+ ${INSTALL_DATA} ${WRKSRC}/config.jsonc ${STAGEDIR}${DATADIR}/
+ ${INSTALL_DATA} ${WRKSRC}/style.css ${STAGEDIR}${DATADIR}/
+
+.include <bsd.port.mk>
diff --git a/x11/mangobar/distinfo b/x11/mangobar/distinfo
new file mode 100644
index 000000000000..ed44c067bd40
--- /dev/null
+++ b/x11/mangobar/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1788363531
+SHA256 (mangowm-mangobar-0.2.1_GH0.tar.gz) = 83ace53cca7b0702baee0453998e8ac2ca9f7e3033737ce617df18bff8a37613
+SIZE (mangowm-mangobar-0.2.1_GH0.tar.gz) = 87378
diff --git a/x11/mangobar/files/patch-config.jsonc b/x11/mangobar/files/patch-config.jsonc
new file mode 100644
index 000000000000..dd0f1a18d665
--- /dev/null
+++ b/x11/mangobar/files/patch-config.jsonc
@@ -0,0 +1,22 @@
+--- config.jsonc.orig 2026-09-01 09:23:05 UTC
++++ config.jsonc
+@@ -15,14 +15,14 @@
+ "modules-right": [
+ "hideclients",
+ "tray",
+- "network",
++ // "network",
+ // "keymode",
+ // "keyboardlayout",
+- "cpu",
+- "memory",
++ // "cpu",
++ // "memory",
+ "pulseaudio",
+- "backlight",
+- "battery",
++ // "backlight",
++ // "battery",
+ "clock#date",
+ "clock#time",
+ "custom/power"
diff --git a/x11/mangobar/files/patch-mangobar.c b/x11/mangobar/files/patch-mangobar.c
new file mode 100644
index 000000000000..999e947f245c
--- /dev/null
+++ b/x11/mangobar/files/patch-mangobar.c
@@ -0,0 +1,14 @@
+--- mangobar.c.orig 2026-09-01 09:23:05 UTC
++++ mangobar.c
+@@ -10,7 +10,11 @@
+ #include <fcft/fcft.h>
+ #include <fcntl.h>
+ #include <locale.h>
++#ifdef __FreeBSD__
++#include <dev/evdev/input-event-codes.h>
++#else
+ #include <linux/input-event-codes.h>
++#endif
+ #include <libudev.h>
+ #include <pixman.h>
+ #include <poll.h>
diff --git a/x11/mangobar/files/patch-meson.build b/x11/mangobar/files/patch-meson.build
new file mode 100644
index 000000000000..00e744154494
--- /dev/null
+++ b/x11/mangobar/files/patch-meson.build
@@ -0,0 +1,14 @@
+--- meson.build.orig 2026-09-01 09:23:05 UTC
++++ meson.build
+@@ -22,10 +22,10 @@ deps = [
+ dependency('libpulse'),
+ sdbus_dep,
+ dependency('libudev'),
++ dependency('libcjson'),
+ dependency('gdk-pixbuf-2.0'),
+ dependency('alsa'),
+ cc.find_library('rt'),
+- cc.find_library('cjson'),
+ ]
+
+ scanner = find_program('wayland-scanner')
diff --git a/x11/mangobar/files/pkg-message.in b/x11/mangobar/files/pkg-message.in
new file mode 100644
index 000000000000..f6ff47ed2b4e
--- /dev/null
+++ b/x11/mangobar/files/pkg-message.in
@@ -0,0 +1,13 @@
+[
+{ type: install
+ message: <<EOM
+Before using mangobar run the following commands as user:
+
+ mkdir -p ~/.config/mangobar
+ cp %%DATADIR%%/config.jsonc ~/.config/mangobar/config.jsonc
+ cp %%DATADIR%%/style.css ~/.config/mangobar/style.css
+
+then customize those files.
+EOM
+}
+]
diff --git a/x11/mangobar/pkg-descr b/x11/mangobar/pkg-descr
new file mode 100644
index 000000000000..f2d2bc3e003a
--- /dev/null
+++ b/x11/mangobar/pkg-descr
@@ -0,0 +1,5 @@
+Mangobar is a Wayland status bar for mangowm, built on wlr-layer-shell. It
+reads all of its runtime settings from JSONC and CSS; there are no hard-coded
+module defaults beyond sample files.
+The system tray (StatusNotifierItem / DBusMenu) is inspired by swaybar and
+waybar.