git » vlc.git » commit da44796

Lua 5.3 rebuild.

author Evangelos Foutras
2015-05-11 23:52:06 UTC
committer Evangelos Foutras
2015-05-11 23:52:06 UTC
parent 96439f3e382e970be71fe86349b814b6d921a388

Lua 5.3 rebuild.

PKGBUILD +8 -1
vlc-gcc5-sse-target-workaround.patch +12 -0

diff --git a/PKGBUILD b/PKGBUILD
index aa14a12..345637a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,7 +4,7 @@
 
 pkgname=vlc
 pkgver=2.2.1
-pkgrel=3
+pkgrel=4
 pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player"
 arch=('i686' 'x86_64')
 url="http://www.videolan.org/vlc/"
@@ -57,8 +57,10 @@ backup=('usr/share/vlc/lua/http/.hosts'
 options=('!emptydirs')
 install=vlc.install
 source=("http://download.videolan.org/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.xz"
+        "vlc-gcc5-sse-target-workaround.patch"
         "lua53_compat.patch")
 md5sums=('42273945758b521c408fabc7fd6d9946'
+         'cf5b92e290da2f1b0b4d0cd0eda6b32b'
          '96d3b346d9149ffb1b430066dfb6249a')
 
 prepare() {
@@ -67,6 +69,11 @@ prepare() {
   sed -i -e 's:truetype/freefont:TTF:g' modules/text_renderer/freetype.c
   sed -i -e 's:truetype/ttf-dejavu:TTF:g' modules/visualization/projectm.cpp
 
+  # Fix build with GCC 5 on i686
+  # GCC PR URL: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66047
+  # Workaround: https://bugzilla.redhat.com/show_bug.cgi?id=1215630#c11
+  patch -p1 < "${srcdir}/vlc-gcc5-sse-target-workaround.patch"
+
   patch -p1 < "${srcdir}/lua53_compat.patch"
 }
 
diff --git a/vlc-gcc5-sse-target-workaround.patch b/vlc-gcc5-sse-target-workaround.patch
new file mode 100644
index 0000000..507fb2c
--- /dev/null
+++ b/vlc-gcc5-sse-target-workaround.patch
@@ -0,0 +1,12 @@
+diff -upr vlc-2.2.1.orig/include/vlc_cpu.h vlc-2.2.1/include/vlc_cpu.h
+--- vlc-2.2.1.orig/include/vlc_cpu.h	2014-06-14 18:14:12.000000000 +0300
++++ vlc-2.2.1/include/vlc_cpu.h	2015-05-12 02:31:29.843264593 +0300
+@@ -65,7 +65,7 @@ VLC_API unsigned vlc_CPU(void);
+ #  define vlc_CPU_MMXEXT() ((vlc_CPU() & VLC_CPU_MMXEXT) != 0)
+ #  define vlc_CPU_SSE() ((vlc_CPU() & VLC_CPU_SSE) != 0)
+ #  if VLC_GCC_VERSION(4, 4) || defined(__clang__)
+-#   define VLC_SSE __attribute__ ((__target__ ("sse")))
++#   define VLC_SSE __attribute__ ((used)) __attribute__ ((__target__ ("sse")))
+ #  else
+ #   define VLC_SSE VLC_SSE_is_not_implemented_on_this_compiler
+ #  endif