Bug 262713

Summary: audio/pulseaudio: update to 15.0 or greater
Product: Ports & Packages Reporter: Graham Perrin <grahamperrin>
Component: Individual Port(s)Assignee: Gleb Popov <arrowd>
Status: Closed FIXED    
Severity: Affects Some People CC: arrowd, bj.rn, desktop, eric, madpilot, tomek, vishwin
Priority: --- Keywords: needs-patch
Version: LatestFlags: bugzilla: maintainer-feedback? (desktop)
Hardware: Any   
OS: Any   
URL: https://freedesktop.org/software/pulseaudio/releases/
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252957
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=194727
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263265
https://reviews.freebsd.org/D30842
Attachments:
Description Flags
meson libdir fix none

Description Graham Perrin freebsd_committer freebsd_triage 2022-03-21 23:27:08 UTC
<https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/277>

Re: <https://forums.freebsd.org/posts/560927> it may be that the port to FreeBSD does not yet benefit from patches that were up-streamed in January 2021.
Comment 1 Charlie Li freebsd_committer freebsd_triage 2022-03-24 14:06:40 UTC
Long been on my list since I have to hot-plug some audio devices and the stuff that Greg V upstreamed may work, but limited cycles are a hamper. Anyone is welcome to hack at the port itself in the meantime.
Comment 2 Tomasz "CeDeROM" CEDRO 2022-03-24 22:29:17 UTC
Awsome :-) Hotplug would be a great feature for my Bluetooth headset attached/detached on the fly! So far I had to kill PA daemon by hand :-)

One last thing missing would be to have Bluetooth and Hotplug/Devd react on Bluetooth connections, starting virtual_oss, then reloading PulseAudio.. and FreeBSD will be fully featured multimedia station! :-)
Comment 3 Graham Perrin freebsd_committer freebsd_triage 2022-10-05 01:02:53 UTC
I see 16.1 at <https://freedesktop.org/software/pulseaudio/releases/>. 

Not chasing, just observing …
Comment 4 bj.rn 2023-01-12 20:12:16 UTC
One problem with building 16.1 is:
'ld: error: undefined symbol: environ'

See also:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263265
https://reviews.freebsd.org/D30842
Comment 5 bj.rn 2023-01-12 20:32:59 UTC
Another issue is 'libintl' not being detected during 'meson setup build'

-  libintl_dep = cc.find_library('intl')
+  libintl_dep = cc.find_library('intl',
+                dirs : ['/usr/local/lib'])

in meson.build works for me
Comment 6 Guido Falsi freebsd_committer freebsd_triage 2023-01-12 20:35:19 UTC
(In reply to bj.rn from comment #4)

Stumbled on this by chance.

Maybe this is unrelated but in FreeBSD environ needs to be decalred as an extern variable. AFAIK it works differently in linux.

A similar issue appeared with lightdm some time ago:

https://github.com/canonical/lightdm/commit/1b99bc2ed9ad5093ab8b4c7b8ed46b3a04bfcc65

Hope this information helps.


(In reply to bj.rn from comment #5)

Correct patch should use LOCALBASE
Comment 7 bj.rn 2023-01-12 22:50:14 UTC
Created attachment 239428 [details]
meson libdir fix

Fix meson not being able to detect intl, gdbm, ltdb
Comment 8 bj.rn 2023-01-12 22:58:02 UTC
Since upstream already accepted patches for FreeBSD the lib issues with meson.build should be fixed there. I also have a patch for pulseaudio git HEAD, will open a PR upstream, if patch looks good to you
Comment 9 bj.rn 2023-01-12 23:45:39 UTC
(In reply to bj.rn from comment #5)
Related: https://github.com/mesonbuild/meson/issues/4468
Comment 10 commit-hook freebsd_committer freebsd_triage 2023-08-07 16:34:33 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=b1ecad53b0b32916e5db596b26334db8015e4299

commit b1ecad53b0b32916e5db596b26334db8015e4299
Author:     Gleb Popov <arrowd@FreeBSD.org>
AuthorDate: 2023-08-06 13:01:13 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2023-08-07 16:34:07 +0000

    audio/pulseaudio: Update to 16.1

    Bump PORTREVISION on consumers.

    Sponsored by:   Serenity Cybersecurity, LLC

    PR:             262713

 accessibility/speech-dispatcher/Makefile           |   2 +-
 audio/alsa-plugins/Makefile                        |   2 +-
 audio/aqualung/Makefile                            |   2 +-
 audio/bambootracker/Makefile                       |   1 +
 audio/baresip/Makefile                             |   1 +
 audio/cardinal/Makefile                            |   2 +-
 audio/carla/Makefile                               |   1 +
 audio/cava/Makefile                                |   2 +-
 audio/cli-visualizer/Makefile                      |   2 +-
 audio/cmus/Makefile                                |   2 +-
 audio/csound/Makefile                              |   2 +-
 audio/darkice/Makefile                             |   2 +-
 audio/deadbeef/Makefile                            |   2 +-
 audio/dpf-plugins-lv2/Makefile                     |   2 +-
 audio/dragonfly-reverb-lv2/Makefile                |   1 +
 audio/drumstick/Makefile                           |   2 +-
 audio/fasttracker2/Makefile                        |   1 +
 audio/fluidsynth/Makefile                          |   1 +
 audio/fossmixer/Makefile                           |   2 +-
 audio/giada/Makefile                               |   2 +-
 audio/gogglesmm/Makefile                           |   2 +-
 audio/gsequencer/Makefile                          |   1 +
 audio/gstreamer1-plugins-pulse/Makefile            |   2 +-
 audio/gtick/Makefile                               |   2 +-
 audio/harp/Makefile                                |   2 +-
 audio/hydrogen/Makefile                            |   2 +-
 audio/kmix/Makefile                                |   1 +
 audio/kwave/Makefile                               |   1 +
 audio/libao/Makefile                               |   2 +-
 audio/libcanberra/Makefile                         |   2 +-
 audio/libmatemixer/Makefile                        |   1 +
 audio/libopenmpt/Makefile                          |   1 +
 audio/lingot/Makefile                              |   2 +-
 audio/lmms/Makefile                                |   2 +-
 audio/mhwaveedit/Makefile                          |   2 +-
 audio/mousai/Makefile                              |   2 +-
 audio/mumble/Makefile                              |   1 +
 audio/musicpd/Makefile                             |   1 +
 audio/myxer/Makefile                               |   2 +-
 audio/ncpamixer/Makefile                           |   1 +
 audio/ncspot/Makefile                              |   1 +
 audio/noson-app/Makefile                           |   1 +
 audio/openal-soft/Makefile                         |   2 +-
 audio/owntone/Makefile                             |   2 +-
 audio/paman/Makefile                               |   2 +-
 audio/pamixer/Makefile                             |   2 +-
 audio/paprefs/Makefile                             |   2 +-
 audio/pavucontrol-qt/Makefile                      |   2 +-
 audio/pavumeter/Makefile                           |   2 +-
 audio/pcaudiolib/Makefile                          |   1 +
 audio/plasma5-plasma-pa/Makefile                   |   2 +-
 audio/psindustrializer/Makefile                    |   2 +-
 audio/pulseaudio-module-sndio/Makefile             |   2 +-
 audio/pulseaudio-module-xrdp/Makefile              |   2 +-
 audio/pulseaudio-qt/Makefile                       |   2 +-
 audio/pulseaudio/Makefile                          |  70 +++-----
 audio/pulseaudio/distinfo                          |   6 +-
 audio/pulseaudio/files/patch-configure (gone)      |  22 ---
 ...patch-src_modules_echo-cancel_meson.build (new) |  11 ++
 .../files/patch-src_modules_meson.build (new)      |  11 ++
 .../files/patch-src_modules_module-detect.c (gone) |  45 -----
 .../files/patch-src_modules_oss_module-oss.c       |  95 ++++++-----
 .../files/patch-src_modules_oss_oss-util.c         |  65 +------
 audio/pulseaudio/files/patch-src_pulse_util.c      |  34 +---
 .../files/patch-src_pulsecore_atomic.h (gone)      |  51 ------
 .../patch-src_pulsecore_proplist-util.c (new)      |  22 +++
 .../files/patch-src_utils_padsp.c (gone)           |  14 --
 audio/pulseaudio/pkg-plist                         | 188 +++++++++++----------
 audio/py-pocketsphinx/Makefile                     |   2 +-
 audio/py-pulsectl/Makefile                         |   1 +
 audio/rezound/Makefile                             |   2 +-
 audio/rhvoice/Makefile                             |   1 +
 audio/rtaudio/Makefile                             |   1 +
 audio/shairport-sync/Makefile                      |   1 +
 audio/sidplayfp/Makefile                           |   2 +-
 audio/siren/Makefile                               |   2 +-
 audio/sonic-visualiser/Makefile                    |   2 +-
 audio/sonivox-eas/Makefile                         |   2 +-
 audio/soundtracker/Makefile                        |   2 +-
 audio/sox/Makefile                                 |   2 +-
 audio/spotify-player/Makefile                      |   2 +-
 audio/spotifyd/Makefile                            |   2 +-
 audio/strawberry/Makefile                          |   1 +
 audio/vban/Makefile                                |   2 +-
 audio/webrtc-audio-processing/Makefile             |   1 +
 audio/webrtc-audio-processing0/Makefile            |   2 +-
 audio/wolf-shaper-lv2/Makefile                     |   1 +
 audio/xfce4-mixer/Makefile                         |   1 +
 audio/xfce4-pulseaudio-plugin/Makefile             |   1 +
 audio/xmp/Makefile                                 |   1 +
 audio/zam-plugins-lv2/Makefile                     |   2 +-
 audio/zrythm/Makefile                              |   2 +-
 comms/cubicsdr/Makefile                            |   2 +-
 comms/fldigi/Makefile                              |   2 +-
 comms/morse/Makefile                               |   1 +
 comms/multimon-ng/Makefile                         |   1 +
 comms/qsstv/Makefile                               |   2 +-
 comms/quisk/Makefile                               |   1 +
 comms/twpsk/Makefile                               |   2 +-
 comms/unixcw/Makefile                              |   2 +-
 deskutils/cairo-dock-plugins/Makefile              |   2 +-
 deskutils/i3status/Makefile                        |   2 +-
 deskutils/kdeconnect-kde/Makefile                  |   1 +
 deskutils/spice-gtk/Makefile                       |   2 +-
 deskutils/xfce4-volumed-pulse/Makefile             |   1 +
 devel/allegro5/Makefile                            |   2 +-
 devel/aws-sdk-cpp/Makefile                         |   1 +
 devel/efl/Makefile                                 |   2 +-
 devel/electron22/Makefile                          |   1 +
 devel/electron23/Makefile                          |   2 +-
 devel/electron24/Makefile                          |   2 +-
 devel/electron25/Makefile                          |   2 +-
 devel/godot/Makefile                               |   2 +-
 devel/godot2/Makefile                              |   2 +-
 devel/godot35/Makefile                             |   2 +-
 devel/ptlib/Makefile                               |   2 +-
 devel/sdl12/Makefile                               |   2 +-
 devel/sdl20/Makefile                               |   1 +
 emulators/citra/Makefile                           |   2 +-
 emulators/dolphin-emu/Makefile                     |   2 +-
 emulators/fmsx/Makefile                            |   1 +
 emulators/fuse/Makefile                            |   2 +-
 emulators/higan/Makefile                           |   2 +-
 emulators/libretro-flycast/Makefile                |   2 +-
 emulators/libretro-reicast/Makefile                |   2 +-
 emulators/pcsx2/Makefile                           |   2 +-
 emulators/reicast/Makefile                         |   2 +-
 emulators/rpcs3/Makefile                           |   1 +
 emulators/snes9x-gtk/Makefile                      |   1 +
 emulators/vice/Makefile                            |   2 +-
 emulators/virtualbox-ose-legacy/Makefile           |   2 +-
 emulators/virtualbox-ose/Makefile                  |   2 +-
 emulators/yuzu/Makefile                            |   1 +
 games/retroarch/Makefile                           |   2 +-
 graphics/blender/Makefile                          |   2 +-
 graphics/digikam/Makefile                          |   2 +-
 graphics/libprojectm/Makefile                      |   2 +-
 lang/squeak/Makefile                               |   2 +-
 misc/copperspice-examples/Makefile                 |   2 +-
 multimedia/QtAV/Makefile                           |   2 +-
 multimedia/aegisub/Makefile                        |   2 +-
 multimedia/audacious-plugins/Makefile              |   2 +-
 multimedia/gmerlin/Makefile                        |   2 +-
 multimedia/gmtk/Makefile                           |   2 +-
 multimedia/gnome-mplayer/Makefile                  |   2 +-
 multimedia/kodi/Makefile                           |   2 +-
 multimedia/kooha/Makefile                          |   2 +-
 multimedia/lebiniou/Makefile                       |   2 +-
 multimedia/librespot/Makefile                      |   2 +-
 multimedia/libxine/Makefile                        |   2 +-
 multimedia/lives/Makefile                          |   2 +-
 multimedia/mlt7/Makefile                           |   2 +-
 multimedia/mpv/Makefile                            |   2 +-
 multimedia/musikcube/Makefile                      |   1 +
 multimedia/mythtv/Makefile                         |   2 +-
 multimedia/obs-studio/Makefile                     |   2 +-
 multimedia/phonon/Makefile                         |   2 +-
 multimedia/pipewire/Makefile                       |   2 +-
 multimedia/qmmp-qt5/Makefile                       |   1 +
 multimedia/qmmp-qt6/Makefile                       |   2 +-
 multimedia/qt5-multimedia/Makefile                 |   1 +
 multimedia/qt6-multimedia/Makefile                 |   1 +
 multimedia/ringrtc/Makefile                        |   2 +-
 multimedia/simplescreenrecorder/Makefile           |   2 +-
 multimedia/snapcast/Makefile                       |   2 +-
 multimedia/vlc/Makefile                            |   2 +-
 multimedia/webcamoid/Makefile                      |   1 +
 multimedia/wf-recorder/Makefile                    |   2 +-
 net-im/telegram-desktop/Makefile                   |   2 +-
 net/freerdp/Makefile                               |   2 +-
 net/gtk-vnc/Makefile                               |   2 +-
 net/guacamole-server/Makefile                      |   2 +-
 net/xrdp-devel/Makefile                            |   2 +-
 net/xrdp/Makefile                                  |   2 +-
 sysutils/budgie-control-center/Makefile            |   2 +-
 sysutils/cinnamon-settings-daemon/Makefile         |   2 +-
 sysutils/fastfetch/Makefile                        |   1 +
 sysutils/gnome-control-center/Makefile             |   2 +-
 sysutils/gnome-settings-daemon/Makefile            |   2 +-
 sysutils/mate-settings-daemon/Makefile             |   2 +-
 www/chromium/Makefile                              |   1 +
 www/iridium/Makefile                               |   2 +-
 www/qt5-webengine/Makefile                         |   2 +-
 www/qt6-webengine/Makefile                         |   2 +-
 www/ungoogled-chromium/Makefile                    |   1 +
 x11-toolkits/copperspice/Makefile                  |   2 +-
 x11-wm/e16/Makefile                                |   2 +-
 x11-wm/enlightenment/Makefile                      |   2 +-
 x11-wm/lxqt-panel/Makefile                         |   1 +
 x11-wm/qtile/Makefile                              |   2 +-
 x11/budgie-desktop/Makefile                        |   1 +
 x11/cinnamon-desktop/Makefile                      |   2 +-
 x11/gnome-shell/Makefile                           |   2 +-
 x11/polybar/Makefile                               |   2 +-
 x11/sway-audio-idle-inhibit/Makefile               |   2 +-
 x11/swaync/Makefile                                |   1 +
 x11/swaysettings/Makefile                          |   2 +-
 x11/wapanel/Makefile                               |   2 +-
 x11/waybar/Makefile                                |   1 +
 x11/wf-shell/Makefile                              |   2 +-
 x11/xfce4-goodies/Makefile                         |   2 +-
 201 files changed, 416 insertions(+), 543 deletions(-)