From c981623a91e2d7713086882486935db8fdaba87f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
Date: Fri, 1 May 2015 13:46:29 +0000
Subject: [PATCH] main/gst-plugins-base0.10: fix build on x86

---
 main/gst-plugins-base0.10/APKBUILD  | 19 +++++++++++---
 main/gst-plugins-base0.10/sse.patch | 40 +++++++++++++++++++++++++++++
 2 files changed, 56 insertions(+), 3 deletions(-)
 create mode 100644 main/gst-plugins-base0.10/sse.patch

diff --git a/main/gst-plugins-base0.10/APKBUILD b/main/gst-plugins-base0.10/APKBUILD
index f0ba969e2bb5..733d13ceab4a 100644
--- a/main/gst-plugins-base0.10/APKBUILD
+++ b/main/gst-plugins-base0.10/APKBUILD
@@ -1,7 +1,7 @@
 # Maintainer: Natanael Copa <ncopa@alpinelinux.org>
 pkgname=gst-plugins-base0.10
 pkgver=0.10.36
-pkgrel=0
+pkgrel=1
 pkgdesc="GStreamer Multimedia Framework Base Plugins"
 url="http://gstreamer.freedesktop.org/"
 arch="all"
@@ -13,7 +13,8 @@ depends_dev="gstreamer0.10-dev"
 makedepends="$depends_dev alsa-lib-dev libvorbis-dev liboil-dev
 	perl libogg-dev gtk+-dev libtheora-dev libice-dev libsm-dev libxv-dev
 	util-linux-dev expat-dev"
-source="http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-$pkgver.tar.bz2"
+source="http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-$pkgver.tar.bz2
+	sse.patch"
 
 	
 _builddir="$srcdir"/gst-plugins-base-$pkgver
@@ -23,6 +24,13 @@ prepare() {
 	update_config_sub || return 1
 	# fix building with gnu make 3.82
 	find -name Makefile.in | xargs sed -i -e "s/^        /\t/" || return 1
+
+	local i
+	for i in $source; do
+		case $i in
+		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+		esac
+	done
 }
 
 build() {
@@ -51,4 +59,9 @@ package() {
 		"$pkgdir"/usr/lib/gstreamer*/*.a
 }
 
-md5sums="776c73883e567f67b9c4a2847d8d041a  gst-plugins-base-0.10.36.tar.bz2"
+md5sums="776c73883e567f67b9c4a2847d8d041a  gst-plugins-base-0.10.36.tar.bz2
+54f5edb753e02df1a54e99fbf1fc55ce  sse.patch"
+sha256sums="2cd3b0fa8e9b595db8f514ef7c2bdbcd639a0d63d154c00f8c9b609321f49976  gst-plugins-base-0.10.36.tar.bz2
+2c509252f103847a85c4a64d1d4519ab521d8f0021400cc7ebcf725fc5584a0d  sse.patch"
+sha512sums="881845d3e3cca18028904ac724d529aa3e12b682dba024df1ab6824abcdfaa1c09827809a2df4cb7c3a7908807a3da24b29f29ed6baf85371143c035ce65a1d5  gst-plugins-base-0.10.36.tar.bz2
+e910ca3033223d4ffa7af6f89a541b6b0bb2d4d6cf1ca53c49dc00c2b187be9592840c8906a79c54147ecb244a0c3664b75e704c76da14cf7be63a188dad7f12  sse.patch"
diff --git a/main/gst-plugins-base0.10/sse.patch b/main/gst-plugins-base0.10/sse.patch
new file mode 100644
index 000000000000..a1109ac67173
--- /dev/null
+++ b/main/gst-plugins-base0.10/sse.patch
@@ -0,0 +1,40 @@
+From daa194b71ea6f9e8ee522ab02e8c56150b7e62b3 Mon Sep 17 00:00:00 2001
+From: Antoine Jacoutot <ajacoutot@gnome.org>
+Date: Mon, 20 Jan 2014 15:44:09 +0100
+Subject: audioresample: Fix build on x86 if emmintrin.h is available but can't
+ be used
+
+On i386, EMMINTRIN is defined but not usable without SSE so check for
+__SSE__ and __SSE2__ as well.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=670690
+
+From 4e3d101aa854cfee633a9689efeb75e5001baa5e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
+Date: Mon, 20 Jan 2014 16:11:04 +0100
+Subject: audioresample: It's HAVE_EMMINTRIN_H, not HAVE_XMMINTRIN_H for SSE2
+
+
+diff --git a/gst/audioresample/resample.c b/gst/audioresample/resample.c
+index 98d006c..481fa01 100644
+--- a/gst/audioresample/resample.c
++++ b/gst/audioresample/resample.c
+@@ -77,13 +77,13 @@
+ #define EXPORT G_GNUC_INTERNAL
+ 
+ #ifdef _USE_SSE
+-#ifndef HAVE_XMMINTRIN_H
++#if !defined(__SSE__) || !defined(HAVE_XMMINTRIN_H)
+ #undef _USE_SSE
+ #endif
+ #endif
+ 
+ #ifdef _USE_SSE2
+-#ifndef HAVE_EMMINTRIN_H
++#if !defined(__SSE2__) || !defined(HAVE_EMMINTRIN_H)
+ #undef _USE_SSE2
+ #endif
+ #endif
+-- 
+cgit v0.10.2
+
-- 
GitLab