summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavorin Učakar2015-06-28 16:58:22 +0200
committerDavorin Učakar2015-06-28 16:58:22 +0200
commitd7607da5945534389c05227c7540b7f0b22a739a (patch)
treeb7bbb529d772242c5838fe0bb63e2955d5747792
parentb399052d8a7fd203f9ddcdbbb76c91dda4fd22cf (diff)
downloadaur-d7607da5945534389c05227c7540b7f0b22a739a.tar.gz
Fixed gcc5 issues
-rw-r--r--PKGBUILD14
-rw-r--r--gcc5.patch70
2 files changed, 81 insertions, 3 deletions
diff --git a/PKGBUILD b/PKGBUILD
index d990e209b7f0..a688658c0a44 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -8,15 +8,23 @@
pkgname=lib32-freeimage
pkgver=3.17.0
-pkgrel=1
+pkgrel=2
pkgdesc="Library project for developers who would like to support popular graphics image formats"
arch=('x86_64')
license=('GPL' 'custom:FIPL')
url="http://freeimage.sourceforge.net"
depends=('freeimage' 'lib32-gcc-libs')
makedepends=('gcc-multilib')
-source=("http://downloads.sourceforge.net/project/freeimage/Source%20Distribution/${pkgver}/FreeImage${pkgver//./}.zip")
-sha1sums=('6752c83798c2f81dee71a2e8bb11657068672669')
+source=("http://downloads.sourceforge.net/project/freeimage/Source%20Distribution/${pkgver}/FreeImage${pkgver//./}.zip"
+ 'gcc5.patch')
+sha1sums=('6752c83798c2f81dee71a2e8bb11657068672669'
+ 'cd4342306e55b86947ae5872495abf675edefd73')
+
+prepare()
+{
+ cd FreeImage
+ patch -p1 -i ../gcc5.patch
+}
build()
{
diff --git a/gcc5.patch b/gcc5.patch
new file mode 100644
index 000000000000..d066a0253d9f
--- /dev/null
+++ b/gcc5.patch
@@ -0,0 +1,70 @@
+diff -Naur FreeImage.orig/Source/LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.c FreeImage/Source/LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.c
+--- FreeImage.orig/Source/LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.c 2015-06-28 16:49:39.320546812 +0200
++++ FreeImage/Source/LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.c 2015-06-28 16:50:14.189740757 +0200
+@@ -21,33 +21,6 @@
+
+ #if !defined(WEBP_YUV_USE_TABLE)
+
+-#define YUV_TO_RGB(Y, U, V, R, G, B) do { \
+- const int t1 = kYScale * Y; \
+- const int t2 = kVToG * V; \
+- R = kVToR * V; \
+- G = kUToG * U; \
+- B = kUToB * U; \
+- R = t1 + R; \
+- G = t1 - G; \
+- B = t1 + B; \
+- R = R + kRCst; \
+- G = G - t2 + kGCst; \
+- B = B + kBCst; \
+- __asm__ volatile ( \
+- "shll_s.w %["#R"], %["#R"], 9 \n\t" \
+- "shll_s.w %["#G"], %["#G"], 9 \n\t" \
+- "shll_s.w %["#B"], %["#B"], 9 \n\t" \
+- "precrqu_s.qb.ph %["#R"], %["#R"], $zero \n\t" \
+- "precrqu_s.qb.ph %["#G"], %["#G"], $zero \n\t" \
+- "precrqu_s.qb.ph %["#B"], %["#B"], $zero \n\t" \
+- "srl %["#R"], %["#R"], 24 \n\t" \
+- "srl %["#G"], %["#G"], 24 \n\t" \
+- "srl %["#B"], %["#B"], 24 \n\t" \
+- : [R]"+r"(R), [G]"+r"(G), [B]"+r"(B) \
+- : \
+- ); \
+- } while (0)
+-
+ static WEBP_INLINE void YuvToRgb(int y, int u, int v, uint8_t* const rgb) {
+ int r, g, b;
+ YUV_TO_RGB(y, u, v, r, g, b);
+diff -Naur FreeImage.orig/Source/LibWebP/src/dsp/dsp.yuv_mips_dsp_r2.c FreeImage/Source/LibWebP/src/dsp/dsp.yuv_mips_dsp_r2.c
+--- FreeImage.orig/Source/LibWebP/src/dsp/dsp.yuv_mips_dsp_r2.c 2015-06-28 16:49:39.320546812 +0200
++++ FreeImage/Source/LibWebP/src/dsp/dsp.yuv_mips_dsp_r2.c 2015-06-28 16:50:59.357137570 +0200
+@@ -35,29 +35,6 @@
+ "addu %[temp2], %[temp2], %[temp3] \n\t" \
+ "addu %[temp4], %[temp4], %[t_con_8] \n\t" \
+
+-#define ROW_FUNC_PART_2(R, G, B, K) \
+- "addu %[temp5], %[temp0], %[temp1] \n\t" \
+- "subu %[temp6], %[temp0], %[temp2] \n\t" \
+- "addu %[temp7], %[temp0], %[temp4] \n\t" \
+-".if "#K" \n\t" \
+- "lbu %[temp0], 1(%[y]) \n\t" \
+-".endif \n\t" \
+- "shll_s.w %[temp5], %[temp5], 9 \n\t" \
+- "shll_s.w %[temp6], %[temp6], 9 \n\t" \
+-".if "#K" \n\t" \
+- "mul %[temp0], %[t_con_5], %[temp0] \n\t" \
+-".endif \n\t" \
+- "shll_s.w %[temp7], %[temp7], 9 \n\t" \
+- "precrqu_s.qb.ph %[temp5], %[temp5], $zero \n\t" \
+- "precrqu_s.qb.ph %[temp6], %[temp6], $zero \n\t" \
+- "precrqu_s.qb.ph %[temp7], %[temp7], $zero \n\t" \
+- "srl %[temp5], %[temp5], 24 \n\t" \
+- "srl %[temp6], %[temp6], 24 \n\t" \
+- "srl %[temp7], %[temp7], 24 \n\t" \
+- "sb %[temp5], "#R"(%[dst]) \n\t" \
+- "sb %[temp6], "#G"(%[dst]) \n\t" \
+- "sb %[temp7], "#B"(%[dst]) \n\t" \
+-
+ #define ASM_CLOBBER_LIST() \
+ : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), \
+ [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), \