Package Details: dosbox-x-sdl2 2024.03.01-5

Git Clone URL: https://aur.archlinux.org/dosbox-x-sdl2.git (read-only, click to copy)
Package Base: dosbox-x-sdl2
Description: x86 emulator with builtin DOS, with patches and more features
Upstream URL: http://dosbox-x.com
Keywords: dos dosbox emulation emulator sdl2
Licenses: GPL
Conflicts: dosbox-x, dosbox-x-git, dosbox-x-sdl2-git
Submitter: 32th
Maintainer: FredBezies
Last Packager: FredBezies
Votes: 7
Popularity: 0.24
First Submitted: 2018-10-30 17:02 (UTC)
Last Updated: 2024-05-19 16:37 (UTC)

Pinned Comments

Latest Comments

1 2 3 Next › Last »

spiffeeroo commented on 2024-05-20 00:13 (UTC)

speexdsp-gcc14.patch

diff --git a/CHANGELOG b/CHANGELOG
index 26061c5..437a7ae 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,15 @@
+Next:
+  - Add dosbox.conf option to direct the EMS page frame segment, in a limited
+    fashion, though only effective for PC-98 mode. PC-98 segment is still
+    0xD000 by default, but apparently there are games that require the EMS
+    page frame to exist at 0xC000. For these games, you can now set under the
+    [dos] section "ems frame=C000". (joncampbell123)
+  - Restored libslirp support for 32-bit MinGW CI builds which was temporarily
+    dropped in 2024.03.01 release. Also since MinGW plans to gradually phase
+    out 32-bit support, added code to manually build on our own. (maron2000)
+  - Fixed build errors of Windows installers (maron2000)
+  - Fixed compile error of speexdsp/fftwrap.c on gcc-14 (maron2000)
+
 2024.03.01
   - If an empty CD-ROM drive is attached to IDE emulation, return "Medium Not
     Present" instead of a read error, when asked to read. (joncampbell123).
diff --git a/configure.ac b/configure.ac
index f0f0dc6..fcc5763 100644
--- a/configure.ac
+++ b/configure.ac
@@ -379,6 +379,7 @@ AC_CHECK_CXXFLAGS([ -Wextra ])
 AC_CHECK_CXXFLAGS([ -Wunused ])
 AC_CHECK_CXXFLAGS([ -pedantic ])
 AC_CHECK_CXXFLAGS([ -Wno-error=format-security ])     # imfc.cpp and later versions of GCC, see https://github.com/joncampbell123/dosbox-x/issues/4436
+AC_CHECK_CXXFLAGS([ -Wno-error=incompatible-pointer-types ]) # required to compile speexdsp/fftwrap.c with GCC 14
 #AC_CHECK_CXXFLAGS([ -Wconversion ])      DO NOT ENABLE. THIS WARNING IS WAY TOO PEDANTIC TO BE USEFUL, EXCEPT FOR SPECIFIC CASES
 #AC_CHECK_CXXFLAGS([ -Wsign-conversion ])
 AC_CHECK_CXXFLAGS([ -Wlogical-op ])

PKGBUILD.patch

diff --git a/.SRCINFO b/.SRCINFO
index d93e59a..ce2d835 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -18,6 +18,8 @@ pkgbase = dosbox-x-sdl2
    conflicts = dosbox-x-sdl2-git
    options = !debug
    source = https://github.com/joncampbell123/dosbox-x/archive/dosbox-x-v2024.03.01.tar.gz
+   source = speexdsp-gcc14.patch
    sha256sums = 2a89d3196ddc15361f6dc7e6ab142bfe95945d93d527cfd6bacca1f7a401a513
+   sha256sums = 55929fdfc5d1a732fac3f497ed71f8da0b355cc100ee01316b1775f3689c439d

 pkgname = dosbox-x-sdl2
diff --git a/PKGBUILD b/PKGBUILD
index 4af3488..33c877f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -12,12 +12,21 @@ depends=(fluidsynth libxkbfile libxrandr sdl2_net libslirp)
 makedepends=(glu)
 optdepends=()
 conflicts=('dosbox-x-git' 'dosbox-x' 'dosbox-x-sdl2-git')
-source=(https://github.com/joncampbell123/dosbox-x/archive/dosbox-x-v${pkgver}.tar.gz)
-sha256sums=('2a89d3196ddc15361f6dc7e6ab142bfe95945d93d527cfd6bacca1f7a401a513')
+source=(https://github.com/joncampbell123/dosbox-x/archive/dosbox-x-v${pkgver}.tar.gz
+        speexdsp-gcc14.patch)
+sha256sums=('2a89d3196ddc15361f6dc7e6ab142bfe95945d93d527cfd6bacca1f7a401a513'
+            '55929fdfc5d1a732fac3f497ed71f8da0b355cc100ee01316b1775f3689c439d')
 options=(!debug)

+prepare() {
+  # Fix speexdsp compilation error with GCC 14
+  # https://github.com/joncampbell123/dosbox-x/pull/4870
+  cd "$srcdir/$_pkgname-$_pkgname-v$pkgver"
+  patch -p1 -i "$srcdir/speexdsp-gcc14.patch"
+}
+
 build() {
-  cd "$srcdir/dosbox-x-dosbox-x-v$pkgver"
+  cd "$srcdir/$_pkgname-$_pkgname-v$pkgver"

   # Workaround a bug in gcc 13.x+ grabbed from dosbox-x AUR PKGBUILD

@@ -29,7 +38,6 @@ build() {
   ./autogen.sh
   ./configure --enable-debug --enable-avcodec --prefix=/usr --enable-sdl2
   make
-  
 }

 package() {

FredBezies commented on 2024-05-08 17:56 (UTC) (edited on 2024-05-08 18:20 (UTC) by FredBezies)

@patlefort: known issue -> https://github.com/joncampbell123/dosbox-x/issues/4865

If you can provide me a modified PKGBUILD I'll be glad to use it. I spent nearly 30 minutes trying to apply the patch for dosbox-x github.

This bug is fixed in dosbox-x-sdl2-git version.

patlefort commented on 2024-05-08 16:59 (UTC)

Doesn't compile currently with this error:

speexdsp/fftwrap.c: In function ‘spx_fft_float’:
speexdsp/fftwrap.c:388:19: error: passing argument 2 of ‘spx_fft’ from incompatible pointer type [-Wincompatible-pointer-types]
  388 |    spx_fft(table, _in, _out);

Adding -Wno-error=incompatible-pointer-types to CFLAGS fixes the issue. But of course it should be fixed upstream.

FredBezies commented on 2024-03-21 14:49 (UTC)

@spifeeroo: cleaned up PKGBUILD following your comment. Thanks a lot.

spiffeeroo commented on 2024-03-21 08:15 (UTC) (edited on 2024-03-21 08:16 (UTC) by spiffeeroo)

I had to remove the CFLAGS, CXXFLAGS, and LDFLAGS section from the PKGBUILD in order to get the package to build. My /etc/makepkg.conf file has basically the default of pacman 6.1.0-3 with -j8, and I do not have CFLAGS, CXXFLAGS or LDFLAGS globally exported. Also "--enable-core-inline" flag appears to be invalid in the log. There does not appear to be that option in the ./configure file.

bsdice commented on 2024-03-16 15:17 (UTC)

Brief note, latest pacman with changed makepkg.conf and aggressive compiler flags appears to break this package. More importantly, there is a sound stutter on my Windows 3.11 in any version later than 2022.12.26 see https://github.com/joncampbell123/dosbox-x/issues/4883. To avoid this problem I forked this package and rolled back to last stable working version. I use it to run https://en.wikipedia.org/wiki/Johnny_Castaway from 1992 as X11 screen saver.

FredBezies commented on 2024-03-13 18:06 (UTC)

@patlefort: tweaks applied. Thanks a lot.

patlefort commented on 2024-03-13 16:28 (UTC) (edited on 2024-03-13 16:29 (UTC) by patlefort)

Patch to fix some problems:

diff --git a/PKGBUILD b/PKGBUILD
index ef79944..3dcab50 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -23,15 +23,12 @@ build() {
   # Working around bug 4436: https://github.com/joncampbell123/dosbox-x/issues/4436
   # We need to deactivate -Werror=format-security

-  export CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
-        -Wp,-D_FORTIFY_SOURCE=2 -Wformat \
-        -fstack-clash-protection -fcf-protection"
-  export CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
+  export CFLAGS="${CFLAGS/-Werror=format-security/}"
+  export CXXFLAGS="${CXXFLAGS/-Werror=format-security/}"
   export LDFLAGS="${LDFLAGS//,--as-needed}"

-  chmod +x configure
   ./configure --enable-core-inline --enable-debug --enable-avcodec --prefix=/usr --enable-sdl2
-  make -j$(nproc)
+  make

 }
  • Remove -Werror=format-security from flags rather than overriding all the flags.
  • Remove unnecessary chmod.
  • Remove -j$(nproc), that flag belong to MAKEFLAGS variable in user's makepkg.conf.

jichu4n commented on 2023-03-17 16:26 (UTC)

Amazing, thank you @FredBezies!!