guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/01: gnu: libextractor: Add patch to fix build with ffmpeg-3.


From: Mark H. Weaver
Subject: 01/01: gnu: libextractor: Add patch to fix build with ffmpeg-3.
Date: Tue, 05 Apr 2016 02:55:58 +0000

mhw pushed a commit to branch master
in repository guix.

commit fd7fd3c1678a63eb22995fef1d1eed09ff57efe6
Author: Mark H Weaver <address@hidden>
Date:   Mon Apr 4 22:52:51 2016 -0400

    gnu: libextractor: Add patch to fix build with ffmpeg-3.
    
    * gnu/packages/patches/libextractor-ffmpeg-3.patch: New file.
    * gnu-system.am (dist_patch_DATA): Add it.
    * gnu/packages/gnunet.scm (libextractor)[source]: Add patch.
---
 gnu-system.am                                    |    1 +
 gnu/packages/gnunet.scm                          |    2 +
 gnu/packages/patches/libextractor-ffmpeg-3.patch |  147 ++++++++++++++++++++++
 3 files changed, 150 insertions(+), 0 deletions(-)

diff --git a/gnu-system.am b/gnu-system.am
index d883cdc..c8048b7 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -580,6 +580,7 @@ dist_patch_DATA =                                           
\
   gnu/packages/patches/libcmis-fix-test-onedrive.patch         \
   gnu/packages/patches/libdrm-symbol-check.patch               \
   gnu/packages/patches/libevent-dns-tests.patch                        \
+  gnu/packages/patches/libextractor-ffmpeg-3.patch             \
   gnu/packages/patches/libmtp-devices.patch                    \
   gnu/packages/patches/liboop-mips64-deplibs-fix.patch         \
   gnu/packages/patches/libotr-test-auth-fix.patch              \
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index eb0c4cb..471f383 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2015 Efraim Flashner <address@hidden>
 ;;; Copyright © 2016 Ni* Gillmann <address@hidden>
 ;;; Copyright © 2016 Ricardo Wurmus <address@hidden>
+;;; Copyright © 2016 Mark H Weaver <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -66,6 +67,7 @@
             (sha256
              (base32
               "0zvv7wd011npcx7yphw9bpgivyxz6mlp87a57n96nv85k96dd2l6"))
+            (patches (list (search-patch "libextractor-ffmpeg-3.patch")))
             (modules '((guix build utils)))
             (snippet
              ;; Nowadays libmagic (from 'file') returns 'audio/ogg' and not
diff --git a/gnu/packages/patches/libextractor-ffmpeg-3.patch 
b/gnu/packages/patches/libextractor-ffmpeg-3.patch
new file mode 100644
index 0000000..7688bdc
--- /dev/null
+++ b/gnu/packages/patches/libextractor-ffmpeg-3.patch
@@ -0,0 +1,147 @@
+Fix build for ffmpeg-3.0.
+Based on a patch by Andreas Cadhalpun <address@hidden>
+for ffmpeg-2.9, found at <https://gnunet.org/bugs/view.php?id=4167>
+and later modified by Mark H Weaver <address@hidden> for ffmpeg-3.0.
+
+--- libextractor-1.3/src/plugins/thumbnailffmpeg_extractor.c.orig      
2013-12-21 11:04:41.000000000 -0500
++++ libextractor-1.3/src/plugins/thumbnailffmpeg_extractor.c   2016-04-04 
22:42:17.859001669 -0400
+@@ -153,7 +153,7 @@
+ static size_t 
+ create_thumbnail (int src_width, int src_height, 
+                 int src_stride[],
+-                enum PixelFormat src_pixfmt, 
++                enum AVPixelFormat src_pixfmt,
+                 const uint8_t * const src_data[],
+                 int dst_width, int dst_height,
+                 uint8_t **output_data, 
+@@ -189,7 +189,7 @@
+   if (NULL == 
+       (scaler_ctx =
+        sws_getContext (src_width, src_height, src_pixfmt,
+-                     dst_width, dst_height, PIX_FMT_RGB24, 
++                     dst_width, dst_height, AV_PIX_FMT_RGB24,
+                      SWS_BILINEAR, NULL, NULL, NULL)))
+     {
+ #if DEBUG
+@@ -199,7 +199,7 @@
+       return 0;
+     }
+ 
+-  if (NULL == (dst_frame = avcodec_alloc_frame ()))
++  if (NULL == (dst_frame = av_frame_alloc ()))
+     {
+ #if DEBUG
+       fprintf (stderr,
+@@ -209,7 +209,7 @@
+       return 0;
+     }
+   if (NULL == (dst_buffer =
+-             av_malloc (avpicture_get_size (PIX_FMT_RGB24, dst_width, 
dst_height))))
++             av_malloc (avpicture_get_size (AV_PIX_FMT_RGB24, dst_width, 
dst_height))))
+     {
+ #if DEBUG
+       fprintf (stderr,
+@@ -220,7 +220,7 @@
+       return 0;
+     }
+   avpicture_fill ((AVPicture *) dst_frame, dst_buffer,
+-                  PIX_FMT_RGB24, dst_width, dst_height);
++                  AV_PIX_FMT_RGB24, dst_width, dst_height);
+   sws_scale (scaler_ctx,
+              src_data, 
+              src_stride,
+@@ -255,7 +255,7 @@
+     }
+   encoder_codec_ctx->width = dst_width;
+   encoder_codec_ctx->height = dst_height;
+-  encoder_codec_ctx->pix_fmt = PIX_FMT_RGB24;
++  encoder_codec_ctx->pix_fmt = AV_PIX_FMT_RGB24;
+   opts = NULL;
+   if (avcodec_open2 (encoder_codec_ctx, encoder_codec, &opts) < 0)
+     {
+@@ -410,7 +410,7 @@
+       return;
+     }
+   av_dict_free (&opts);
+-  if (NULL == (frame = avcodec_alloc_frame ()))
++  if (NULL == (frame = av_frame_alloc ()))
+     {
+ #if DEBUG
+       fprintf (stderr,
+@@ -563,7 +563,7 @@
+       return;
+     }
+ 
+-  if (NULL == (frame = avcodec_alloc_frame ()))
++  if (NULL == (frame = av_frame_alloc ()))
+     {
+ #if DEBUG
+       fprintf (stderr,
+--- libextractor-1.3/src/plugins/previewopus_extractor.c.orig  2013-12-22 
17:44:18.000000000 -0500
++++ libextractor-1.3/src/plugins/previewopus_extractor.c       2016-04-04 
22:49:05.168105265 -0400
+@@ -296,7 +296,7 @@
+ /** Initialize one audio frame for reading from the input file */
+ static int init_input_frame(AVFrame **frame)
+ {
+-    if (!(*frame = avcodec_alloc_frame())) {
++    if (!(*frame = av_frame_alloc())) {
+  #if DEBUG
+         fprintf(stderr, "Could not allocate input frame\n");
+ #endif
+@@ -655,7 +655,7 @@
+         av_freep(&converted_input_samples[0]);
+         free(converted_input_samples);
+     }
+-    avcodec_free_frame(&input_frame);
++    av_frame_free(&input_frame);
+ 
+     return ret;
+ }
+@@ -671,7 +671,7 @@
+     int error;
+ 
+     /** Create a new frame to store the audio samples. */
+-    if (!(*frame = avcodec_alloc_frame())) {
++    if (!(*frame = av_frame_alloc())) {
+         #if DEBUG
+               fprintf(stderr, "Could not allocate output frame\n");
+               #endif
+@@ -702,7 +702,7 @@
+         #if DEBUG
+               fprintf(stderr, "Could allocate output frame samples (error 
'%s')\n", get_error_text(error));
+               #endif
+-        avcodec_free_frame(frame);
++        av_frame_free(frame);
+         return error;
+     }
+ 
+@@ -783,17 +783,17 @@
+         #if DEBUG
+               fprintf(stderr, "Could not read data from FIFO\n");
+               #endif
+-        avcodec_free_frame(&output_frame);
++        av_frame_free(&output_frame);
+         return AVERROR_EXIT;
+     }
+ 
+     /** Encode one frame worth of audio samples. */
+     if (encode_audio_frame(output_frame, output_format_context,
+                            output_codec_context, &data_written)) {
+-        avcodec_free_frame(&output_frame);
++        av_frame_free(&output_frame);
+         return AVERROR_EXIT;
+     }
+-    avcodec_free_frame(&output_frame);
++    av_frame_free(&output_frame);
+     return 0;
+ }
+ /** Write the trailer of the output file container. */
+@@ -907,7 +907,7 @@
+       return;
+     }
+ 
+-  if (NULL == (frame = avcodec_alloc_frame ()))
++  if (NULL == (frame = av_frame_alloc ()))
+     {
+ #if DEBUG
+       fprintf (stderr,



reply via email to

[Prev in Thread] Current Thread [Next in Thread]