Package Details: 86box 3.6-1

Git Clone URL: https://aur.archlinux.org/86box.git (read-only, click to copy)
Package Base: 86box
Description: An emulator for classic IBM PC clones
Upstream URL: https://86box.net/
Licenses: GPL2
Submitter: oscareczek
Maintainer: oscareczek
Last Packager: oscareczek
Votes: 2
Popularity: 0.119240
First Submitted: 2022-02-16 18:01 (UTC)
Last Updated: 2022-07-01 06:14 (UTC)

Dependencies (10)

Required by (0)

Sources (1)

Latest Comments

chungy commented on 2022-05-16 23:54 (UTC)

In order to deal with upstream issue 2333 (https://github.com/86Box/86Box/issues/2333), I recommend making this package depend on qt5-base and remove -DUSE_QT6=ON from the PKGBUILD.

oscareczek commented on 2022-03-22 20:07 (UTC)

Fixed, thanks.

Solskogen commented on 2022-03-22 09:59 (UTC)

faudio is missing

[solskogen@sif 86box]$ git diff
diff --git a/PKGBUILD b/PKGBUILD
index 6817906..1db87a6 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,7 +7,7 @@ pkgdesc='Emulator of x86-based machines based on PCem.'
 arch=('pentium4' 'x86_64' 'arm7h' 'aarch64')
 url='https://86box.net/'
 license=('GPL2')
-depends=('alsa-lib' 'freetype2' 'libpng' 'libslirp' 'openal' 'qt6-base' 'rtmidi' 'sdl2')
+depends=('alsa-lib' 'freetype2' 'libpng' 'libslirp' 'openal' 'qt6-base' 'rtmidi' 'sdl2' 'faudio')
 makedepends=('cmake>=3.21' 'ninja' 'qt6-tools')
 optdepends=(
     '86box-roms: ROM files'

oscareczek commented on 2022-02-27 11:26 (UTC)

Applied the patch, thanks! I also made issue 2171 on GitHub since I have a feeling it shouldn't be really needed to use presets in the first place, we'll see how it goes.

ed209 commented on 2022-02-25 11:04 (UTC) (edited on 2022-02-25 11:21 (UTC) by ed209)

The code produced by the PKGBUILD doesn't work correctly because of missing compiler flags (-fno-strict-aliasing, and for Intel additionaly -mstackrealign). Try, for example, installing NEXTSTEP in an emulated Pentium machine. It behaves extremely erratic and is impossible to install. Instead of adding these flags, I've changed the PKGBUILD to use the provided cmake configuration files and disable the makepkg provided build flags. This leads to the usage of the correct compiler flags and NEXTSTEP works nicely. Thank you for providing this package.

diff --git a/PKGBUILD b/PKGBUILD
index c92d08c..4e1d270 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -8,8 +8,9 @@ arch=('pentium4' 'x86_64' 'arm7h' 'aarch64')
 url='https://86box.net/'
 license=('GPL2')
 depends=('alsa-lib' 'freetype2' 'libpng' 'libslirp' 'openal' 'qt6-base' 'rtmidi' 'sdl2')
-makedepends=('cmake>=3.16' 'qt6-tools')
+makedepends=('cmake>=3.16' 'ninja' 'qt6-tools')
 optdepends=('86box-roms: ROM files')
+options=('!buildflags')
 source=(
@@ -22,12 +23,13 @@ sha512sums=(
 )

 build() {
-    if [ "$CARCH" == arm7h ] || [ "$CARCH" == aarch64 ]; then
-        NDR=on
-    else
-        NDR=off
-    fi
-    cmake -S"$_pkgname-$pkgver" -Bbuild -DCMAKE_INSTALL_PREFIX=/usr -DRELEASE=on -DUSE_QT6=on -DSLIRP_EXTERNAL=on -DNEW_DYNAREC=$NDR
+    case "$CARCH" in
+        pentium4) _PRESET=regular;    _TOOLCHAIN=cmake/flags-gcc-i686.cmake ;;
+        x86_64)   _PRESET=regular;    _TOOLCHAIN=cmake/flags-gcc-x86_64.cmake ;;
+        arm7h)    _PRESET=regularndr; _TOOLCHAIN=cmake/flags-gcc-armv7.cmake ;;
+        aarch64)  _PRESET=regularndr; _TOOLCHAIN=cmake/flags-gcc-aarch64.cmake ;;
+    esac
+    cmake -S"$_pkgname-$pkgver" -Bbuild --preset "$_PRESET" --toolchain "$_TOOLCHAIN" -DCMAKE_INSTALL_PREFIX=/usr -DUSE_QT6=on -DSLIRP_EXTERNAL=on
     cmake --build build
 }