summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/openal/openal-1.24.0.ebuild')
-rw-r--r--media-libs/openal/openal-1.24.0.ebuild87
1 files changed, 87 insertions, 0 deletions
diff --git a/media-libs/openal/openal-1.24.0.ebuild b/media-libs/openal/openal-1.24.0.ebuild
new file mode 100644
index 000000000000..cb3f3789eddd
--- /dev/null
+++ b/media-libs/openal/openal-1.24.0.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2024 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 ~loong ~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[${MULTILIB_USEDEP}] )
+ portaudio? ( media-libs/portaudio[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${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 )
+
+multilib_src_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
+}