From e430980a441345a7b144009ea70cf309a915d2d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Fri, 21 Oct 2016 22:38:50 +0200 Subject: [PATCH] vice: update to 2.4.28 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This was much harder than expected. It does not crash anymore but is not really usable Signed-off-by: Andreas Müller --- .../vice/files/0001-fix-autoreconfig.patch | 34 +++++++++ ...gifdrv.c-fix-build-with-giflib-5.1.0.patch | 68 ----------------- ...d-os2dialogs-it-causes-infinite-loop.patch | 28 +++++++ ...gdrv.c-fix-build-with-current-ffmpeg.patch | 74 +++++++++++++++++++ .../vice/files/0004-joy.h-fix-typo.patch | 29 ++++++++ .../vice/files/0005-fix-sdl-build.patch | 28 +++++++ recipes-emulators/vice/vice_2.4.28.bb | 37 ++++++++++ recipes-emulators/vice/vice_2.4.bb | 51 ------------- 8 files changed, 230 insertions(+), 119 deletions(-) create mode 100644 recipes-emulators/vice/files/0001-fix-autoreconfig.patch delete mode 100644 recipes-emulators/vice/files/0001-gifdrv.c-fix-build-with-giflib-5.1.0.patch create mode 100644 recipes-emulators/vice/files/0002-Do-not-build-os2dialogs-it-causes-infinite-loop.patch create mode 100644 recipes-emulators/vice/files/0003-ffmpegdrv.c-fix-build-with-current-ffmpeg.patch create mode 100644 recipes-emulators/vice/files/0004-joy.h-fix-typo.patch create mode 100644 recipes-emulators/vice/files/0005-fix-sdl-build.patch create mode 100644 recipes-emulators/vice/vice_2.4.28.bb delete mode 100644 recipes-emulators/vice/vice_2.4.bb diff --git a/recipes-emulators/vice/files/0001-fix-autoreconfig.patch b/recipes-emulators/vice/files/0001-fix-autoreconfig.patch new file mode 100644 index 0000000..776aca0 --- /dev/null +++ b/recipes-emulators/vice/files/0001-fix-autoreconfig.patch @@ -0,0 +1,34 @@ +From 701abed61ce01e2d91394bc266b98281f006efe7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +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 +--- + 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 + diff --git a/recipes-emulators/vice/files/0001-gifdrv.c-fix-build-with-giflib-5.1.0.patch b/recipes-emulators/vice/files/0001-gifdrv.c-fix-build-with-giflib-5.1.0.patch deleted file mode 100644 index 4984252..0000000 --- a/recipes-emulators/vice/files/0001-gifdrv.c-fix-build-with-giflib-5.1.0.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 0901ffbd5537d3cf974a3d790304ebf049ca60b1 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -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 ---- - 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 - diff --git a/recipes-emulators/vice/files/0002-Do-not-build-os2dialogs-it-causes-infinite-loop.patch b/recipes-emulators/vice/files/0002-Do-not-build-os2dialogs-it-causes-infinite-loop.patch new file mode 100644 index 0000000..1bf724e --- /dev/null +++ b/recipes-emulators/vice/files/0002-Do-not-build-os2dialogs-it-causes-infinite-loop.patch @@ -0,0 +1,28 @@ +From 197fd2b3059255280770b96f457147fa11adea0b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +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 +--- + 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 ../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 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 + diff --git a/recipes-emulators/vice/files/0003-ffmpegdrv.c-fix-build-with-current-ffmpeg.patch b/recipes-emulators/vice/files/0003-ffmpegdrv.c-fix-build-with-current-ffmpeg.patch new file mode 100644 index 0000000..bb2b211 --- /dev/null +++ b/recipes-emulators/vice/files/0003-ffmpegdrv.c-fix-build-with-current-ffmpeg.patch @@ -0,0 +1,74 @@ +From 117819032b03f134a080d53a39d4f9a6e0ecb646 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +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 +--- + 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 + #include ++#include + + #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 + diff --git a/recipes-emulators/vice/files/0004-joy.h-fix-typo.patch b/recipes-emulators/vice/files/0004-joy.h-fix-typo.patch new file mode 100644 index 0000000..013c097 --- /dev/null +++ b/recipes-emulators/vice/files/0004-joy.h-fix-typo.patch @@ -0,0 +1,29 @@ +From 0d6757c285e455957903d74509031d88161e1a86 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +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 +--- + 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 + diff --git a/recipes-emulators/vice/files/0005-fix-sdl-build.patch b/recipes-emulators/vice/files/0005-fix-sdl-build.patch new file mode 100644 index 0000000..4c381f1 --- /dev/null +++ b/recipes-emulators/vice/files/0005-fix-sdl-build.patch @@ -0,0 +1,28 @@ +From 9a496ab29e585b157f608ea477ae0a55602081ad Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +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 +--- + 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 + diff --git a/recipes-emulators/vice/vice_2.4.28.bb b/recipes-emulators/vice/vice_2.4.28.bb new file mode 100644 index 0000000..6a24399 --- /dev/null +++ b/recipes-emulators/vice/vice_2.4.28.bb @@ -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" diff --git a/recipes-emulators/vice/vice_2.4.bb b/recipes-emulators/vice/vice_2.4.bb deleted file mode 100644 index 482361d..0000000 --- a/recipes-emulators/vice/vice_2.4.bb +++ /dev/null @@ -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"