]> git.draconx.ca Git - gentoo-fixes.git/blob - media-sound/apulse/apulse-0.1.13-r1.ebuild
media-sound/apulse: Sync with upstream.
[gentoo-fixes.git] / media-sound / apulse / apulse-0.1.13-r1.ebuild
1 # Copyright 1999-2022 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5
6 CMAKE_ECLASS=cmake
7 inherit cmake-multilib multiprocessing
8
9 DESCRIPTION="PulseAudio emulation for ALSA"
10 HOMEPAGE="https://github.com/i-rinat/apulse"
11 SRC_URI="https://github.com/i-rinat/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
12
13 LICENSE="MIT LGPL-2.1"
14 SLOT="0"
15 KEYWORDS="amd64 ~ppc64 x86"
16
17 IUSE="debug sdk test"
18 RESTRICT="!test? ( test )"
19
20 DEPEND="dev-libs/glib:2[${MULTILIB_USEDEP}]
21         media-libs/alsa-lib[${MULTILIB_USEDEP}]
22         sdk? ( !media-sound/pulseaudio ) "
23 RDEPEND=$DEPEND
24
25 PATCHES=(
26         "${FILESDIR}/sdk.patch"
27         "${FILESDIR}/check-key-before-remove.patch"
28         "${FILESDIR}/man.patch"
29 )
30
31 src_prepare() {
32         cmake_src_prepare
33
34         if ! use sdk; then
35                 # Ensure all relevant libdirs are added, to support all ABIs
36                 DIRS=
37                 _add_dir() { DIRS="${EPREFIX}/usr/$(get_libdir)/apulse${DIRS:+:${DIRS}}"; }
38                 multilib_foreach_abi _add_dir
39                 sed -e "s#@@DIRS@@#${DIRS}#g" "${FILESDIR}"/apulse > "${T}"/apulse || die
40         fi
41 }
42
43 multilib_src_configure() {
44         local mycmakeargs=(
45                 "-DINSTALL_SDK=$(usex sdk)"
46                 "-DLOG_TO_STDERR=$(usex debug)"
47                 "-DWITH_TRACE=$(usex debug)"
48         )
49         cmake_src_configure
50 }
51
52 multilib_src_test() {
53         _test() {
54                 pushd tests || die
55                 cmake -S "${S}/tests" -B . || die
56                 emake test_ringbuffer
57                 ctest -j "$(makeopts_jobs)" --test-load "$(makeopts_loadavg)" || die
58                 popd || die
59         }
60         multilib_foreach_abi _test
61 }
62
63 multilib_src_install_all() {
64         if ! use sdk; then
65                 _install_wrapper() { newbin "${BUILD_DIR}/apulse" "${CHOST}-apulse"; }
66                 multilib_foreach_abi _install_wrapper
67                 dobin "${T}/apulse"
68         fi
69         einstalldocs
70 }