External patches that allow gstreamer packages to build on new Ubuntu versions.
authorAntonio Gomes <a1.gomes@samsung.com>
Fri, 25 Jul 2014 22:14:08 +0000 (18:14 -0400)
committerYoungsoo Choi <kenshin.choi@samsung.com>
Tue, 10 Jul 2018 06:57:09 +0000 (06:57 +0000)
Fix the compilations of the following packages/dependencies on
recent Ubuntu releases by applying external patches:
ffmpeg, gst-plugins-good, gst-plugins-bad and gstreamer itselt

Additionally, patch also adds a pango dependency needed to
match the glib version part of jhbuild.

Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
tizen_src/build/jhbuild/jhbuild.modules
tizen_src/build/jhbuild/patches/gst-ffmpeg-fixes-compilation-for-gcc-4.7-or-higher.patch [new file with mode: 0644]
tizen_src/build/jhbuild/patches/gst-plugins-good-fix-build-with-recent-kernels-part-2.patch [new file with mode: 0644]
tizen_src/build/jhbuild/patches/gst-plugins-good-fix-build-with-recent-kernels.patch [new file with mode: 0644]
tizen_src/build/jhbuild/patches/gst-yylex-param-is-no-longer-supported-in-bison-3.patch [new file with mode: 0644]

index 47451be..9fde2db 100755 (executable)
@@ -18,6 +18,7 @@
       <dep package="gst-plugins-ugly"/>
       <dep package="gst-plugins-bad"/>
       <dep package="gst-ffmpeg"/>
+      <dep package="pango"/>
     </dependencies>
   </metamodule>
 
              autogenargs="--disable-examples --disable-tests --disable-failing-tests">
     <branch repo="gstreamer"
             module="gstreamer/gstreamer-0.10.36.tar.xz" version="0.10.36"
-            hash="md5:15389c73e091b1dda915279c388b9cb2"/>
+            hash="md5:15389c73e091b1dda915279c388b9cb2">
+      <patch file="gst-yylex-param-is-no-longer-supported-in-bison-3.patch" strip="1"/>
+    </branch>
   </autotools>
 
   <autotools id="gst-plugins-base"
     </dependencies>
     <branch repo="gstreamer"
             module="gst-plugins-good/gst-plugins-good-0.10.31.tar.xz" version="0.10.31"
-            hash="md5:555845ceab722e517040bab57f9ace95"/>
+            hash="md5:555845ceab722e517040bab57f9ace95">
+    <patch file="gst-plugins-good-fix-build-with-recent-kernels.patch" strip="1"/>
+    <patch file="gst-plugins-good-fix-build-with-recent-kernels-part-2.patch" strip="1"/>
+    </branch>
   </autotools>
 
   <autotools id="gst-plugins-ugly"
     </dependencies>
     <branch repo="gstreamer"
             module="gst-plugins-bad/gst-plugins-bad-0.10.23.tar.xz" version="0.10.23"
-            hash="md5:e4822fa2cc933768e2998311a1565979"/>
+            hash="md5:e4822fa2cc933768e2998311a1565979">
+    </branch>
   </autotools>
 
   <autotools id="gst-ffmpeg"
     </dependencies>
     <branch repo="gstreamer"
             module="gst-ffmpeg/gst-ffmpeg-0.10.13.tar.gz" version="0.10.13"
-            hash="md5:3e52d69a15d42f0a11abfc02f80effa1"/>
+            hash="md5:3e52d69a15d42f0a11abfc02f80effa1">
+    <patch file="gst-ffmpeg-fixes-compilation-for-gcc-4.7-or-higher.patch" strip="1"/>
+    </branch>
+  </autotools>
+
+  <autotools id="pango"
+             autogen-sh="configure">
+    <branch module="/pub/GNOME/sources/pango/1.30/pango-1.30.1.tar.xz" version="1.30.1"
+            repo="ftp.gnome.org"
+            hash="sha256:3a8c061e143c272ddcd5467b3567e970cfbb64d1d1600a8f8e62435556220cbe"/>
   </autotools>
 
 </moduleset>
diff --git a/tizen_src/build/jhbuild/patches/gst-ffmpeg-fixes-compilation-for-gcc-4.7-or-higher.patch b/tizen_src/build/jhbuild/patches/gst-ffmpeg-fixes-compilation-for-gcc-4.7-or-higher.patch
new file mode 100644 (file)
index 0000000..dc1e6cd
--- /dev/null
@@ -0,0 +1,61 @@
+Submitted By: Andrew Benton <andy@benton.eu.com>
+Date: 2012-06-15
+Initial Package Version: 0.10.13
+Upstream Status: From upstream
+Origin:
+http://git.videolan.org/?p=ffmpeg.git;a=patch;h=5f654897e325349dacf2546674e0510bb72ecb50
+
+Description: Fixes compiling gst-ffmpeg with gcc-4.7
+
+Source: http://www.slackware.com/~alien/slackbuilds/gst-plugins-ffmpeg/build/gst-ffmpeg-0.10.13_gcc47.patch
+
+libavcodec/x86/h264_qpel_mmx.c: Assembler messages:
+libavcodec/x86/h264_qpel_mmx.c:1294: Error: operand type mismatch for `cmp'
+libavcodec/x86/h264_qpel_mmx.c:1294: Error: operand type mismatch for `cmp'
+libavcodec/x86/h264_qpel_mmx.c:1298: Error: operand type mismatch for `cmp'
+libavcodec/x86/h264_qpel_mmx.c:1298: Error: operand type mismatch for `cmp'
+libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp'
+libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp'
+libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp'
+make[5]: *** [libavcodec/x86/dsputil_mmx.o] Error 1
+
+Index: gst-ffmpeg-0.10.13/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c
+===================================================================
+--- gst-ffmpeg-0.10.13.orig/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c  2012-03-30 11:39:41.324522051 -0700
++++ gst-ffmpeg-0.10.13/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c       2012-03-30 11:54:08.152564075 -0700
+@@ -398,7 +398,7 @@
+             "2:                         \n\t"\
+             \
+             : "+a"(src), "+c"(dst)\
+-            : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\
++            : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\
+             : "memory"\
+         );\
+         src += 4-(h+5)*srcStride;\
+@@ -446,7 +446,7 @@
+             QPEL_H264HV(%%mm3, %%mm4, %%mm5, %%mm0, %%mm1, %%mm2, 15*48)\
+             "2:                     \n\t"\
+             : "+a"(src)\
+-            : "c"(tmp), "S"((x86_reg)srcStride), "g"(size)\
++            : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size)\
+             : "memory"\
+             );\
+         tmp += 4;\
+@@ -823,7 +823,7 @@
+         "2:                          \n\t"\
+         \
+         : "+a"(src), "+c"(dst)\
+-        : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\
++        : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\
+         : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \
+                        "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\
+           "memory"\
+@@ -878,7 +878,7 @@
+             QPEL_H264HV_XMM(%%xmm3, %%xmm4, %%xmm5, %%xmm0, %%xmm1, %%xmm2, 15*48)
+             "2:                         \n\t"
+             : "+a"(src)
+-            : "c"(tmp), "S"((x86_reg)srcStride), "g"(size)
++            : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size)
+             : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3",
+                            "%xmm4", "%xmm5", "%xmm6", "%xmm7",)
+               "memory"
diff --git a/tizen_src/build/jhbuild/patches/gst-plugins-good-fix-build-with-recent-kernels-part-2.patch b/tizen_src/build/jhbuild/patches/gst-plugins-good-fix-build-with-recent-kernels-part-2.patch
new file mode 100644 (file)
index 0000000..bc8dedb
--- /dev/null
@@ -0,0 +1,31 @@
+Patch from Bastien Nocera, available at http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/sys/v4l2/v4l2_calls.c?id=8e633d2059cb835448021cf79becb487aff10975
+
+From 8e633d2059cb835448021cf79becb487aff10975 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Mon, 18 Mar 2013 14:59:35 +0000
+Subject: v4l2: fix compilation against newer kernel headers as on FC19
+
+Source: https://bug-124891-attachments.webkit.org/attachment.cgi?id=217879
+
+---
+(limited to 'sys/v4l2/v4l2_calls.c')
+
+diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c
+index 07d390a..4c10f4f 100644
+--- a/sys/v4l2/v4l2_calls.c
++++ b/sys/v4l2/v4l2_calls.c
+@@ -291,8 +291,12 @@ gst_v4l2_fill_lists (GstV4l2Object * v4l2object)
+         break;
+       case V4L2_CID_HFLIP:
+       case V4L2_CID_VFLIP:
++#ifndef V4L2_CID_PAN_RESET
+       case V4L2_CID_HCENTER:
++#endif
++#ifndef V4L2_CID_TILT_RESET
+       case V4L2_CID_VCENTER:
++#endif
+ #ifdef V4L2_CID_PAN_RESET
+       case V4L2_CID_PAN_RESET:
+ #endif
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/tizen_src/build/jhbuild/patches/gst-plugins-good-fix-build-with-recent-kernels.patch b/tizen_src/build/jhbuild/patches/gst-plugins-good-fix-build-with-recent-kernels.patch
new file mode 100644 (file)
index 0000000..5cc959a
--- /dev/null
@@ -0,0 +1,34 @@
+From 12d18fe4e98e7c232d59b56d529a0521f293fe6d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Wed, 5 Sep 2012 18:54:42 +0200
+Subject: [PATCH] v4l2: fix build with recent kernels, the v4l2_buffer input
+ field was removed
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Backport
+
+Source:
+http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=9f2aa8d47f835ea155aaf635f618c0fc1ca87012
+http://patchwork.openembedded.org/patch/35979/
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ sys/v4l2/gstv4l2bufferpool.c |    1 -
+ 1 files changed, 0 insertions(+), 1 deletions(-)
+
+diff --git a/sys/v4l2/gstv4l2bufferpool.c b/sys/v4l2/gstv4l2bufferpool.c
+index b81c6a4..51cc0ce 100644
+--- a/sys/v4l2/gstv4l2bufferpool.c
++++ b/sys/v4l2/gstv4l2bufferpool.c
+@@ -181,7 +181,6 @@ gst_v4l2_buffer_new (GstV4l2BufferPool * pool, guint index, GstCaps * caps)
+     GST_LOG_OBJECT (pool->v4l2elem, "  MMAP offset:  %u",
+         ret->vbuffer.m.offset);
+   GST_LOG_OBJECT (pool->v4l2elem, "  length:    %u", ret->vbuffer.length);
+-  GST_LOG_OBJECT (pool->v4l2elem, "  input:     %u", ret->vbuffer.input);
+
+   data = (guint8 *) v4l2_mmap (0, ret->vbuffer.length,
+       PROT_READ | PROT_WRITE, MAP_SHARED, pool->video_fd,
+--
+1.7.6.5
diff --git a/tizen_src/build/jhbuild/patches/gst-yylex-param-is-no-longer-supported-in-bison-3.patch b/tizen_src/build/jhbuild/patches/gst-yylex-param-is-no-longer-supported-in-bison-3.patch
new file mode 100644 (file)
index 0000000..19d0d60
--- /dev/null
@@ -0,0 +1,35 @@
+From 90622bb35544655cf641e3ab65cf35a6d01869bc Mon Sep 17 00:00:00 2001
+From: Kerrick Staley <kerrick@kerrickstaley.com>
+Date: Tue, 20 Aug 2013 23:59:29 -0700
+Subject: [PATCH] Make grammar.y work with Bison 3
+
+YYLEX_PARAM is no longer supported in Bison 3.
+
+Source: https://bug706462.bugzilla-attachments.gnome.org/attachment.cgi?id=252504
+
+---
+ gst/parse/grammar.y | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gst/parse/grammar.y b/gst/parse/grammar.y
+index 8a9019c..f533389 100644
+--- a/gst/parse/grammar.y
++++ b/gst/parse/grammar.y
+@@ -26,7 +26,6 @@
+  */
+
+ #define YYERROR_VERBOSE 1
+-#define YYLEX_PARAM scanner
+
+ #define YYENABLE_NLS 0
+
+@@ -659,6 +658,7 @@ static int yyerror (void *scanner, graph_t *graph, const char *s);
+ %right '.'
+ %left '!' '='
+
++%lex-param { void *scanner }
+ %parse-param { void *scanner }
+ %parse-param { graph_t *graph }
+ %pure-parser
+--
+1.8.3.4