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) \ |