Sun Nov 6 21:31:57 2022 UTC ()
dosbox-x: Update to 0.84.3

pkgsrc changes:
---------------
  * Fix building of FreeBSD by adding -lpthread to LDFLAGS and by disabling
    call to X11_ErrorHandlerInstall.

upstream changes:
-----------------
  * 0.84.3: https://dosbox-x.com/release-0.84.3.html
  * 0.84.2: https://dosbox-x.com/release-0.84.2.html
  * 0.84.1: https://dosbox-x.com/release-0.84.1.html
  * 0.84.0: https://dosbox-x.com/release-0.84.0.html


(triaxx)
diff -r1.41 -r1.42 pkgsrc/emulators/dosbox-x/Makefile
diff -r1.25 -r1.26 pkgsrc/emulators/dosbox-x/distinfo
diff -r1.5 -r1.6 pkgsrc/emulators/dosbox-x/patches/patch-configure.ac
diff -r1.2 -r1.3 pkgsrc/emulators/dosbox-x/patches/patch-include_dosbox.h
diff -r1.4 -r1.5 pkgsrc/emulators/dosbox-x/patches/patch-src_dos_dos__programs.cpp
diff -r0 -r1.1 pkgsrc/emulators/dosbox-x/patches/patch-src_output_output__surface.cpp

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

--- pkgsrc/emulators/dosbox-x/Makefile 2022/09/27 20:58:23 1.41
+++ pkgsrc/emulators/dosbox-x/Makefile 2022/11/06 21:31:57 1.42
@@ -1,17 +1,16 @@ @@ -1,17 +1,16 @@
1# $NetBSD: Makefile,v 1.41 2022/09/27 20:58:23 wiz Exp $ 1# $NetBSD: Makefile,v 1.42 2022/11/06 21:31:57 triaxx Exp $
2 2
3DISTNAME= dosbox-x-0.83.25 3DISTNAME= dosbox-x-0.84.3
4PKGREVISION= 4 
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++
@@ -36,26 +35,28 @@ TOOL_DEPENDS+= nasm>=2.14:../../devel/n @@ -36,26 +35,28 @@ TOOL_DEPENDS+= nasm>=2.14:../../devel/n
36.endif 35.endif
37 36
38.if ${MACHINE_ARCH} != "i386" && \ 37.if ${MACHINE_ARCH} != "i386" && \
39 ${MACHINE_ARCH} != "x86_64" && \ 38 ${MACHINE_ARCH} != "x86_64" && \
40 ${MACHINE_ARCH} != "aarch64" && \ 39 ${MACHINE_ARCH} != "aarch64" && \
41 ${MACHINE_ARCH} != "earmv6hf" && \ 40 ${MACHINE_ARCH} != "earmv6hf" && \
42 ${MACHINE_ARCH} != "earmv7hf" 41 ${MACHINE_ARCH} != "earmv7hf"
43CONFIGURE_ARGS+= --disable-dynamic-core 42CONFIGURE_ARGS+= --disable-dynamic-core
44.else 43.else
45# LOG: Setting execute permission on the code cache has failed 44# LOG: Setting execute permission on the code cache has failed
46NOT_PAX_MPROTECT_SAFE+= bin/dosbox-x 45NOT_PAX_MPROTECT_SAFE+= bin/dosbox-x
47.endif 46.endif
48 47
 48LDFLAGS.FreeBSD+= -lpthread
 49
49INSTALLATION_DIRS+= bin share/dosbox-x 50INSTALLATION_DIRS+= bin share/dosbox-x
50INSTALLATION_DIRS+= share/applications 51INSTALLATION_DIRS+= share/applications
51INSTALLATION_DIRS+= share/pixmaps 52INSTALLATION_DIRS+= share/pixmaps
52 53
53CHECK_PORTABILITY_SKIP+= vs/sdl2/build-scripts/*.sh 54CHECK_PORTABILITY_SKIP+= vs/sdl2/build-scripts/*.sh
54CHECK_PORTABILITY_SKIP+= make-flatpak-sdl2.sh 55CHECK_PORTABILITY_SKIP+= make-flatpak-sdl2.sh
55CHECK_PORTABILITY_SKIP+= make-flatpak.sh 56CHECK_PORTABILITY_SKIP+= make-flatpak.sh
56# [[ is used in an developer target that isn't useful for us 57# [[ is used in an developer target that isn't useful for us
57CHECK_PORTABILITY_SKIP+= Makefile.in Makefile.am 58CHECK_PORTABILITY_SKIP+= Makefile.in Makefile.am
58 59
59BUILDLINK_TRANSFORM+= rm:-Wno-int-to-void-pointer-cast 60BUILDLINK_TRANSFORM+= rm:-Wno-int-to-void-pointer-cast
60BUILDLINK_TRANSFORM+= rm:-Wno-address-of-packed-member 61BUILDLINK_TRANSFORM+= rm:-Wno-address-of-packed-member
61 62

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

--- pkgsrc/emulators/dosbox-x/distinfo 2022/05/03 18:26:24 1.25
+++ pkgsrc/emulators/dosbox-x/distinfo 2022/11/06 21:31:57 1.26
@@ -1,10 +1,11 @@ @@ -1,10 +1,11 @@
1$NetBSD: distinfo,v 1.25 2022/05/03 18:26:24 nia Exp $ 1$NetBSD: distinfo,v 1.26 2022/11/06 21:31:57 triaxx Exp $
2 2
3BLAKE2s (dosbox-x-0.83.25.tar.gz) = 8b0dd2da8dbc59ea12edb6e80506d7f2473d475ecf3c3ed27d5b80569552fe52 3BLAKE2s (dosbox-x-0.84.3.tar.gz) = 2d77836763becdcd507adede587b39b9051d8f26fa6d37c485f04245f5d9fd7d
4SHA512 (dosbox-x-0.83.25.tar.gz) = 372214459150c7511e542a9f19e65dcede6ca6e5c57211f6a807bf324b25ea676ab5cf0743ef1e58ea3bdc503c6a7045bec4107f90f944f9400641ea6af826b7 4SHA512 (dosbox-x-0.84.3.tar.gz) = 82bebe82dd84962dca0182d9236cb8549d9f873f7fe562a863481535fa5d956e283b5f4f1d29cd0adbf8763c844ad0f181e3308d5e7c99ed80f44e3f47998c9f
5Size (dosbox-x-0.83.25.tar.gz) = 64715876 bytes 5Size (dosbox-x-0.84.3.tar.gz) = 67868336 bytes
6SHA1 (patch-configure.ac) = 906aa99b5fce6224ef4c001d9bba1e4fc89a34f9 6SHA1 (patch-configure.ac) = 14c23c6a69579490647782b6516f39c6a09474b0
7SHA1 (patch-include_dosbox.h) = 6f7397b4a611511fc1782b1603c9f5cd51b74eb9 7SHA1 (patch-include_dosbox.h) = 501ec03a46a1100afe5cccc00b73af4a344858a9
8SHA1 (patch-include_iconvpp.hpp) = dcf1428d202ad0b71b898741908f00445b55fd54 8SHA1 (patch-include_iconvpp.hpp) = dcf1428d202ad0b71b898741908f00445b55fd54
9SHA1 (patch-src_dos_dos__programs.cpp) = 64444c54b319fbfc7de7219d88fa6add953a0fb0 9SHA1 (patch-src_dos_dos__programs.cpp) = 984c9fc621536046044e76f096969f7d90902627
10SHA1 (patch-src_libs_physfs_physfs__platform__unix.c) = 5cde2acf3691478f1d91945b3942c968af2eadc6 10SHA1 (patch-src_libs_physfs_physfs__platform__unix.c) = 5cde2acf3691478f1d91945b3942c968af2eadc6
 11SHA1 (patch-src_output_output__surface.cpp) = b1f6fc85edf8f0d3afc54de0f95d8640ddce149b

cvs diff -r1.5 -r1.6 pkgsrc/emulators/dosbox-x/patches/patch-configure.ac (expand / switch to unified diff)

--- pkgsrc/emulators/dosbox-x/patches/patch-configure.ac 2021/08/10 11:03:50 1.5
+++ pkgsrc/emulators/dosbox-x/patches/patch-configure.ac 2022/11/06 21:31:57 1.6
@@ -1,25 +1,25 @@ @@ -1,25 +1,25 @@
1$NetBSD: patch-configure.ac,v 1.5 2021/08/10 11:03:50 nia Exp $ 1$NetBSD: patch-configure.ac,v 1.6 2022/11/06 21:31:57 triaxx Exp $
2 2
3- Detect NetBSD/evbarm properly. 3- Detect NetBSD/evbarm properly.
4- Shell portability. 4- Shell portability.
5 5
6--- configure.ac.orig 2021-08-01 07:45:55.000000000 +0000 6--- configure.ac.orig 2021-08-01 07:45:55.000000000 +0000
7+++ configure.ac 7+++ configure.ac
8@@ -543,7 +543,7 @@ case "$host_cpu" in 8@@ -543,7 +543,7 @@ case "$host_cpu" in
9 c_targetcpu="arm" 9 c_targetcpu="arm"
10 c_unalignedmemory=yes 10 c_unalignedmemory=yes
11 ;; 11 ;;
12- armv6l) 12- armv6l)
13+ armv6*) 13+ armv6*)
14 AC_DEFINE(C_TARGETCPU,ARMV4LE) 14 AC_DEFINE(C_TARGETCPU,ARMV4LE)
15 AC_MSG_RESULT(ARMv6 Little Endian) 15 AC_MSG_RESULT(ARMv6 Little Endian)
16 c_targetcpu="arm" 16 c_targetcpu="arm"
17@@ -1007,7 +1007,7 @@ esac 17@@ -1029,7 +1029,7 @@ esac
18 dnl FEATURE: Whether to use libslirp, and enable userspace TCP/IP emulation 18 dnl FEATURE: Whether to use libslirp, and enable userspace TCP/IP emulation
19 AH_TEMPLATE(C_SLIRP, [Define to 1 to enable userspace TCP/IP emulation, requires libslirp]) 19 AH_TEMPLATE(C_SLIRP, [Define to 1 to enable userspace TCP/IP emulation, requires libslirp])
20 AC_ARG_ENABLE(libslirp,AC_HELP_STRING([--disable-libslirp],[Disable libslirp support]),enable_libslirp=$enableval,enable_libslirp=yes) 20 AC_ARG_ENABLE(libslirp,AC_HELP_STRING([--disable-libslirp],[Disable libslirp support]),enable_libslirp=$enableval,enable_libslirp=yes)
21-if test x$enable_libslirp == xyes ; then 21-if test x$enable_libslirp == xyes ; then
22+if test x$enable_libslirp = xyes ; then 22+if test x$enable_libslirp = xyes ; then
23 case "$host" in 23 case "$host" in
24 *-*-cygwin* | *-*-mingw32*) 24 *-*-cygwin* | *-*-mingw32*)
25 if test x$have_slirp_h = xyes; then 25 if test x$have_slirp_h = xyes; then

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

--- pkgsrc/emulators/dosbox-x/patches/patch-include_dosbox.h 2021/01/05 11:01:49 1.2
+++ pkgsrc/emulators/dosbox-x/patches/patch-include_dosbox.h 2022/11/06 21:31:57 1.3
@@ -1,23 +1,26 @@ @@ -1,23 +1,26 @@
1$NetBSD: patch-include_dosbox.h,v 1.2 2021/01/05 11:01:49 nia Exp $ 1$NetBSD: patch-include_dosbox.h,v 1.3 2022/11/06 21:31:57 triaxx Exp $
2 2
3GCC having 80-bit long double is far from a safe assumption. 3GCC having 80-bit long double is far from a safe assumption.
4 4
5--- include/dosbox.h.orig 2020-12-01 02:49:53.000000000 +0000 5--- include/dosbox.h.orig 2022-09-01 22:55:29.000000000 +0000
6+++ include/dosbox.h 6+++ include/dosbox.h
7@@ -69,16 +69,6 @@ 7@@ -68,19 +68,6 @@
8 # define pref_struct_stat struct stat 8 # define pref_struct_stat struct stat
9 #endif 9 #endif
10  10
11-// TODO: The autoconf script should test the size of long double 11-// TODO: The autoconf script should test the size of long double
12-#if defined(_MSC_VER) 12-#if defined(_MSC_VER)
13-// Microsoft C++ sizeof(long double) == sizeof(double) 13-// Microsoft C++ sizeof(long double) == sizeof(double)
14-#elif defined(__arm__) 14-#undef HAS_LONG_DOUBLE
 15-#elif defined(__arm__) || defined(__aarch64__)
15-// ARMv7 (Raspberry Pi) does not have long double, sizeof(long double) == sizeof(double) 16-// ARMv7 (Raspberry Pi) does not have long double, sizeof(long double) == sizeof(double)
 17-// ARM 64 has a quadruple-precision float instead of the 80-bit extended precision one used by x87
 18-#undef HAS_LONG_DOUBLE
16-#else 19-#else
17-// GCC, other compilers, have sizeof(long double) == 10 80-bit IEEE 20-// GCC, other compilers, have sizeof(long double) == 10 80-bit IEEE
18-# define HAS_LONG_DOUBLE 1 21-#define HAS_LONG_DOUBLE 1
19-#endif 22-#endif
20- 23-
21 GCC_ATTRIBUTE(noreturn) void E_Exit(const char * format,...) GCC_ATTRIBUTE( __format__(__printf__, 1, 2)); 24 GCC_ATTRIBUTE(noreturn) void E_Exit(const char * format,...) GCC_ATTRIBUTE( __format__(__printf__, 1, 2));
22  25
23 typedef Bits cpu_cycles_count_t; 26 typedef Bits cpu_cycles_count_t;

cvs diff -r1.4 -r1.5 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 2022/03/07 16:37:52 1.4
+++ pkgsrc/emulators/dosbox-x/patches/patch-src_dos_dos__programs.cpp 2022/11/06 21:31:57 1.5
@@ -1,21 +1,21 @@ @@ -1,21 +1,21 @@
1$NetBSD: patch-src_dos_dos__programs.cpp,v 1.4 2022/03/07 16:37:52 nia Exp $ 1$NetBSD: patch-src_dos_dos__programs.cpp,v 1.5 2022/11/06 21:31:57 triaxx 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 2022-03-01 02:12:39.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@@ -6756,11 +6756,7 @@ bool AUTOTYPE::ReadDoubleArg(const std:: 9@@ -6935,11 +6935,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(__FreeBSD__) || 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+ if (isfinite(user_value)) {
19 result = true; 19 result = true;
20  20
21 // Clamp the user's value if needed 21 // Clamp the user's value if needed

File Added: pkgsrc/emulators/dosbox-x/patches/patch-src_output_output__surface.cpp
$NetBSD: patch-src_output_output__surface.cpp,v 1.1 2022/11/06 21:31:57 triaxx Exp $

Fix linking error on FreeBSD (from FreeBSD ports).

--- src/output/output_surface.cpp.orig	2022-09-01 22:55:29.000000000 +0000
+++ src/output/output_surface.cpp
@@ -24,7 +24,9 @@ void OUTPUT_SURFACE_Initialize()
     // blitting the wrong dimensions to the window and trigger an X11 BadValue error.
     // Set up an error handler that prints the error to STDERR and then returns,
     // instead of the default handler which prints an error and exit()s this program.
+#if !defined(__FreeBSD__)
     X11_ErrorHandlerInstall();
+#endif
 #endif
 }