1 |
commit: 3a9e9e241e735eb9cd1a8bfe1340e8665ccd3680 |
2 |
Author: WANG Xuerui <xen0n <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed May 18 05:50:26 2022 +0000 |
4 |
Commit: WANG Xuerui <xen0n <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed May 18 05:50:44 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3a9e9e24 |
7 |
|
8 |
media-libs/gstreamer: fix build on loong |
9 |
|
10 |
Signed-off-by: WANG Xuerui <xen0n <AT> gentoo.org> |
11 |
|
12 |
.../gstreamer/files/gstreamer-1.20-loong.patch | 28 ++++++++++++++++++++++ |
13 |
media-libs/gstreamer/gstreamer-1.20.2.ebuild | 4 ++++ |
14 |
2 files changed, 32 insertions(+) |
15 |
|
16 |
diff --git a/media-libs/gstreamer/files/gstreamer-1.20-loong.patch b/media-libs/gstreamer/files/gstreamer-1.20-loong.patch |
17 |
new file mode 100644 |
18 |
index 000000000000..833c217ca829 |
19 |
--- /dev/null |
20 |
+++ b/media-libs/gstreamer/files/gstreamer-1.20-loong.patch |
21 |
@@ -0,0 +1,28 @@ |
22 |
+https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2443, |
23 |
+with file path tweaked to suit dist tarball layout. |
24 |
+ |
25 |
+From: WANG Xuerui <xen0n@g.o> |
26 |
+Date: Wed, 18 May 2022 10:04:08 +0800 |
27 |
+Subject: [PATCH] gstreamer/gst/gstconfig.h.in: Add support for LoongArch |
28 |
+ |
29 |
+While current and future LoongArch machines that are supposed to run |
30 |
+GStreamer all support unaligned accesses, there might be future |
31 |
+lower-end cores (e.g. the embedded product line) without such support, |
32 |
+and we may not want to penalize these use cases. |
33 |
+ |
34 |
+So, mark LoongArch as not supporting unaligned accesses for now, and |
35 |
+hope the compilers do a good job optimizing them. We can always flip |
36 |
+switch later. |
37 |
+ |
38 |
+Suggested-by: CHEN Tao <redeast_cn@×××××××.com> |
39 |
+--- a/gst/gstconfig.h.in |
40 |
++++ b/gst/gstconfig.h.in |
41 |
+@@ -124,7 +124,7 @@ |
42 |
+ * http://docs.oracle.com/cd/E19205-01/820-4155/c++_faq.html#Vers6 |
43 |
+ * https://software.intel.com/en-us/node/583402 |
44 |
+ */ |
45 |
+-#if defined(__alpha__) || defined(__arc__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__nios2__) || defined(__MICROBLAZE__) || defined(__mips__) || defined(__or1k__) || defined(__sh__) || defined(__SH4__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_ARM64) || defined(_M_IA64) || defined(__xtensa__) || defined(__e2k__) || defined(__riscv) || defined(__ARC64__) |
46 |
++#if defined(__alpha__) || defined(__arc__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__nios2__) || defined(__MICROBLAZE__) || defined(__mips__) || defined(__or1k__) || defined(__sh__) || defined(__SH4__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_ARM64) || defined(_M_IA64) || defined(__xtensa__) || defined(__e2k__) || defined(__riscv) || defined(__ARC64__) || defined(__loongarch__) |
47 |
+ # define GST_HAVE_UNALIGNED_ACCESS 0 |
48 |
+ #elif defined(__i386__) || defined(__i386) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__ppc__) || defined(__ppc64__) || defined(__powerpc__) || defined(__powerpc64__) || defined(__m68k__) || defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || defined(__s390__) || defined(__s390x__) || defined(__zarch__) |
49 |
+ # define GST_HAVE_UNALIGNED_ACCESS 1 |
50 |
|
51 |
diff --git a/media-libs/gstreamer/gstreamer-1.20.2.ebuild b/media-libs/gstreamer/gstreamer-1.20.2.ebuild |
52 |
index ef777a56fe5a..9372a822f7e7 100644 |
53 |
--- a/media-libs/gstreamer/gstreamer-1.20.2.ebuild |
54 |
+++ b/media-libs/gstreamer/gstreamer-1.20.2.ebuild |
55 |
@@ -33,6 +33,10 @@ BDEPEND=" |
56 |
|
57 |
DOCS=( AUTHORS ChangeLog NEWS MAINTAINERS README.md RELEASE ) |
58 |
|
59 |
+PATCHES=( |
60 |
+ "${FILESDIR}/${PN}-1.20-loong.patch" |
61 |
+) |
62 |
+ |
63 |
multilib_src_configure() { |
64 |
local emesonargs=( |
65 |
-Dbenchmarks=disabled |