aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjbeich <jbeich@FreeBSD.org>2019-08-12 00:05:23 +0800
committerjbeich <jbeich@FreeBSD.org>2019-08-12 00:05:23 +0800
commitb558e89da56c0daed21ec2b4c2d2917932e16618 (patch)
treed4f2cde660e48e2eda86dde2d7356020be6075f6
parentc8e5080e2688db0502aa02838db3229c36cb0379 (diff)
downloadfreebsd-ports-gnome-b558e89da56c0daed21ec2b4c2d2917932e16618.tar.gz
freebsd-ports-gnome-b558e89da56c0daed21ec2b4c2d2917932e16618.tar.zst
freebsd-ports-gnome-b558e89da56c0daed21ec2b4c2d2917932e16618.zip
x11/waybar: add new port
Waybar is highly customizable Wayland bar for Sway and wlroots based compositors providing the following features: - Sway (Workspaces, Binding mode, Focused window name) - Tray [#21](https://github.com/Alexays/Waybar/issues/21) - Local time - Battery (Linux-only) - Network (Linux-only) - Pulseaudio - Memory - Cpu load average - Temperature (Linux-only) - MPD - Custom scripts - Multiple output configuration - And much more customizations https://github.com/Alexays/Waybar
-rw-r--r--x11/Makefile1
-rw-r--r--x11/waybar/Makefile61
-rw-r--r--x11/waybar/distinfo25
-rw-r--r--x11/waybar/files/patch-libc++661
-rw-r--r--x11/waybar/pkg-descr18
5 files changed, 166 insertions, 0 deletions
diff --git a/x11/Makefile b/x11/Makefile
index 460bce8816ab..eef9ef367b4b 100644
--- a/x11/Makefile
+++ b/x11/Makefile
@@ -331,6 +331,7 @@
SUBDIR += vdesk
SUBDIR += viewres
SUBDIR += virtualgl
+ SUBDIR += waybar
SUBDIR += wbar
SUBDIR += wbarconf
SUBDIR += wdm
diff --git a/x11/waybar/Makefile b/x11/waybar/Makefile
new file mode 100644
index 000000000000..dbc21152f03f
--- /dev/null
+++ b/x11/waybar/Makefile
@@ -0,0 +1,61 @@
+# $FreeBSD$
+
+PORTNAME= waybar
+DISTVERSION= 0.7.2
+CATEGORIES= x11
+
+PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
+# https://github.com/Alexays/Waybar/pull/425
+PATCHFILES+= cff2704bfa73.patch:-p1
+PATCHFILES+= a85ae0da0580.patch:-p1
+PATCHFILES+= f0dfa34e651c.patch:-p1
+PATCHFILES+= 25d4420904bd.patch:-p1
+PATCHFILES+= bf0d2621504e.patch:-p1
+PATCHFILES+= 82844ce8a6f3.patch:-p1
+PATCHFILES+= f3ed50fa3364.patch:-p1
+PATCHFILES+= 964d7030f7af.patch:-p1
+PATCHFILES+= c73a8162a265.patch:-p1
+PATCHFILES+= 997f7787fdbe.patch:-p1
+PATCHFILES+= 726ba2cf79f1.patch:-p1
+
+MAINTAINER= jbeich@FreeBSD.org
+COMMENT= Highly customizable Wayland bar for Sway and wlroots-based compositors
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= spdlog>0:devel/spdlog \
+ wayland-protocols>0:graphics/wayland-protocols
+LIB_DEPENDS= libjsoncpp.so:devel/jsoncpp \
+ libfmt.so:devel/libfmt \
+ libwayland-client.so:graphics/wayland
+
+USES= compiler:c++17-lang meson pkgconfig
+USE_GITHUB= yes
+USE_GNOME= gtkmm30
+GH_ACCOUNT= Alexays
+GH_PROJECT= Waybar
+CPPFLAGS+= -D_WITH_GETLINE # XXX Remove after FreeBSD 11 EOL
+PLIST_FILES= bin/${PORTNAME} \
+ etc/xdg/${PORTNAME}/config \
+ etc/xdg/${PORTNAME}/style.css
+
+OPTIONS_DEFINE= DBUS MPD PULSEAUDIO UDEV
+OPTIONS_DEFAULT=DBUS MPD PULSEAUDIO UDEV
+
+DBUS_LIB_DEPENDS= libdbusmenu-gtk3.so:devel/libdbusmenu
+DBUS_MESON_ENABLED= dbusmenu-gtk
+
+MPD_DESC= Music Player Daemon support
+MPD_LIB_DEPENDS= libmpdclient.so:audio/libmpdclient
+MPD_MESON_ENABLED= mpd
+
+PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
+PULSEAUDIO_MESON_ENABLED= pulseaudio
+
+UDEV_DESC= Monitor backlight level via libudev
+UDEV_LIB_DEPENDS= libepoll-shim.so:devel/libepoll-shim \
+ libudev.so:devel/libudev-devd
+UDEV_MESON_ENABLED= libepoll libudev
+
+.include <bsd.port.mk>
diff --git a/x11/waybar/distinfo b/x11/waybar/distinfo
new file mode 100644
index 000000000000..aab34f8d7825
--- /dev/null
+++ b/x11/waybar/distinfo
@@ -0,0 +1,25 @@
+TIMESTAMP = 1565259931
+SHA256 (Alexays-Waybar-0.7.2_GH0.tar.gz) = 6996a7d6fbf5457ec42ba9ebc76bf1417618ed9103074490a0730d58161ffdb0
+SIZE (Alexays-Waybar-0.7.2_GH0.tar.gz) = 101206
+SHA256 (cff2704bfa73.patch) = af25c025ef10b55d0ee8a4ece1a92ed8bcdae5a32d19c530e1a9b8d3984cfe32
+SIZE (cff2704bfa73.patch) = 2367
+SHA256 (a85ae0da0580.patch) = f7d752ffecb166ddf4531cf988f0041f0d1f1977031eb7fe668e2803b705502a
+SIZE (a85ae0da0580.patch) = 2686
+SHA256 (f0dfa34e651c.patch) = 7bc5fcdf745c243fdeec0caefa4f5f8cc4c20fbca818a23c453e0acdd21f0197
+SIZE (f0dfa34e651c.patch) = 1168
+SHA256 (25d4420904bd.patch) = 7cdb4854f272b36c78bfdcf06174f58ec23ecf320d6a96cf4b97e9557d1ed170
+SIZE (25d4420904bd.patch) = 1127
+SHA256 (bf0d2621504e.patch) = acb25d11fbd6ec03f3ca7845ff368cc9370ba2297298c522b8e998b9abc8bd4a
+SIZE (bf0d2621504e.patch) = 4167
+SHA256 (82844ce8a6f3.patch) = 1c8ecbe8341e03f2ce0d27c68954b46bab890229f6d14e99f0c859422eb2c551
+SIZE (82844ce8a6f3.patch) = 1382
+SHA256 (f3ed50fa3364.patch) = 0a0d3cffc7820e61aec12b454e3560c0b4014bf98128be5333fe0713fd7961c6
+SIZE (f3ed50fa3364.patch) = 2813
+SHA256 (964d7030f7af.patch) = a01a384d998e6ff1e5a0002332b6aac1859d97577a61626579db8d379fa5e473
+SIZE (964d7030f7af.patch) = 2059
+SHA256 (c73a8162a265.patch) = 9857db78c8309f72f2f2a4a35a10843ee8e04e984ccbbf788043a19ef5303e40
+SIZE (c73a8162a265.patch) = 4012
+SHA256 (997f7787fdbe.patch) = 8a132e51767459e3d5eccba12ddafdfd2039b37033966afc52eb809c71964b50
+SIZE (997f7787fdbe.patch) = 2957
+SHA256 (726ba2cf79f1.patch) = db1698155b9052b9f00935625da9ec9a5d1117ae6f560cf7405b76b40c9392b2
+SIZE (726ba2cf79f1.patch) = 2150
diff --git a/x11/waybar/files/patch-libc++6 b/x11/waybar/files/patch-libc++6
new file mode 100644
index 000000000000..47df4d5da0fe
--- /dev/null
+++ b/x11/waybar/files/patch-libc++6
@@ -0,0 +1,61 @@
+Drop after FreeBSD 12.0 EOL. See https://reviews.llvm.org/rL333251
+
+../src/modules/backlight.cpp:188:53: error: no viable constructor or deduction guide for deduction of template arguments of 'optional'
+ previous_best_ = best == nullptr ? std::nullopt : std::optional{*best};
+ ^
+/usr/include/c++/v1/optional:683:41: note: candidate template ignored: couldn't infer template argument '_Tp'
+ _LIBCPP_INLINE_VISIBILITY constexpr optional(nullopt_t) noexcept {}
+ ^
+/usr/include/c++/v1/optional:689:24: note: candidate template ignored: couldn't infer template argument '_Tp'
+ constexpr explicit optional(in_place_t, _Args&&... __args)
+ ^
+/usr/include/c++/v1/optional:703:15: note: candidate template ignored: couldn't infer template argument '_Tp'
+ constexpr optional(_Up&& __v)
+ ^
+/usr/include/c++/v1/optional:710:24: note: candidate template ignored: couldn't infer template argument '_Tp'
+ constexpr explicit optional(_Up&& __v)
+ ^
+/usr/include/c++/v1/optional:579:7: note: candidate template ignored: could not match 'optional<_Tp>' against 'waybar::modules::Backlight::BacklightDev'
+class optional
+ ^
+/usr/include/c++/v1/optional:681:41: note: candidate template ignored: could not match 'optional<_Tp>' against 'const waybar::modules::Backlight::BacklightDev'
+ _LIBCPP_INLINE_VISIBILITY constexpr optional(const optional&) = default;
+ ^
+/usr/include/c++/v1/optional:682:41: note: candidate template ignored: could not match 'optional<_Tp>' against 'const waybar::modules::Backlight::BacklightDev'
+ _LIBCPP_INLINE_VISIBILITY constexpr optional(optional&&) = default;
+ ^
+/usr/include/c++/v1/optional:718:5: note: candidate template ignored: could not match 'optional<type-parameter-0-1>' against 'const waybar::modules::Backlight::BacklightDev'
+ optional(const optional<_Up>& __v)
+ ^
+/usr/include/c++/v1/optional:726:14: note: candidate template ignored: could not match 'optional<type-parameter-0-1>' against 'const waybar::modules::Backlight::BacklightDev'
+ explicit optional(const optional<_Up>& __v)
+ ^
+/usr/include/c++/v1/optional:736:5: note: candidate template ignored: could not match 'optional<type-parameter-0-1>' against 'const waybar::modules::Backlight::BacklightDev'
+ optional(optional<_Up>&& __v)
+ ^
+/usr/include/c++/v1/optional:744:14: note: candidate template ignored: could not match 'optional<type-parameter-0-1>' against 'const waybar::modules::Backlight::BacklightDev'
+ explicit optional(optional<_Up>&& __v)
+ ^
+/usr/include/c++/v1/optional:680:41: note: candidate function template not viable: requires 0 arguments, but 1 was provided
+ _LIBCPP_INLINE_VISIBILITY constexpr optional() noexcept {}
+ ^
+/usr/include/c++/v1/optional:696:24: note: candidate function template not viable: requires at least 2 arguments, but 1 was provided
+ constexpr explicit optional(in_place_t, initializer_list<_Up> __il, _Args&&... __args)
+ ^
+
+--- src/modules/backlight.cpp.orig 2019-08-08 10:25:31 UTC
++++ src/modules/backlight.cpp
+@@ -11,6 +11,13 @@
+
+ #include <fmt/format.h>
+
++#if defined(_LIBCPP_VERSION) && _LIBCPP_VERSION < 7000
++_LIBCPP_BEGIN_NAMESPACE_STD
++template<class T>
++ optional(T) -> optional<T>;
++_LIBCPP_END_NAMESPACE_STD
++#endif
++
+ namespace {
+ class FileDescriptor {
+ public:
diff --git a/x11/waybar/pkg-descr b/x11/waybar/pkg-descr
new file mode 100644
index 000000000000..1a4b4c21e780
--- /dev/null
+++ b/x11/waybar/pkg-descr
@@ -0,0 +1,18 @@
+Waybar is highly customizable Wayland bar for Sway and wlroots-based
+compositors providing the following features:
+
+- Sway (Workspaces, Binding mode, Focused window name)
+- Tray [#21](https://github.com/Alexays/Waybar/issues/21)
+- Local time
+- Battery (Linux-only)
+- Network (Linux-only)
+- Pulseaudio
+- Memory
+- Cpu load average
+- Temperature (Linux-only)
+- MPD
+- Custom scripts
+- Multiple output configuration
+- And much more customizations
+
+WWW: https://github.com/Alexays/Waybar