blob: 1f2685a9868e25742c779438b55b2dab7a71ea26 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
# Copyright 1999-2023 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 ~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-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 )
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
}
|