Index | Thread | Search

From:
Thomas Frohwein <tfrohwein@fastmail.com>
Subject:
update dosbox-x to latest release
To:
SASANO Takayoshi <uaa@openbsd.org>, ports@openbsd.org
Date:
Thu, 26 Jun 2025 13:28:39 -0400

Download raw body.

Thread
Hi,

This diff updates dosbox-x to latest release. I tested it with a few
DOS games without issues.

ok?
? BUILD.log
? obsolete
Index: Makefile
===================================================================
RCS file: /cvs/ports/emulators/dosbox-x/Makefile,v
diff -u -p -r1.5 Makefile
--- Makefile	4 May 2025 08:37:48 -0000	1.5
+++ Makefile	26 Jun 2025 17:26:31 -0000
@@ -2,10 +2,9 @@ BROKEN-sparc64= error:union MMX_reg has 
 
 COMMENT=	x86 with DOS emulator targeted at playing games
 
-VERSION=	2024.03.01
-DISTNAME=	dosbox-x-v${VERSION}
-PKGNAME=	dosbox-x-${VERSION}
-REVISION=	0
+VERSION=	2025.05.03
+DISTNAME=	dosbox-x-${VERSION}
+
 CATEGORIES=	games x11 emulators
 
 GH_ACCOUNT=	joncampbell123
@@ -61,9 +60,11 @@ post-install:
 	${INSTALL_DATA_DIR} ${PREFIX}/share/doc/dosbox
 	${INSTALL_DATA} ${WRKSRC}/README.debugger ${PREFIX}/share/doc/dosbox
 	${INSTALL_DATA} ${WRKSRC}/README.joystick ${PREFIX}/share/doc/dosbox
-	${INSTALL_DATA} ${WRKSRC}/README.keyboard-layout-handling ${PREFIX}/share/doc/dosbox
+	${INSTALL_DATA} ${WRKSRC}/README.keyboard-layout-handling \
+		${PREFIX}/share/doc/dosbox
 	${INSTALL_DATA} ${WRKSRC}/README.md ${PREFIX}/share/doc/dosbox
-	${INSTALL_DATA} ${WRKSRC}/README.source-code-description ${PREFIX}/share/doc/dosbox
+	${INSTALL_DATA} ${WRKSRC}/README.source-code-description \
+		${PREFIX}/share/doc/dosbox
 	${INSTALL_DATA} ${WRKSRC}/README.video ${PREFIX}/share/doc/dosbox
 	${INSTALL_DATA} ${WRKSRC}/README.xbrz ${PREFIX}/share/doc/dosbox
 
Index: distinfo
===================================================================
RCS file: /cvs/ports/emulators/dosbox-x/distinfo,v
diff -u -p -r1.2 distinfo
--- distinfo	9 Mar 2024 13:03:21 -0000	1.2
+++ distinfo	26 Jun 2025 17:26:31 -0000
@@ -1,2 +1,2 @@
-SHA256 (dosbox-x-v2024.03.01.tar.gz) = KonTGW3cFTYfbcfmqxQr/pWUXZPVJ8/Wusyh96QBpRM=
-SIZE (dosbox-x-v2024.03.01.tar.gz) = 119593920
+SHA256 (dosbox-x-2025.05.03.tar.gz) = sposnDi/4dHB8kINVGuMJFauLdzkwfa00Z8liEHOFYE=
+SIZE (dosbox-x-2025.05.03.tar.gz) = 122834930
Index: patches/patch-src_fpu_fpu_instructions_longdouble_h
===================================================================
RCS file: patches/patch-src_fpu_fpu_instructions_longdouble_h
diff -N patches/patch-src_fpu_fpu_instructions_longdouble_h
--- patches/patch-src_fpu_fpu_instructions_longdouble_h	20 Apr 2024 19:21:56 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,123 +0,0 @@
-- Disable FP exceptions in a portable way
-  8b362df1f26fceeccb6f3b37bd26880e72db79b2
-- Update fpu_instructions_longdouble.h
-  53fe254c9ce25a48dbe11582416cbf3a49516dce
-
-Index: src/fpu/fpu_instructions_longdouble.h
---- src/fpu/fpu_instructions_longdouble.h.orig
-+++ src/fpu/fpu_instructions_longdouble.h
-@@ -16,31 +16,18 @@
-  *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-  */
- 
-+#include <cfenv> /* for std::feholdexcept */
- #include <math.h> /* for isinf, etc */
- #include "cpu/lazyflags.h"
- 
--#ifdef __GNUC__
--# if defined(__MINGW32__) || (defined(MACOSX) && !defined(__arm64__))
--#  include "fpu_control_x86.h"
--# elif defined(ANDROID) || defined(__ANDROID__) || (defined(MACOSX) && defined(__arm64__)) || defined(EMSCRIPTEN) || defined(__powerpc__)
--/* ? */
--#  define _FPU_SETCW(x) /* dummy */
--# else
--#  include <fpu_control.h>
--# endif
--static inline void FPU_SyncCW(void) {
--    uint16_t tmp = fpu.cw | 0x80 | 0x3F; // HACK: Disable all FPU exceptions until DOSBox-X can catch and reflect FPU exceptions to the guest
--    _FPU_SETCW(tmp);
--}
--#else
--static inline void FPU_SyncCW(void) {
--    /* nothing */
--}
--#endif
--
- static void FPU_FINIT(void) {
-+	fenv_t buf;
-+
- 	fpu.cw.init();
--    FPU_SyncCW();
-+
-+	// HACK: Disable all FPU exceptions until DOSBox-X can catch and reflect FPU exceptions to the guest
-+	std::feholdexcept(&buf);
-+
-     fpu.sw.init();
- 	fpu.tags[0] = TAG_Empty;
- 	fpu.tags[1] = TAG_Empty;
-@@ -290,7 +277,8 @@ static void FPU_FBST(PhysPt addr) {
- #endif
- 
- static void FPU_FADD(Bitu op1, Bitu op2){
--    FPU_SyncCW();
-+	fenv_t buf;
-+	std::feholdexcept(&buf);
- 	// HACK: Set the denormal flag according to whether the source or final result is a denormalized number.
- 	//       This is vital if we don't want certain DOS programs to mis-detect our FPU emulation as an IIT clone chip when cputype == 286
- 	bool was_not_normal = isdenormal(fpu.regs_80[op1].v);
-@@ -324,7 +312,8 @@ static void FPU_FCOS(void){
- }
- 
- static void FPU_FSQRT(void){
--    FPU_SyncCW();
-+	fenv_t buf;
-+	std::feholdexcept(&buf);
- 	fpu.regs_80[TOP].v = sqrtl(fpu.regs_80[TOP].v);
- 	//flags and such :)
- 	return;
-@@ -343,35 +332,40 @@ static void FPU_FPTAN(void){
- 	return;
- }
- static void FPU_FDIV(Bitu st, Bitu other){
--    FPU_SyncCW();
-+	fenv_t buf;
-+	std::feholdexcept(&buf);
- 	fpu.regs_80[st].v = fpu.regs_80[st].v/fpu.regs_80[other].v;
- 	//flags and such :)
- 	return;
- }
- 
- static void FPU_FDIVR(Bitu st, Bitu other){
--    FPU_SyncCW();
-+	fenv_t buf;
-+	std::feholdexcept(&buf);
- 	fpu.regs_80[st].v = fpu.regs_80[other].v/fpu.regs_80[st].v;
- 	// flags and such :)
- 	return;
- }
- 
- static void FPU_FMUL(Bitu st, Bitu other){
--    FPU_SyncCW();
-+	fenv_t buf;
-+	std::feholdexcept(&buf);
- 	fpu.regs_80[st].v *= fpu.regs_80[other].v;
- 	//flags and such :)
- 	return;
- }
- 
- static void FPU_FSUB(Bitu st, Bitu other){
--    FPU_SyncCW();
-+	fenv_t buf;
-+	std::feholdexcept(&buf);
- 	fpu.regs_80[st].v = fpu.regs_80[st].v - fpu.regs_80[other].v;
- 	//flags and such :)
- 	return;
- }
- 
- static void FPU_FSUBR(Bitu st, Bitu other){
--    FPU_SyncCW();
-+	fenv_t buf;
-+	std::feholdexcept(&buf);
- 	fpu.regs_80[st].v = fpu.regs_80[other].v - fpu.regs_80[st].v;
- 	//flags and such :)
- 	return;
-@@ -562,7 +556,8 @@ static void FPU_FLDENV(PhysPt addr, bool op16){
- 		tag    = static_cast<uint16_t>(mem_readd(addr+8));
- 	}
- 	FPU_SetTag(tag);
--    FPU_SyncCW();
-+	fenv_t buf;
-+	std::feholdexcept(&buf);
- }
- 
- static void FPU_FSAVE(PhysPt addr, bool op16){
Index: patches/patch-src_gui_midi_cpp
===================================================================
RCS file: /cvs/ports/emulators/dosbox-x/patches/patch-src_gui_midi_cpp,v
diff -u -p -r1.1.1.1 patch-src_gui_midi_cpp
--- patches/patch-src_gui_midi_cpp	21 Feb 2024 12:29:10 -0000	1.1.1.1
+++ patches/patch-src_gui_midi_cpp	26 Jun 2025 17:26:31 -0000
@@ -1,6 +1,7 @@
---- src/gui/midi.cpp.orig	Thu Nov  2 18:58:55 2023
-+++ src/gui/midi.cpp	Fri Nov  3 05:13:47 2023
-@@ -115,6 +115,10 @@ static struct {
+Index: src/gui/midi.cpp
+--- src/gui/midi.cpp.orig
++++ src/gui/midi.cpp
+@@ -116,6 +116,10 @@ static struct {
  
  #include "midi_win32.h"