Package Details: 86box 4.0-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/
Keywords: emulator
Licenses: GPL2
Submitter: Lili1228
Maintainer: Lili1228
Last Packager: Lili1228
Votes: 4
Popularity: 0.39
First Submitted: 2022-02-16 18:01 (UTC)
Last Updated: 2023-08-27 07:17 (UTC)

Latest Comments

mikearch commented on 2022-11-24 19:19 (UTC)

I'm sorry for double posting @oscareczek

It works. All is well now. Thank you

Lili1228 commented on 2022-11-24 18:39 (UTC)

@mikearch You didn't have to comment both packages :P I consulted 86Box Discord and added a dependency, please tell me if that fixed the issue.

mikearch commented on 2022-11-24 15:37 (UTC)

According to this:

https://github.com/86Box/86Box/issues/2666

This package seems not to contain specific wayland code, which can make the mouse non-functional under wayland.

Would you consider looking in to this?

Thank you for your work.

Lili1228 commented on 2022-10-22 09:41 (UTC)

Fixed, thanks.

VorpalWay commented on 2022-10-20 21:18 (UTC)

As of the latest update I'm getting a build error (x86-64, building using aurutils in a chroot, this has worked before):

[450/505] Building CXX object src/qt/CMakeFiles/ui.dir/ui_autogen/mocs_compilation.cpp.o
FAILED: src/qt/CMakeFiles/ui.dir/ui_autogen/mocs_compilation.cpp.o 
/usr/bin/c++ -DCMAKE -DEVDEV_INPUT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DUSE_DYNAREC -DUSE_RTMIDI -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -I/build/86box/src/build/src/qt -I/build/86box/src/86Box-3.7.1/src/qt -I/build/86box/src/build/src/qt/ui_autogen/include -I/usr/include/freetype2 -I/usr/include/SDL2 -I/build/86box/src/build/src/include -I/build/86box/src/86Box-3.7.1/src/include -I/build/86box/src/86Box-3.7.1/src/cpu -I/build/86box/src/86Box-3.7.1/src/codegen -isystem /usr/include/qt -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtCore -isystem /usr/lib/qt/mkspecs/linux-g++ -isystem /usr/include/qt/QtOpenGL -isystem /usr/include/qt/QtNetwork -isystem /usr/include/libevdev-1.0 -m64 -march=x86-64 -msse2 -mfpmath=sse -mstackrealign -fomit-frame-pointer -Wall -fno-strict-aliasing  -g0 -O3 -fPIC -std=c++17 -MD -MT src/qt/CMakeFiles/ui.dir/ui_autogen/mocs_compilation.cpp.o -MF src/qt/CMakeFiles/ui.dir/ui_autogen/mocs_compilation.cpp.o.d -o src/qt/CMakeFiles/ui.dir/ui_autogen/mocs_compilation.cpp.o -c /build/86box/src/build/src/qt/ui_autogen/mocs_compilation.cpp
In file included from /usr/include/qt/QtGui/qvulkanwindow.h:51,
                 from /usr/include/qt/QtGui/QVulkanWindow:1,
                 from /build/86box/src/build/src/qt/ui_autogen/EWIEGA46WW/../../../../../86Box-3.7.1/src/qt/qt_vulkanwindowrenderer.hpp:4,
                 from /build/86box/src/build/src/qt/ui_autogen/EWIEGA46WW/moc_qt_vulkanwindowrenderer.cpp:10,
                 from /build/86box/src/build/src/qt/ui_autogen/mocs_compilation.cpp:33:
/usr/include/qt/QtGui/qvulkaninstance.h:55:10: fatal error: vulkan/vulkan.h: No such file or directory
   55 | #include <vulkan/vulkan.h>
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.
[453/505] Building CXX object src/qt/CMakeFiles/ui.dir/qt_rendererstack.cpp.o
FAILED: src/qt/CMakeFiles/ui.dir/qt_rendererstack.cpp.o 
/usr/bin/c++ -DCMAKE -DEVDEV_INPUT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DUSE_DYNAREC -DUSE_RTMIDI -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -I/build/86box/src/build/src/qt -I/build/86box/src/86Box-3.7.1/src/qt -I/build/86box/src/build/src/qt/ui_autogen/include -I/usr/include/freetype2 -I/usr/include/SDL2 -I/build/86box/src/build/src/include -I/build/86box/src/86Box-3.7.1/src/include -I/build/86box/src/86Box-3.7.1/src/cpu -I/build/86box/src/86Box-3.7.1/src/codegen -isystem /usr/include/qt -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtCore -isystem /usr/lib/qt/mkspecs/linux-g++ -isystem /usr/include/qt/QtOpenGL -isystem /usr/include/qt/QtNetwork -isystem /usr/include/libevdev-1.0 -m64 -march=x86-64 -msse2 -mfpmath=sse -mstackrealign -fomit-frame-pointer -Wall -fno-strict-aliasing  -g0 -O3 -fPIC -std=c++17 -MD -MT src/qt/CMakeFiles/ui.dir/qt_rendererstack.cpp.o -MF src/qt/CMakeFiles/ui.dir/qt_rendererstack.cpp.o.d -o src/qt/CMakeFiles/ui.dir/qt_rendererstack.cpp.o -c /build/86box/src/86Box-3.7.1/src/qt/qt_rendererstack.cpp
In file included from /usr/include/qt/QtGui/qvulkanwindow.h:51,
                 from /usr/include/qt/QtGui/QVulkanWindow:1,
                 from /build/86box/src/86Box-3.7.1/src/qt/qt_vulkanwindowrenderer.hpp:4,
                 from /build/86box/src/86Box-3.7.1/src/qt/qt_rendererstack.cpp:27:
/usr/include/qt/QtGui/qvulkaninstance.h:55:10: fatal error: vulkan/vulkan.h: No such file or directory
   55 | #include <vulkan/vulkan.h>
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
    Aborting...
==> ERROR: Build failed, check /var/lib/aurbuild/x86_64/arvid/build
FAILED: 86box.stamp 
env -C /home/arvid/.cache/aurutils/sync/86box -- aur build --clean --syncdeps -d custom-archiving --root /home/custompkgs/custom-archiving --chroot --makepkg-conf /etc/makepkg.conf --remove && date --rfc-3339=ns > 86box.stamp
ninja: build stopped: cannot make progress due to previous errors.
Build failed

My guess is that there is a missing dependency on vulkan-headers that was implicit when using qt6 (qt6-base depends on vulkan-headers). You probably will not notice unless you build in a clean chroot.

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.

Lili1228 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'

Lili1228 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
 }