summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornia <nia@pkgsrc.org>2019-06-10 12:41:23 +0000
committernia <nia@pkgsrc.org>2019-06-10 12:41:23 +0000
commit8d96b7b26efbc920a80ab59a16d227a1b3d3301c (patch)
treec670aa64e7f034f3a4b422379067de521b3f7965
parent4ce4ef1eca1216c61dfa96ae317125b8cb6679bd (diff)
downloadpkgsrc-8d96b7b26efbc920a80ab59a16d227a1b3d3301c.tar.gz
dosbox: Update to 0.74.2 (0.74-2)
Changes: - Rewrite auto/max cycles algorithm to work better with windows 7, other OSes might benefit as well. - Update 64bit recompiler to work on OSX and Linux. - Several improvements to make the recompilers work with newer compilers and add some workarounds about clang confusing itself. - Fix several variables being the wrong size in the recompiler. - Support absolute 64 bit addressing. (DRC:64 bit error messages) - Zero extend data in dynrec core for LLVM compilation/ - Reduce overhead of the Mac version with a lot. Results in a speed increase. - Replace NV_PixelDataRange with the more common ARB_PixelBufferObject extension. Should help with output=opengl. - Reuse graphics window if possible instead of always creating a new one! - Add patches to work better when called by WINE: - support WINE style namemangling. - allow Z:\ to be moved to a different drive. - Try to fix stuttering audio with opengl output on Linux. (or at least improve it. Linux users might need to increase the prebuffer option a bit) - Fix automake and autoconf problems. - Fix problems related to packed struct layouts. - Fix compilation on gcc 4.4 and gcc 4.6.1. - Fix compilation with -DPIC. - Hopefully fix crash on shutdown, when unknown condition is encountered. - Fix -lto with gcc. - Fix clang compliation with asm fpu core. - Fix mapper crash on startup and when changing the mapper key. - Fix compilation in VS2015. - Fix compilation on mingw64. - Fix compilation on Frisbee and newer clang. - Fix compilation machines that have X11 libraries installed, but use a SDL without X11. - Fix a few problems relating to video capturing: - Writing out the index too often. (slowdown with longer captures) - Not being aware of when only the refresh rate changed. - Fix call order when bitshifting the return order (VS C /O2 builds). - Fix sign-extension error in S3 draw funcion, i.e. win3.1 analog clock. - Fix expanddot not caring about the size of the inputbuffer. - Some fixes for the debugger related to starting a program through debug.com. - Bring OS/2 port code up to date. - Reduce the amount of warning when compiling with quite a bit. - Allow 15/26/32 bits input to the opengl output. - Add cmd-q as exit key for macs. - Fix icon and titlebar on very old setups. - Fix off by one display size calculation errors with very large displays. - Fix out of bounds access the unused byte in the 32 bit colour value of the hardware mouse cursor pixel was affected. - Fix depreciated warnings on Mac, allow soundfont loading for coreaudio. - Keep repeating a pressed key if another key was unpressed. - Fix crash on OS X related to putting junk in the titlebar. - Extend fullresolution=0x0 to work on Linux and Mac. - Change gameblaster and tandy sound core to latest mame version. - Improve numlock and capslock support on Linux and Macs. Still not perfect on Windows. - Added even more code to workaround Windows behaving weirdly with alt-tab.
-rw-r--r--emulators/dosbox/MESSAGE.NetBSD7
-rw-r--r--emulators/dosbox/Makefile10
-rw-r--r--emulators/dosbox/distinfo17
-rw-r--r--emulators/dosbox/options.mk15
-rw-r--r--emulators/dosbox/patches/patch-include_dos__inc.h14
-rw-r--r--emulators/dosbox/patches/patch-src_Makefile.in31
-rw-r--r--emulators/dosbox/patches/patch-src_dosbox.cpp15
-rw-r--r--emulators/dosbox/patches/patch-src_gui_sdl__mapper.cpp19
-rw-r--r--emulators/dosbox/patches/patch-src_gui_sdlmain.cpp26
-rw-r--r--emulators/dosbox/patches/patch-src_ints_int10__vesa.cpp20
10 files changed, 49 insertions, 125 deletions
diff --git a/emulators/dosbox/MESSAGE.NetBSD b/emulators/dosbox/MESSAGE.NetBSD
new file mode 100644
index 00000000000..7f1f3fab92e
--- /dev/null
+++ b/emulators/dosbox/MESSAGE.NetBSD
@@ -0,0 +1,7 @@
+===========================================================================
+$NetBSD: MESSAGE.NetBSD,v 1.1 2019/06/10 12:41:23 nia Exp $
+
+Lowering the system audio latency (or blk_ms) with sysctl(8) may be
+required to achieve full performance and framerates.
+
+===========================================================================
diff --git a/emulators/dosbox/Makefile b/emulators/dosbox/Makefile
index e80c4b46c9a..b2ffdfae732 100644
--- a/emulators/dosbox/Makefile
+++ b/emulators/dosbox/Makefile
@@ -1,12 +1,12 @@
-# $NetBSD: Makefile,v 1.45 2018/07/04 13:40:17 jperkin Exp $
+# $NetBSD: Makefile,v 1.46 2019/06/10 12:41:23 nia Exp $
-DISTNAME= dosbox-0.74
-PKGREVISION= 10
+DISTNAME= dosbox-0.74-2
+PKGNAME= dosbox-0.74.2
CATEGORIES= emulators
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=dosbox/}
MAINTAINER= pkgsrc-users@NetBSD.org
-HOMEPAGE= http://dosbox.sourceforge.net/
+HOMEPAGE= https://www.dosbox.com/
COMMENT= Multi-platform DOS emulator using SDL
LICENSE= gnu-gpl-v2
@@ -26,11 +26,13 @@ SUBST_STAGE.fixme= pre-configure
SUBST_FILES.fixme= docs/dosbox.1
SUBST_SED.fixme= -e s,/usr/share/,${PREFIX}/share/,g
+# dynamic recompiler enabled by default
NOT_PAX_MPROTECT_SAFE+= bin/dosbox
post-install:
${INSTALL_DATA} ${WRKSRC}/README ${DESTDIR}${PREFIX}/share/doc/dosbox
+.include "options.mk"
.include "../../audio/SDL_sound/buildlink3.mk"
.include "../../devel/SDL/buildlink3.mk"
.include "../../graphics/png/buildlink3.mk"
diff --git a/emulators/dosbox/distinfo b/emulators/dosbox/distinfo
index 793a4484e17..b0fba0b856a 100644
--- a/emulators/dosbox/distinfo
+++ b/emulators/dosbox/distinfo
@@ -1,12 +1,7 @@
-$NetBSD: distinfo,v 1.24 2018/03/21 13:48:48 kamil Exp $
+$NetBSD: distinfo,v 1.25 2019/06/10 12:41:23 nia Exp $
-SHA1 (dosbox-0.74.tar.gz) = 2d99f0013350efb29b769ff19ddc8e4d86f4e77e
-RMD160 (dosbox-0.74.tar.gz) = 4534d87206de8401cd0de471d8172726f2c6b788
-SHA512 (dosbox-0.74.tar.gz) = 4a6ff4c658997a495119d200ec6ad37649da940814a4b14fca0dd29a99142026e324695b7aa9d2946efc2abf9067a819d911e43778efe905ed10ddf9b9f2dd3d
-Size (dosbox-0.74.tar.gz) = 1265711 bytes
-SHA1 (patch-include_dos__inc.h) = c6c9e5e29b3861fa477ae6c00e335dc57737f8ff
-SHA1 (patch-src_Makefile.in) = 6f811b5a1450ca88cb47d99d0381fb682d8b994d
-SHA1 (patch-src_dosbox.cpp) = f96771b9a478d116a10f868cb29aaea7c909ead5
-SHA1 (patch-src_gui_sdl__mapper.cpp) = 030a05b6036f28063a42f4fc601dc7add5a85d6b
-SHA1 (patch-src_gui_sdlmain.cpp) = 317cd169e6b75a238bb1a4a72812654d36049227
-SHA1 (patch-src_ints_int10__vesa.cpp) = ef8130d934e9eb7fc1582f6500aed089674c9ed1
+SHA1 (dosbox-0.74-2.tar.gz) = 3008694ef998853257c6a4cb5374229e157ceaf3
+RMD160 (dosbox-0.74-2.tar.gz) = cd8e465a22840932d20b52293f76206e8d3b8ed2
+SHA512 (dosbox-0.74-2.tar.gz) = 5e02ba84bfb89318f2ce4d2f387d36a0988e4e5c04e89d6c902f865bbf951a38850fc51b24632cec706687b51b4f661de918975367e6fd0d775c5f40a623cf78
+Size (dosbox-0.74-2.tar.gz) = 1324059 bytes
+SHA1 (patch-src_Makefile.in) = 64e5f4fa66d4784961afc375fbe2d8d91008d8d0
diff --git a/emulators/dosbox/options.mk b/emulators/dosbox/options.mk
new file mode 100644
index 00000000000..c9ecad46bed
--- /dev/null
+++ b/emulators/dosbox/options.mk
@@ -0,0 +1,15 @@
+# $NetBSD: options.mk,v 1.1 2019/06/10 12:41:23 nia Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.dosbox
+
+PKG_SUPPORTED_OPTIONS+= alsa
+PKG_SUGGESTED_OPTIONS.Linux+= alsa
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Malsa)
+CONFIGURE_ARGS+= --enable-alsa-midi
+.include "../../audio/alsa-lib/buildlink3.mk"
+.else
+CONFIGURE_ARGS+= --disable-alsa-midi
+.endif
diff --git a/emulators/dosbox/patches/patch-include_dos__inc.h b/emulators/dosbox/patches/patch-include_dos__inc.h
deleted file mode 100644
index fd9f3eacd5d..00000000000
--- a/emulators/dosbox/patches/patch-include_dos__inc.h
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD: patch-include_dos__inc.h,v 1.1 2014/04/17 00:49:51 wiz Exp $
-
-Add missing header for offsetof() and friends.
-
---- include/dos_inc.h.orig 2010-05-10 17:43:54.000000000 +0000
-+++ include/dos_inc.h
-@@ -27,6 +27,7 @@
- #ifndef DOSBOX_MEM_H
- #include "mem.h"
- #endif
-+#include <stddef.h>
-
- #ifdef _MSC_VER
- #pragma pack (1)
diff --git a/emulators/dosbox/patches/patch-src_Makefile.in b/emulators/dosbox/patches/patch-src_Makefile.in
index c812aa2d931..823b1462bb9 100644
--- a/emulators/dosbox/patches/patch-src_Makefile.in
+++ b/emulators/dosbox/patches/patch-src_Makefile.in
@@ -1,29 +1,28 @@
-$NetBSD: patch-src_Makefile.in,v 1.1 2013/10/21 09:48:10 fhajny Exp $
+$NetBSD: patch-src_Makefile.in,v 1.2 2019/06/10 12:41:23 nia Exp $
Remove unused archives, fixes build with Sun ld.
---- src/Makefile.in.orig 2010-05-12 09:57:43.000000000 +0000
+
+--- src/Makefile.in.orig 2018-08-30 13:06:20.000000000 +0000
+++ src/Makefile.in
-@@ -52,10 +52,10 @@ am__dosbox_SOURCES_DIST = dosbox.cpp win
- @HAVE_WINDRES_TRUE@am__objects_1 = winres.$(OBJEXT)
- am_dosbox_OBJECTS = dosbox.$(OBJEXT) $(am__objects_1)
- dosbox_OBJECTS = $(am_dosbox_OBJECTS)
--dosbox_DEPENDENCIES = cpu/libcpu.a debug/libdebug.a dos/libdos.a \
-+dosbox_DEPENDENCIES = cpu/libcpu.a dos/libdos.a \
+@@ -109,8 +109,7 @@ dosbox_OBJECTS = $(am_dosbox_OBJECTS)
+ dosbox_DEPENDENCIES = cpu/libcpu.a debug/libdebug.a dos/libdos.a \
fpu/libfpu.a hardware/libhardware.a gui/libgui.a \
ints/libints.a misc/libmisc.a shell/libshell.a \
-- hardware/serialport/libserial.a libs/gui_tk/libgui_tk.a
-+ hardware/serialport/libserial.a
- DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
- depcomp = $(SHELL) $(top_srcdir)/depcomp
- am__depfiles_maybe = depfiles
-@@ -217,8 +217,8 @@ AM_CPPFLAGS = -I$(top_srcdir)/include
+- hardware/mame/libmame.a hardware/serialport/libserial.a \
+- libs/gui_tk/libgui_tk.a
++ hardware/mame/libmame.a hardware/serialport/libserial.a
+ AM_V_P = $(am__v_P_@AM_V@)
+ am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+ am__v_P_0 = false
+@@ -321,9 +320,9 @@ AM_CPPFLAGS = -I$(top_srcdir)/include
SUBDIRS = cpu debug dos fpu gui hardware libs ints misc shell platform
@HAVE_WINDRES_TRUE@ico_stuff = winres.rc
dosbox_SOURCES = dosbox.cpp $(ico_stuff)
-dosbox_LDADD = cpu/libcpu.a debug/libdebug.a dos/libdos.a fpu/libfpu.a hardware/libhardware.a gui/libgui.a \
-- ints/libints.a misc/libmisc.a shell/libshell.a hardware/serialport/libserial.a libs/gui_tk/libgui_tk.a
+dosbox_LDADD = cpu/libcpu.a dos/libdos.a fpu/libfpu.a hardware/libhardware.a gui/libgui.a \
-+ ints/libints.a misc/libmisc.a shell/libshell.a hardware/serialport/libserial.a
+ ints/libints.a misc/libmisc.a shell/libshell.a hardware/mame/libmame.a \
+- hardware/serialport/libserial.a libs/gui_tk/libgui_tk.a
++ hardware/serialport/libserial.a
EXTRA_DIST = winres.rc dosbox.ico
all: all-recursive
diff --git a/emulators/dosbox/patches/patch-src_dosbox.cpp b/emulators/dosbox/patches/patch-src_dosbox.cpp
deleted file mode 100644
index 4d2ad42b1a6..00000000000
--- a/emulators/dosbox/patches/patch-src_dosbox.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-src_dosbox.cpp,v 1.1 2017/09/16 03:27:20 maya Exp $
-
-Default to 8192 block size - sounds better
-
---- src/dosbox.cpp.orig 2010-05-10 17:43:54.000000000 +0000
-+++ src/dosbox.cpp
-@@ -454,7 +454,7 @@ void DOSBOX_Init(void) {
-
- const char *blocksizes[] = {
- "1024", "2048", "4096", "8192", "512", "256", 0};
-- Pint = secprop->Add_int("blocksize",Property::Changeable::OnlyAtStart,1024);
-+ Pint = secprop->Add_int("blocksize",Property::Changeable::OnlyAtStart,8192);
- Pint->Set_values(blocksizes);
- Pint->Set_help("Mixer block size, larger blocks might help sound stuttering but sound will also be more lagged.");
-
diff --git a/emulators/dosbox/patches/patch-src_gui_sdl__mapper.cpp b/emulators/dosbox/patches/patch-src_gui_sdl__mapper.cpp
deleted file mode 100644
index 52e20efc573..00000000000
--- a/emulators/dosbox/patches/patch-src_gui_sdl__mapper.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-$NetBSD: patch-src_gui_sdl__mapper.cpp,v 1.1 2014/04/17 00:49:51 wiz Exp $
-
-Avoid overrunning array.
-
---- src/gui/sdl_mapper.cpp.orig 2010-05-10 18:58:06.000000000 +0000
-+++ src/gui/sdl_mapper.cpp
-@@ -2384,9 +2384,11 @@ void MAPPER_StartUp(Section * sec) {
- mapper.sticks.num=0;
- mapper.sticks.num_groups=0;
- Bitu i;
-- for (i=0; i<16; i++) {
-+ for (i=0; i<MAX_VJOY_BUTTONS; i++) {
- virtual_joysticks[0].button_pressed[i]=false;
- virtual_joysticks[1].button_pressed[i]=false;
-+ }
-+ for (i=0; i<16; i++) {
- virtual_joysticks[0].hat_pressed[i]=false;
- virtual_joysticks[1].hat_pressed[i]=false;
- }
diff --git a/emulators/dosbox/patches/patch-src_gui_sdlmain.cpp b/emulators/dosbox/patches/patch-src_gui_sdlmain.cpp
deleted file mode 100644
index 6617af1251d..00000000000
--- a/emulators/dosbox/patches/patch-src_gui_sdlmain.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-$NetBSD: patch-src_gui_sdlmain.cpp,v 1.1 2017/02/07 23:56:14 joerg Exp $
-
-Pointers are not ordered with 0. Fix format string.
-
---- src/gui/sdlmain.cpp.orig 2017-01-08 18:35:26.455430930 +0000
-+++ src/gui/sdlmain.cpp
-@@ -1134,8 +1134,8 @@ static void GUI_StartUp(Section * sec) {
- #endif
- const char * gl_ext = (const char *)glGetString (GL_EXTENSIONS);
- if(gl_ext && *gl_ext){
-- sdl.opengl.packed_pixel=(strstr(gl_ext,"EXT_packed_pixels") > 0);
-- sdl.opengl.paletted_texture=(strstr(gl_ext,"EXT_paletted_texture") > 0);
-+ sdl.opengl.packed_pixel=(strstr(gl_ext,"EXT_packed_pixels") != NULL);
-+ sdl.opengl.paletted_texture=(strstr(gl_ext,"EXT_paletted_texture") != NULL);
- #if defined(NVIDIA_PixelDataRange)
- sdl.opengl.pixel_data_range=(strstr(gl_ext,"GL_NV_pixel_data_range") >0 ) &&
- glPixelDataRangeNV && db_glAllocateMemoryNV && db_glFreeMemoryNV;
-@@ -1529,7 +1529,7 @@ static void show_warning(char const * co
- if ( !sdl.inited && SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE) < 0 ) textonly = true;
- sdl.inited = true;
- #endif
-- printf(message);
-+ printf("%s", message);
- if(textonly) return;
- if(!sdl.surface) sdl.surface = SDL_SetVideoMode(640,400,0,0);
- if(!sdl.surface) return;
diff --git a/emulators/dosbox/patches/patch-src_ints_int10__vesa.cpp b/emulators/dosbox/patches/patch-src_ints_int10__vesa.cpp
deleted file mode 100644
index b3eba6f68fa..00000000000
--- a/emulators/dosbox/patches/patch-src_ints_int10__vesa.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-$NetBSD: patch-src_ints_int10__vesa.cpp,v 1.1 2018/03/21 13:48:48 kamil Exp $
-
-Fix C++11 syntax of a literal.
-
---- src/ints/int10_vesa.cpp.orig 2010-05-10 17:43:54.000000000 +0000
-+++ src/ints/int10_vesa.cpp
-@@ -39,7 +39,7 @@ static struct {
- static char string_oem[]="S3 Incorporated. Trio64";
- static char string_vendorname[]="DOSBox Development Team";
- static char string_productname[]="DOSBox - The DOS Emulator";
--static char string_productrev[]="DOSBox "VERSION;
-+static char string_productrev[]="DOSBox " VERSION;
-
- #ifdef _MSC_VER
- #pragma pack (1)
-@@ -518,4 +518,3 @@ void INT10_SetupVESA(void) {
- phys_writew( Real2Phys(int10.rom.pmode_interface) + 6, 0);
- int10.rom.pmode_interface_size=int10.rom.used - RealOff( int10.rom.pmode_interface );
- }
--