git » gegl.git » commit 377fe7d

Fix compile with ffmpeg 4.0, patch from FreeBSD

author Jan de Groot
2018-04-29 22:03:36 UTC
committer Jan de Groot
2018-04-29 22:03:36 UTC
parent 532aa496e9b685be3663d8233f214547fdf5d912

Fix compile with ffmpeg 4.0, patch from FreeBSD

PKGBUILD +7 -5
ffmpeg4.patch +46 -0

diff --git a/PKGBUILD b/PKGBUILD
index e0ab8c4..c60957a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
 # Maintainer: Daniel Isenmann <daniel@archlinux.org>
 
 pkgname=gegl
-pkgver=0.3.34
+pkgver=0.4.0
 pkgrel=1
 pkgdesc="Graph based image processing framework"
 arch=('x86_64')
@@ -20,10 +20,11 @@ optdepends=('libraw: raw plugin'
             'libtiff: tiff plugin'
             'lua: lua plugin'
             'lensfun: lens-correct plugin')
-_commit=29254dcd875d271043aba57d0e6ebc48ec63c013  # tags/GEGL_0_3_34^0
-source=("git+https://git.gnome.org/browse/gegl#commit=$_commit")
-sha256sums=('SKIP')
-
+_commit=f6caafacf3d8c176049de5c6680f8065bcfe9af9  # tags/GEGL_0_4_0^0
+source=("git+https://git.gnome.org/browse/gegl#commit=$_commit"
+        ffmpeg4.patch)
+sha256sums=('SKIP'
+            '0bd90ad266ac11acb11ec6adf538c6d52e28c9f1355450763528b86959a79156')
 
 pkgver() {
   cd $pkgname
@@ -35,6 +36,7 @@ prepare() {
   ln -s /usr/bin/python2 path/python
 
   cd ${pkgname}
+  patch -Np0 -i ../ffmpeg4.patch
   NOCONFIGURE=1 ./autogen.sh
 }
 
diff --git a/ffmpeg4.patch b/ffmpeg4.patch
new file mode 100644
index 0000000..79a512e
--- /dev/null
+++ b/ffmpeg4.patch
@@ -0,0 +1,46 @@
+--- operations/external/ff-save.c.orig	2017-07-01 17:19:54 UTC
++++ operations/external/ff-save.c
+@@ -290,7 +290,7 @@ add_audio_stream (GeglProperties *o, AVFormatContext *
+   c->codec_type = AVMEDIA_TYPE_AUDIO;
+ 
+   if (oc->oformat->flags & AVFMT_GLOBALHEADER)
+-    c->flags |= CODEC_FLAG_GLOBAL_HEADER;
++    c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
+ 
+   return st;
+ }
+@@ -631,7 +631,7 @@ add_video_stream (GeglProperties *o, AVFormatContext *
+ #endif
+ 
+    if (oc->oformat->flags & AVFMT_GLOBALHEADER)
+-     c->flags |= CODEC_FLAG_GLOBAL_HEADER;
++     c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
+ 
+   return st;
+ }
+@@ -699,7 +699,9 @@ open_video (GeglProperties *o, AVFormatContext * oc, A
+     }
+ 
+   p->video_outbuf = NULL;
++#ifdef AVFMT_RAWPICTURE
+   if (!(oc->oformat->flags & AVFMT_RAWPICTURE))
++#endif
+     {
+       /* allocate output buffer, 1 mb / frame, might fail for some codecs on UHD - but works for now */
+       p->video_outbuf_size = 1024 * 1024;
+@@ -803,6 +805,7 @@ write_video_frame (GeglProperties *o,
+   picture_ptr      = p->picture;
+   picture_ptr->pts = p->frame_count;
+ 
++#ifdef AVFMT_RAWPICTURE
+   if (oc->oformat->flags & AVFMT_RAWPICTURE)
+     {
+       /* raw video case. The API will change slightly in the near
+@@ -821,6 +824,7 @@ write_video_frame (GeglProperties *o,
+       ret = av_write_frame (oc, &pkt);
+     }
+   else
++#endif
+     {
+       /* encode the image */
+       AVPacket pkt2;