maintainer-approval requested: [Bug 240585] audio/pulseaudio: Update to 13.0 : [Attachment 207491] Proposed patch (since 507372 revision)
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Sat Sep 14 23:25:39 UTC 2019
lightside <lightside at gmx.com> has asked freebsd-gnome mailing list
<gnome at FreeBSD.org> for maintainer-approval:
Bug 240585: audio/pulseaudio: Update to 13.0
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240585
Attachment 207491: Proposed patch (since 507372 revision)
https://bugs.freebsd.org/bugzilla/attachment.cgi?id=207491&action=edit
--- Description ---
Patch to update audio/pulseaudio port from 12.2 to 13.0 version.
Look following links for changes:
https://www.freedesktop.org/wiki/Software/PulseAudio/Notes/13.0/
https://gitlab.freedesktop.org/pulseaudio/pulseaudio/compare/v12.2...v13.0
ABI:
https://abi-laboratory.pro/tracker/timeline/pulseaudio/
- Remove intltool from USE_GNOME variable [1]
- Add src/utils/pa-info to SHEBANG_FILES variable
- Add fix for src/pulsecore/atomic.h [2]
- Add fix for src/tests/atomic-test.c [3]
- Update pkg-plist
For reference:
1. Use upstream gettext instead intltool
https://gitlab.freedesktop.org/pulseaudio/pulseaudio/commit/57e3ccaf51f714eec8c
a29005c3cc4fde456e84e
2. Fixes following error, when using WEBRTC_AEC port's option and Clang
compiler:
-8<--
In file included from modules/echo-cancel/webrtc.cc:31:
In file included from ./pulsecore/modargs.h:29:
In file included from ./pulsecore/resampler.h:25:
In file included from ./pulsecore/memblock.h:31:
./pulsecore/atomic.h:120:33: error: cannot initialize a parameter of type
'volatile unsigned long' with an lvalue of
type 'void *'
__atomic_store_n(&a->value, p, __ATOMIC_SEQ_CST);
^
-->8-
The GCC compiler doesn't report about this (and probably not affected).
This is because of following commit:
atomic: fix load and store for armv7 and higher
https://gitlab.freedesktop.org/pulseaudio/pulseaudio/commit/d4ff4adce2808c31898
b4b7d2f60825effb61484
Alternative approach is to define "pulseaudio_cv_atomic_store_n" variable:
CONFIGURE_ENV+= pulseaudio_cv_atomic_store_n=""
The "uintptr_t" type was used because of:
https://github.com/freebsd/freebsd/blob/e100f32e6e1cd39a01dea1c5e99ba63fe0a2b2e
8/contrib/compiler-rt/lib/builtins/emutls.c#L250
https://github.com/freebsd/freebsd/blob/e100f32e6e1cd39a01dea1c5e99ba63fe0a2b2e
8/contrib/compiler-rt/lib/builtins/emutls.c#L320-L327
"Integer type capable of holding a value converted from a void pointer and then
be converted back to that type with a value that compares equal to the original
pointer."
http://www.cplusplus.com/reference/cstdint/
3. Fixes following error (or similar errors):
-8<--
tests/atomic-test.c:58:4: error: unknown type name 'cpu_set_t'; did you mean
'cpusetid_t'?
cpu_set_t cpuset;
^~~~~~~~~
cpusetid_t
-->8-
Related to [2], but possible to use "--disable-default-build-tests" configure
option instead:
CONFIGURE_ARGS+= --disable-default-build-tests
-8<--
% ./configure --help | grep -h1 disable-default-build-tests | tail -2
--disable-default-build-tests
Build test programs only during make check
-->8-
More information about the freebsd-gnome
mailing list