diff --git a/multimedia/wireplumber/Makefile b/multimedia/wireplumber/Makefile index 2ecad6f3e3a4..a78d375f2c60 100644 --- a/multimedia/wireplumber/Makefile +++ b/multimedia/wireplumber/Makefile @@ -1,47 +1,48 @@ PORTNAME= wireplumber DISTVERSION= 0.4.90 +PORTREVISION= 1 CATEGORIES= multimedia MAINTAINER= arrowd@FreeBSD.org COMMENT= Session and policy manager for PipeWire WWW= https://pipewire.pages.freedesktop.org/wireplumber/ LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire USES= gnome localbase:ldflags lua meson pkgconfig python:build USE_GITLAB= yes GL_SITE= https://gitlab.freedesktop.org GL_ACCOUNT= pipewire USE_GNOME= glib20 OPTIONS_DEFINE= DOCS DOXYGEN NLS DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen \ g-ir-scanner:devel/gobject-introspection \ sphinx-build:textproc/py-sphinx \ ${PYTHON_PKGNAMEPREFIX}breathe>0:devel/py-breathe@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}lxml>0:devel/py-lxml@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}sphinx_rtd_theme>0:textproc/py-sphinx_rtd_theme@${PY_FLAVOR} DOXYGEN_MESON_ENABLED= doc introspection DOXYGEN_IMPLIES= DOCS NLS_USES= gettext-runtime gettext-tools MESON_ARGS= -D system-lua=true \ -D systemd=disabled \ -D elogind=disabled OPTIONS_SUB= yes PORTDOCS= * post-patch: ${REINPLACE_CMD} -e "s|'python3'|'python${PYTHON_VER}'|" \ ${WRKSRC}/docs/meson.build .include diff --git a/multimedia/wireplumber/files/patch-glib b/multimedia/wireplumber/files/patch-glib new file mode 100644 index 000000000000..8cc15aac9fa7 --- /dev/null +++ b/multimedia/wireplumber/files/patch-glib @@ -0,0 +1,98 @@ +https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/e9d8eeedefa8 + +--- lib/wp/log.h.orig 2024-03-04 17:29:09 UTC ++++ lib/wp/log.h +@@ -59,10 +59,12 @@ struct _WpLogTopic { + WP_LOG_TOPIC_STATIC(WP_LOCAL_LOG_TOPIC, t) + + /* make glib log functions also use the local log topic */ +-#ifdef G_LOG_DOMAIN +-# undef G_LOG_DOMAIN ++#ifdef WP_USE_LOCAL_LOG_TOPIC_IN_G_LOG ++# ifdef G_LOG_DOMAIN ++# undef G_LOG_DOMAIN ++# endif ++# define G_LOG_DOMAIN (WP_LOCAL_LOG_TOPIC->topic_name) + #endif +-#define G_LOG_DOMAIN (WP_LOCAL_LOG_TOPIC->topic_name) + + WP_API + void wp_log_topic_init (WpLogTopic *topic); +--- lib/wp/meson.build.orig 2024-03-04 17:29:09 UTC ++++ lib/wp/meson.build +@@ -126,6 +126,7 @@ wp_lib = library('wireplumber-' + wireplumber_api_vers + c_args : [ + '-D_GNU_SOURCE', + '-DG_LOG_USE_STRUCTURED', ++ '-DWP_USE_LOCAL_LOG_TOPIC_IN_G_LOG', + '-DBUILDING_WP', + ], + install: true, +--- modules/meson.build.orig 2024-03-04 17:29:09 UTC ++++ modules/meson.build +@@ -1,6 +1,7 @@ common_c_args = [ + common_c_args = [ + '-D_GNU_SOURCE', + '-DG_LOG_USE_STRUCTURED', ++ '-DWP_USE_LOCAL_LOG_TOPIC_IN_G_LOG', + ] + + shared_library( +--- modules/module-lua-scripting/wplua/meson.build.orig 2024-03-04 17:29:09 UTC ++++ modules/module-lua-scripting/wplua/meson.build +@@ -19,6 +19,7 @@ wplua_lib = static_library('wplua-' + wireplumber_api_ + c_args : [ + '-D_GNU_SOURCE', + '-DG_LOG_USE_STRUCTURED', ++ '-DWP_USE_LOCAL_LOG_TOPIC_IN_G_LOG', + ], + install: false, + include_directories: wplua_include_dir, +--- src/meson.build.orig 2024-03-04 17:29:09 UTC ++++ src/meson.build +@@ -33,6 +33,7 @@ if build_daemon + c_args : [ + '-D_GNU_SOURCE', + '-DG_LOG_USE_STRUCTURED', ++ '-DWP_USE_LOCAL_LOG_TOPIC_IN_G_LOG', + ], + install: true, + dependencies : [gobject_dep, gio_dep, wp_dep, pipewire_dep], +--- src/tools/meson.build.orig 2024-03-04 17:29:09 UTC ++++ src/tools/meson.build +@@ -3,6 +3,7 @@ executable('wpctl', + c_args : [ + '-D_GNU_SOURCE', + '-DG_LOG_USE_STRUCTURED', ++ '-DWP_USE_LOCAL_LOG_TOPIC_IN_G_LOG', + ], + install: true, + dependencies : [gobject_dep, gio_dep, wp_dep, pipewire_dep], +@@ -18,6 +19,7 @@ executable('wpexec', + c_args : [ + '-D_GNU_SOURCE', + '-DG_LOG_USE_STRUCTURED', ++ '-DWP_USE_LOCAL_LOG_TOPIC_IN_G_LOG', + ], + install: true, + dependencies : [gobject_dep, gio_dep, wp_dep, pipewire_dep], +--- tests/modules/meson.build.orig 2024-03-04 17:29:09 UTC ++++ tests/modules/meson.build +@@ -5,6 +5,7 @@ common_args = [ + common_args = [ + '-D_GNU_SOURCE', + '-DG_LOG_USE_STRUCTURED', ++ '-DWP_USE_LOCAL_LOG_TOPIC_IN_G_LOG', + ] + + if get_option('dbus-tests') +--- tests/wp/meson.build.orig 2024-03-04 17:29:09 UTC ++++ tests/wp/meson.build +@@ -5,6 +5,7 @@ common_args = [ + common_args = [ + '-D_GNU_SOURCE', + '-DG_LOG_USE_STRUCTURED', ++ '-DWP_USE_LOCAL_LOG_TOPIC_IN_G_LOG', + ] + + test( diff --git a/x11/waybar/Makefile b/x11/waybar/Makefile index 21b8a20d702a..6392729061d9 100644 --- a/x11/waybar/Makefile +++ b/x11/waybar/Makefile @@ -1,176 +1,175 @@ PORTNAME= waybar DISTVERSION= 0.10.2 CATEGORIES= x11 wayland PKGNAMESUFFIX= ${FLAVOR:N${FLAVORS:[1]}:C/.+/-${FLAVOR}/} PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ PATCHFILES+= f41458ea24a5.patch:-p1 # https://github.com/Alexays/Waybar/pull/3183 PATCHFILES+= 67de082393dc.patch:-p1 # https://github.com/Alexays/Waybar/pull/3193 MAINTAINER= ports@FreeBSD.org COMMENT= Highly customizable Wayland bar for Sway and wlroots-based compositors WWW= https://github.com/Alexays/Waybar LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= wayland-protocols>0:graphics/wayland-protocols LIB_DEPENDS= libdate-tz.so:devel/date \ libinotify.so:devel/libinotify \ libjsoncpp.so:devel/jsoncpp \ libfmt.so:devel/libfmt \ libspdlog.so:devel/spdlog \ libwayland-client.so:graphics/wayland \ libgtk-layer-shell.so:x11-toolkits/gtk-layer-shell \ libxkbregistry.so:x11/libxkbcommon TEST_DEPENDS= catch>0:devel/catch FLAVORS= default nopulse CONFLICTS_INSTALL= ${PORTNAME}* USES= compiler:c++20-lang gnome meson pkgconfig USE_GITHUB= yes USE_GNOME= gtkmm30 GH_ACCOUNT= Alexays GH_PROJECT= Waybar MESON_ARGS= ${libnl systemd tests:L:C/.*/-D&=disabled/} PLIST_FILES= bin/${PORTNAME} \ etc/xdg/${PORTNAME}/config.jsonc \ 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= CAVA DBUS EVDEV ICONSFONT JACK MANPAGES MPD MPRIS PIPEWIRE PULSEAUDIO SNDIO UDEV UPOWER WIREPLUMBER OPTIONS_DEFAULT= CAVA DBUS EVDEV ICONSFONT JACK MANPAGES MPD MPRIS PIPEWIRE PULSEAUDIO SNDIO UDEV UPOWER WIREPLUMBER OPTIONS_EXCLUDE+= CAVA # https://github.com/karlstav/cava/issues/487 -OPTIONS_EXCLUDE+= WIREPLUMBER # https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/571 .if ${FLAVOR:U:M*nopulse} OPTIONS_EXCLUDE+= PULSEAUDIO .endif CAVA_LIB_DEPENDS= libcava.so:audio/cava CAVA_MESON_ENABLED= cava CAVA_VARS= MANPAGES_PLIST_FILES+=share/man/man5/${PORTNAME}-cava.5.gz DBUS_LIB_DEPENDS= libdbusmenu-gtk3.so:devel/libdbusmenu DBUS_MESON_ENABLED= dbusmenu-gtk DBUS_VARS= MANPAGES_PLIST_FILES+=share/man/man5/${PORTNAME}-tray.5.gz EVDEV_DESC= Keyboard state via libevdev EVDEV_BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto EVDEV_LIB_DEPENDS= libevdev.so:devel/libevdev \ libinput.so:x11/libinput EVDEV_MESON_ENABLED= libevdev libinput EVDEV_VARS= MANPAGES_PLIST_FILES+=share/man/man5/${PORTNAME}-keyboard-state.5.gz ICONSFONT_DESC= Install Font Awesome to properly render icons ICONSFONT_RUN_DEPENDS= font-awesome>0:x11-fonts/font-awesome JACK_LIB_DEPENDS= libjack.so:audio/jack JACK_MESON_ENABLED= jack JACK_VARS= MANPAGES_PLIST_FILES+=share/man/man5/${PORTNAME}-jack.5.gz MANPAGES_BUILD_DEPENDS= scdoc:textproc/scdoc MANPAGES_MESON_ENABLED= man-pages MANPAGES_PLIST_FILES= share/man/man5/${PORTNAME}-battery.5.gz \ share/man/man5/${PORTNAME}-cffi.5.gz \ share/man/man5/${PORTNAME}-clock.5.gz \ share/man/man5/${PORTNAME}-cpu.5.gz \ share/man/man5/${PORTNAME}-custom.5.gz \ share/man/man5/${PORTNAME}-disk.5.gz \ share/man/man5/${PORTNAME}-dwl-tags.5.gz \ share/man/man5/${PORTNAME}-dwl-window.5.gz \ share/man/man5/${PORTNAME}-gamemode.5.gz \ share/man/man5/${PORTNAME}-hyprland-language.5.gz \ share/man/man5/${PORTNAME}-hyprland-submap.5.gz \ share/man/man5/${PORTNAME}-hyprland-window.5.gz \ share/man/man5/${PORTNAME}-hyprland-workspaces.5.gz \ share/man/man5/${PORTNAME}-idle-inhibitor.5.gz \ share/man/man5/${PORTNAME}-image.5.gz \ share/man/man5/${PORTNAME}-inhibitor.5.gz \ share/man/man5/${PORTNAME}-memory.5.gz \ share/man/man5/${PORTNAME}-river-layout.5.gz \ share/man/man5/${PORTNAME}-river-mode.5.gz \ share/man/man5/${PORTNAME}-river-tags.5.gz \ share/man/man5/${PORTNAME}-river-window.5.gz \ share/man/man5/${PORTNAME}-states.5.gz \ share/man/man5/${PORTNAME}-styles.5.gz \ share/man/man5/${PORTNAME}-sway-language.5.gz \ share/man/man5/${PORTNAME}-sway-mode.5.gz \ share/man/man5/${PORTNAME}-sway-scratchpad.5.gz \ share/man/man5/${PORTNAME}-sway-window.5.gz \ share/man/man5/${PORTNAME}-sway-workspaces.5.gz \ share/man/man5/${PORTNAME}-temperature.5.gz \ share/man/man5/${PORTNAME}-wlr-taskbar.5.gz \ share/man/man5/${PORTNAME}.5.gz \ ${NULL} MPD_DESC= Music Player Daemon support MPD_LIB_DEPENDS= libmpdclient.so:audio/libmpdclient MPD_MESON_ENABLED= mpd MPD_VARS= MANPAGES_PLIST_FILES+=share/man/man5/${PORTNAME}-mpd.5.gz MPRIS_DESC= Media Player Remote Interfacing Specification via playerctl MPRIS_LIB_DEPENDS= libplayerctl.so:multimedia/playerctl MPRIS_MESON_ENABLED= mpris MPRIS_VARS= MANPAGES_PLIST_FILES+=share/man/man5/${PORTNAME}-mpris.5.gz PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire PIPEWIRE_MESON_ENABLED= pipewire PIPEWIRE_VARS= MANPAGES_PLIST_FILES+=share/man/man5/${PORTNAME}-privacy.5.gz PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio PULSEAUDIO_MESON_ENABLED= pulseaudio PULSEAUDIO_VARS= MANPAGES_PLIST_FILES+=share/man/man5/${PORTNAME}-pulseaudio-slider.5.gz \ MANPAGES_PLIST_FILES+=share/man/man5/${PORTNAME}-pulseaudio.5.gz SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio SNDIO_USES= localbase:ldflags SNDIO_MESON_ENABLED= sndio SNDIO_VARS= MANPAGES_PLIST_FILES+=share/man/man5/${PORTNAME}-sndio.5.gz 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 UDEV_VARS= MANPAGES_PLIST_FILES+=share/man/man5/${PORTNAME}-backlight-slider.5.gz \ MANPAGES_PLIST_FILES+=share/man/man5/${PORTNAME}-backlight.5.gz UPOWER_DESC= Monitor battery capacity via UPower UPOWER_LIB_DEPENDS= libupower-glib.so:sysutils/upower UPOWER_MESON_ENABLED= upower_glib UPOWER_VARS= MANPAGES_PLIST_FILES+=share/man/man5/${PORTNAME}-upower.5.gz WIREPLUMBER_LIB_DEPENDS= libwireplumber-0.5.so:multimedia/wireplumber WIREPLUMBER_MESON_ENABLED= wireplumber WIREPLUMBER_VARS= MANPAGES_PLIST_FILES+=share/man/man5/${PORTNAME}-wireplumber.5.gz 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 # https://github.com/ConsoleKit2/ConsoleKit2/issues/150 @${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 \ ${WRKSRC}/src/util/backlight_backend.cpp \ ${WRKSRC}/src/util/prepare_for_sleep.cpp # Respect PREFIX for icons @${REINPLACE_CMD} 's,/usr/share,${DATADIR:H},' \ ${WRKSRC}/src/modules/wlr/taskbar.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