Gentoo Archives: gentoo-commits

From: Mart Raudsepp <leio@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/gst-plugins-base/
Date: Sat, 27 Jan 2018 03:30:35
Message-Id: 1517023760.ba018ae41ad2ef5b0bc78ad9a93d1dc982522be0.leio@gentoo
1 commit: ba018ae41ad2ef5b0bc78ad9a93d1dc982522be0
2 Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jan 26 23:33:35 2018 +0000
4 Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
5 CommitDate: Sat Jan 27 03:29:20 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba018ae4
7
8 media-libs/gst-plugins-base: filter out -mno-sse* flags that break introspection build
9
10 People who copy-paste the whole -march=native meaning out in full detail from the
11 various commands that give the equivalent face issues with the build here, because
12 the build system adds -msse4.1 and other flags explicitly itself to build runtime
13 tested SSE accelerated code, which doesn't get used if the runtime CPU doesn't
14 support them. Because of CFLAGS ordering of -mno-sse4.1 from make.conf and -msse4.1
15 from gst-plugins-base configure, and apparently slightly different flags used for
16 introspection generation, this ends up with introspection build thinking the SSE
17 specific symbols are there, while they actually aren't.
18
19 People who do this copy-pasting, really shouldn't be copying it all over verbatim,
20 especially the -mno-* flags, which are redundant in the usual situation (the
21 specific -march= probably doesn't enable them, so no need to -mno them), but causes
22 issues for such specific runtime checked optimizations.
23 Because we have a concrete list of instruction set flags in configure.ac that we'd
24 hit the issue with when the opposite -mno is present in CFLAGS, be nice to these
25 users by explicitly filtering out these redundant flags.
26 I think there's still something to fix in an upstream patch instead (the different
27 flags between library and introspection build?) , hence leaving the bug open for
28 the time being still.
29
30 Bug: https://bugs.gentoo.org/610340
31 Package-Manager: Portage-2.3.19, Repoman-2.3.6
32
33 media-libs/gst-plugins-base/gst-plugins-base-1.12.4.ebuild | 4 +++-
34 1 file changed, 3 insertions(+), 1 deletion(-)
35
36 diff --git a/media-libs/gst-plugins-base/gst-plugins-base-1.12.4.ebuild b/media-libs/gst-plugins-base/gst-plugins-base-1.12.4.ebuild
37 index 56e9e237fd9..15e6288957d 100644
38 --- a/media-libs/gst-plugins-base/gst-plugins-base-1.12.4.ebuild
39 +++ b/media-libs/gst-plugins-base/gst-plugins-base-1.12.4.ebuild
40 @@ -4,7 +4,7 @@
41 EAPI=6
42 GST_ORG_MODULE="gst-plugins-base"
43
44 -inherit ltprune gstreamer
45 +inherit flag-o-matic ltprune gstreamer
46
47 DESCRIPTION="Basepack of plugins for gstreamer"
48 HOMEPAGE="https://gstreamer.freedesktop.org/"
49 @@ -47,6 +47,8 @@ DEPEND="${RDEPEND}
50 RDEPEND+="!<media-libs/gst-plugins-bad-1.11.90:1.0" # rawparse move
51
52 multilib_src_configure() {
53 + filter-flags -mno-sse -mno-sse2 -mno-sse4.1 #610340
54 +
55 gstreamer_multilib_src_configure \
56 $(use_enable alsa) \
57 $(multilib_native_use_enable introspection) \