Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Apr 2014 13:18:20 +0000 (UTC)
From:      Dirk Meyer <dinoex@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r350470 - in head/emulators/vice: . files
Message-ID:  <201404071318.s37DIKSC049601@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dinoex
Date: Mon Apr  7 13:18:20 2014
New Revision: 350470
URL: http://svnweb.freebsd.org/changeset/ports/350470
QAT: https://qat.redports.org/buildarchive/r350470/

Log:
  - fix build with ffmpeg2
  - make ffmpeg default
  PR:		188317
  Obtained from:	pld-linux.org

Added:
  head/emulators/vice/files/patch-ffmpegdrv.c   (contents, props changed)
  head/emulators/vice/files/patch-ffmpeglib.c   (contents, props changed)
  head/emulators/vice/files/patch-ffmpeglib.h   (contents, props changed)
Modified:
  head/emulators/vice/Makefile

Modified: head/emulators/vice/Makefile
==============================================================================
--- head/emulators/vice/Makefile	Mon Apr  7 13:16:29 2014	(r350469)
+++ head/emulators/vice/Makefile	Mon Apr  7 13:18:20 2014	(r350470)
@@ -3,7 +3,7 @@
 
 PORTNAME=	vice
 PORTVERSION=	2.4
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	emulators
 MASTER_SITES=	http://www.zimmers.net/anonftp/pub/cbm/crossplatform/emulators/VICE/ \
 		ftp://ftp.zimmers.net/pub/cbm/crossplatform/emulators/VICE/
@@ -19,7 +19,8 @@ BUILD_DEPENDS=	bdftopcf:${PORTSDIR}/x11-
 		mkfontscale:${PORTSDIR}/x11-fonts/mkfontscale
 LIB_DEPENDS=	libpng15.so:${PORTSDIR}/graphics/png \
 		libgif.so:${PORTSDIR}/graphics/giflib \
-		libmp3lame.so:${PORTSDIR}/audio/lame
+		libmp3lame.so:${PORTSDIR}/audio/lame \
+		libavcodec.so:${PORTSDIR}/multimedia/ffmpeg
 
 RESTRICTED=	ROMs are copyrighted by Commodore Business Machines
 
@@ -41,7 +42,7 @@ CONFIGURE_ARGS+=	--enable-fullscreen --e
 #CONFIGURE_ARGS+=	--enable-parsid
 #CONFIGURE_ARGS+=	--enable-memmap
 
-MLINKS=		vice.1 x64.1 \
+LMLINKS=	vice.1 x64.1 \
 		vice.1 x128.1 \
 		vice.1 xvic.1 \
 		vice.1 xpet.1 \
@@ -89,7 +90,7 @@ PULSE_LIB_DEPENDS=	libpulse.so:${PORTSDI
 .include <bsd.port.options.mk>
 
 .if !defined(BUILDING_INDEX)
-__pmlinks1!= ${ECHO_CMD} '${MLINKS:S/    / /}' | ${AWK} \
+__pmlinks1!= ${ECHO_CMD} '${LMLINKS:S/    / /}' | ${AWK} \
 	'{ if (NF % 2 != 0) { print "broken"; exit; } \
 	for (i=1; i<=NF; i++) { \
 		if ( i % 2 == 0) { print " " $$i " ;"; } \
@@ -121,11 +122,6 @@ PLIST_SUB+=		FCCACHE="@comment "
 PLIST_SUB+=		NOFCCACHE=""
 .endif
 
-# will be picked up by configure
-.if exists(${LOCALBASE}/include/ffmpeg/avformat.h)
-LIB_DEPENDS+=		libavcodec.so:${PORTSDIR}/multimedia/ffmpeg
-.endif
-
 .if ${PORT_OPTIONS:MNLS}
 USES+=		gettext
 CONFIGURE_ARGS+=	--enable-nls --localedir=${LOCALBASE}/share/locale

Added: head/emulators/vice/files/patch-ffmpegdrv.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/vice/files/patch-ffmpegdrv.c	Mon Apr  7 13:18:20 2014	(r350470)
@@ -0,0 +1,52 @@
+--- src/gfxoutputdrv/ffmpegdrv.c.orig	2012-02-13 20:31:44.000000000 +0100
++++ src/gfxoutputdrv/ffmpegdrv.c	2012-11-25 13:10:46.712199998 +0100
+@@ -343,7 +343,7 @@ static int ffmpegmovie_init_audio(int sp
+     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;
+@@ -613,11 +613,6 @@ static int ffmpegdrv_init_file(void)
+     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);
+ 
+     if (video_st && (ffmpegdrv_open_video(ffmpegdrv_oc, video_st) < 0)) {
+@@ -632,8 +627,8 @@ static int ffmpegdrv_init_file(void)
+     }
+ 
+     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 @@ static int ffmpegdrv_init_file(void)
+ 
+     }
+ 
+-    (*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 @@ static int ffmpegdrv_close(screenshot_t
+         (*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);
+         }
+     }
+     

Added: head/emulators/vice/files/patch-ffmpeglib.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/vice/files/patch-ffmpeglib.c	Mon Apr  7 13:18:20 2014	(r350470)
@@ -0,0 +1,34 @@
+--- src/gfxoutputdrv/ffmpeglib.c.orig	2011-09-18 15:09:45.000000000 +0200
++++ src/gfxoutputdrv/ffmpeglib.c	2012-11-25 13:11:58.342198505 +0100
+@@ -208,12 +208,11 @@ static int load_avformat(ffmpeglib_t *li
+         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_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(avio_open);
++        GET_SYMBOL_AND_TEST_AVFORMAT(avio_close);
+         GET_SYMBOL_AND_TEST_AVFORMAT(dump_format);
+         GET_SYMBOL_AND_TEST_AVFORMAT(av_guess_format);
+ #ifndef HAVE_FFMPEG_SWSCALE
+@@ -240,12 +239,11 @@ static void free_avformat(ffmpeglib_t *l
+     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_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_avio_open = NULL;
++    lib->p_avio_close = NULL;
+     lib->p_dump_format = NULL;
+     lib->p_av_guess_format = NULL;
+ #ifndef HAVE_FFMPEG_SWSCALE

Added: head/emulators/vice/files/patch-ffmpeglib.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/vice/files/patch-ffmpeglib.h	Mon Apr  7 13:18:20 2014	(r350470)
@@ -0,0 +1,43 @@
+--- src/gfxoutputdrv/ffmpeglib.h.orig	2011-10-24 21:06:48.000000000 +0200
++++ src/gfxoutputdrv/ffmpeglib.h	2012-11-25 13:09:18.518868503 +0100
+@@ -70,7 +70,7 @@
+ /* avcodec fucntions */
+ typedef int (*avcodec_open_t) (AVCodecContext*, AVCodec*);
+ 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);
+@@ -80,12 +80,11 @@ typedef int (*avpicture_get_size_t) (int
+ 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 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 int (*avio_open_t) (AVIOContext**, const char*, int);
++typedef int (*avio_close_t) (AVIOContext*);
+ typedef void (*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);
+@@ -118,12 +117,11 @@ struct ffmpeglib_s {
+     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_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;
++    avio_open_t                 p_avio_open;
++    avio_close_t                p_avio_close;
+     dump_format_t               p_dump_format;
+     av_guess_format_t           p_av_guess_format;
+ #ifndef HAVE_FFMPEG_SWSCALE



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201404071318.s37DIKSC049601>