summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /app-emulation/vice
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'app-emulation/vice')
-rw-r--r--app-emulation/vice/Manifest2
-rw-r--r--app-emulation/vice/files/vice-2.4-arm.patch38
-rw-r--r--app-emulation/vice/files/vice-2.4-autotools.patch11
-rw-r--r--app-emulation/vice/files/vice-2.4-buffer.patch14
-rw-r--r--app-emulation/vice/files/vice-2.4-ffmpeg-1.patch135
-rw-r--r--app-emulation/vice/files/vice-2.4.20-autotools.patch11
-rw-r--r--app-emulation/vice/files/vice-2.4.20-xf86extensions.patch15
-rw-r--r--app-emulation/vice/metadata.xml17
-rw-r--r--app-emulation/vice/vice-2.4.20.ebuild172
-rw-r--r--app-emulation/vice/vice-2.4.ebuild117
10 files changed, 532 insertions, 0 deletions
diff --git a/app-emulation/vice/Manifest b/app-emulation/vice/Manifest
new file mode 100644
index 000000000000..bb31cd05de86
--- /dev/null
+++ b/app-emulation/vice/Manifest
@@ -0,0 +1,2 @@
+DIST vice-2.4.20.tar.gz 25156408 SHA256 e5d3d125940f0fafe409aabeec9de4e3ae8d9c19a731aa7ec6a57f6d2b897c5f SHA512 a27b1672ca356d0e8f2890c91e449b78ef76512f6d81bdf25350b90c1f472d57ae6d23646d0176c5544c47d81023aa3deb172e3a02eeb0022ea32a13311b5a76 WHIRLPOOL 5f25bfa72ade54dbe09699b5932df2c37017c3993daba048eb09f723a4351300b6722cf06ceb264202459051780a775f45b787b6ea60db78560d5c65da684541
+DIST vice-2.4.tar.gz 13656511 SHA256 ff8b8d5f0f497d1f8e75b95bbc4204993a789284a08a8a59ba727ad81dcace10 SHA512 ad197fc35eb80c9738b7f4f551d350dbb4440c7c8103e5d472b7f7ea5106c1356e9d6e3f481552a028a313129ef233833d3147e03f6f00b9890229d5708e3ebb WHIRLPOOL 80f89f7c144fe1ef2305e109049b49e47dfa4af9b69d0d848bf7b06bd0f2d210669acece363b550abad1c50f53dd45a30397eb1bfacfaa443c9e865c686d0823
diff --git a/app-emulation/vice/files/vice-2.4-arm.patch b/app-emulation/vice/files/vice-2.4-arm.patch
new file mode 100644
index 000000000000..55e2d5a35b0c
--- /dev/null
+++ b/app-emulation/vice/files/vice-2.4-arm.patch
@@ -0,0 +1,38 @@
+--- vice/configure.in
++++ vice/configure.in
+@@ -2299,6 +2299,7 @@
+
+ if test x"$PARSID_SUPPORT" = "xno"; then
+ AC_CHECK_FUNCS(ioperm,[PARSID_SUPPORT=yes],)
++ AC_CHECK_FUNCS(outb_p inb_p)
+ fi
+
+ if test x"$PARSID_SUPPORT" = "xyes"; then
+--- vice/src/arch/unix/parsid.c
++++ vice/src/arch/unix/parsid.c
+@@ -217,8 +217,12 @@
+ #endif
+ #endif
+ #ifdef HAVE_IOPERM
++#ifndef HAVE_OUTB_P
++ outb(value, addr);
++#else
+ outb_p(value, addr);
+ #endif
++#endif
+ }
+
+ BYTE parsid_inb(int addr)
+@@ -237,8 +241,12 @@
+ #endif
+ #endif
+ #ifdef HAVE_IOPERM
++#ifndef HAVE_INB_P
++ return inb((unsigned short)addr);
++#else
+ return inb_p((unsigned short)addr);
+ #endif
++#endif
+ }
+
+ /* chip control pin assignments */
diff --git a/app-emulation/vice/files/vice-2.4-autotools.patch b/app-emulation/vice/files/vice-2.4-autotools.patch
new file mode 100644
index 000000000000..f67113f0b45e
--- /dev/null
+++ b/app-emulation/vice/files/vice-2.4-autotools.patch
@@ -0,0 +1,11 @@
+--- vice-2.4.orig/configure.in
++++ vice-2.4/configure.in
+@@ -105,7 +105,7 @@
+ AC_SUBST(VICE_VERSION)
+
+ AM_INIT_AUTOMAKE(vice, $VICE_VERSION)
+-AM_CONFIG_HEADER(src/config.h)
++AC_CONFIG_HEADERS(src/config.h)
+
+ if test x"$VICE_VERSION_BUILD" = "x" -o x"$VICE_VERSION_BUILD" = "x0" ; then
+ VERSION_RC=$VICE_VERSION_MAJOR","$VICE_VERSION_MINOR",0,0"
diff --git a/app-emulation/vice/files/vice-2.4-buffer.patch b/app-emulation/vice/files/vice-2.4-buffer.patch
new file mode 100644
index 000000000000..dc5fab9b5725
--- /dev/null
+++ b/app-emulation/vice/files/vice-2.4-buffer.patch
@@ -0,0 +1,14 @@
+avoid writing past the end of the gcr_track buffer
+https://bugs.gentoo.org/show_bug.cgi?id=464708
+
+--- ./src/diskimage/fsimage-create.c.orig
++++ ./src/diskimage/fsimage-create.c
+@@ -262,7 +262,7 @@
+ gcrptr = gcr_track;
+ util_word_to_le_buf(gcrptr, disk_image_raw_track_size(image->type, track));
+ gcrptr += 2;
+- memset(gcrptr, 0x55, NUM_MAX_BYTES_TRACK);
++ memset(gcrptr, 0x55, NUM_MAX_BYTES_TRACK - 2);
+
+ header.track = track;
+ for (sector = 0;
diff --git a/app-emulation/vice/files/vice-2.4-ffmpeg-1.patch b/app-emulation/vice/files/vice-2.4-ffmpeg-1.patch
new file mode 100644
index 000000000000..4aefda24584f
--- /dev/null
+++ b/app-emulation/vice/files/vice-2.4-ffmpeg-1.patch
@@ -0,0 +1,135 @@
+Fixes build with recent FFmpeg versions.
+
+https://bugs.gentoo.org/show_bug.cgi?id=443218
+https://sourceforge.net/tracker/?func=detail&aid=3601992&group_id=223021&atid=1057619
+
+--- vice-2.4.orig/src/gfxoutputdrv/ffmpegdrv.c
++++ vice-2.4/src/gfxoutputdrv/ffmpegdrv.c
+@@ -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,12 +613,7 @@ 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);
++ (*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 @@ 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);
+ }
+ }
+
+--- vice-2.4.orig/src/gfxoutputdrv/ffmpeglib.c
++++ vice-2.4/src/gfxoutputdrv/ffmpeglib.c
+@@ -208,13 +208,12 @@ 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(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);
+@@ -240,13 +239,12 @@ 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_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;
+--- vice-2.4.orig/src/gfxoutputdrv/ffmpeglib.h
++++ vice-2.4/src/gfxoutputdrv/ffmpeglib.h
+@@ -80,13 +80,12 @@ 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 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);
+
+@@ -118,13 +117,12 @@ 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;
+- 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 --git a/app-emulation/vice/files/vice-2.4.20-autotools.patch b/app-emulation/vice/files/vice-2.4.20-autotools.patch
new file mode 100644
index 000000000000..7bebd2800ef6
--- /dev/null
+++ b/app-emulation/vice/files/vice-2.4.20-autotools.patch
@@ -0,0 +1,11 @@
+--- vice-2.4.7.orig/configure.ac
++++ vice-2.4.7/configure.ac
+@@ -124,7 +118,7 @@
+ AC_SUBST(VICE_VERSION)
+
+ AM_INIT_AUTOMAKE(vice, $VICE_VERSION)
+-AM_CONFIG_HEADER(src/config.h)
++AC_CONFIG_HEADERS(src/config.h)
+
+ if test x"$VICE_VERSION_BUILD" = "x" -o x"$VICE_VERSION_BUILD" = "x0" ; then
+ VERSION_RC=$VICE_VERSION_MAJOR","$VICE_VERSION_MINOR",0,0"
diff --git a/app-emulation/vice/files/vice-2.4.20-xf86extensions.patch b/app-emulation/vice/files/vice-2.4.20-xf86extensions.patch
new file mode 100644
index 000000000000..357d68666511
--- /dev/null
+++ b/app-emulation/vice/files/vice-2.4.20-xf86extensions.patch
@@ -0,0 +1,15 @@
+--- a/trunk/vice/src/arch/unix/x11/gnome/x11ui.c
++++ b/trunk/vice/src/arch/unix/x11/gnome/x11ui.c
+@@ -102,9 +102,10 @@
+ #include "ui-threads.h"
+ #endif
+
+-#ifdef USE_XF86_EXTENSIONS
++#if defined(USE_XF86_EXTENSIONS) || !defined(HAVE_VTE)
+ #include <gdk/gdkx.h>
+ #endif
++
+ #include "x11ui.h"
+
+ #ifdef DEBUG_X11UI
+
diff --git a/app-emulation/vice/metadata.xml b/app-emulation/vice/metadata.xml
new file mode 100644
index 000000000000..9364cf9ad61e
--- /dev/null
+++ b/app-emulation/vice/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <use>
+ <flag name="ethernet">Enable ethernet emulation</flag>
+ <flag name="fullscreen">Enable the ability to run fullscreen</flag>
+ <flag name="gtk2">Use GTK+2 for GUI instead of GTK+3</flag>
+ <flag name="memmap">Enable extra monitor features</flag>
+ <flag name="sdlsound">Use <pkg>media-libs/libsdl</pkg> for sound support</flag>
+ <flag name="vte">Enable support for <pkg>x11-libs/vte</pkg> in the GTK+ interface</flag>
+ <flag name="xrandr">Enable support for the X xrandr extension</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">vice-emu</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emulation/vice/vice-2.4.20.ebuild b/app-emulation/vice/vice-2.4.20.ebuild
new file mode 100644
index 000000000000..d4bb1665411d
--- /dev/null
+++ b/app-emulation/vice/vice-2.4.20.ebuild
@@ -0,0 +1,172 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils toolchain-funcs flag-o-matic games
+
+DESCRIPTION="The Versatile Commodore 8-bit Emulator"
+HOMEPAGE="http://vice-emu.sourceforge.net/"
+SRC_URI="mirror://sourceforge/vice-emu/releases/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE="Xaw3d alsa ethernet ffmpeg fullscreen +gtk2 ipv6 lame nls oss png pulseaudio sdl +sdlsound threads vte zlib"
+
+# upstream says gtk3 and sdl2 shouldn't be exposed yet.
+#REQUIRED_USE="?? ( gtk2 gtk3 sdl )"
+REQUIRED_USE="?? ( gtk2 sdl )"
+
+GTK_COMMON="
+ x11-libs/pango
+ x11-libs/cairo"
+# gtk3? (
+# x11-libs/gtk+:3
+# vte? ( x11-libs/vte:2.90 )
+# ${GTK_COMMON}
+# )
+RDEPEND="
+ virtual/jpeg:0
+ virtual/opengl
+ media-libs/giflib
+ alsa? ( media-libs/alsa-lib )
+ pulseaudio? ( media-sound/pulseaudio )
+ sdlsound? ( media-libs/libsdl[sound] )
+ ethernet? (
+ >=net-libs/libpcap-0.9.8
+ >=net-libs/libnet-1.1.2.1:1.1
+ )
+ ffmpeg? ( virtual/ffmpeg )
+ lame? ( media-sound/lame )
+ nls? ( virtual/libintl )
+ png? ( media-libs/libpng:0 )
+ zlib? ( sys-libs/zlib )
+ sdl? (
+ media-libs/libsdl[joystick,video]
+ )
+ !sdl? (
+ fullscreen? (
+ x11-libs/libXrandr
+ x11-libs/libXxf86vm )
+ x11-libs/libX11
+ x11-libs/libXext
+ sys-libs/readline
+ )
+ gtk2? (
+ x11-libs/gtk+:2
+ vte? ( x11-libs/vte:0 )
+ x11-libs/gtkglext
+ ${GTK_COMMON}
+ )
+ !sdl? ( !gtk2? (
+ x11-libs/libXmu
+ x11-libs/libXpm
+ x11-libs/libXt
+ x11-libs/libXv
+ Xaw3d? ( x11-libs/libXaw3d )
+ !Xaw3d? ( x11-libs/libXaw )
+ ) )
+ "
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ !sdl? (
+ fullscreen? ( x11-proto/xf86vidmodeproto )
+ !gtk2? (
+ x11-libs/libICE
+ x11-libs/libSM
+ )
+ )
+ x11-apps/bdftopcf
+ x11-apps/mkfontdir
+ x11-proto/xproto
+ x11-proto/xextproto
+ media-libs/fontconfig
+ x11-proto/videoproto
+ nls? ( sys-devel/gettext )"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-autotools.patch \
+ "${FILESDIR}"/${P}-xf86extensions.patch
+ sed -i \
+ -e 's/building//' \
+ doc/Makefile.am || die
+ sed -i \
+ -e "/^docdir =/s:=.*:=/usr/share/doc/${PF}:" \
+ doc/Makefile.am \
+ doc/readmes/Makefile.am || die
+ sed -i \
+ -e "/^docdir =/s:=.*:=/usr/share/doc/${PF}/html:" \
+ doc/html/Makefile.am || die
+ sed -i \
+ -e "s:/usr/local/lib/VICE:$(games_get_libdir)/${PN}:" \
+ man/vice.1 \
+ $(grep -rl --exclude="*texi" /usr/local/lib doc) || die
+ sed -i \
+ -e "/VICEDIR=/s:=.*:=\"$(games_get_libdir)/${PN}\";:" \
+ configure.ac || die
+ sed -i \
+ -e "s:\(#define LIBDIR \).*:\1\"$(games_get_libdir)/${PN}\":" \
+ -e "s:\(#define DOCDIR \).*:\1\"/usr/share/doc/${PF}\":" \
+ src/arch/unix/archdep.h \
+ src/arch/sdl/archdep_unix.h || die
+ rm -rf src/lib/{libffmpeg,liblame} || die
+ sed -i \
+ -e '/SUBDIRS/s/libffmpeg//;' \
+ -e '/SUBDIRS/s/liblame//;' \
+ src/lib/Makefile.am || die
+ AT_NO_RECURSIVE=1 eautoreconf
+}
+
+src_configure() {
+ local gui_arg snd_arg
+
+ snd_arg+=" $(use_with alsa)"
+ snd_arg+=" $(use_with oss)"
+ snd_arg+=" $(use_with pulseaudio pulse)"
+ snd_arg+=" $(use_with sdlsound)"
+
+ gui_arg+=" $(use_enable sdl sdlui)"
+ # The gtk UI code has raw calls to XOpenDisplay and
+ # is missing -lX11 if vte doesn't pull it in.
+ #if use gtk2 || use gtk3 ; then
+ if use gtk2 ; then
+ use vte || append-libs -lX11
+ fi
+ gui_arg+=" $(use_enable gtk2 gnomeui)"
+ #gui_arg+=" $(use_enable gtk3 gnomeui3)"
+ gui_arg+=" $(use_enable Xaw3d xaw3d)"
+
+ # --with-readline is forced to avoid using the embedded copy
+ # don't try to actually run fc-cache (bug #280976)
+ FCCACHE=/bin/true \
+ PKG_CONFIG=$(tc-getPKG_CONFIG) \
+ egamesconf \
+ --enable-parsid \
+ --with-resid \
+ --with-readline \
+ --without-arts \
+ --without-midas \
+ $(use_enable ethernet) \
+ $(use_enable ffmpeg) \
+ $(use_enable ffmpeg external-ffmpeg) \
+ $(use_enable fullscreen) \
+ $(use_enable ipv6) \
+ $(use_enable lame) \
+ $(use_enable nls) \
+ $(use_enable vte) \
+ $(use_with png) \
+ $(use_with threads uithreads) \
+ $(use_with zlib) \
+ ${gui_arg} \
+ ${snd_arg} \
+ --disable-option-checking
+ # --disable-option-checking has to be last
+}
+
+src_install() {
+ DOCS="AUTHORS ChangeLog FEEDBACK README" \
+ default
+ prepgamesdirs
+}
diff --git a/app-emulation/vice/vice-2.4.ebuild b/app-emulation/vice/vice-2.4.ebuild
new file mode 100644
index 000000000000..21350933eb8f
--- /dev/null
+++ b/app-emulation/vice/vice-2.4.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils toolchain-funcs games
+
+DESCRIPTION="The Versatile Commodore 8-bit Emulator"
+HOMEPAGE="http://vice-emu.sourceforge.net/"
+SRC_URI="mirror://sourceforge/vice-emu/releases/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc ~sparc x86"
+IUSE="Xaw3d alsa gnome nls png readline sdl ipv6 memmap ethernet oss zlib X gif jpeg xv dga xrandr ffmpeg lame pulseaudio"
+
+RDEPEND="
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXpm
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXt
+ x11-libs/libXxf86vm
+ x11-apps/xset
+ Xaw3d? ( x11-libs/libXaw3d )
+ !Xaw3d? ( !gnome? ( x11-libs/libXaw ) )
+ alsa? ( media-libs/alsa-lib )
+ gnome? (
+ x11-libs/gtk+:2
+ x11-libs/vte:0
+ dev-libs/atk
+ x11-libs/pango
+ )
+ lame? ( media-sound/lame )
+ ffmpeg? ( virtual/ffmpeg )
+ ethernet? (
+ >=net-libs/libpcap-0.9.8
+ >=net-libs/libnet-1.1.2.1
+ )
+ nls? ( virtual/libintl )
+ png? ( media-libs/libpng:0 )
+ readline? ( sys-libs/readline )
+ sdl? ( media-libs/libsdl )
+ gif? ( media-libs/giflib )
+ jpeg? ( virtual/jpeg )
+ xv? ( x11-libs/libXv )
+ dga? ( x11-libs/libXxf86dga )
+ xrandr? ( x11-libs/libXrandr )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ x11-apps/bdftopcf
+ x11-apps/mkfontdir
+ x11-proto/xproto
+ x11-proto/xf86vidmodeproto
+ x11-proto/xextproto
+ media-libs/fontconfig
+ dga? ( x11-proto/xf86dgaproto )
+ xv? ( x11-proto/videoproto )
+ nls? ( sys-devel/gettext )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-arm.patch \
+ "${FILESDIR}"/${P}-ffmpeg-1.patch \
+ "${FILESDIR}"/${P}-buffer.patch \
+ "${FILESDIR}"/${P}-autotools.patch
+ sed -i \
+ -e "s:/usr/local/lib/VICE:${GAMES_DATADIR}/${PN}:" \
+ man/vice.1 \
+ $(grep -rl --exclude="*texi" /usr/local/lib doc) \
+ || die
+ sed -i \
+ -e '/VICE_ARG_LIST_CHECK/d' \
+ -e "/VICEDIR=/s:=.*:=\"${GAMES_DATADIR}/${PN}\";:" \
+ configure.in || die
+ sed -i \
+ -e "s:\(#define LIBDIR \).*:\1\"${GAMES_DATADIR}/${PN}\":" \
+ -e "s:\(#define DOCDIR \).*:\1\"/usr/share/doc/${PF}\":" \
+ src/arch/unix/archdep.h \
+ src/arch/sdl/archdep_unix.h
+ mv configure.in configure.ac || die
+ AT_NO_RECURSIVE=1 eautoreconf
+}
+
+src_configure() {
+ # don't try to actually run fc-cache (bug #280976)
+ FCCACHE=/bin/true \
+ PKG_CONFIG=$(tc-getPKG_CONFIG) \
+ egamesconf \
+ --enable-fullscreen \
+ --enable-parsid \
+ --with-resid \
+ --without-arts \
+ --without-midas \
+ $(use_enable ffmpeg) \
+ $(use_enable lame) \
+ $(use_enable gnome gnomeui) \
+ $(use_enable nls) \
+ $(use_with Xaw3d xaw3d) \
+ $(use_with alsa) \
+ $(use_with pulseaudio pulse) \
+ $(use_with png) \
+ $(use_with readline) \
+ $(use_with sdl sdlsound) \
+ $(use_enable ipv6) \
+ $(use oss || echo --without-oss) \
+ $(use_enable memmap) \
+ $(use_enable ethernet) \
+ $(use_with zlib) \
+ $(use_with X x)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc AUTHORS ChangeLog FEEDBACK README
+ prepgamesdirs
+}