Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/libpulse/
Date: Thu, 23 Jun 2022 04:30:03
Message-Id: 1655958234.9fcaa3551de7a935c0bc2f06e6740e25482568e0.sam@gentoo
1 commit: 9fcaa3551de7a935c0bc2f06e6740e25482568e0
2 Author: Igor V. Kovalenko <igor.v.kovalenko <AT> gmail <DOT> com>
3 AuthorDate: Wed Jun 22 16:54:10 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Thu Jun 23 04:23:54 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9fcaa355
7
8 media-libs/libpulse: Version bump to 16.1
9
10 Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko <AT> gmail.com>
11 Signed-off-by: Sam James <sam <AT> gentoo.org>
12
13 media-libs/libpulse/Manifest | 1 +
14 media-libs/libpulse/libpulse-16.1.ebuild | 203 +++++++++++++++++++++++++++++++
15 2 files changed, 204 insertions(+)
16
17 diff --git a/media-libs/libpulse/Manifest b/media-libs/libpulse/Manifest
18 index 5bc75fa5795d..7e2a36fffea5 100644
19 --- a/media-libs/libpulse/Manifest
20 +++ b/media-libs/libpulse/Manifest
21 @@ -1 +1,2 @@
22 DIST pulseaudio-16.0.tar.xz 1551276 BLAKE2B 54ba5d446bc02246bf842280f577851eb66ff9fed1e1b0d2d03e238796d9d04bc1fc27215b02fdded37441da1747be23d1e03d5a00b79ee3b91eb35c0f76a470 SHA512 42d4968c2dc88f5e39a5358d124e399e40a5abdf815eff387087141bc9dddd217012acb35649a8e0e24a44e8a402d90eb193ce2eef186f7d59550f757a6cc26d
23 +DIST pulseaudio-16.1.tar.xz 1545596 BLAKE2B 535706abcea2cae39834b23c8bdc37f71b0e633de2d8e43ea4425da97a850b57c2f980c318681cbc86cf1e746200609dad41f8b96ecf4568f86d94aa6831c9a1 SHA512 33b0b4292f05e0882f3ec822cf5720414bb34c523d80fe287b9740d6be219787c562e8024c9b0d9e2ee010771ca72c7ae4f27df1bbef9c9cb6bb6a23cbcc412f
24
25 diff --git a/media-libs/libpulse/libpulse-16.1.ebuild b/media-libs/libpulse/libpulse-16.1.ebuild
26 new file mode 100644
27 index 000000000000..a3bd8e6f7528
28 --- /dev/null
29 +++ b/media-libs/libpulse/libpulse-16.1.ebuild
30 @@ -0,0 +1,203 @@
31 +# Copyright 1999-2022 Gentoo Authors
32 +# Distributed under the terms of the GNU General Public License v2
33 +
34 +EAPI="7"
35 +
36 +MY_PV="${PV/_pre*}"
37 +MY_P="pulseaudio-${MY_PV}"
38 +inherit bash-completion-r1 gnome2-utils meson-multilib optfeature systemd udev
39 +
40 +DESCRIPTION="Libraries for PulseAudio clients"
41 +HOMEPAGE="https://www.freedesktop.org/wiki/Software/PulseAudio/"
42 +
43 +if [[ ${PV} = 9999 ]]; then
44 + inherit git-r3
45 + EGIT_BRANCH="master"
46 + EGIT_REPO_URI="https://gitlab.freedesktop.org/pulseaudio/pulseaudio"
47 +else
48 + SRC_URI="https://freedesktop.org/software/pulseaudio/releases/${MY_P}.tar.xz"
49 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
50 +fi
51 +
52 +S="${WORKDIR}/${MY_P}"
53 +
54 +LICENSE="LGPL-2.1+"
55 +
56 +SLOT="0"
57 +IUSE="+asyncns dbus doc +glib gtk selinux systemd test valgrind X"
58 +RESTRICT="!test? ( test )"
59 +
60 +# NOTE: libpcre needed in some cases, bug #472228
61 +# TODO: libatomic_ops is only needed on some architectures and conditions, and then at runtime too
62 +RDEPEND="
63 + dev-libs/libatomic_ops
64 + >=media-libs/libsndfile-1.0.20[${MULTILIB_USEDEP}]
65 + virtual/libc
66 + asyncns? ( >=net-libs/libasyncns-0.1[${MULTILIB_USEDEP}] )
67 + dbus? ( >=sys-apps/dbus-1.4.12[${MULTILIB_USEDEP}] )
68 + glib? ( >=dev-libs/glib-2.28.0:2[${MULTILIB_USEDEP}] )
69 + gtk? ( x11-libs/gtk+:3 )
70 + selinux? ( sec-policy/selinux-pulseaudio )
71 + systemd? ( sys-apps/systemd:= )
72 + valgrind? ( dev-util/valgrind )
73 + X? (
74 + x11-libs/libX11[${MULTILIB_USEDEP}]
75 + >=x11-libs/libxcb-1.6[${MULTILIB_USEDEP}]
76 + )
77 + || (
78 + elibc_glibc? ( virtual/libc )
79 + dev-libs/libpcre:3
80 + )
81 + !<media-sound/pulseaudio-15.0-r100
82 +"
83 +
84 +DEPEND="${RDEPEND}
85 + test? ( >=dev-libs/check-0.9.10 )
86 + X? ( x11-base/xorg-proto )
87 +"
88 +
89 +# pulseaudio ships a bundled xmltoman, which uses XML::Parser
90 +BDEPEND="
91 + dev-lang/perl
92 + dev-perl/XML-Parser
93 + sys-devel/gettext
94 + sys-devel/m4
95 + virtual/libiconv
96 + virtual/libintl
97 + virtual/pkgconfig
98 + doc? ( app-doc/doxygen )
99 +"
100 +
101 +DOCS=( NEWS README )
102 +
103 +# patches merged upstream, to be removed with 16.2 or later bump
104 +PATCHES=(
105 +)
106 +
107 +src_prepare() {
108 + default
109 +
110 + # disable autospawn by client
111 + sed -i -e 's:; autospawn = yes:autospawn = no:g' src/pulse/client.conf.in || die
112 +
113 + gnome2_environment_reset
114 +}
115 +
116 +multilib_src_configure() {
117 + local emesonargs=(
118 + --localstatedir="${EPREFIX}"/var
119 +
120 + -Ddaemon=false
121 + -Dclient=true
122 + $(meson_native_use_bool doc doxygen)
123 + -Dgcov=false
124 + # tests involve random modules, so just do them for the native # TODO: tests should run always
125 + $(meson_native_use_bool test tests)
126 + -Ddatabase=simple # Not used for non-daemon, simple database avoids external dep checks
127 + -Dstream-restore-clear-old-devices=true
128 + -Drunning-from-build-tree=false
129 +
130 + # Paths
131 + -Dmodlibexecdir="${EPREFIX}/usr/$(get_libdir)/pulseaudio/modules" # Was $(get_libdir)/${P}
132 + -Dsystemduserunitdir=$(systemd_get_userunitdir)
133 + -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
134 + -Dbashcompletiondir="$(get_bashcompdir)" # Alternatively DEPEND on app-shells/bash-completion for pkg-config to provide the value
135 +
136 + # Optional features
137 + -Dalsa=disabled
138 + $(meson_feature asyncns)
139 + -Davahi=disabled
140 + -Dbluez5=disabled
141 + -Dbluez5-gstreamer=disabled
142 + -Dbluez5-native-headset=false
143 + -Dbluez5-ofono-headset=false
144 + $(meson_feature dbus)
145 + -Delogind=disabled
146 + -Dfftw=disabled
147 + $(meson_feature glib) # WARNING: toggling this likely changes ABI
148 + -Dgsettings=disabled
149 + -Dgstreamer=disabled
150 + $(meson_native_use_feature gtk)
151 + -Dhal-compat=false
152 + -Dipv6=true
153 + -Djack=disabled
154 + -Dlirc=disabled
155 + -Dopenssl=disabled
156 + -Dorc=disabled
157 + -Doss-output=disabled
158 + -Dsamplerate=disabled # Matches upstream
159 + -Dsoxr=disabled
160 + -Dspeex=disabled
161 + $(meson_native_use_feature systemd)
162 + -Dtcpwrap=disabled
163 + -Dudev=disabled
164 + $(meson_native_use_feature valgrind)
165 + $(meson_feature X x11)
166 +
167 + # Echo cancellation
168 + -Dadrian-aec=false
169 + -Dwebrtc-aec=disabled
170 + )
171 +
172 + if multilib_is_native_abi; then
173 + # Make padsp work for non-native ABI, supposedly only possible with glibc;
174 + # this is used by /usr/bin/padsp that comes from native build, thus we need
175 + # this argument for native build
176 + if use elibc_glibc; then
177 + emesonargs+=( -Dpulsedsp-location="${EPREFIX}"'/usr/\\$$LIB/pulseaudio' )
178 + fi
179 + else
180 + emesonargs+=( -Dman=false )
181 + if ! use elibc_glibc; then
182 + # Non-glibc multilib is probably non-existent but just in case:
183 + ewarn "padsp wrapper for OSS emulation will only work with native ABI applications!"
184 + fi
185 + fi
186 +
187 + meson_src_configure
188 +}
189 +
190 +multilib_src_compile() {
191 + meson_src_compile
192 +
193 + if multilib_is_native_abi; then
194 + if use doc; then
195 + einfo "Generating documentation ..."
196 + meson_src_compile doxygen
197 + fi
198 + fi
199 +}
200 +
201 +multilib_src_install() {
202 + # The files referenced in the DOCS array do not exist in the multilib source directory,
203 + # therefore clear the variable when calling the function that will access it.
204 + DOCS= meson_src_install
205 +
206 + # Upstream installs 'pactl' if client is built, with all symlinks except for
207 + # 'pulseaudio', 'pacmd' and 'pasuspender' which are installed if server is built.
208 + # This trips QA warning, workaround:
209 + # - install missing aliases in media-libs/libpulse (client build)
210 + # - remove corresponding symlinks in media-sound/pulseaudio-daemonclient (server build)
211 + bashcomp_alias pactl pulseaudio
212 + bashcomp_alias pactl pacmd
213 + bashcomp_alias pactl pasuspender
214 +
215 + if multilib_is_native_abi; then
216 + if use doc; then
217 + einfo "Installing documentation ..."
218 + docinto html
219 + dodoc -r doxygen/html/.
220 + fi
221 + fi
222 +}
223 +
224 +multilib_src_install_all() {
225 + einstalldocs
226 +
227 + find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die
228 +}
229 +
230 +pkg_postinst() {
231 + optfeature_header "PulseAudio can be enhanced by installing the following:"
232 + use dbus && optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
233 +}