[arch-commits] Commit in libmpeg2/trunk (PKGBUILD libmpeg2-0.5.1-gcc4.6.patch)

Jan de Groot jgc at archlinux.org
Wed Aug 3 07:11:37 UTC 2011


    Date: Wednesday, August 3, 2011 @ 03:11:36
  Author: jgc
Revision: 134366

upgpkg: libmpeg2 0.5.1-3
Fix build with gcc 4.6:
https://bugs.archlinux.org/task/25370
https://qa.mandriva.com/show_bug.cgi?id=63279

Added:
  libmpeg2/trunk/libmpeg2-0.5.1-gcc4.6.patch
Modified:
  libmpeg2/trunk/PKGBUILD

-----------------------------+
 PKGBUILD                    |   10 ++-
 libmpeg2-0.5.1-gcc4.6.patch |  128 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 135 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2011-08-03 06:57:12 UTC (rev 134365)
+++ PKGBUILD	2011-08-03 07:11:36 UTC (rev 134366)
@@ -4,7 +4,7 @@
 
 pkgname=libmpeg2
 pkgver=0.5.1
-pkgrel=2
+pkgrel=3
 pkgdesc="Library for decoding MPEG-1 and MPEG-2 video streams."
 arch=('i686' 'x86_64')
 url="http://libmpeg2.sourceforge.net/"
@@ -12,14 +12,18 @@
 makedepends=('sdl' 'libxv')
 optdepends=('sdl:	requiered for mpeg2dec'
             'libxv:	requiered for mpeg2dec')
-source=(http://libmpeg2.sourceforge.net/files/${pkgname}-${pkgver}.tar.gz)
+source=(http://libmpeg2.sourceforge.net/files/${pkgname}-${pkgver}.tar.gz
+        libmpeg2-0.5.1-gcc4.6.patch)
 license=('GPL2')
 options=(!libtool)
 provides=('mpeg2dec')
-md5sums=('0f92c7454e58379b4a5a378485bbd8ef')
+md5sums=('0f92c7454e58379b4a5a378485bbd8ef'
+         '8b36660297e6ffde6aa9733136bff405')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
+  patch -Np1 -i "${srcdir}/libmpeg2-0.5.1-gcc4.6.patch"
+
   sed '/AC_PATH_XTRA/d' -i configure.ac
   autoreconf --force --install
 

Added: libmpeg2-0.5.1-gcc4.6.patch
===================================================================
--- libmpeg2-0.5.1-gcc4.6.patch	                        (rev 0)
+++ libmpeg2-0.5.1-gcc4.6.patch	2011-08-03 07:11:36 UTC (rev 134366)
@@ -0,0 +1,128 @@
+--- libmpeg2-0.5.1/libmpeg2/idct_mmx.c.orig	2011-05-13 09:23:02.557758717 -0300
++++ libmpeg2-0.5.1/libmpeg2/idct_mmx.c	2011-05-13 09:23:06.346778580 -0300
+@@ -39,7 +39,6 @@
+ #define rounder(bias) {round (bias), round (bias)}
+ #define rounder_sse2(bias) {round (bias), round (bias), round (bias), round (bias)}
+ 
+-
+ #if 0
+ /* C row IDCT - it is just here to document the MMXEXT and MMX versions */
+ static inline void idct_row (int16_t * row, int offset,
+@@ -464,10 +463,10 @@ static inline void sse2_idct_col (int16_
+     /* Almost identical to mmxext version:  */
+     /* just do both 4x8 columns in paraller */
+ 
+-    static const short t1_vector[] ATTR_ALIGN(16) = {T1,T1,T1,T1,T1,T1,T1,T1};
+-    static const short t2_vector[] ATTR_ALIGN(16) = {T2,T2,T2,T2,T2,T2,T2,T2};
+-    static const short t3_vector[] ATTR_ALIGN(16) = {T3,T3,T3,T3,T3,T3,T3,T3};
+-    static const short c4_vector[] ATTR_ALIGN(16) = {C4,C4,C4,C4,C4,C4,C4,C4};
++    static/* const*/ short t1_vector[] ATTR_ALIGN(16) = {T1,T1,T1,T1,T1,T1,T1,T1};
++    static/* const*/ short t2_vector[] ATTR_ALIGN(16) = {T2,T2,T2,T2,T2,T2,T2,T2};
++    static/* const*/ short t3_vector[] ATTR_ALIGN(16) = {T3,T3,T3,T3,T3,T3,T3,T3};
++    static/* const*/ short c4_vector[] ATTR_ALIGN(16) = {C4,C4,C4,C4,C4,C4,C4,C4};
+ 
+ #if defined(__x86_64__)
+ 
+@@ -710,10 +709,10 @@ static inline void sse2_idct_col (int16_
+ /* MMX column IDCT */
+ static inline void idct_col (int16_t * const col, const int offset)
+ {
+-    static const short t1_vector[] ATTR_ALIGN(8) = {T1,T1,T1,T1};
+-    static const short t2_vector[] ATTR_ALIGN(8) = {T2,T2,T2,T2};
+-    static const short t3_vector[] ATTR_ALIGN(8) = {T3,T3,T3,T3};
+-    static const short c4_vector[] ATTR_ALIGN(8) = {C4,C4,C4,C4};
++    static/* const*/ short t1_vector[] ATTR_ALIGN(8) = {T1,T1,T1,T1};
++    static/* const*/ short t2_vector[] ATTR_ALIGN(8) = {T2,T2,T2,T2};
++    static/* const*/ short t3_vector[] ATTR_ALIGN(8) = {T3,T3,T3,T3};
++    static/* const*/ short c4_vector[] ATTR_ALIGN(8) = {C4,C4,C4,C4};
+ 
+     /* column code adapted from peter gubanov */
+     /* http://www.elecard.com/peter/idct.shtml */
+@@ -847,33 +846,33 @@ static inline void idct_col (int16_t * c
+ }
+ 
+ 
+-static const int32_t rounder0[] ATTR_ALIGN(8) =
++static/* const*/ int32_t rounder0[] ATTR_ALIGN(8) =
+     rounder ((1 << (COL_SHIFT - 1)) - 0.5);
+-static const int32_t rounder4[] ATTR_ALIGN(8) = rounder (0);
+-static const int32_t rounder1[] ATTR_ALIGN(8) =
++static/* const*/ int32_t rounder4[] ATTR_ALIGN(8) = rounder (0);
++static/* const*/ int32_t rounder1[] ATTR_ALIGN(8) =
+     rounder (1.25683487303);	/* C1*(C1/C4+C1+C7)/2 */
+-static const int32_t rounder7[] ATTR_ALIGN(8) =
++static/* const*/ int32_t rounder7[] ATTR_ALIGN(8) =
+     rounder (-0.25);		/* C1*(C7/C4+C7-C1)/2 */
+-static const int32_t rounder2[] ATTR_ALIGN(8) =
++static/* const*/ int32_t rounder2[] ATTR_ALIGN(8) =
+     rounder (0.60355339059);	/* C2 * (C6+C2)/2 */
+-static const int32_t rounder6[] ATTR_ALIGN(8) =
++static/* const*/ int32_t rounder6[] ATTR_ALIGN(8) =
+     rounder (-0.25);		/* C2 * (C6-C2)/2 */
+-static const int32_t rounder3[] ATTR_ALIGN(8) =
++static/* const*/ int32_t rounder3[] ATTR_ALIGN(8) =
+     rounder (0.087788325588);	/* C3*(-C3/C4+C3+C5)/2 */
+-static const int32_t rounder5[] ATTR_ALIGN(8) =
++static/* const*/ int32_t rounder5[] ATTR_ALIGN(8) =
+     rounder (-0.441341716183);	/* C3*(-C5/C4+C5-C3)/2 */
+ 
+ 
+ #define declare_idct(idct,table,idct_row_head,idct_row,idct_row_tail,idct_row_mid)	\
+ static inline void idct (int16_t * const block)				\
+ {									\
+-    static const int16_t table04[] ATTR_ALIGN(16) =			\
++    static/* const*/ int16_t table04[] ATTR_ALIGN(16) =			\
+ 	table (22725, 21407, 19266, 16384, 12873,  8867, 4520);		\
+-    static const int16_t table17[] ATTR_ALIGN(16) =			\
++    static/* const*/ int16_t table17[] ATTR_ALIGN(16) =			\
+ 	table (31521, 29692, 26722, 22725, 17855, 12299, 6270);		\
+-    static const int16_t table26[] ATTR_ALIGN(16) =			\
++    static/* const*/ int16_t table26[] ATTR_ALIGN(16) =			\
+ 	table (29692, 27969, 25172, 21407, 16819, 11585, 5906);		\
+-    static const int16_t table35[] ATTR_ALIGN(16) =			\
++    static/* const*/ int16_t table35[] ATTR_ALIGN(16) =			\
+ 	table (26722, 25172, 22654, 19266, 15137, 10426, 5315);		\
+ 									\
+     idct_row_head (block, 0*8, table04);				\
+@@ -900,29 +899,29 @@ static inline void idct (int16_t * const
+ 
+ static inline void sse2_idct (int16_t * const block)
+ {
+-    static const int16_t table04[] ATTR_ALIGN(16) =
++    static/* const*/ int16_t table04[] ATTR_ALIGN(16) =
+ 	sse2_table (22725, 21407, 19266, 16384, 12873,  8867, 4520);
+-    static const int16_t table17[] ATTR_ALIGN(16) =
++    static/* const*/ int16_t table17[] ATTR_ALIGN(16) =
+ 	sse2_table (31521, 29692, 26722, 22725, 17855, 12299, 6270);
+-    static const int16_t table26[] ATTR_ALIGN(16) =
++    static/* const*/ int16_t table26[] ATTR_ALIGN(16) =
+ 	sse2_table (29692, 27969, 25172, 21407, 16819, 11585, 5906);
+-    static const int16_t table35[] ATTR_ALIGN(16) =
++    static/* const*/ int16_t table35[] ATTR_ALIGN(16) =
+ 	sse2_table (26722, 25172, 22654, 19266, 15137, 10426, 5315);
+ 
+-    static const int32_t rounder0_128[] ATTR_ALIGN(16) =
++    static/* const*/ int32_t rounder0_128[] ATTR_ALIGN(16) =
+ 	rounder_sse2 ((1 << (COL_SHIFT - 1)) - 0.5);
+-    static const int32_t rounder4_128[] ATTR_ALIGN(16) = rounder_sse2 (0);
+-    static const int32_t rounder1_128[] ATTR_ALIGN(16) =
++    static/* const*/ int32_t rounder4_128[] ATTR_ALIGN(16) = rounder_sse2 (0);
++    static/* const*/ int32_t rounder1_128[] ATTR_ALIGN(16) =
+ 	rounder_sse2 (1.25683487303);	/* C1*(C1/C4+C1+C7)/2 */
+-    static const int32_t rounder7_128[] ATTR_ALIGN(16) =
++    static/* const*/ int32_t rounder7_128[] ATTR_ALIGN(16) =
+ 	rounder_sse2 (-0.25);		/* C1*(C7/C4+C7-C1)/2 */
+-    static const int32_t rounder2_128[] ATTR_ALIGN(16) =
++    static/* const*/ int32_t rounder2_128[] ATTR_ALIGN(16) =
+ 	rounder_sse2 (0.60355339059);	/* C2 * (C6+C2)/2 */
+-    static const int32_t rounder6_128[] ATTR_ALIGN(16) =
++    static/* const*/ int32_t rounder6_128[] ATTR_ALIGN(16) =
+ 	rounder_sse2 (-0.25);		/* C2 * (C6-C2)/2 */
+-    static const int32_t rounder3_128[] ATTR_ALIGN(16) =
++    static/* const*/ int32_t rounder3_128[] ATTR_ALIGN(16) =
+ 	rounder_sse2 (0.087788325588);	/* C3*(-C3/C4+C3+C5)/2 */
+-    static const int32_t rounder5_128[] ATTR_ALIGN(16) =
++    static/* const*/ int32_t rounder5_128[] ATTR_ALIGN(16) =
+ 	rounder_sse2 (-0.441341716183);	/* C3*(-C5/C4+C5-C3)/2 */
+ 
+ #if defined(__x86_64__)




More information about the arch-commits mailing list