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-video/wireplumber/, profiles/targets/desktop/
Date: Mon, 13 Sep 2021 22:09:06
Message-Id: 1631570915.e8adb99b7d499c9e3080946dda18ccccc0b6ced2.sam@gentoo
1 commit: e8adb99b7d499c9e3080946dda18ccccc0b6ced2
2 Author: Niklāvs Koļesņikovs <89q1r14hd <AT> relay <DOT> firefox <DOT> com>
3 AuthorDate: Fri May 21 17:18:33 2021 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Mon Sep 13 22:08:35 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e8adb99b
7
8 media-video/wireplumber: initial commit based on the PipeWire ebuild
9
10 Apart from not yet supporting generation of API documentation, the
11 ebuild should be fully functional.
12
13 Thanks-to: Jaco Kroon <jaco <AT> uls.co.za> (for noticing incorrect RDEPEND)
14 Thanks-to: Ionen Wolkens <ionen <AT> gentoo.org> (Lua target enforcement)
15 Co-authored-by: Sam James <sam <AT> gentoo.org>
16 Signed-off-by: Niklāvs Koļesņikovs <89q1r14hd <AT> relay.firefox.com>
17 Closes: https://github.com/gentoo/gentoo/pull/22278
18 Signed-off-by: Sam James <sam <AT> gentoo.org>
19
20 media-video/wireplumber/Manifest | 1 +
21 media-video/wireplumber/metadata.xml | 17 ++++++
22 media-video/wireplumber/wireplumber-0.4.2.ebuild | 78 ++++++++++++++++++++++++
23 media-video/wireplumber/wireplumber-9999.ebuild | 78 ++++++++++++++++++++++++
24 profiles/targets/desktop/package.use | 2 +-
25 5 files changed, 175 insertions(+), 1 deletion(-)
26
27 diff --git a/media-video/wireplumber/Manifest b/media-video/wireplumber/Manifest
28 new file mode 100644
29 index 00000000000..885d24e6eec
30 --- /dev/null
31 +++ b/media-video/wireplumber/Manifest
32 @@ -0,0 +1 @@
33 +DIST wireplumber-0.4.2.tar.gz 332499 BLAKE2B 4747ae405a824b019415188ff1a586d32fc2e97aba6777cd1e403aadf0e44458156d1f8b6dbc706b812a7ea8c873d0f506f2b42817d1bc5312874530edaf7234 SHA512 8ded43fba5de58068516558918d49c86be7d67330e8a14e735561fefadba5e27952d556987b7304dead52b4e2f72a7d9626da0170e768c4702dd164840b08e3c
34
35 diff --git a/media-video/wireplumber/metadata.xml b/media-video/wireplumber/metadata.xml
36 new file mode 100644
37 index 00000000000..b9b45abb671
38 --- /dev/null
39 +++ b/media-video/wireplumber/metadata.xml
40 @@ -0,0 +1,17 @@
41 +<?xml version="1.0" encoding="UTF-8"?>
42 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
43 +<pkgmetadata>
44 + <maintainer type="person" proxied="yes">
45 + <email>89q1r14hd@×××××××××××××.com</email>
46 + <name>Niklāvs Koļesņikovs</name>
47 + </maintainer>
48 + <maintainer type="person" proxied="proxy">
49 + <email>sam@g.o</email>
50 + <name>Sam James</name>
51 + </maintainer>
52 + <upstream>
53 + <bugs-to>https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues</bugs-to>
54 + <changelog>https://gitlab.freedesktop.org/pipewire/wireplumber/-/releases</changelog>
55 + <!--doc>https://gitlab.freedesktop.org/pipewire/wireplumber/-/wikis/home</doc-->
56 + </upstream>
57 +</pkgmetadata>
58
59 diff --git a/media-video/wireplumber/wireplumber-0.4.2.ebuild b/media-video/wireplumber/wireplumber-0.4.2.ebuild
60 new file mode 100644
61 index 00000000000..802558549d7
62 --- /dev/null
63 +++ b/media-video/wireplumber/wireplumber-0.4.2.ebuild
64 @@ -0,0 +1,78 @@
65 +# Copyright 1999-2021 Gentoo Authors
66 +# Distributed under the terms of the GNU General Public License v2
67 +
68 +EAPI=7
69 +
70 +LUA_COMPAT=( lua5-{3,4} )
71 +
72 +inherit lua-single meson systemd
73 +
74 +if [[ ${PV} == 9999 ]]; then
75 + EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git"
76 + EGIT_BRANCH="master"
77 + inherit git-r3
78 +else
79 + SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.gz"
80 + KEYWORDS="~amd64"
81 +fi
82 +
83 +DESCRIPTION="Replacement for pipewire-media-session"
84 +HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber"
85 +
86 +LICENSE="MIT"
87 +SLOT="0/0.4"
88 +IUSE="systemd"
89 +
90 +REQUIRED_USE="${LUA_REQUIRED_USE}"
91 +
92 +# introspection? ( dev-libs/gobject-introspection ) is valid but likely only used for doc building
93 +BDEPEND="
94 + dev-libs/glib
95 + dev-util/gdbus-codegen
96 + dev-util/glib-utils
97 +"
98 +
99 +DEPEND="
100 + ${LUA_DEPS}
101 + >=dev-libs/glib-2.62
102 + >=media-video/pipewire-0.3.26
103 + virtual/libc
104 + systemd? ( sys-apps/systemd )
105 +"
106 +
107 +# Any dev-lua/* deps get declared like this inside RDEPEND:
108 +# $(lua_gen_cond_dep '
109 +# dev-lua/<NAME>[${LUA_USEDEP}]
110 +# ')
111 +RDEPEND="${DEPEND}"
112 +
113 +DOCS=( {NEWS,README}.rst )
114 +
115 +src_configure() {
116 + local emesonargs=(
117 + -Dintrospection=disabled # Only used for Sphinx doc generation
118 + -Dsystem-lua=true # We always unbundle everything we can
119 + -Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version))
120 + $(meson_feature systemd)
121 + -Dsystemd-system-service=false # Matches upstream
122 + $(meson_use systemd systemd-user-service)
123 + -Dsystemd-system-unit-dir=$(systemd_get_systemunitdir)
124 + -Dsystemd-user-unit-dir=$(systemd_get_userunitdir)
125 + )
126 +
127 + meson_src_configure
128 +}
129 +
130 +pkg_postinst() {
131 + if systemd_is_booted ; then
132 + elog "To replace media-session with WirePlumber immediately:"
133 + elog "systemctl --user disable --now pipewire-media-session.service"
134 + elog "systemctl --user enable --now wireplumber.service"
135 + else
136 + elog "OpenRC users need to copy ${EROOT}/usr/share/pipewire/pipewire.conf"
137 + elog "to ${EROOT}/etc/pipewire/pipewire.conf and in it replace"
138 + elog "${EROOT}/usr/bin/pipewire-media-session with ${EROOT}/usr/bin/wireplumber"
139 + elog "The switch to WirePlumber will happen the next time pipewire is started."
140 + fi
141 + elog
142 +}
143
144 diff --git a/media-video/wireplumber/wireplumber-9999.ebuild b/media-video/wireplumber/wireplumber-9999.ebuild
145 new file mode 100644
146 index 00000000000..802558549d7
147 --- /dev/null
148 +++ b/media-video/wireplumber/wireplumber-9999.ebuild
149 @@ -0,0 +1,78 @@
150 +# Copyright 1999-2021 Gentoo Authors
151 +# Distributed under the terms of the GNU General Public License v2
152 +
153 +EAPI=7
154 +
155 +LUA_COMPAT=( lua5-{3,4} )
156 +
157 +inherit lua-single meson systemd
158 +
159 +if [[ ${PV} == 9999 ]]; then
160 + EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git"
161 + EGIT_BRANCH="master"
162 + inherit git-r3
163 +else
164 + SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.gz"
165 + KEYWORDS="~amd64"
166 +fi
167 +
168 +DESCRIPTION="Replacement for pipewire-media-session"
169 +HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber"
170 +
171 +LICENSE="MIT"
172 +SLOT="0/0.4"
173 +IUSE="systemd"
174 +
175 +REQUIRED_USE="${LUA_REQUIRED_USE}"
176 +
177 +# introspection? ( dev-libs/gobject-introspection ) is valid but likely only used for doc building
178 +BDEPEND="
179 + dev-libs/glib
180 + dev-util/gdbus-codegen
181 + dev-util/glib-utils
182 +"
183 +
184 +DEPEND="
185 + ${LUA_DEPS}
186 + >=dev-libs/glib-2.62
187 + >=media-video/pipewire-0.3.26
188 + virtual/libc
189 + systemd? ( sys-apps/systemd )
190 +"
191 +
192 +# Any dev-lua/* deps get declared like this inside RDEPEND:
193 +# $(lua_gen_cond_dep '
194 +# dev-lua/<NAME>[${LUA_USEDEP}]
195 +# ')
196 +RDEPEND="${DEPEND}"
197 +
198 +DOCS=( {NEWS,README}.rst )
199 +
200 +src_configure() {
201 + local emesonargs=(
202 + -Dintrospection=disabled # Only used for Sphinx doc generation
203 + -Dsystem-lua=true # We always unbundle everything we can
204 + -Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version))
205 + $(meson_feature systemd)
206 + -Dsystemd-system-service=false # Matches upstream
207 + $(meson_use systemd systemd-user-service)
208 + -Dsystemd-system-unit-dir=$(systemd_get_systemunitdir)
209 + -Dsystemd-user-unit-dir=$(systemd_get_userunitdir)
210 + )
211 +
212 + meson_src_configure
213 +}
214 +
215 +pkg_postinst() {
216 + if systemd_is_booted ; then
217 + elog "To replace media-session with WirePlumber immediately:"
218 + elog "systemctl --user disable --now pipewire-media-session.service"
219 + elog "systemctl --user enable --now wireplumber.service"
220 + else
221 + elog "OpenRC users need to copy ${EROOT}/usr/share/pipewire/pipewire.conf"
222 + elog "to ${EROOT}/etc/pipewire/pipewire.conf and in it replace"
223 + elog "${EROOT}/usr/bin/pipewire-media-session with ${EROOT}/usr/bin/wireplumber"
224 + elog "The switch to WirePlumber will happen the next time pipewire is started."
225 + fi
226 + elog
227 +}
228
229 diff --git a/profiles/targets/desktop/package.use b/profiles/targets/desktop/package.use
230 index 94c1b5d773e..65d0afd8ce3 100644
231 --- a/profiles/targets/desktop/package.use
232 +++ b/profiles/targets/desktop/package.use
233 @@ -3,7 +3,7 @@
234
235 # Niklāvs Koļesņikovs <89q1r14hd@×××××××××××××.com> (2021-09-13)
236 # WirePlumber obligatory links and embeds either Lua 5.3 or 5.4
237 -# interpreter with the later being the upstream default.
238 +# interpreter with the latter being the upstream default.
239 media-video/wireplumber lua_single_target_lua5-4
240
241 # Marek Szuba <marecki@g.o> (2020-12-24)