1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-14 03:10:47 +00:00
freebsd-ports/x11/waybar/Makefile
Jan Beich 45dc4cd011 x11/waybar: add @nopulse flavor (aka waybar-nopulse)
pulseaudio is a heavy dependency but waybar also supports sndio e.g.,

$ pkg install sway waybar mpv firefox
$ pkg install waybar-nopulse
$ pkg autoremove
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 11 packages:

Installed packages to be REMOVED:
        consolekit2: 1.2.4_3
        fftw3: 3.3.10_2
        fftw3-float: 3.3.10_2
        flac: 1.3.4
        libltdl: 2.4.7
        libsndfile: 1.0.31_1
        libsoxr: 0.1.3_3
        orc: 0.4.31
        pulseaudio: 14.2_4
        speexdsp: 1.2.1
        webrtc-audio-processing0: 0.3.1_2

Number of packages to be removed: 11

The operation will free 25 MiB.

PR:		264678
2022-07-01 21:36:26 +00:00

136 lines
4.5 KiB
Makefile

PORTNAME= waybar
DISTVERSION= 0.9.13
CATEGORIES= x11 wayland
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
PATCHFILES+= d25278f710a4.patch:-p1 # https://github.com/Alexays/Waybar/pull/1567
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Highly customizable Wayland bar for Sway and wlroots-based compositors
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= wayland-protocols>0:graphics/wayland-protocols
LIB_DEPENDS= libdate-tz.so:devel/date \
libjsoncpp.so:devel/jsoncpp \
libfmt.so:devel/libfmt \
libspdlog.so:devel/spdlog \
libwayland-client.so:graphics/wayland \
libxkbregistry.so:x11/libxkbcommon
TEST_DEPENDS= catch>0:devel/catch
FLAVORS= default nopulse
default_CONFLICTS_INSTALL= ${PORTNAME}-nopulse
nopulse_CONFLICTS_INSTALL= ${PORTNAME}
nopulse_PKGNAMESUFFIX= -nopulse
USES= compiler:c++17-lang gnome meson pkgconfig
USE_GITHUB= yes
USE_GNOME= gtkmm30
GH_ACCOUNT= Alexays
GH_PROJECT= Waybar
PLIST_FILES= bin/${PORTNAME} \
etc/xdg/${PORTNAME}/config \
etc/xdg/${PORTNAME}/style.css
# XXX Add pkg-config support to devel/date
.if exists(${.CURDIR}/files/date.pc.in)
CONFIGURE_ENV+= PKG_CONFIG_PATH="${WRKDIR}"
SUB_FILES+= date.pc
.endif
OPTIONS_DEFINE= DBUS EVDEV GLS ICONSFONT MANPAGES MPD PULSEAUDIO SNDIO UDEV UPOWER
OPTIONS_DEFAULT=DBUS EVDEV GLS ICONSFONT MANPAGES MPD PULSEAUDIO SNDIO UDEV UPOWER
.if ${FLAVOR:U} == nopulse
OPTIONS_EXCLUDE=PULSEAUDIO
.endif
DBUS_LIB_DEPENDS= libdbusmenu-gtk3.so:devel/libdbusmenu
DBUS_MESON_ENABLED= dbusmenu-gtk
EVDEV_DESC= Keyboard state via libevdev
EVDEV_BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto
EVDEV_LIB_DEPENDS= libevdev.so:devel/libevdev
EVDEV_MESON_ENABLED= libevdev
GLS_DESC= Use gtk-layer-shell library for popups support
GLS_LIB_DEPENDS= libgtk-layer-shell.so:x11-toolkits/gtk-layer-shell
GLS_MESON_ENABLED= gtk-layer-shell
ICONSFONT_DESC= Install Font Awesome to properly render icons
ICONSFONT_RUN_DEPENDS= font-awesome>0:x11-fonts/font-awesome
MANPAGES_BUILD_DEPENDS= scdoc:textproc/scdoc
MANPAGES_MESON_ENABLED= man-pages
MANPAGES_PLIST_FILES= man/man5/${PORTNAME}-backlight.5.gz \
man/man5/${PORTNAME}-battery.5.gz \
man/man5/${PORTNAME}-bluetooth.5.gz \
man/man5/${PORTNAME}-clock.5.gz \
man/man5/${PORTNAME}-cpu.5.gz \
man/man5/${PORTNAME}-custom.5.gz \
man/man5/${PORTNAME}-disk.5.gz \
man/man5/${PORTNAME}-idle-inhibitor.5.gz \
man/man5/${PORTNAME}-inhibitor.5.gz \
man/man5/${PORTNAME}-keyboard-state.5.gz \
man/man5/${PORTNAME}-memory.5.gz \
man/man5/${PORTNAME}-mpd.5.gz \
man/man5/${PORTNAME}-network.5.gz \
man/man5/${PORTNAME}-pulseaudio.5.gz \
man/man5/${PORTNAME}-river-tags.5.gz \
man/man5/${PORTNAME}-river-window.5.gz \
man/man5/${PORTNAME}-sndio.5.gz \
man/man5/${PORTNAME}-states.5.gz \
man/man5/${PORTNAME}-sway-language.5.gz \
man/man5/${PORTNAME}-sway-mode.5.gz \
man/man5/${PORTNAME}-sway-window.5.gz \
man/man5/${PORTNAME}-sway-workspaces.5.gz \
man/man5/${PORTNAME}-temperature.5.gz \
man/man5/${PORTNAME}-tray.5.gz \
man/man5/${PORTNAME}-upower.5.gz \
man/man5/${PORTNAME}-wlr-taskbar.5.gz \
man/man5/${PORTNAME}-wlr-workspaces.5.gz \
man/man5/${PORTNAME}.5.gz \
${NULL}
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
SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio
SNDIO_USES= localbase:ldflags
SNDIO_MESON_ENABLED= sndio
UDEV_DESC= Monitor backlight level via libudev
UDEV_LIB_DEPENDS= libepoll-shim.so:devel/libepoll-shim \
libudev.so:devel/libudev-devd
UDEV_MESON_ENABLED= libudev
UPOWER_DESC= Monitor battery capacity via UPower
UPOWER_LIB_DEPENDS= libupower-glib.so:sysutils/upower
UPOWER_MESON_ENABLED= upower_glib
post-patch:
# Extract (snapshot) version from the port instead of meson.build
@${REINPLACE_CMD} -i .nogit -e 's/git.found()/false/' \
-e '/project_version/s/@0@/${DISTVERSIONFULL}/' \
${WRKSRC}/meson.build
# Temporarily use ConsoleKit2 like sysutils/gnome-settings-daemon
@${REINPLACE_CMD} -e 's,/login1,/ConsoleKit/Manager,' \
-e 's,login1\([".]\),ConsoleKit\1,g' \
${WRKSRC}/src/modules/gamemode.cpp \
${WRKSRC}/src/modules/inhibitor.cpp \
${WRKSRC}/src/modules/upower/upower.cpp
pre-test:
@if [ ! -e ${WRKDIR}/.meson_build_tests ]; then \
${RM} ${CONFIGURE_COOKIE} ${BUILD_COOKIE}; \
${MAKE} -C${.CURDIR} build MESON_ARGS="${MESON_ARGS} --reconfigure -Dtests=enabled"; \
${TOUCH} ${WRKDIR}/.meson_build_tests; \
fi
.include <bsd.port.mk>