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/dav1d/, media-libs/dav1d/files/
Date: Sun, 31 Oct 2021 03:39:43
Message-Id: 1635651572.647a8643d2941d4f20a6cb2b4799fc35bbc26c36.sam@gentoo
1 commit: 647a8643d2941d4f20a6cb2b4799fc35bbc26c36
2 Author: Francisco Javier Félix <web <AT> inode64 <DOT> com>
3 AuthorDate: Mon Oct 18 06:57:28 2021 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Sun Oct 31 03:39:32 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=647a8643
7
8 media-libs/dav1d: fix build, support xxhash
9
10 * Require minimum nasm 2.15.05
11 * Disable test by default
12 * Fix build, see bug https://code.videolan.org/videolan/dav1d/-/issues/370 and
13 patch https://code.videolan.org/videolan/dav1d/-/commit/c6a08b3aa1ee99dade53e5e32033bc1d14455a22
14 the same problem with versions of gcc 10.3.0 and gcc 11.2.0, from dav1d 0.8.2 to 0.9.2.
15
16 Closes: https://bugs.gentoo.org/738726
17 Closes: https://bugs.gentoo.org/791544
18 Package-Manager: Portage-3.0.20, Repoman-3.0.3
19 Signed-off-by: INODE64 <ffelix <AT> inode64.com>
20 Closes: https://github.com/gentoo/gentoo/pull/22621
21 Signed-off-by: Sam James <sam <AT> gentoo.org>
22
23 media-libs/dav1d/dav1d-0.8.2.ebuild | 12 ++++++--
24 media-libs/dav1d/dav1d-0.9.0.ebuild | 12 ++++++--
25 media-libs/dav1d/dav1d-0.9.1.ebuild | 12 ++++++--
26 media-libs/dav1d/dav1d-0.9.2.ebuild | 12 ++++++--
27 media-libs/dav1d/dav1d-9999.ebuild | 11 ++++++--
28 ...id-meson-s-symbols_have_underscore_prefix.patch | 32 ++++++++++++++++++++++
29 media-libs/dav1d/metadata.xml | 1 +
30 7 files changed, 77 insertions(+), 15 deletions(-)
31
32 diff --git a/media-libs/dav1d/dav1d-0.8.2.ebuild b/media-libs/dav1d/dav1d-0.8.2.ebuild
33 index 69f48374833..caaf9cb8784 100644
34 --- a/media-libs/dav1d/dav1d-0.8.2.ebuild
35 +++ b/media-libs/dav1d/dav1d-0.8.2.ebuild
36 @@ -19,15 +19,19 @@ HOMEPAGE="https://code.videolan.org/videolan/dav1d"
37
38 LICENSE="BSD-2"
39 SLOT="0/5"
40 -IUSE="+8bit +10bit +asm"
41 +IUSE="+8bit +10bit +asm test xxhash"
42 +RESTRICT="!test? ( test )"
43
44 -ASM_DEPEND=">=dev-lang/nasm-2.14.02"
45 +ASM_DEPEND=">=dev-lang/nasm-2.15.05"
46 BDEPEND="asm? (
47 abi_x86_32? ( ${ASM_DEPEND} )
48 abi_x86_64? ( ${ASM_DEPEND} )
49 - )"
50 + )
51 + xxhash? ( dev-libs/xxhash )
52 + "
53
54 DOCS=( README.md doc/PATENTS THANKS.md )
55 +PATCHES=( "${FILESDIR}"/build-avoid-meson-s-symbols_have_underscore_prefix.patch )
56
57 multilib_src_configure() {
58 local -a bits=()
59 @@ -44,6 +48,8 @@ multilib_src_configure() {
60 local emesonargs=(
61 -D bitdepths=$(IFS=,; echo "${bits[*]}")
62 -D enable_asm=${enable_asm}
63 + -D enable_tests=$(usex test true false)
64 + -D xxhash_muxer=$(usex xxhash enabled disabled)
65 )
66 meson_src_configure
67 }
68
69 diff --git a/media-libs/dav1d/dav1d-0.9.0.ebuild b/media-libs/dav1d/dav1d-0.9.0.ebuild
70 index ae26cc566f3..f111b62346e 100644
71 --- a/media-libs/dav1d/dav1d-0.9.0.ebuild
72 +++ b/media-libs/dav1d/dav1d-0.9.0.ebuild
73 @@ -19,15 +19,19 @@ HOMEPAGE="https://code.videolan.org/videolan/dav1d"
74
75 LICENSE="BSD-2"
76 SLOT="0/5"
77 -IUSE="+8bit +10bit +asm"
78 +IUSE="+8bit +10bit +asm test xxhash"
79 +RESTRICT="!test? ( test )"
80
81 -ASM_DEPEND=">=dev-lang/nasm-2.14.02"
82 +ASM_DEPEND=">=dev-lang/nasm-2.15.05"
83 BDEPEND="asm? (
84 abi_x86_32? ( ${ASM_DEPEND} )
85 abi_x86_64? ( ${ASM_DEPEND} )
86 - )"
87 + )
88 + xxhash? ( dev-libs/xxhash )
89 + "
90
91 DOCS=( README.md doc/PATENTS THANKS.md )
92 +PATCHES=( "${FILESDIR}"/build-avoid-meson-s-symbols_have_underscore_prefix.patch )
93
94 multilib_src_configure() {
95 local -a bits=()
96 @@ -44,6 +48,8 @@ multilib_src_configure() {
97 local emesonargs=(
98 -D bitdepths=$(IFS=,; echo "${bits[*]}")
99 -D enable_asm=${enable_asm}
100 + -D enable_tests=$(usex test true false)
101 + -D xxhash_muxer=$(usex xxhash enabled disabled)
102 )
103 meson_src_configure
104 }
105
106 diff --git a/media-libs/dav1d/dav1d-0.9.1.ebuild b/media-libs/dav1d/dav1d-0.9.1.ebuild
107 index 7dedeea1b79..f7ae3e3273b 100644
108 --- a/media-libs/dav1d/dav1d-0.9.1.ebuild
109 +++ b/media-libs/dav1d/dav1d-0.9.1.ebuild
110 @@ -19,15 +19,19 @@ HOMEPAGE="https://code.videolan.org/videolan/dav1d"
111
112 LICENSE="BSD-2"
113 SLOT="0/5"
114 -IUSE="+8bit +10bit +asm"
115 +IUSE="+8bit +10bit +asm test xxhash"
116 +RESTRICT="!test? ( test )"
117
118 -ASM_DEPEND=">=dev-lang/nasm-2.14.02"
119 +ASM_DEPEND=">=dev-lang/nasm-2.15.05"
120 BDEPEND="asm? (
121 abi_x86_32? ( ${ASM_DEPEND} )
122 abi_x86_64? ( ${ASM_DEPEND} )
123 - )"
124 + )
125 + xxhash? ( dev-libs/xxhash )
126 + "
127
128 DOCS=( README.md doc/PATENTS THANKS.md )
129 +PATCHES=( "${FILESDIR}"/build-avoid-meson-s-symbols_have_underscore_prefix.patch )
130
131 multilib_src_configure() {
132 local -a bits=()
133 @@ -44,6 +48,8 @@ multilib_src_configure() {
134 local emesonargs=(
135 -D bitdepths=$(IFS=,; echo "${bits[*]}")
136 -D enable_asm=${enable_asm}
137 + -D enable_tests=$(usex test true false)
138 + -D xxhash_muxer=$(usex xxhash enabled disabled)
139 )
140 meson_src_configure
141 }
142
143 diff --git a/media-libs/dav1d/dav1d-0.9.2.ebuild b/media-libs/dav1d/dav1d-0.9.2.ebuild
144 index 850f1843db9..fb91a0e8cc7 100644
145 --- a/media-libs/dav1d/dav1d-0.9.2.ebuild
146 +++ b/media-libs/dav1d/dav1d-0.9.2.ebuild
147 @@ -19,15 +19,19 @@ HOMEPAGE="https://code.videolan.org/videolan/dav1d"
148
149 LICENSE="BSD-2"
150 SLOT="0/5"
151 -IUSE="+8bit +10bit +asm"
152 +IUSE="+8bit +10bit +asm test xxhash"
153 +RESTRICT="!test? ( test )"
154
155 -ASM_DEPEND=">=dev-lang/nasm-2.14.02"
156 +ASM_DEPEND=">=dev-lang/nasm-2.15.05"
157 BDEPEND="asm? (
158 abi_x86_32? ( ${ASM_DEPEND} )
159 abi_x86_64? ( ${ASM_DEPEND} )
160 - )"
161 + )
162 + xxhash? ( dev-libs/xxhash )
163 + "
164
165 DOCS=( README.md doc/PATENTS THANKS.md )
166 +PATCHES=( "${FILESDIR}"/build-avoid-meson-s-symbols_have_underscore_prefix.patch )
167
168 multilib_src_configure() {
169 local -a bits=()
170 @@ -44,6 +48,8 @@ multilib_src_configure() {
171 local emesonargs=(
172 -D bitdepths=$(IFS=,; echo "${bits[*]}")
173 -D enable_asm=${enable_asm}
174 + -D enable_tests=$(usex test true false)
175 + -D xxhash_muxer=$(usex xxhash enabled disabled)
176 )
177 meson_src_configure
178 }
179
180 diff --git a/media-libs/dav1d/dav1d-9999.ebuild b/media-libs/dav1d/dav1d-9999.ebuild
181 index 850f1843db9..c0d92e63904 100644
182 --- a/media-libs/dav1d/dav1d-9999.ebuild
183 +++ b/media-libs/dav1d/dav1d-9999.ebuild
184 @@ -19,13 +19,16 @@ HOMEPAGE="https://code.videolan.org/videolan/dav1d"
185
186 LICENSE="BSD-2"
187 SLOT="0/5"
188 -IUSE="+8bit +10bit +asm"
189 +IUSE="+8bit +10bit +asm test xxhash"
190 +RESTRICT="!test? ( test )"
191
192 -ASM_DEPEND=">=dev-lang/nasm-2.14.02"
193 +ASM_DEPEND=">=dev-lang/nasm-2.15.05"
194 BDEPEND="asm? (
195 abi_x86_32? ( ${ASM_DEPEND} )
196 abi_x86_64? ( ${ASM_DEPEND} )
197 - )"
198 + )
199 + xxhash? ( dev-libs/xxhash )
200 + "
201
202 DOCS=( README.md doc/PATENTS THANKS.md )
203
204 @@ -44,6 +47,8 @@ multilib_src_configure() {
205 local emesonargs=(
206 -D bitdepths=$(IFS=,; echo "${bits[*]}")
207 -D enable_asm=${enable_asm}
208 + -D enable_tests=$(usex test true false)
209 + -D xxhash_muxer=$(usex xxhash enabled disabled)
210 )
211 meson_src_configure
212 }
213
214 diff --git a/media-libs/dav1d/files/build-avoid-meson-s-symbols_have_underscore_prefix.patch b/media-libs/dav1d/files/build-avoid-meson-s-symbols_have_underscore_prefix.patch
215 new file mode 100644
216 index 00000000000..8a9b1e86eff
217 --- /dev/null
218 +++ b/media-libs/dav1d/files/build-avoid-meson-s-symbols_have_underscore_prefix.patch
219 @@ -0,0 +1,32 @@
220 +From c6a08b3aa1ee99dade53e5e32033bc1d14455a22 Mon Sep 17 00:00:00 2001
221 +From: Janne Grunau <janne-vlc@××××××.net>
222 +Date: Tue, 21 Sep 2021 09:30:14 +0200
223 +Subject: [PATCH 1/5] build: avoid meson's symbols_have_underscore_prefix
224 +
225 +Meson's dynamic check is unreliable when additional compiler flags are
226 +passed via CFLAGS. For example '-fprofile-instr-generate' in oss-fuzz'
227 +coverage build. Fixes #370.
228 +---
229 + meson.build | 6 +++++-
230 + 1 file changed, 5 insertions(+), 1 deletion(-)
231 +
232 +diff --git a/meson.build b/meson.build
233 +index 1bf69ab..1a7c409 100644
234 +--- a/meson.build
235 ++++ b/meson.build
236 +@@ -382,7 +382,11 @@ endif
237 +
238 + cdata.set10('ARCH_PPC64LE', host_machine.cpu() == 'ppc64le')
239 +
240 +-if cc.symbols_have_underscore_prefix()
241 ++# meson's cc.symbols_have_underscore_prefix() is unfortunately unrelieably
242 ++# when additional flags like '-fprofile-instr-generate' are passed via CFLAGS
243 ++# see following meson issue https://github.com/mesonbuild/meson/issues/5482
244 ++if (host_machine.system() == 'darwin' or
245 ++ (host_machine.system() == 'windows' and host_machine.cpu_family() == 'x86'))
246 + cdata.set10('PREFIX', true)
247 + cdata_asm.set10('PREFIX', true)
248 + endif
249 +--
250 +2.32.0
251 +
252
253 diff --git a/media-libs/dav1d/metadata.xml b/media-libs/dav1d/metadata.xml
254 index edef4df0c98..fbe7f555d99 100644
255 --- a/media-libs/dav1d/metadata.xml
256 +++ b/media-libs/dav1d/metadata.xml
257 @@ -8,6 +8,7 @@
258 <flag name="8bit">Add support for decoding 8-bit AV1.</flag>
259 <flag name="10bit">Add support for building 10-bit and 12-bit AV1.</flag>
260 <flag name="asm">Enable custom assembly for faster decoding.</flag>
261 + <flag name="xxhash">Enable <pkg>dev-libs/xxhash</pkg> support for hashing muxer</flag>
262 </use>
263 <upstream>
264 <bugs-to>https://code.videolan.org/videolan/dav1d/issues</bugs-to>