The current port is based on the upstream version 13.0 from 2019-09-13 and should be updated to 14.2 from 2021-01-16. I will attach a 'svn diff audio/pulseaudio'.
Created attachment 221857 [details] output of: svn diff audio/pulseaudio
PORTVERSION --> DISTVERSION See Porters Handbook, "Table 5.2. Package Naming Examples" PORTREVISION should be removed MASTER_SITES=http://freedesktop.org/software/pulseaudio/releases/ shoud be https://freedesktop.org/software/pulseaudio/releases/ (redirects) CPPFLAGS + LDFLAGS should be replaced by USES= localbase:ldflags Can you have a look at converting this port to using meson instead? Does it pass poudriere?
The original (svn head) ports Makefile has set --disable-udev which leads to not compiling the module module-udev-detect.so. After deleting this line in the Makefile, the module compiles fine but says on pacmd load-module module-udev-detect in /var/log/messages: Jan 24 00:52:22 c720-r368166 pulseaudio[85187]: [(null)] ltdl-bind-now.c: No se pudo abrir el módulo /usr/local/lib/pulse-14.2/modules/module-udev-detect.so: /usr/local/lib/pulse-14.2/modules/module-udev-detect.so: Undefined symbol """ "inotify_init1" seems to be a Linux sys or function call not implemented in FreeBSD.
(In reply to daniel.engberg.lists from comment #2) Thanks a lot for the patch -- but converting it to meson too would be great :)
Created attachment 221870 [details] new patch, output off: svn diff audio/pulseaudio This patch: 1) cleans the raised issues in the Makefile 2) was tested in poudriere: ... ===> Building package for pulseaudio-14.2 file sizes/checksums [224]: ... done packing files [224]: ... done packing directories [0]: . done =========================================================================== =>> Cleaning up wrkdir ===> Cleaning for pulseaudio-14.2 build of audio/pulseaudio | pulseaudio-14.2 ended at Sun Jan 24 11:33:47 CET 2021 build time: 00:01:08 Re/ meson: I never used this, so I let this to MAINTAINER of the port.
Comment on attachment 221870 [details] new patch, output off: svn diff audio/pulseaudio > -WEBRTC_AEC_LIB_DEPENDS= libwebrtc_audio_processing.so:audio/webrtc-audio-processing0 > +WEBRTC_AEC_LIB_DEPENDS= libwebrtc_audio_processing.so:audio/webrtc-audio-processing Why? Upstream hasn't switched yet, see https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/395 $ poudriere testport -j 122amd64 audio/pulseaudio [...] ===> pulseaudio-14.2 depends on shared library: libwebrtc_audio_processing.so - not found ===> Installing existing package /packages/All/webrtc-audio-processing-1.0_1.txz Installing webrtc-audio-processing-1.0_1... `-- Installing abseil-20200923.3... `-- Extracting abseil-20200923.3: .......... done Extracting webrtc-audio-processing-1.0_1: .......... done ===> pulseaudio-14.2 depends on shared library: libwebrtc_audio_processing.so - not found *** Error code 1
$ make check-plist [...] ====> Checking for pkg-plist issues (check-plist) ===> Parsing plist ===> Checking for items in STAGEDIR missing from pkg-plist Error: Orphaned: share/locale/bg/LC_MESSAGES/pulseaudio.mo Error: Orphaned: share/locale/kk/LC_MESSAGES/pulseaudio.mo ===> Checking for items in pkg-plist which are not in STAGEDIR ===> Error: Plist issues found. *** Error code 1
(In reply to Jan Beich from comment #7) the change re/ WEBRTC_AEC_LIB_DEPENDS was not introduced by me; before starting on the work of the update, I fetched the most recent version out of SVN: root@c720-r368166:/usr/ports/audio/pulseaudio # svn info Path: . Working Copy Root Path: /usr/ports URL: svn://svn.freebsd.org/ports/head/audio/pulseaudio Relative URL: ^/head/audio/pulseaudio Repository Root: svn://svn.freebsd.org/ports Repository UUID: 35697150-7ecd-e111-bb59-0022644237b5 Revision: 562403 Node Kind: directory Schedule: normal Last Changed Author: jbeich Last Changed Rev: 557409 Last Changed Date: 2020-12-10 03:42:18 +0100 (Thu, 10 Dec 2020) root@c720-r368166:/usr/ports/audio/pulseaudio # grep WEBRTC_AEC_LIB_DEPENDS Makefile WEBRTC_AEC_LIB_DEPENDS= libwebrtc_audio_processing.so:audio/webrtc-audio-processing
Created attachment 222036 [details] new patch, fixed pkg-plist issue, output of: svn diff audio/pulseaudio
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=6dd01d1520ee30194d0493c1dea31bc71a12151d commit 6dd01d1520ee30194d0493c1dea31bc71a12151d Author: Kevin Bowling <kbowling@FreeBSD.org> AuthorDate: 2021-04-12 22:50:11 +0000 Commit: Kevin Bowling <kbowling@FreeBSD.org> CommitDate: 2021-04-12 23:09:54 +0000 audio/pulseaudio: update the port to 14.2 PR: 252957 Reported by: Matthias Apitz <guru@unixarea.de> Reviewed by: daniel.engberg.lists@pyret.net Approved by: tcberner (previous version) Obtained from: https://github.com/freebsd/freebsd-ports-kde/tree/pulseaudio-14 audio/pulseaudio/Makefile | 9 +++------ audio/pulseaudio/distinfo | 4 ++-- audio/pulseaudio/files/patch-src_pulsecore_atomic.h | 18 +++++++++--------- audio/pulseaudio/pkg-plist | 6 ++++-- 4 files changed, 18 insertions(+), 19 deletions(-)
This is already a lot of change so I committed this with a minor correction to preserve the webrtc-audio-processing support to move things along and make sure the new version works well for everyone. We can progress on cleanups/build changes with more commits :)
You should really also take care of other audio/pulseaudio* ports when updating audio/pulseaudio. tobik always does so. https://cgit.freebsd.org/ports/log/?id=7caef03e71c35489b8bb4c11d6ca9910eeb18f05&qt=grep&q=pulseaudio
(In reply to Koichiro Iwao from comment #12) Can you explain which ports must be rev'd? The history looks sporadic there for pulseaudio-module-xrdp and pulseaudio-module-sndio but what about others? Internally upstream changed the soname so they do want to communicate the ABI bump. I thought LIB_DEPENDS handles this in general for poudriere so I am curious what hazards I should look out for and what needs to be bumped.
(In reply to Kevin Bowling from comment #13) Formerly, there're so many PulseAudio module ports but I realized there're few ports -xrdp and -sndio now. So these two ports must be bumped at least. These ports install files into `pkg-config --variable=modlibexecdir libpulse` directory. It contains PulseAudio version like "/usr/local/lib/pulse-14.2/modules". PulseAudio looks up modules under "modulelibexecdir" directory so modules are installed under the old PulseAudio directory cannot be recognized by PulseAudio. I think even the modules and new PulseAudio are ABI compatible, they must be rebuilt in order to install into the correct directory. If other ports install any files under version-specific directories, rebuild them too.
Created attachment 224074 [details] patch with corrected pkg-plist Building audio/pulseaudio outside of Poudriere and/or with non-default options set like ALSA, there are several problems. The attached patch contains a renewed pkg-plist, which builds fine for me. HTH, Rainer
Reopen, port needs more love and package testing
Thank you, Rainer: that patch allowed me to update from pulseaudio-13.0_2 to pulseaudio-14.2, with a ports tree at main-n541366-de9bd29d2b9b. Prior to the patch, building the port was OK, but attempting to install it yielded: ===> Installing for pulseaudio-14.2 ===> Registering installation for pulseaudio-14.2 as automatic pkg-static: Unable to access file /common/ports/audio/pulseaudio/work/stage/usr/local/share/pulseaudio/alsa-mixer/paths/steelseries-arctis-5-output-chat.conf:No such file or directory pkg-static: Unable to access file /common/ports/audio/pulseaudio/work/stage/usr/local/share/pulseaudio/alsa-mixer/paths/steelseries-arctis-5-output-game.conf:No such file or directory pkg-static: Unable to access file /common/ports/audio/pulseaudio/work/stage/usr/local/share/pulseaudio/alsa-mixer/paths/steelseries-arctis-7-input.conf:No such file or directory pkg-static: Unable to access file /common/ports/audio/pulseaudio/work/stage/usr/local/share/pulseaudio/alsa-mixer/paths/steelseries-arctis-7-output-mono.conf:No such file or directory .... pkg-static: Unable to access file /common/ports/audio/pulseaudio/work/stage/usr/ local/share/pulseaudio/alsa-mixer/profile-sets/steelseries-arctis-5-usb-audio.co nf:No such file or directory pkg-static: Unable to access file /common/ports/audio/pulseaudio/work/stage/usr/ local/share/pulseaudio/alsa-mixer/profile-sets/steelseries-arctis-7-usb-audio.co nf:No such file or directory *** Error code 1
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=9b6915182bad2de2492d69e2578542740d6f4357 commit 9b6915182bad2de2492d69e2578542740d6f4357 Author: Kevin Bowling <kbowling@FreeBSD.org> AuthorDate: 2021-04-13 15:44:59 +0000 Commit: Kevin Bowling <kbowling@FreeBSD.org> CommitDate: 2021-04-13 15:55:20 +0000 audio/pulseaudio: fix build with ALSA option PR: 252957 Reported by: rhurlin, fluffy Tested by: david@catwhisker.org Fixes: 6dd01d1520ee audio/pulseaudio: update the port to 14.2 audio/pulseaudio/pkg-plist | 145 +++++++++++++++++++++++---------------------- 1 file changed, 73 insertions(+), 72 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=a6dc40c2effdd050b01ff937ac133015a55a385c commit a6dc40c2effdd050b01ff937ac133015a55a385c Author: Kevin Bowling <kbowling@FreeBSD.org> AuthorDate: 2021-04-13 15:58:08 +0000 Commit: Kevin Bowling <kbowling@FreeBSD.org> CommitDate: 2021-04-13 16:00:17 +0000 audio/pulseaudio-module-sndio: bump portrevision Force a rebuild for pulseaudio 14.2 PR: 252957 Reported by: meta audio/pulseaudio-module-sndio/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Changes applied as above, thanks for the additional testing and fixes!