diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..8009479 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1 @@ +libgegl-0_4-0 diff --git a/gegl-port-ffmpeg4.patch b/gegl-port-ffmpeg4.patch new file mode 100644 index 0000000..84969da --- /dev/null +++ b/gegl-port-ffmpeg4.patch @@ -0,0 +1,116 @@ +From 8f2545886ce3be8f1b1229bddcfa5af3216110d3 Mon Sep 17 00:00:00 2001 +From: Franz Brausse +Date: Sun, 6 May 2018 13:38:09 +0200 +Subject: operations/external/ff-save: ffmpeg-4.0 compat; fixes #795625 + +--- + operations/external/ff-save.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/operations/external/ff-save.c b/operations/external/ff-save.c +index 90b6162..e7edd3e 100644 +--- a/operations/external/ff-save.c ++++ b/operations/external/ff-save.c +@@ -88,6 +88,11 @@ property_int (me_subpel_quality, _("me-subpel-quality"), 0) + #include + #include + ++/* remove if libavcodec_required_version is changed to > 56.41.100 */ ++#if LIBAVCODEC_VERSION_INT <= AV_VERSION_INT(56,41,100) ++# define AV_CODEC_FLAG_GLOBAL_HEADER CODEC_FLAG_GLOBAL_HEADER ++#endif ++ + typedef struct + { + gdouble frame; +@@ -290,7 +295,7 @@ add_audio_stream (GeglProperties *o, AVFormatContext * oc, int codec_id) + 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; + } +@@ -699,7 +704,9 @@ open_video (GeglProperties *o, AVFormatContext * oc, AVStream * st) + } + + p->video_outbuf = NULL; ++#if (LIBAVFORMAT_VERSION_MAJOR < 58) /* AVFMT_RAWPICTURE got removed from ffmpeg: "not used anymore" */ + 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 +810,7 @@ write_video_frame (GeglProperties *o, + picture_ptr = p->picture; + picture_ptr->pts = p->frame_count; + ++ #if (LIBAVFORMAT_VERSION_MAJOR < 58) /* AVFMT_RAWPICTURE got removed from ffmpeg: "not used anymore" */ + if (oc->oformat->flags & AVFMT_RAWPICTURE) + { + /* raw video case. The API will change slightly in the near +@@ -821,6 +829,7 @@ write_video_frame (GeglProperties *o, + ret = av_write_frame (oc, &pkt); + } + else ++#endif + { + /* encode the image */ + AVPacket pkt2; +-- +cgit v0.12 + + +From a2dd56d3200aeafdecbc40c58eeef3d43a5fadcc Mon Sep 17 00:00:00 2001 +From: Franz Brausse +Date: Sun, 6 May 2018 13:40:30 +0200 +Subject: operations/external/ff-save: ffmpeg-2.3-2.7 compat; minimum lav{f,c} + versions configure.ac mandates + +--- + operations/external/ff-save.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/operations/external/ff-save.c b/operations/external/ff-save.c +index e7edd3e..1edac31 100644 +--- a/operations/external/ff-save.c ++++ b/operations/external/ff-save.c +@@ -91,6 +91,8 @@ property_int (me_subpel_quality, _("me-subpel-quality"), 0) + /* remove if libavcodec_required_version is changed to > 56.41.100 */ + #if LIBAVCODEC_VERSION_INT <= AV_VERSION_INT(56,41,100) + # define AV_CODEC_FLAG_GLOBAL_HEADER CODEC_FLAG_GLOBAL_HEADER ++# define AV_CODEC_CAP_VARIABLE_FRAME_SIZE CODEC_CAP_VARIABLE_FRAME_SIZE ++# define AV_CODEC_CAP_INTRA_ONLY CODEC_CAP_INTRA_ONLY + #endif + + typedef struct +-- +cgit v0.12 + + +From 2896800b5e7d0c656710c70fdea57098032f3ccc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=C3=98yvind=20Kol=C3=A5s?= +Date: Sun, 6 May 2018 15:09:03 +0200 +Subject: ff-save: update another occurance of CODEC_FLAG_GLOBAL_HEADER + +--- + operations/external/ff-save.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/operations/external/ff-save.c b/operations/external/ff-save.c +index 1edac31..f30bf10 100644 +--- a/operations/external/ff-save.c ++++ b/operations/external/ff-save.c +@@ -638,7 +638,7 @@ add_video_stream (GeglProperties *o, AVFormatContext * oc, int codec_id) + #endif + + if (oc->oformat->flags & AVFMT_GLOBALHEADER) +- c->flags |= CODEC_FLAG_GLOBAL_HEADER; ++ c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; + + return st; + } +-- +cgit v0.12 + diff --git a/gegl.changes b/gegl.changes index 2704205..728d48a 100644 --- a/gegl.changes +++ b/gegl.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Wed May 9 19:12:51 UTC 2018 - bjorn.lie@gmail.com + +- Add gegl-port-ffmpeg4.patch: Fix build with ffmpeg4 (bgo#795625). + +------------------------------------------------------------------- +Tue May 8 18:42:14 UTC 2018 - bjorn.lie@gmail.com + +- Add baselibs.conf, build 32-bit support. + ------------------------------------------------------------------- Fri Apr 27 18:11:11 UTC 2018 - bjorn.lie@gmail.com diff --git a/gegl.spec b/gegl.spec index d4d90ed..b496df0 100644 --- a/gegl.spec +++ b/gegl.spec @@ -24,6 +24,10 @@ License: GPL-3.0-or-later AND LGPL-3.0-or-later Group: Productivity/Graphics/Other URL: http://gegl.org/ Source0: https://download.gimp.org/pub/gegl/0.4/%{name}-%{version}.tar.bz2 +Source99: baselibs.conf +# PATCH-FIX-UPSTREAM gegl-port-ffmpeg4.patch bgo#795625 -- Fix build with ffmpeg4 +Patch0: gegl-port-ffmpeg4.patch + BuildRequires: ImageMagick BuildRequires: SDL-devel >= 1.2.0 BuildRequires: enscript @@ -52,12 +56,12 @@ BuildRequires: pkgconfig(gthread-2.0) BuildRequires: pkgconfig(jasper) >= 1.900.1 BuildRequires: pkgconfig(json-glib-1.0) BuildRequires: pkgconfig(lcms2) >= 2.8 -BuildRequires: pkgconfig(libavcodec) < 58 -BuildRequires: pkgconfig(libavformat) < 58 +BuildRequires: pkgconfig(libavcodec) +BuildRequires: pkgconfig(libavformat) BuildRequires: pkgconfig(libpng) >= 1.6.0 BuildRequires: pkgconfig(libraw) >= 0.15.4 BuildRequires: pkgconfig(librsvg-2.0) >= 2.40.6 -BuildRequires: pkgconfig(libswscale) < 5 +BuildRequires: pkgconfig(libswscale) BuildRequires: pkgconfig(libtiff-4) >= 4.0.0 BuildRequires: pkgconfig(libv4l2) >= 1.0.1 BuildRequires: pkgconfig(libwebp) >= 0.5.0 @@ -140,7 +144,7 @@ input and output. %lang_package -n %{name}-0_4 %prep -%autosetup +%autosetup -p1 %build %configure \