Merge pull request #120582 from dotlambda/ffmpeg_2-drop

ffmpeg_2: mark as insecure
This commit is contained in:
Robert Schütz 2021-05-06 13:51:34 +02:00 committed by GitHub
commit bda9e192dd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 17 additions and 288 deletions

View file

@ -1,95 +0,0 @@
# is this configure option of interest?
#--enable-udev-rules-dir=PATH
# Where to install udev rules (/etc/udev/rules.d)
#TODO shared version?
# This is my config output.. Much TODO ?
#source path /tmp/nix-31998-1/kino-1.2.0/ffmpeg
#C compiler gcc
#make make
#.align is power-of-two no
#ARCH x86_64 (generic)
#build suffix -kino
#big-endian no
#MMX enabled yes
#CMOV enabled no
#CMOV is fast no
#gprof enabled no
#debug symbols yes
#strip symbols yes
#optimize yes
#static yes
#shared no
#postprocessing support no
#software scaler enabled yes
#video hooking no
#network support no
#threading support no
#SDL support no
#Sun medialib support no
#AVISynth enabled no
#liba52 support no
#liba52 dlopened no
#libdts support no
#libfaac enabled no
#libfaad enabled no
#faadbin enabled no
#libgsm enabled no
#libmp3lame enabled no
#libnut enabled no
#libogg enabled no
#libtheora enabled no
#libvorbis enabled no
#x264 enabled no
#XviD enabled no
#zlib enabled no
#AMR-NB float support no
#AMR-NB fixed support no
#AMR-WB float support no
#AMR-WB IF2 support no
{ lib, stdenv, fetchurl, gtk2, libglade, libxml2, libraw1394, libsamplerate, libdv
, pkg-config, perlPackages, libavc1394, libiec61883, libXv, gettext
, libX11, glib, cairo, intltool, ffmpeg, libv4l
}:
stdenv.mkDerivation {
name = "kino-1.3.4";
src = fetchurl {
url = "mirror://sourceforge/kino/kino-1.3.4.tar.gz";
sha256 = "020s05k0ma83rq2kfs8x474pqicaqp9spar81qc816ddfrnh8k8i";
};
buildInputs = [ gtk2 libglade libxml2 libraw1394 libsamplerate libdv
pkg-config libavc1394 libiec61883 intltool libXv gettext libX11 glib cairo ffmpeg libv4l ] # TODOoptional packages
++ (with perlPackages; [ perl XMLParser ]);
configureFlags = [ "--enable-local-ffmpeg=no" ];
hardeningDisable = [ "format" ];
NIX_LDFLAGS = "-lavcodec -lavutil";
patches = [ ./kino-1.3.4-v4l1.patch ./kino-1.3.4-libav-0.7.patch ./kino-1.3.4-libav-0.8.patch ]; #./kino-1.3.4-libavcodec-pkg-config.patch ];
postInstall = "
rpath=`patchelf --print-rpath \$out/bin/kino`;
for i in $buildInputs; do
echo adding \$i/lib
rpath=\$rpath\${rpath:+:}\$i/lib
done
for i in \$out/bin/*; do
patchelf --set-rpath \"\$rpath\" \"\$i\"
done
";
meta = {
description = "Non-linear DV editor for GNU/Linux";
homepage = "http://www.kinodv.org/";
license = lib.licenses.gpl2;
platforms = lib.platforms.linux;
};
}

View file

@ -1,60 +0,0 @@
--- kino-1.3.4.orig/src/frame.cc 2011-07-17 14:54:59.089481638 +0200
+++ kino-1.3.4/src/frame.cc 2011-07-17 15:09:23.199481714 +0200
@@ -1063,7 +1063,12 @@
AVPicture dest;
int got_picture;
- avcodec_decode_video( libavcodec, frame, &got_picture, data, GetFrameSize() );
+ AVPacket pkt;
+ av_init_packet(&pkt);
+ pkt.data = data;
+ pkt.size = GetFrameSize();
+
+ avcodec_decode_video2( libavcodec, frame, &got_picture, &pkt );
if ( got_picture )
{
avpicture_fill( &dest, static_cast<uint8_t*>( rgb ), PIX_FMT_RGB24, GetWidth(), GetHeight() );
@@ -1123,7 +1128,12 @@
AVPicture output;
int got_picture;
- avcodec_decode_video( libavcodec, frame, &got_picture, data, GetFrameSize() );
+ AVPacket pkt;
+ av_init_packet(&pkt);
+ pkt.data = data;
+ pkt.size = GetFrameSize();
+
+ avcodec_decode_video2( libavcodec, frame, &got_picture, &pkt );
if ( got_picture )
{
avpicture_fill( &output, static_cast<uint8_t*>( yuv ), PIX_FMT_YUV422, GetWidth(), GetHeight() );
@@ -1156,7 +1166,12 @@
AVFrame *frame = avcodec_alloc_frame();
int got_picture;
- avcodec_decode_video( libavcodec, frame, &got_picture, data, GetFrameSize() );
+ AVPacket pkt;
+ av_init_packet(&pkt);
+ pkt.data = data;
+ pkt.size = GetFrameSize();
+
+ avcodec_decode_video2( libavcodec, frame, &got_picture, &pkt );
int width = GetWidth(), height = GetHeight();
@@ -1319,12 +1334,12 @@
#if defined(HAVE_LIBAVCODEC)
if ( avformatEncoder == NULL )
{
- avformatEncoder = av_alloc_format_context();
+ avformatEncoder = avformat_alloc_context();
if ( avformatEncoder )
{
- avformatEncoder->oformat = guess_format( "dv", NULL, NULL );
+ avformatEncoder->oformat = av_guess_format( "dv", NULL, NULL );
AVStream* vst = av_new_stream( avformatEncoder, 0 );
- vst->codec->codec_type = CODEC_TYPE_VIDEO;
+ vst->codec->codec_type = AVMEDIA_TYPE_VIDEO;
vst->codec->codec_id = CODEC_ID_DVVIDEO;
vst->codec->bit_rate = 25000000;
vst->start_time = 0;

View file

@ -1,57 +0,0 @@
--- kino-1.3.4.orig/src/frame.cc 2012-05-14 19:55:42.153772418 -0700
+++ kino-1.3.4/src/frame.cc 2012-05-14 20:28:34.448838653 -0700
@@ -101,8 +101,9 @@
#if defined(HAVE_LIBAVCODEC)
pthread_mutex_lock( &avcodec_mutex );
av_register_all();
- libavcodec = avcodec_alloc_context();
- avcodec_open( libavcodec, avcodec_find_decoder( CODEC_ID_DVVIDEO ) );
+ libavcodec = avcodec_alloc_context3(NULL);
+ avcodec_open2( libavcodec,
+ avcodec_find_decoder( CODEC_ID_DVVIDEO ), NULL );
pthread_mutex_unlock( &avcodec_mutex );
data = ( unsigned char* ) av_mallocz( 144000 );
#if defined(HAVE_SWSCALE)
@@ -1338,7 +1339,7 @@
if ( avformatEncoder )
{
avformatEncoder->oformat = av_guess_format( "dv", NULL, NULL );
- AVStream* vst = av_new_stream( avformatEncoder, 0 );
+ AVStream* vst = avformat_new_stream( avformatEncoder, NULL );
vst->codec->codec_type = AVMEDIA_TYPE_VIDEO;
vst->codec->codec_id = CODEC_ID_DVVIDEO;
vst->codec->bit_rate = 25000000;
@@ -1364,12 +1365,10 @@
vst->sample_aspect_ratio = avcodecEncoder->sample_aspect_ratio;
#endif
avcodecEncoder->thread_count = 2;
- avcodec_thread_init( avcodecEncoder, avcodecEncoder->thread_count );
avcodecEncoder->time_base= isPAL ? ( AVRational ){ 1, 25 } : ( AVRational ){ 1001, 30000 };
avcodecEncoder->pix_fmt = isPAL ? PIX_FMT_YUV420P : PIX_FMT_YUV411P;
avcodecEncoder->flags |= CODEC_FLAG_INTERLACED_DCT;
- av_set_parameters( avformatEncoder, NULL );
- avcodec_open( avcodecEncoder, avcodec_find_encoder( CODEC_ID_DVVIDEO ) );
+ avcodec_open2( avcodecEncoder, avcodec_find_encoder( CODEC_ID_DVVIDEO ), NULL );
av_new_packet( &avpacketEncoder, 144000 );
tempImage = ( uint8_t* ) av_malloc(
avpicture_get_size( avcodecEncoder->pix_fmt, avcodecEncoder->width, avcodecEncoder->height ) );
@@ -1475,16 +1474,16 @@
// Encode
bytesInFrame = avcodec_encode_video( avcodecEncoder, avpacketEncoder.data, size, output );
- url_open_buf( &avformatEncoder->pb, data, bytesInFrame, URL_WRONLY );
+ avformatEncoder->pb = avio_alloc_context(data, bytesInFrame, 0, NULL, NULL, NULL, NULL);
avpacketEncoder.size = bytesInFrame;
if ( !isEncoderHeaderWritten )
{
- av_write_header( avformatEncoder );
+ avformat_write_header( avformatEncoder, NULL );
isEncoderHeaderWritten = true;
}
av_write_frame( avformatEncoder, &avpacketEncoder );
#if LIBAVFORMAT_VERSION_INT >= ((52<<16)+(0<<8)+0)
- url_close_buf( avformatEncoder->pb );
+ avio_close( avformatEncoder->pb );
#else
url_close_buf( &avformatEncoder->pb );
#endif

View file

@ -1,11 +0,0 @@
--- a/kino-1.3.4/configure.in 2009-09-08 02:35:23.000000000 -0400
+++ b/kino-1.3.4/configure.in 2014-01-27 14:53:01.366063037 -0500
@@ -221,7 +221,7 @@
if (test "x$avcodec_include" != x) || (test "x$avcodec_lib" != x) ; then
local_legacy_ffmpeg_test
else
- PKG_CHECK_MODULES(AVCODEC, libavformat,
+ PKG_CHECK_MODULES(AVCODEC, [libavcodec libavformat libavutil],
[
AC_DEFINE(HAVE_LIBAVCODEC, 1, [Enable FFMPEG libavcodec])
AC_SUBST(AVCODEC_LIBS)

View file

@ -1,21 +0,0 @@
no-1.3.3.orig/ffmpeg/libavdevice/v4l.c 2011-05-17 02:20:37.161004916 +0400
+++ kino-1.3.3.orig/ffmpeg/libavdevice/v4l.c 2011-05-17 02:21:57.302377529 +0400
@@ -26,7 +26,7 @@
#include <sys/mman.h>
#include <sys/time.h>
#define _LINUX_TIME_H 1
-#include <linux/videodev.h>
+#include <libv4l1-videodev.h>
#include <time.h>
typedef struct {
--- kino-1.3.3.orig/src/v4l.h 2011-05-17 02:20:38.896969666 +0400
+++ kino-1.3.3.orig/src/v4l.h 2011-05-17 02:21:39.922730395 +0400
@@ -40,7 +40,7 @@
#define _DEVICE_H_
#define _LINUX_TIME_H
-#include <linux/videodev.h>
+#include <libv4l1-videodev.h>
#include "displayer.h"

View file

@ -4,4 +4,7 @@ callPackage ./generic.nix (rec {
version = "${branch}.17";
branch = "2.8";
sha256 = "05bnhvs2f82aq95z1wd3wr42sljdfq4kiyzqwhpji983mndx14vl";
knownVulnerabilities = [
"CVE-2021-30123"
];
} // args)

View file

@ -17,7 +17,7 @@
# Darwin frameworks
, Cocoa, darwinFrameworks ? [ Cocoa ]
# Inherit generics
, branch, sha256, version, patches ? [], ...
, branch, sha256, version, patches ? [], knownVulnerabilities ? [], ...
}:
/* Maintainer notes:
@ -224,6 +224,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl3;
platforms = platforms.all;
maintainers = with maintainers; [ codyopel ];
inherit branch;
inherit branch knownVulnerabilities;
};
}

View file

@ -14,7 +14,7 @@
, SDL2_gfx
, SDL2_mixer
, SDL2_net, SDL2_ttf
, ffmpeg
, ffmpeg_3
, sqlite
, zlib
, libX11
@ -26,7 +26,7 @@ let
sharedLibs = [
pcre portaudio freetype
SDL2 SDL2_image SDL2_gfx SDL2_mixer SDL2_net SDL2_ttf
sqlite lua zlib libX11 libGLU libGL ffmpeg
sqlite lua zlib libX11 libGLU libGL ffmpeg_3
];
in stdenv.mkDerivation rec {

View file

@ -17,10 +17,15 @@ stdenv.mkDerivation rec {
patches = [
(fetchpatch {
name = "fix-build-with-libav-10.patch";
url = "https://bitbucket.org/acoustid/acoustid-fingerprinter/commits/2c778334a9fc2f0ccf9b1d7635c116bce6509748/raw";
sha256 = "1smyp3x5n6jwxpgw60xsijq2fn6g1gl759h1lm5agaxhcyyqn0i0";
})
(fetchpatch {
name = "fix-build-failure-on-gcc-6.patch";
url = "https://bitbucket.org/acoustid/acoustid-fingerprinter/commits/632e87969c3a5562a5d4842b03613267ba6236b2/raw";
sha256 = "15hm9knrpqn3yqrwyjz4zh2aypwbcycd0c5svrsy1fb2h2rh05jk";
})
./ffmpeg.patch
];
meta = with lib; {

View file

@ -1,26 +0,0 @@
diff --git a/decoder.h b/decoder.h
index 028f58f..4428ac1 100644
--- a/decoder.h
+++ b/decoder.h
@@ -39,6 +39,8 @@ extern "C" {
#define AV_SAMPLE_FMT_S16 SAMPLE_FMT_S16
#endif
+#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000
+
class Decoder
{
public:
diff --git a/ffmpeg/audioconvert.h b/ffmpeg/audioconvert.h
index 2b28e2e..a699986 100644
--- a/ffmpeg/audioconvert.h
+++ b/ffmpeg/audioconvert.h
@@ -79,7 +79,7 @@ int avcodec_channel_layout_num_channels(int64_t channel_layout);
* @param fmt_name Format name, or NULL if unknown
* @return Channel layout mask
*/
-uint64_t avcodec_guess_channel_layout(int nb_channels, enum CodecID codec_id, const char *fmt_name);
+uint64_t avcodec_guess_channel_layout(int nb_channels, enum AVCodecID codec_id, const char *fmt_name);
struct AVAudioConvert;
typedef struct AVAudioConvert AVAudioConvert;

View file

@ -352,6 +352,7 @@ mapAliases ({
kinetic-cpp-client = throw "kinetic-cpp-client has been removed from nixpkgs, as it's abandoned."; # 2020-04-28
kicad-with-packages3d = kicad; # added 2019-11-25
kindlegen = throw "kindlegen has been removed from nixpkgs, as it's abandoned and no longer available for download."; # 2021-03-09
kino = throw "kino has been removed because it was broken and abandoned"; # added 2021-04-25
krename-qt5 = krename; # added 2017-02-18
kerberos = libkrb5; # moved from top-level 2021-03-14
keymon = throw "keymon has been removed from nixpkgs, as it's abandoned and archived."; # 2019-12-10

View file

@ -693,9 +693,7 @@ in
acousticbrainz-client = callPackage ../tools/audio/acousticbrainz-client { };
acoustidFingerprinter = callPackage ../tools/audio/acoustid-fingerprinter {
ffmpeg = ffmpeg_2;
};
acoustidFingerprinter = callPackage ../tools/audio/acoustid-fingerprinter { };
alsaequal = callPackage ../tools/audio/alsaequal { };
@ -22504,7 +22502,6 @@ in
cmus = callPackage ../applications/audio/cmus {
inherit (darwin.apple_sdk.frameworks) AudioUnit CoreAudio;
libjack = libjack2;
ffmpeg = ffmpeg_2;
};
cmusfm = callPackage ../applications/audio/cmusfm { };
@ -24220,11 +24217,6 @@ in
kile = libsForQt5.callPackage ../applications/editors/kile { };
kino = callPackage ../applications/video/kino {
inherit (gnome2) libglade;
ffmpeg = ffmpeg_2;
};
kitsas = libsForQt5.callPackage ../applications/office/kitsas { };
kiwix = libsForQt5.callPackage ../applications/misc/kiwix { };
@ -27596,7 +27588,7 @@ in
airstrike = callPackage ../games/airstrike { };
alephone = callPackage ../games/alephone { ffmpeg = ffmpeg_2; };
alephone = callPackage ../games/alephone { };
alephone-durandal = callPackage ../games/alephone/durandal { };
alephone-eternal = callPackage ../games/alephone/eternal { };
alephone-evil = callPackage ../games/alephone/evil { };
@ -28462,9 +28454,7 @@ in
ultrastar-manager = libsForQt5.callPackage ../tools/misc/ultrastar-manager { };
ultrastardx = callPackage ../games/ultrastardx {
ffmpeg = ffmpeg_2;
};
ultrastardx = callPackage ../games/ultrastardx { };
unciv = callPackage ../games/unciv { };