tags 739315 + pending thanks Dear maintainer,
I've prepared an NMU for vice (versioned as 2.4.dfsg-1.1) and uploaded it to DELAYED/5 to experimental in order to compile against libav10. Please feel free to tell me if I should delay it longer. Regards, Reinhard
diff -Nru vice-2.4.dfsg/debian/changelog vice-2.4.dfsg/debian/changelog --- vice-2.4.dfsg/debian/changelog 2013-08-24 16:52:55.000000000 +0000 +++ vice-2.4.dfsg/debian/changelog 2014-03-25 23:43:25.000000000 +0000 @@ -1,3 +1,10 @@ +vice (2.4.dfsg-1.1) experimental; urgency=low + + * Non-maintainer upload. + * Add libav10.patch and compile against libav10 (Closes: #739315) + + -- Reinhard Tartler <[email protected]> Tue, 25 Mar 2014 23:43:21 +0000 + vice (2.4.dfsg-1) unstable; urgency=low * New upstream release (closes: #693065, #693641). diff -Nru vice-2.4.dfsg/debian/control vice-2.4.dfsg/debian/control --- vice-2.4.dfsg/debian/control 2013-07-28 19:01:21.000000000 +0000 +++ vice-2.4.dfsg/debian/control 2014-03-26 01:47:36.000000000 +0000 @@ -1,5 +1,5 @@ Source: vice -Build-Depends: debhelper (>= 8), dpkg-dev (>= 1.16.1~), autoconf, autotools-dev, bison++ | bison, flex, libreadline-dev, libjpeg-dev, libpng-dev, libgtk2.0-dev, libasound2-dev [linux-any], libpulse-dev, libtwolame-dev, libavformat-dev, libieee1284-3-dev [!hurd-i386], libgtkglext1-dev, libvte-dev +Build-Depends: debhelper (>= 8), dpkg-dev (>= 1.16.1~), autoconf, autotools-dev, bison++ | bison, flex, libreadline-dev, libjpeg-dev, libpng-dev, libgtk2.0-dev, libasound2-dev [linux-any], libpulse-dev, libtwolame-dev, libavformat-dev (>= 6:10~), libswscale-dev (>= 6:10~), libieee1284-3-dev [!hurd-i386], libgtkglext1-dev, libvte-dev Section: contrib/otherosfs Priority: optional Maintainer: Laszlo Boszormenyi (GCS) <[email protected]> diff -Nru vice-2.4.dfsg/debian/patches/libav10.patch vice-2.4.dfsg/debian/patches/libav10.patch --- vice-2.4.dfsg/debian/patches/libav10.patch 1970-01-01 00:00:00.000000000 +0000 +++ vice-2.4.dfsg/debian/patches/libav10.patch 2014-03-25 23:43:42.000000000 +0000 @@ -0,0 +1,320 @@ +From: [email protected] +To: [email protected] +Subject: Re: FTBFS with libav10 +Date: Fri, 28 Feb 2014 22:39:46 +0100 + +Index: vice-2.4.dfsg/src/gfxoutputdrv/ffmpegdrv.c +=================================================================== +--- vice-2.4.dfsg.orig/src/gfxoutputdrv/ffmpegdrv.c 2012-02-13 19:31:44.000000000 +0000 ++++ vice-2.4.dfsg/src/gfxoutputdrv/ffmpegdrv.c 2014-02-26 13:05:03.353849329 +0000 +@@ -46,29 +46,29 @@ + #include "../sounddrv/soundmovie.h" + + static gfxoutputdrv_codec_t avi_audio_codeclist[] = { +- { CODEC_ID_MP2, "MP2" }, +- { CODEC_ID_MP3, "MP3" }, +- { CODEC_ID_FLAC, "FLAC" }, +- { CODEC_ID_PCM_S16LE, "PCM uncompressed" }, ++ { AV_CODEC_ID_MP2, "MP2" }, ++ { AV_CODEC_ID_MP3, "MP3" }, ++ { AV_CODEC_ID_FLAC, "FLAC" }, ++ { AV_CODEC_ID_PCM_S16LE, "PCM uncompressed" }, + { 0, NULL } + }; + + static gfxoutputdrv_codec_t avi_video_codeclist[] = { +- { CODEC_ID_MPEG4, "MPEG4 (DivX)" }, +- { CODEC_ID_MPEG1VIDEO, "MPEG1" }, +- { CODEC_ID_FFV1, "FFV1 (lossless)" }, +- { CODEC_ID_H264, "H264" }, +- { CODEC_ID_THEORA, "Theora" }, ++ { AV_CODEC_ID_MPEG4, "MPEG4 (DivX)" }, ++ { AV_CODEC_ID_MPEG1VIDEO, "MPEG1" }, ++ { AV_CODEC_ID_FFV1, "FFV1 (lossless)" }, ++ { AV_CODEC_ID_H264, "H264" }, ++ { AV_CODEC_ID_THEORA, "Theora" }, + { 0, NULL } + }; + + static gfxoutputdrv_codec_t ogg_audio_codeclist[] = { +- { CODEC_ID_FLAC, "FLAC" }, ++ { AV_CODEC_ID_FLAC, "FLAC" }, + { 0, NULL } + }; + + static gfxoutputdrv_codec_t ogg_video_codeclist[] = { +- { CODEC_ID_THEORA, "Theora" }, ++ { AV_CODEC_ID_THEORA, "Theora" }, + { 0, NULL } + }; + +@@ -201,9 +201,9 @@ + { "FFMPEGVideoBitrate", VICE_FFMPEG_VIDEO_RATE_DEFAULT, + RES_EVENT_NO, NULL, + &video_bitrate, set_video_bitrate, NULL }, +- { "FFMPEGAudioCodec", CODEC_ID_MP3, RES_EVENT_NO, NULL, ++ { "FFMPEGAudioCodec", AV_CODEC_ID_MP3, RES_EVENT_NO, NULL, + &audio_codec, set_audio_codec, NULL }, +- { "FFMPEGVideoCodec", CODEC_ID_MPEG4, RES_EVENT_NO, NULL, ++ { "FFMPEGVideoCodec", AV_CODEC_ID_MPEG4, RES_EVENT_NO, NULL, + &video_codec, set_video_codec, NULL }, + { "FFMPEGVideoHalveFramerate", 0, RES_EVENT_NO, NULL, + &video_halve_framerate, set_video_halve_framerate, NULL }, +@@ -264,7 +264,7 @@ + } + + /* open it */ +- if ((*ffmpeglib.p_avcodec_open)(c, codec) < 0) { ++ if ((*ffmpeglib.p_avcodec_open2)(c, codec, NULL) < 0) { + log_debug("ffmpegdrv: could not open audio codec"); + return -1; + } +@@ -278,10 +278,10 @@ + if (c->frame_size <= 1) { + audio_inbuf_samples = audio_outbuf_size; + switch(st->codec->codec_id) { +- case CODEC_ID_PCM_S16LE: +- case CODEC_ID_PCM_S16BE: +- case CODEC_ID_PCM_U16LE: +- case CODEC_ID_PCM_U16BE: ++ case AV_CODEC_ID_PCM_S16LE: ++ case AV_CODEC_ID_PCM_S16BE: ++ case AV_CODEC_ID_PCM_U16LE: ++ case AV_CODEC_ID_PCM_U16BE: + audio_inbuf_samples >>= 1; + break; + default: +@@ -326,7 +326,7 @@ + + audio_init_done = 1; + +- if (ffmpegdrv_fmt->audio_codec == CODEC_ID_NONE) ++ if (ffmpegdrv_fmt->audio_codec == AV_CODEC_ID_NONE) + return -1; + + *audio_in = &ffmpegdrv_audio_in; +@@ -334,7 +334,7 @@ + (*audio_in)->size = 0; /* not allocated yet */ + (*audio_in)->used = 0; + +- st = (*ffmpeglib.p_av_new_stream)(ffmpegdrv_oc, 1); ++ st = (*ffmpeglib.p_avformat_new_stream)(ffmpegdrv_oc, NULL); + if (!st) { + log_debug("ffmpegdrv: Could not alloc audio stream\n"); + return -1; +@@ -343,7 +343,7 @@ + c = st->codec; + c->codec_id = ffmpegdrv_fmt->audio_codec; + c->codec_type = AVMEDIA_TYPE_AUDIO; +- c->sample_fmt = SAMPLE_FMT_S16; ++ c->sample_fmt = AV_SAMPLE_FMT_S16; + + /* put sample parameters */ + c->bit_rate = audio_bitrate; +@@ -471,7 +471,7 @@ + } + + /* open the codec */ +- if ((*ffmpeglib.p_avcodec_open)(c, codec) < 0) { ++ if ((*ffmpeglib.p_avcodec_open2)(c, codec, NULL) < 0) { + log_debug("ffmpegdrv: could not open video codec"); + return -1; + } +@@ -548,10 +548,10 @@ + + video_init_done = 1; + +- if (ffmpegdrv_fmt->video_codec == CODEC_ID_NONE) ++ if (ffmpegdrv_fmt->video_codec == AV_CODEC_ID_NONE) + return; + +- st = (*ffmpeglib.p_av_new_stream)(ffmpegdrv_oc, 0); ++ st = (*ffmpeglib.p_avformat_new_stream)(ffmpegdrv_oc, NULL); + if (!st) { + log_debug("ffmpegdrv: Could not alloc video stream\n"); + return; +@@ -576,12 +576,12 @@ + c->pix_fmt = PIX_FMT_YUV420P; + + /* Avoid format conversion which would lead to loss of quality */ +- if (c->codec_id == CODEC_ID_FFV1) { ++ if (c->codec_id == AV_CODEC_ID_FFV1) { + c->pix_fmt = PIX_FMT_RGB32; + } + + /* Use XVID instead of FMP4 FOURCC for better compatibility */ +- if (c->codec_id == CODEC_ID_MPEG4) { ++ if (c->codec_id == AV_CODEC_ID_MPEG4) { + c->codec_tag = MKTAG('X','V','I','D'); + } + +@@ -613,12 +613,7 @@ + if (!video_init_done || !audio_init_done) + return 0; + +- if ((*ffmpeglib.p_av_set_parameters)(ffmpegdrv_oc, NULL) < 0) { +- log_debug("ffmpegdrv: Invalid output format parameters"); +- return -1; +- } +- +- (*ffmpeglib.p_dump_format)(ffmpegdrv_oc, 0, ffmpegdrv_oc->filename, 1); ++ (*ffmpeglib.p_av_dump_format)(ffmpegdrv_oc, 0, ffmpegdrv_oc->filename, 1); + + if (video_st && (ffmpegdrv_open_video(ffmpegdrv_oc, video_st) < 0)) { + ui_error(translate_text(IDGS_FFMPEG_CANNOT_OPEN_VSTREAM)); +@@ -632,8 +627,8 @@ + } + + if (!(ffmpegdrv_fmt->flags & AVFMT_NOFILE)) { +- if ((*ffmpeglib.p_url_fopen)(&ffmpegdrv_oc->pb, ffmpegdrv_oc->filename, +- URL_WRONLY) < 0) ++ if ((*ffmpeglib.p_avio_open)(&ffmpegdrv_oc->pb, ffmpegdrv_oc->filename, ++ AVIO_FLAG_WRITE) < 0) + { + ui_error(translate_text(IDGS_FFMPEG_CANNOT_OPEN_S), ffmpegdrv_oc->filename); + screenshot_stop_recording(); +@@ -642,7 +637,7 @@ + + } + +- (*ffmpeglib.p_av_write_header)(ffmpegdrv_oc); ++ (*ffmpeglib.p_avformat_write_header)(ffmpegdrv_oc, NULL); + + log_debug("ffmpegdrv: Initialized file successfully"); + +@@ -724,7 +719,7 @@ + (*ffmpeglib.p_av_write_trailer)(ffmpegdrv_oc); + if (!(ffmpegdrv_fmt->flags & AVFMT_NOFILE)) { + /* close the output file */ +- (*ffmpeglib.p_url_fclose)(ffmpegdrv_oc->pb); ++ (*ffmpeglib.p_avio_close)(ffmpegdrv_oc->pb); + } + } + +Index: vice-2.4.dfsg/src/gfxoutputdrv/ffmpeglib.c +=================================================================== +--- vice-2.4.dfsg.orig/src/gfxoutputdrv/ffmpeglib.c 2011-09-18 13:09:45.000000000 +0000 ++++ vice-2.4.dfsg/src/gfxoutputdrv/ffmpeglib.c 2014-02-26 13:00:40.676269253 +0000 +@@ -165,7 +165,7 @@ + return -1; + } + +- GET_SYMBOL_AND_TEST_AVCODEC(avcodec_open); ++ GET_SYMBOL_AND_TEST_AVCODEC(avcodec_open2); + GET_SYMBOL_AND_TEST_AVCODEC(avcodec_close); + GET_SYMBOL_AND_TEST_AVCODEC(avcodec_find_encoder); + GET_SYMBOL_AND_TEST_AVCODEC(avcodec_encode_audio); +@@ -186,7 +186,7 @@ + } + avcodec_so = NULL; + +- lib->p_avcodec_open = NULL; ++ lib->p_avcodec_open2 = NULL; + lib->p_avcodec_close = NULL; + lib->p_avcodec_find_encoder = NULL; + lib->p_avcodec_encode_audio = NULL; +@@ -207,14 +207,13 @@ + + GET_SYMBOL_AND_TEST_AVFORMAT(av_init_packet); + GET_SYMBOL_AND_TEST_AVFORMAT(av_register_all); +- GET_SYMBOL_AND_TEST_AVFORMAT(av_new_stream); +- GET_SYMBOL_AND_TEST_AVFORMAT(av_set_parameters); +- GET_SYMBOL_AND_TEST_AVFORMAT(av_write_header); ++ GET_SYMBOL_AND_TEST_AVFORMAT(avformat_new_stream); ++ GET_SYMBOL_AND_TEST_AVFORMAT(avformat_write_header); + GET_SYMBOL_AND_TEST_AVFORMAT(av_write_frame); + GET_SYMBOL_AND_TEST_AVFORMAT(av_write_trailer); +- GET_SYMBOL_AND_TEST_AVFORMAT(url_fopen); +- GET_SYMBOL_AND_TEST_AVFORMAT(url_fclose); +- GET_SYMBOL_AND_TEST_AVFORMAT(dump_format); ++ GET_SYMBOL_AND_TEST_AVFORMAT(avio_open); ++ GET_SYMBOL_AND_TEST_AVFORMAT(avio_close); ++ GET_SYMBOL_AND_TEST_AVFORMAT(av_dump_format); + GET_SYMBOL_AND_TEST_AVFORMAT(av_guess_format); + #ifndef HAVE_FFMPEG_SWSCALE + GET_SYMBOL_AND_TEST_AVFORMAT(img_convert); +@@ -239,14 +238,13 @@ + + lib->p_av_init_packet = NULL; + lib->p_av_register_all = NULL; +- lib->p_av_new_stream = NULL; +- lib->p_av_set_parameters = NULL; +- lib->p_av_write_header = NULL; ++ lib->p_avformat_new_stream = NULL; ++ lib->p_avformat_write_header = NULL; + lib->p_av_write_frame = NULL; + lib->p_av_write_trailer = NULL; +- lib->p_url_fopen = NULL; +- lib->p_url_fclose = NULL; +- lib->p_dump_format = NULL; ++ lib->p_avio_open = NULL; ++ lib->p_avio_close = NULL; ++ lib->p_av_dump_format = NULL; + lib->p_av_guess_format = NULL; + #ifndef HAVE_FFMPEG_SWSCALE + lib->p_img_convert = NULL; +Index: vice-2.4.dfsg/src/gfxoutputdrv/ffmpeglib.h +=================================================================== +--- vice-2.4.dfsg.orig/src/gfxoutputdrv/ffmpeglib.h 2011-10-24 19:06:48.000000000 +0000 ++++ vice-2.4.dfsg/src/gfxoutputdrv/ffmpeglib.h 2014-02-26 13:01:10.542017373 +0000 +@@ -68,9 +68,9 @@ + typedef unsigned (*ffmpeg_version_t) (void); + + /* avcodec fucntions */ +-typedef int (*avcodec_open_t) (AVCodecContext*, AVCodec*); ++typedef int (*avcodec_open2_t) (AVCodecContext*, AVCodec*, AVDictionary**); + typedef int (*avcodec_close_t) (AVCodecContext*); +-typedef AVCodec* (*avcodec_find_encoder_t) (enum CodecID); ++typedef AVCodec* (*avcodec_find_encoder_t) (enum AVCodecID); + typedef int (*avcodec_encode_audio_t) (AVCodecContext*, uint8_t*, int, const short*); + typedef int (*avcodec_encode_video_t) (AVCodecContext*, uint8_t*, int, const AVFrame*); + typedef int (*avpicture_fill_t) (AVPicture*, uint8_t*, int, int, int); +@@ -79,14 +79,13 @@ + /* avformat functions */ + typedef void (*av_init_packet_t) (AVPacket *pkt); + typedef void (*av_register_all_t) (void); +-typedef AVStream* (*av_new_stream_t) (AVFormatContext*, int); +-typedef int (*av_set_parameters_t) (AVFormatContext*, AVFormatParameters*); +-typedef int (*av_write_header_t) (AVFormatContext*); ++typedef AVStream* (*avformat_new_stream_t) (AVFormatContext*, AVCodec*); ++typedef int (*avformat_write_header_t) (AVFormatContext*, AVDictionary**); + typedef int (*av_write_frame_t) (AVFormatContext*, AVPacket*); + typedef int (*av_write_trailer_t) (AVFormatContext*); +-typedef int (*url_fopen_t) (ByteIOContext**, const char*, int); +-typedef int (*url_fclose_t) (ByteIOContext*); +-typedef void (*dump_format_t) (AVFormatContext *, int, const char*, int); ++typedef int (*avio_open_t) (AVIOContext**, const char*, int); ++typedef int (*avio_close_t) (AVIOContext*); ++typedef void (*av_dump_format_t) (AVFormatContext *, int, const char*, int); + typedef AVOutputFormat* (*av_guess_format_t) (const char*, const char*, const char*); + typedef int (*img_convert_t) (AVPicture*, int, AVPicture*, int, int, int); + +@@ -106,7 +105,7 @@ + + struct ffmpeglib_s { + /* avcodec */ +- avcodec_open_t p_avcodec_open; ++ avcodec_open2_t p_avcodec_open2; + avcodec_close_t p_avcodec_close; + avcodec_find_encoder_t p_avcodec_find_encoder; + avcodec_encode_audio_t p_avcodec_encode_audio; +@@ -117,14 +116,13 @@ + /* avformat */ + av_init_packet_t p_av_init_packet; + av_register_all_t p_av_register_all; +- av_new_stream_t p_av_new_stream; +- av_set_parameters_t p_av_set_parameters; +- av_write_header_t p_av_write_header; ++ avformat_new_stream_t p_avformat_new_stream; ++ avformat_write_header_t p_avformat_write_header; + av_write_frame_t p_av_write_frame; + av_write_trailer_t p_av_write_trailer; +- url_fopen_t p_url_fopen; +- url_fclose_t p_url_fclose; +- dump_format_t p_dump_format; ++ avio_open_t p_avio_open; ++ avio_close_t p_avio_close; ++ av_dump_format_t p_av_dump_format; + av_guess_format_t p_av_guess_format; + #ifndef HAVE_FFMPEG_SWSCALE + img_convert_t p_img_convert; diff -Nru vice-2.4.dfsg/debian/patches/series vice-2.4.dfsg/debian/patches/series --- vice-2.4.dfsg/debian/patches/series 2013-07-28 21:48:20.000000000 +0000 +++ vice-2.4.dfsg/debian/patches/series 2014-03-25 23:42:46.000000000 +0000 @@ -1,3 +1,4 @@ correct_html_documentation_path_in_manpage.patch kfreebsd_no_machine_cpufunc.h.patch revert_upstream_lib64.patch +libav10.patch

