[gstreamer1-plugins-base] Add upstream patch to fix build on aarch64

Peter Robinson pbrobinson at fedoraproject.org
Mon Jan 13 11:44:11 UTC 2014


commit bd24185256a49357bd49942fc6edd5213850ac4e
Author: Peter Robinson <pbrobinson at gmail.com>
Date:   Mon Jan 13 11:44:14 2014 +0000

    Add upstream patch to fix build on aarch64

 0001-aarch64-neon.patch      |   34 ++++++++++++++++++++++++++++++++++
 gstreamer1-plugins-base.spec |    8 +++++++-
 2 files changed, 41 insertions(+), 1 deletions(-)
---
diff --git a/0001-aarch64-neon.patch b/0001-aarch64-neon.patch
new file mode 100644
index 0000000..5a13a5b
--- /dev/null
+++ b/0001-aarch64-neon.patch
@@ -0,0 +1,34 @@
+From ad090272c831b5c62f0b310c776e76e3b1ffc88d Mon Sep 17 00:00:00 2001
+From: Iain Lane <iain.lane at canonical.com>
+Date: Fri, 15 Nov 2013 14:17:03 +0000
+Subject: [PATCH] Prevent the NEON check in configure from passing under
+ aarch64.
+
+The test verifies that the NEON C intrinsics work, but the rest of the
+codebase uses lots of direct ARMv7 NEON assembly. The same intrinsics
+work in A64, but the assembly is slightly different.
+
+Prevent the check from passing so that we don't use this where it won't
+work.
+
+Patch originally by William Grant <wgrant at ubuntu.com>
+
+https://bugzilla.gnome.org/show_bug.cgi?id=712367
+---
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure.ac b/configure.ac
+index e5c223f..0495371 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -190,6 +190,7 @@ AC_LINK_IFELSE([
+ AC_LANG_PROGRAM([[
+   #include <arm_neon.h>
+   int32x4_t testfunc(int16_t *a, int16_t *b) {
++      asm volatile ("vmull.s16 q0, d0, d0" : : : "q0");
+       return vmull_s16(vld1_s16(a), vld1_s16(b));
+   }
+ ]])],
+-- 
+1.8.4.3
diff --git a/gstreamer1-plugins-base.spec b/gstreamer1-plugins-base.spec
index 8c6f9b9..b34ca43 100644
--- a/gstreamer1-plugins-base.spec
+++ b/gstreamer1-plugins-base.spec
@@ -2,13 +2,15 @@
 
 Name:           gstreamer1-plugins-base
 Version:        1.2.2
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        GStreamer streaming media framework base plugins
 
 License:        LGPLv2+
 URL:            http://gstreamer.freedesktop.org/
 Source0:        http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-%{version}.tar.xz
 Patch0:         0001-missing-plugins-Remove-the-mpegaudioversion-field.patch
+# https://bugzilla.gnome.org/show_bug.cgi?id=712367
+Patch1:         0001-aarch64-neon.patch
 
 BuildRequires:  gstreamer1-devel >= %{version}
 BuildRequires:  gobject-introspection-devel >= 1.31.1
@@ -87,6 +89,7 @@ for the GStreamer Base Plugins library.
 %prep
 %setup -q -n gst-plugins-base-%{version}
 %patch0 -p1
+%patch1 -p1 -b .aarch64
 
 
 %build
@@ -350,6 +353,9 @@ chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gst-discoverer-1.0
 
 
 %changelog
+* Mon Jan 13 2014 Peter Robinson <pbrobinson at fedoraproject.org> 1.2.2-2
+- Add upstream patch to fix build on aarch64
+
 * Fri Dec 27 2013 Brian Pepple <bpepple at fedoraproject.org> - 1.2.2-1
 - Update to 1.2.2.
 


More information about the scm-commits mailing list