Fri Mar 4 07:41:15 2022 UTC ()
dosbox-x: update to 0.83.23

0.83.23
  - Fixed XGA accelerated rendering for ViRGE emulation
    and 24 bits/pixel display modes. Since Windows drivers
    insist on 24bpp, this is necessary for
    "Truecolor (24-bit)" to display and render correctly.
  - dosbox.conf option "vesa vbe 1.2 modes are 32bpp" is
    now "true" "false" or "auto", where "auto" determines
    this setting based on which S3 chipset is being
    emulated. It seems the Windows drivers for ViRGE
    chipsets require 24bpp for truecolor modes, in fact,
    they do not even offer 32bpp as an option. Since
    the Windows 3.1/95/98 drivers use VESA BIOS calls to
    set video modes, this implies that the VESA BIOS on
    ViRGE cards are also making the base modes 24bpp rather
    than 32bpp. Note that the Windows drivers for older S3
    chipsets are perfectly happy to use 32bpp unless you
    select "16.7 million colors (1 Meg)" in Windows 3.1,
    which is the only option in those drivers to offer
    24bpp. To avoid grief with DOSBox-X users, "auto"
    is the default setting.
  - Added basic S3 ViRGE XGA acceleration. It's enough for
    90% of the GDI functions in Windows 3.1 so far.
  - Fixed S3 rectangle XGA accelerated pattern blit, when
    using display memory as the pattern mask source, to
    follow S3 Trio32/Trio64 documentation, instead of the
    DOSBox SVN educated guess, to resolve some edge cases
    where the wrong color is chosen to draw filled rectangles
    in Windows 3.1. This fixes the "basement" in Microsoft
    Creative Writer so that clicking around no longer leaves
    white boxes on the screen.
  - Extend 256-color foreground/background color behavior
    from S3 86c928 to Vision864 and Vision868 as Windows
    95 behavior suggests they handle the hardware cursor
    the same way in 256-color mode.
  - Extend "divide cursor X position by bytes per pixel"
    behavior from S3 86c928 to Vision864 and Vision868
    emulation as well, based on Windows 3.1 video driver
    behavior.
  - Gravis Ultrasound: Most I/O registers except port 3x4
    are intended for 8-bit I/O. If 16-bit I/O occurs to
    such registers, handle as two 8-bit I/O cycles. I
    found something in the Demoscene (1997 demo "Atlantis,
    Deep Like A Sea") that uses a 16-bit I/O write to write
    current channel and register select in one write.
    Prior to this fix, there was no music other than quiet
    popping noises in DOSBox-X.
  - Sound Blaster: Fixed DSP command 0x48 (Set DSP block
    transfer size) to accept block size as BYTES as
    standardized by Creative and convert to SAMPLES
    internally. This fixes stuttering voices in Freddy
    Pharkas when sbtype=sb16. (joncampbell123)
  - Avoid crashes due to assertion failure when media
    keys are pressed (maron2000)
  - Fix CD audio playback failure (cue + mp3) when
    trying to play from pregap sectors. (maron2000)
  - Change default value of mt32.rate to 48kHz to match
    default value of mt32.analog option. (maron2000)
  - Fix a buffer overflow issue in dos.cpp (maron2000)


(nia)
diff -r1.32 -r1.33 pkgsrc/emulators/dosbox-x/Makefile
diff -r1.19 -r1.20 pkgsrc/emulators/dosbox-x/distinfo
diff -r1.2 -r1.3 pkgsrc/emulators/dosbox-x/patches/patch-src_dos_dos__programs.cpp

cvs diff -r1.32 -r1.33 pkgsrc/emulators/dosbox-x/Makefile (expand / switch to unified diff)

--- pkgsrc/emulators/dosbox-x/Makefile 2021/12/08 16:04:15 1.32
+++ pkgsrc/emulators/dosbox-x/Makefile 2022/03/04 07:41:14 1.33
@@ -1,17 +1,16 @@ @@ -1,17 +1,16 @@
1# $NetBSD: Makefile,v 1.32 2021/12/08 16:04:15 adam Exp $ 1# $NetBSD: Makefile,v 1.33 2022/03/04 07:41:14 nia Exp $
2 2
3DISTNAME= dosbox-x-0.83.16 3DISTNAME= dosbox-x-0.83.23
4PKGREVISION= 3 
5CATEGORIES= emulators 4CATEGORIES= emulators
6MASTER_SITES= ${MASTER_SITE_GITHUB:=joncampbell123/} 5MASTER_SITES= ${MASTER_SITE_GITHUB:=joncampbell123/}
7GITHUB_TAG= dosbox-x-v${PKGVERSION_NOREV} 6GITHUB_TAG= dosbox-x-v${PKGVERSION_NOREV}
8 7
9MAINTAINER= nia@NetBSD.org 8MAINTAINER= nia@NetBSD.org
10HOMEPAGE= https://dosbox-x.com/ 9HOMEPAGE= https://dosbox-x.com/
11COMMENT= DOSBox fork with enhancements 10COMMENT= DOSBox fork with enhancements
12LICENSE= gnu-gpl-v2 11LICENSE= gnu-gpl-v2
13 12
14WRKSRC= ${WRKDIR}/dosbox-x-${GITHUB_TAG} 13WRKSRC= ${WRKDIR}/dosbox-x-${GITHUB_TAG}
15GNU_CONFIGURE= yes 14GNU_CONFIGURE= yes
16USE_TOOLS+= autoconf autoreconf automake pkg-config 15USE_TOOLS+= autoconf autoreconf automake pkg-config
17USE_LANGUAGES= c c++ 16USE_LANGUAGES= c c++
@@ -34,38 +33,31 @@ TOOL_DEPENDS+= nasm>=2.14:../../devel/n @@ -34,38 +33,31 @@ TOOL_DEPENDS+= nasm>=2.14:../../devel/n
34.endif 33.endif
35 34
36.if ${MACHINE_ARCH} != "i386" && \ 35.if ${MACHINE_ARCH} != "i386" && \
37 ${MACHINE_ARCH} != "x86_64" && \ 36 ${MACHINE_ARCH} != "x86_64" && \
38 ${MACHINE_ARCH} != "aarch64" && \ 37 ${MACHINE_ARCH} != "aarch64" && \
39 ${MACHINE_ARCH} != "earmv6hf" && \ 38 ${MACHINE_ARCH} != "earmv6hf" && \
40 ${MACHINE_ARCH} != "earmv7hf" 39 ${MACHINE_ARCH} != "earmv7hf"
41CONFIGURE_ARGS+= --disable-dynamic-core 40CONFIGURE_ARGS+= --disable-dynamic-core
42.else 41.else
43# LOG: Setting execute permission on the code cache has failed 42# LOG: Setting execute permission on the code cache has failed
44NOT_PAX_MPROTECT_SAFE+= bin/dosbox-x 43NOT_PAX_MPROTECT_SAFE+= bin/dosbox-x
45.endif 44.endif
46 45
47PKGCONFIG_OVERRIDE+= vs2015/libpng/libpng.pc.in 
48PKGCONFIG_OVERRIDE+= vs2015/sdl/sdl.pc.in 
49PKGCONFIG_OVERRIDE+= vs2015/sdl2/sdl2.pc.in 
50PKGCONFIG_OVERRIDE+= vs2015/sdlnet/SDL_net.pc.in 
51PKGCONFIG_OVERRIDE+= vs2015/zlib/zlib.pc.in 
52 
53INSTALLATION_DIRS+= bin share/dosbox-x 46INSTALLATION_DIRS+= bin share/dosbox-x
54INSTALLATION_DIRS+= share/applications 47INSTALLATION_DIRS+= share/applications
55INSTALLATION_DIRS+= share/pixmaps 48INSTALLATION_DIRS+= share/pixmaps
56 49
57CHECK_PORTABILITY_SKIP+= vs2015/sdl2/build-scripts/androidbuildlibs.sh 50CHECK_PORTABILITY_SKIP+= vs/sdl2/build-scripts/*.sh
58CHECK_PORTABILITY_SKIP+= vs2015/sdl2/build-scripts/iosbuild.sh 
59CHECK_PORTABILITY_SKIP+= make-flatpak-sdl2.sh 51CHECK_PORTABILITY_SKIP+= make-flatpak-sdl2.sh
60CHECK_PORTABILITY_SKIP+= make-flatpak.sh 52CHECK_PORTABILITY_SKIP+= make-flatpak.sh
61# [[ is used in an developer target that isn't useful for us 53# [[ is used in an developer target that isn't useful for us
62CHECK_PORTABILITY_SKIP+= Makefile.in Makefile.am 54CHECK_PORTABILITY_SKIP+= Makefile.in Makefile.am
63 55
64BUILDLINK_TRANSFORM+= rm:-Wno-int-to-void-pointer-cast 56BUILDLINK_TRANSFORM+= rm:-Wno-int-to-void-pointer-cast
65BUILDLINK_TRANSFORM+= rm:-Wno-address-of-packed-member 57BUILDLINK_TRANSFORM+= rm:-Wno-address-of-packed-member
66 58
67pre-configure: 59pre-configure:
68 cd ${WRKSRC} && autoreconf -fi 60 cd ${WRKSRC} && autoreconf -fi
69 61
70do-install: 62do-install:
71 ${INSTALL_PROGRAM} ${WRKSRC}/src/dosbox-x ${DESTDIR}${PREFIX}/bin 63 ${INSTALL_PROGRAM} ${WRKSRC}/src/dosbox-x ${DESTDIR}${PREFIX}/bin

cvs diff -r1.19 -r1.20 pkgsrc/emulators/dosbox-x/distinfo (expand / switch to unified diff)

--- pkgsrc/emulators/dosbox-x/distinfo 2021/10/26 10:23:48 1.19
+++ pkgsrc/emulators/dosbox-x/distinfo 2022/03/04 07:41:14 1.20
@@ -1,9 +1,9 @@ @@ -1,9 +1,9 @@
1$NetBSD: distinfo,v 1.19 2021/10/26 10:23:48 nia Exp $ 1$NetBSD: distinfo,v 1.20 2022/03/04 07:41:14 nia Exp $
2 2
3BLAKE2s (dosbox-x-0.83.16.tar.gz) = 521ff7f0d9a88c0f967cfbb2637969259528d0871bfcd10e6c05a327dc32ee0c 3BLAKE2s (dosbox-x-0.83.23.tar.gz) = d6cff5e7e54f3f63757bf0f41f2aa6c635c5bc7c029ebb5b69a0d2c55afe2b8c
4SHA512 (dosbox-x-0.83.16.tar.gz) = f2be5a3d16d2377719a78b9e0f98ef69128370d951e67257b58ba4fb5dc654e40dae14773cf2cf89104406a4608b58dcc89f70cbd00e03e41979cb4d9f23ba99 4SHA512 (dosbox-x-0.83.23.tar.gz) = 26ca2fd8753cee8c4c931c54b6a0d0af11144c6b770c16f2b482386b06529ce1567e74d355fb9163e9801e833b4546482469e67def80e1aa1b93652663f31fbe
5Size (dosbox-x-0.83.16.tar.gz) = 61998617 bytes 5Size (dosbox-x-0.83.23.tar.gz) = 64494344 bytes
6SHA1 (patch-configure.ac) = 906aa99b5fce6224ef4c001d9bba1e4fc89a34f9 6SHA1 (patch-configure.ac) = 906aa99b5fce6224ef4c001d9bba1e4fc89a34f9
7SHA1 (patch-include_dosbox.h) = 6f7397b4a611511fc1782b1603c9f5cd51b74eb9 7SHA1 (patch-include_dosbox.h) = 6f7397b4a611511fc1782b1603c9f5cd51b74eb9
8SHA1 (patch-src_dos_dos__programs.cpp) = 1f64cdd66c5b850609dbe7634f60da96fba7655e 8SHA1 (patch-src_dos_dos__programs.cpp) = 64444c54b319fbfc7de7219d88fa6add953a0fb0
9SHA1 (patch-src_libs_physfs_physfs__platform__unix.c) = 5cde2acf3691478f1d91945b3942c968af2eadc6 9SHA1 (patch-src_libs_physfs_physfs__platform__unix.c) = 5cde2acf3691478f1d91945b3942c968af2eadc6

cvs diff -r1.2 -r1.3 pkgsrc/emulators/dosbox-x/patches/patch-src_dos_dos__programs.cpp (expand / switch to unified diff)

--- pkgsrc/emulators/dosbox-x/patches/patch-src_dos_dos__programs.cpp 2021/08/10 11:03:50 1.2
+++ pkgsrc/emulators/dosbox-x/patches/patch-src_dos_dos__programs.cpp 2022/03/04 07:41:14 1.3
@@ -1,20 +1,21 @@ @@ -1,20 +1,21 @@
1$NetBSD: patch-src_dos_dos__programs.cpp,v 1.2 2021/08/10 11:03:50 nia Exp $ 1$NetBSD: patch-src_dos_dos__programs.cpp,v 1.3 2022/03/04 07:41:14 nia Exp $
2 2
3dos_programs.cpp: In member function 'bool AUTOTYPE::ReadDoubleArg(const string&, const char*, const double&, const double&, const double&, double&)': 3dos_programs.cpp: In member function 'bool AUTOTYPE::ReadDoubleArg(const string&, const char*, const double&, const double&, const double&, double&)':
4dos_programs.cpp:5556:12: error: expected unqualified-id before '(' token 4dos_programs.cpp:5556:12: error: expected unqualified-id before '(' token
5 if (std::isfinite(user_value)) { 5 if (std::isfinite(user_value)) {
6 6
7--- src/dos/dos_programs.cpp.orig 2021-08-01 07:45:55.000000000 +0000 7--- src/dos/dos_programs.cpp.orig 2022-03-01 02:12:39.000000000 +0000
8+++ src/dos/dos_programs.cpp 8+++ src/dos/dos_programs.cpp
9@@ -6446,11 +6446,7 @@ bool AUTOTYPE::ReadDoubleArg(const std:: 9@@ -6756,11 +6756,7 @@ bool AUTOTYPE::ReadDoubleArg(const std::
10 if (cmd->FindString(flag, str_value, true)) { 10 if (cmd->FindString(flag, str_value, true)) {
11 // Can the user's value be parsed? 11 // Can the user's value be parsed?
12 const double user_value = to_finite<double>(str_value); 12 const double user_value = to_finite<double>(str_value);
13-#if defined(MACOSX) || defined(EMSCRIPTEN) || ((defined(ANDROID) || defined(__ANDROID__)) && defined(__clang__)) 13-#if defined(__FreeBSD__) || defined(MACOSX) || defined(EMSCRIPTEN) || ((defined(ANDROID) || defined(__ANDROID__)) && defined(__clang__))
14 if (isfinite(user_value)) { /* *sigh* Really, clang, really? */ 14- if (isfinite(user_value)) { /* *sigh* Really, clang, really? */
15-#else 15-#else
16- if (std::isfinite(user_value)) { 16- if (std::isfinite(user_value)) {
17-#endif 17-#endif
 18+ if (isfinite(user_value)) {
18 result = true; 19 result = true;
19  20
20 // Clamp the user's value if needed 21 // Clamp the user's value if needed