diff options
author | Sam James <sam@gentoo.org> | 2022-08-21 04:00:24 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-08-21 04:06:47 +0100 |
commit | e50776f608e30a41a6a59d734d9a7d871d939ab4 (patch) | |
tree | dba1cacd38426b47bde5fa994c3ed7635f27eae8 /media-libs/openal | |
parent | media-video/ffmpeg: forward ~loong to masked 5.0.1 (diff) | |
download | gentoo-e50776f608e30a41a6a59d734d9a7d871d939ab4.tar.gz gentoo-e50776f608e30a41a6a59d734d9a7d871d939ab4.tar.bz2 gentoo-e50776f608e30a41a6a59d734d9a7d871d939ab4.zip |
media-libs/openal: fix automagic PipeWire dependency (and others)
Not sure why I didn't poke at these when I looked at sndio, but oh well.
* Fix automagic issues for all backends, including newly-added PipeWire.
* The PipeWire support is flaky with older versions, looks like an ifdef
is subtly wrong, but given how fast PW is moving anyway & the changes
in the ecosystem (see NEWS item for migration w/ USE=sound-server), we don't
want people running an older PW anyway, so depend on a newer version.
* Disable CMake unused argument warning as it's a false positive, as
the backend options are conditionally defined based on if deps found.
(Might in future want a regex / adopt the QA one for ./configure instead
to allow conditionally ignoring specific ones instead of blanket disable.)
Bug: https://bugs.gentoo.org/809314
Closes: https://bugs.gentoo.org/828674
Closes: https://bugs.gentoo.org/863200
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-libs/openal')
-rw-r--r-- | media-libs/openal/metadata.xml | 1 | ||||
-rw-r--r-- | media-libs/openal/openal-1.22.2-r1.ebuild | 91 |
2 files changed, 92 insertions, 0 deletions
diff --git a/media-libs/openal/metadata.xml b/media-libs/openal/metadata.xml index 58a531d35b6a..82ef9b96fe93 100644 --- a/media-libs/openal/metadata.xml +++ b/media-libs/openal/metadata.xml @@ -6,6 +6,7 @@ <name>Gentoo Sound project</name> </maintainer> <use> + <flag name="pipewire">Enable support for the <pkg>media-video/pipewire</pkg> audio backend</flag> <flag name="sndio">Enable support for the <pkg>media-sound/sndio</pkg> backend</flag> </use> <upstream> diff --git a/media-libs/openal/openal-1.22.2-r1.ebuild b/media-libs/openal/openal-1.22.2-r1.ebuild new file mode 100644 index 000000000000..787199b78e60 --- /dev/null +++ b/media-libs/openal/openal-1.22.2-r1.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# False positives because of REQUIRE vs BACKEND options() (conditionally set) +# See bug #809314 +CMAKE_WARN_UNUSED_CLI=no +inherit cmake-multilib + +MY_P="${PN}-soft-${PV}" + +DESCRIPTION="A software implementation of the OpenAL 3D audio API" +HOMEPAGE="https://www.openal-soft.org/" +SRC_URI="https://www.openal-soft.org/openal-releases/${MY_P}.tar.bz2" +S="${WORKDIR}"/${MY_P} + +# See https://github.com/kcat/openal-soft/blob/e0097c18b82d5da37248c4823fde48b6e0002cdd/BSD-3Clause +# Some components are under BSD +LICENSE="LGPL-2+ BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE=" + alsa coreaudio debug jack oss pipewire portaudio pulseaudio sdl sndio qt5 + cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 + cpu_flags_arm_neon +" + +# PipeWire: +# - See bug #863200 for PipeWire minimum version +# - PW is in DEPEND although not linked against because we need configure to +# find it anyway, but no :=. +RDEPEND=" + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + jack? ( virtual/jack[${MULTILIB_USEDEP}] ) + pipewire? ( >=media-video/pipewire-0.3.50[${MULTILIB_USEDEP}] ) + portaudio? ( media-libs/portaudio[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + ) + sdl? ( media-libs/libsdl2[${MULTILIB_USEDEP}] ) + sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] ) +" +DEPEND=" + ${RDEPEND} + oss? ( virtual/os-headers ) +" + +DOCS=( alsoftrc.sample docs/env-vars.txt docs/hrtf.txt ChangeLog README.md ) + +src_configure() { + my_configure() { + local mycmakeargs=( + # See bug #809314 for getting both options for backends + -DALSOFT_{BACKEND,REQUIRE}_ALSA=$(usex alsa) + -DALSOFT_{BACKEND,REQUIRE}_COREAUDIO=$(usex coreaudio) + -DALSOFT_{BACKEND,REQUIRE}_JACK=$(usex jack) + -DALSOFT_{BACKEND,REQUIRE}_OSS=$(usex oss) + -DALSOFT_{BACKEND,REQUIRE}_PIPEWIRE=$(usex pipewire) + -DALSOFT_{BACKEND,REQUIRE}_PORTAUDIO=$(usex portaudio) + -DALSOFT_{BACKEND,REQUIRE}_PULSEAUDIO=$(usex pulseaudio) + -DALSOFT_{BACKEND,REQUIRE}_SDL2=$(usex sdl) + -DALSOFT_{BACKEND,REQUIRE}_SNDIO=$(usex sndio) + + -DALSOFT_UTILS=$(multilib_is_native_abi && echo "ON" || echo "OFF") + -DALSOFT_NO_CONFIG_UTIL=$(usex qt5 "$(multilib_is_native_abi && echo "OFF" || echo "ON")" ON) + # EXAMPLES=OFF to avoid FFmpeg dependency, bug #481670 + -DALSOFT_EXAMPLES=OFF + ) + + # Avoid unused variable warnings, bug #738240 + if use amd64 || use x86 ; then + mycmakeargs+=( + -DALSOFT_CPUEXT_SSE=$(usex cpu_flags_x86_sse) + -DALSOFT_CPUEXT_SSE2=$(usex cpu_flags_x86_sse2) + -DALSOFT_CPUEXT_SSE4_1=$(usex cpu_flags_x86_sse4_1) + ) + elif use arm || use arm64 ; then + mycmakeargs+=( + -DALSOFT_CPUEXT_NEON=$(usex cpu_flags_arm_neon) + ) + fi + + cmake_src_configure + } + + multilib_parallel_foreach_abi my_configure +} |