vice: update to 2.4.28
This was much harder than expected. It does not crash anymore but is not really usable Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
This commit is contained in:
34
recipes-emulators/vice/files/0001-fix-autoreconfig.patch
Normal file
34
recipes-emulators/vice/files/0001-fix-autoreconfig.patch
Normal file
@@ -0,0 +1,34 @@
|
||||
From 701abed61ce01e2d91394bc266b98281f006efe7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
|
||||
Date: Fri, 21 Oct 2016 18:15:31 +0200
|
||||
Subject: [PATCH] fix autoreconfig
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
fixes:
|
||||
|
||||
| gnu-configize: 'configure.ac' or 'configure.in' is required
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
|
||||
---
|
||||
configure.ac | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index b5403d2..3b7f0bb 100755
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2208,7 +2208,6 @@ if test x"$FFMPEG_DO_SUBDIRS" = "xyes"; then
|
||||
else
|
||||
ac_configure_args="$ac_configure_args --enable-make-command=${MAKE-make} --enable-full-host=${ac_cv_host} --enable-compiler=${CC} --prefix=${prefix}"
|
||||
fi
|
||||
- AC_CONFIG_SUBDIRS(src/lib/ffmpeg)
|
||||
fi
|
||||
|
||||
if test x"$HAVE_SHARED_FFMPEG" = "xyes"; then
|
||||
--
|
||||
2.5.5
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
From 0901ffbd5537d3cf974a3d790304ebf049ca60b1 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
|
||||
Date: Fri, 13 May 2016 00:24:03 +0200
|
||||
Subject: [PATCH] gifdrv.c: fix build with giflib > 5.1.0
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
|
||||
---
|
||||
src/gfxoutputdrv/gifdrv.c | 16 ++++++++++++++++
|
||||
1 file changed, 16 insertions(+)
|
||||
|
||||
diff --git a/src/gfxoutputdrv/gifdrv.c b/src/gfxoutputdrv/gifdrv.c
|
||||
index 7f7f3bc..725e1f0 100644
|
||||
--- a/src/gfxoutputdrv/gifdrv.c
|
||||
+++ b/src/gfxoutputdrv/gifdrv.c
|
||||
@@ -114,7 +114,11 @@ static int gifdrv_open(screenshot_t *screenshot, const char *filename)
|
||||
if (EGifPutScreenDesc(sdata->fd, screenshot->width, screenshot->height, 8, 0, gif_colors) == GIF_ERROR ||
|
||||
EGifPutImageDesc(sdata->fd, 0, 0, screenshot->width, screenshot->height, 0, NULL) == GIF_ERROR)
|
||||
{
|
||||
+#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 && GIFLIB_MINOR >= 1
|
||||
+ EGifCloseFile(sdata->fd, 0);
|
||||
+#else
|
||||
EGifCloseFile(sdata->fd);
|
||||
+#endif
|
||||
VICE_FreeMapObject(gif_colors);
|
||||
lib_free(sdata->data);
|
||||
lib_free(sdata->ext_filename);
|
||||
@@ -145,7 +149,11 @@ static int gifdrv_close(screenshot_t *screenshot)
|
||||
|
||||
sdata = screenshot->gfxoutputdrv_data;
|
||||
|
||||
+ #if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 && GIFLIB_MINOR >= 1
|
||||
+ EGifCloseFile(sdata->fd, 0);
|
||||
+#else
|
||||
EGifCloseFile(sdata->fd);
|
||||
+#endif
|
||||
VICE_FreeMapObject(gif_colors);
|
||||
|
||||
/* for some reason giflib will create a file with unexpected
|
||||
@@ -184,7 +192,11 @@ static char *gifdrv_memmap_ext_filename;
|
||||
|
||||
static int gifdrv_close_memmap(void)
|
||||
{
|
||||
+#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 && GIFLIB_MINOR >= 1
|
||||
+ EGifCloseFile(gifdrv_memmap_fd, 0);
|
||||
+#else
|
||||
EGifCloseFile(gifdrv_memmap_fd);
|
||||
+#endif
|
||||
VICE_FreeMapObject(gif_colors);
|
||||
lib_free(gifdrv_memmap_ext_filename);
|
||||
|
||||
@@ -231,7 +243,11 @@ static int gifdrv_open_memmap(const char *filename, int x_size, int y_size, BYTE
|
||||
if (EGifPutScreenDesc(gifdrv_memmap_fd, x_size, y_size, 8, 0, gif_colors) == GIF_ERROR ||
|
||||
EGifPutImageDesc(gifdrv_memmap_fd, 0, 0, x_size, y_size, 0, NULL) == GIF_ERROR)
|
||||
{
|
||||
+#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 && GIFLIB_MINOR >= 1
|
||||
+ EGifCloseFile(gifdrv_memmap_fd, 0);
|
||||
+#else
|
||||
EGifCloseFile(gifdrv_memmap_fd);
|
||||
+#endif
|
||||
VICE_FreeMapObject(gif_colors);
|
||||
lib_free(gifdrv_memmap_ext_filename);
|
||||
return -1;
|
||||
--
|
||||
2.5.5
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
From 197fd2b3059255280770b96f457147fa11adea0b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
|
||||
Date: Fri, 21 Oct 2016 20:51:59 +0200
|
||||
Subject: [PATCH] Do not build os2dialogs it causes infinite loop
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
|
||||
---
|
||||
src/Makefile.am | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/Makefile.am b/src/Makefile.am
|
||||
index 906f950..598d592 100755
|
||||
--- a/src/Makefile.am
|
||||
+++ b/src/Makefile.am
|
||||
@@ -608,7 +608,6 @@ infocontrib.h: $(top_srcdir)/doc/vice.texi $(srcdir)/infocontrib.sed
|
||||
$(SHELL) $(srcdir)/geninfocontrib_h.sh indexhtml <index.tmp >../doc/html/index.html
|
||||
rm -f index.tmp
|
||||
cp $(top_srcdir)/src/arch/os2/dialogs/dialogs.rc ./dialogs.tmp
|
||||
- $(SHELL) $(srcdir)/geninfocontrib_h.sh os2dialogs <dialogs.tmp >arch/os2/dialogs/dialogs.rc
|
||||
rm -f dialogs.tmp
|
||||
$(SHELL) $(srcdir)/geninfocontrib_h.sh vice1 | $(srcdir)/sedinfocontrib_h.sh $(srcdir)/infocontrib.sed >../man/vice.1
|
||||
rm -f team.tmp
|
||||
--
|
||||
2.5.5
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
From 117819032b03f134a080d53a39d4f9a6e0ecb646 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
|
||||
Date: Fri, 21 Oct 2016 21:30:32 +0200
|
||||
Subject: [PATCH] ffmpegdrv.c: fix build with current ffmpeg
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
|
||||
---
|
||||
src/gfxoutputdrv/ffmpeglib.h | 2 +-
|
||||
src/gfxoutputdrv/ffmpegdrv.c | 11 ++++++-----
|
||||
2 file changed, 7 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/gfxoutputdrv/ffmpeglib.h b/src/gfxoutputdrv/ffmpeglib.h
|
||||
index b0136c8..3e8a93a 100644
|
||||
--- a/src/gfxoutputdrv/ffmpeglib.h
|
||||
+++ b/src/gfxoutputdrv/ffmpeglib.h
|
||||
@@ -118,7 +118,7 @@ typedef void(*av_dict_free_t)(AVDictionary**);
|
||||
|
||||
/* swscale functions */
|
||||
typedef struct SwsContext * (*sws_getContext_t)(int srcW, int srcH,
|
||||
- enum PixelFormat srcFormat, int dstW, int dstH, enum PixelFormat dstFormat,
|
||||
+ enum AVPixelFormat srcFormat, int dstW, int dstH, enum AVPixelFormat dstFormat,
|
||||
int flags, SwsFilter *srcFilter, SwsFilter *dstFilter, double *param);
|
||||
typedef void (*sws_freeContext_t)(struct SwsContext *swsContext);
|
||||
typedef int (*sws_scale_t)(struct SwsContext *context, uint8_t* srcSlice[],
|
||||
diff --git a/src/gfxoutputdrv/ffmpegdrv.c b/src/gfxoutputdrv/ffmpegdrv.c
|
||||
index 64359f5..437c9ac 100644
|
||||
--- a/src/gfxoutputdrv/ffmpegdrv.c
|
||||
+++ b/src/gfxoutputdrv/ffmpegdrv.c
|
||||
@@ -30,6 +30,7 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
+#include <libavutil/pixfmt.h>
|
||||
|
||||
#include "archdep.h"
|
||||
#include "cmdline.h"
|
||||
@@ -671,8 +672,8 @@ static int ffmpegdrv_open_video(AVFormatContext *oc, AVStream *st)
|
||||
picture is needed too. It is then converted to the required
|
||||
output format */
|
||||
video_st.tmp_frame = NULL;
|
||||
- if (c->pix_fmt != PIX_FMT_RGB24) {
|
||||
- video_st.tmp_frame = ffmpegdrv_alloc_picture(PIX_FMT_RGB24, c->width, c->height);
|
||||
+ if (c->pix_fmt != AV_PIX_FMT_RGB24) {
|
||||
+ video_st.tmp_frame = ffmpegdrv_alloc_picture(AV_PIX_FMT_RGB24, c->width, c->height);
|
||||
if (!video_st.tmp_frame) {
|
||||
log_debug("ffmpegdrv: could not allocate temporary picture");
|
||||
return -1;
|
||||
@@ -769,9 +770,9 @@ static void ffmpegdrv_init_video(screenshot_t *screenshot)
|
||||
|
||||
#ifdef HAVE_FFMPEG_SWSCALE
|
||||
/* setup scaler */
|
||||
- if (c->pix_fmt != PIX_FMT_RGB24) {
|
||||
+ if (c->pix_fmt != AV_PIX_FMT_RGB24) {
|
||||
sws_ctx = VICE_P_SWS_GETCONTEXT
|
||||
- (video_width, video_height, PIX_FMT_RGB24,
|
||||
+ (video_width, video_height, AV_PIX_FMT_RGB24,
|
||||
video_width, video_height, c->pix_fmt,
|
||||
SWS_BICUBIC,
|
||||
NULL, NULL, NULL);
|
||||
@@ -948,7 +949,7 @@ static int ffmpegdrv_record(screenshot_t *screenshot)
|
||||
|
||||
c = video_st.st->codec;
|
||||
|
||||
- if (c->pix_fmt != PIX_FMT_RGB24) {
|
||||
+ if (c->pix_fmt != AV_PIX_FMT_RGB24) {
|
||||
ffmpegdrv_fill_rgb_image(screenshot, video_st.tmp_frame);
|
||||
|
||||
if (sws_ctx != NULL) {
|
||||
--
|
||||
2.5.5
|
||||
|
||||
29
recipes-emulators/vice/files/0004-joy.h-fix-typo.patch
Normal file
29
recipes-emulators/vice/files/0004-joy.h-fix-typo.patch
Normal file
@@ -0,0 +1,29 @@
|
||||
From 0d6757c285e455957903d74509031d88161e1a86 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
|
||||
Date: Sat, 22 Oct 2016 00:20:01 +0200
|
||||
Subject: [PATCH] joy.h: fix typo
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
|
||||
---
|
||||
src/arch/sdl/joy.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/arch/sdl/joy.h b/src/arch/sdl/joy.h
|
||||
index 547ecb2..ef6c29c 100755
|
||||
--- a/src/arch/sdl/joy.h
|
||||
+++ b/src/arch/sdl/joy.h
|
||||
@@ -85,7 +85,7 @@ extern void sdljoy_swap_ports(void);
|
||||
#define JOYDEV_DESCRIPTION_2 "Set device for joystick port 2 (0: None, 1: Numpad, 2: Keyset 1, 3: Keyset 2)"
|
||||
#define JOYDEV_DESCRIPTION_3 "Set device for extra joystick port 1 (0: None, 1: Numpad, 2: Keyset 1, 3: Keyset 2)"
|
||||
#define JOYDEV_DESCRIPTION_4 "Set device for extra joystick port 2 (0: None, 1: Numpad, 2: Keyset 1, 3: Keyset 2)"
|
||||
-#define JOYDEV_DESCRIPTION_4 "Set device for extra joystick port 3 (0: None, 1: Numpad, 2: Keyset 1, 3: Keyset 2)"
|
||||
+#define JOYDEV_DESCRIPTION_5 "Set device for extra joystick port 3 (0: None, 1: Numpad, 2: Keyset 1, 3: Keyset 2)"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
--
|
||||
2.5.5
|
||||
|
||||
28
recipes-emulators/vice/files/0005-fix-sdl-build.patch
Normal file
28
recipes-emulators/vice/files/0005-fix-sdl-build.patch
Normal file
@@ -0,0 +1,28 @@
|
||||
From 9a496ab29e585b157f608ea477ae0a55602081ad Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
|
||||
Date: Sat, 22 Oct 2016 00:33:09 +0200
|
||||
Subject: [PATCH] fix sdl build
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
|
||||
---
|
||||
src/arch/sdl/ssi2001-drv.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/arch/sdl/ssi2001-drv.c b/src/arch/sdl/ssi2001-drv.c
|
||||
index d218be0..e6437d6 100755
|
||||
--- a/src/arch/sdl/ssi2001-drv.c
|
||||
+++ b/src/arch/sdl/ssi2001-drv.c
|
||||
@@ -30,6 +30,7 @@
|
||||
|
||||
#ifdef UNIX_COMPILE
|
||||
#include "../unix/ssi2001-drv.c"
|
||||
+#include "../unix/io-access.c"
|
||||
#endif
|
||||
|
||||
#if defined(WIN32_COMPILE) && !defined(__XBOX__)
|
||||
--
|
||||
2.5.5
|
||||
|
||||
37
recipes-emulators/vice/vice_2.4.28.bb
Normal file
37
recipes-emulators/vice/vice_2.4.28.bb
Normal file
@@ -0,0 +1,37 @@
|
||||
SUMMARY = "Versatile Commodore Emulator"
|
||||
HOMEPAGE = "http://vice-emu.sourceforge.net"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
|
||||
|
||||
# Sources for c64 software:
|
||||
# [1] ftp://arnold.c64.org/pub/games/
|
||||
|
||||
SRC_URI = " \
|
||||
${SOURCEFORGE_MIRROR}/vice-emu/${PN}-${PV}.tar.gz \
|
||||
file://0001-fix-autoreconfig.patch \
|
||||
file://0002-Do-not-build-os2dialogs-it-causes-infinite-loop.patch \
|
||||
file://0003-ffmpegdrv.c-fix-build-with-current-ffmpeg.patch \
|
||||
file://0004-joy.h-fix-typo.patch \
|
||||
file://0005-fix-sdl-build.patch \
|
||||
file://vice_64.desktop \
|
||||
"
|
||||
SRC_URI[md5sum] = "533554f5d7680b85c0954e4d4811274a"
|
||||
SRC_URI[sha256sum] = "1d73ba3761b161aa76a31a9b8c6550c998272fa2feff19451d870120b14a1838"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
|
||||
DEPENDS = "pulseaudio libav libsdl libpng jpeg giflib libxxf86vm portaudio-v19 mpg123 virtual/libgl"
|
||||
|
||||
EXTRA_OECONF = " \
|
||||
--disable-option-checking \
|
||||
--enable-external-ffmpeg \
|
||||
--enable-parsid \
|
||||
--enable-sdlui \
|
||||
"
|
||||
|
||||
do_install_append() {
|
||||
install -d ${D}/${datadir}/applications
|
||||
install -m 0644 ${WORKDIR}/vice_64.desktop ${D}/${datadir}/applications
|
||||
}
|
||||
|
||||
FILES_${PN} += "${datadir}/icons"
|
||||
@@ -1,51 +0,0 @@
|
||||
SUMMARY = "Versatile Commodore Emulator"
|
||||
HOMEPAGE = "http://vice-emu.sourceforge.net"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://doc/html/plain/COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
|
||||
|
||||
# Sources for c64 software:
|
||||
# [1] ftp://arnold.c64.org/pub/games/
|
||||
|
||||
SRC_URI = " \
|
||||
${SOURCEFORGE_MIRROR}/project/vice-emu/releases/${BPN}-${PV}.tar.gz \
|
||||
file://0001-gifdrv.c-fix-build-with-giflib-5.1.0.patch \
|
||||
file://vice_64.desktop \
|
||||
"
|
||||
SRC_URI[md5sum] = "b017647a0c159bbe43cdb81762d1c577"
|
||||
SRC_URI[sha256sum] = "ff8b8d5f0f497d1f8e75b95bbc4204993a789284a08a8a59ba727ad81dcace10"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
|
||||
DEPENDS = "libxt libxmu libxaw libxpm libxv pulseaudio libav libsdl libpng jpeg giflib libxxf86vm"
|
||||
|
||||
# some options autotools.bbclass adds by default cause configure to complain
|
||||
# so (hack): copy from autotools.bbclass and remove unwanted
|
||||
CONFIGUREOPTS = " \
|
||||
--build=${BUILD_SYS} \
|
||||
--host=${HOST_SYS} \
|
||||
--target=${TARGET_SYS} \
|
||||
--prefix=${prefix} \
|
||||
--exec_prefix=${exec_prefix} \
|
||||
--bindir=${bindir} \
|
||||
--sbindir=${sbindir} \
|
||||
--libexecdir=${libexecdir} \
|
||||
--datadir=${datadir} \
|
||||
--sysconfdir=${sysconfdir} \
|
||||
--sharedstatedir=${sharedstatedir} \
|
||||
--localstatedir=${localstatedir} \
|
||||
--libdir=${libdir} \
|
||||
--includedir=${includedir} \
|
||||
--oldincludedir=${oldincludedir} \
|
||||
--infodir=${infodir} \
|
||||
--mandir=${mandir} \
|
||||
${CONFIGUREOPT_DEPTRACK} \
|
||||
"
|
||||
|
||||
EXTRA_OECONF = "--disable-ffmpeg"
|
||||
|
||||
do_install_append() {
|
||||
install -d ${D}/${datadir}/applications
|
||||
install -m 0644 ${WORKDIR}/vice_64.desktop ${D}/${datadir}/applications
|
||||
}
|
||||
|
||||
FILES_${PN} += "${datadir}/icons"
|
||||
Reference in New Issue
Block a user