summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRodion Goritskov <rodion.goritskov@gmail.com>2024-07-24 21:28:09 +0400
committerRodion Goritskov <rodion.goritskov@gmail.com>2024-07-24 21:28:09 +0400
commitfbee0cd591b9b053056f6ec442c93840769268b0 (patch)
treef4029fd03bfcc6267e177d90e04685e08a6c1173
parentb2770a136f2ac8cc21155cb15060d8760c42f45e (diff)
gnu: Add 86Box.
* rodion/packages/emulators.scm (86Box): New variable.
-rw-r--r--rodion/packages/emulators.scm54
-rw-r--r--rodion/packages/patches/0001-86Box.patch12
2 files changed, 66 insertions, 0 deletions
diff --git a/rodion/packages/emulators.scm b/rodion/packages/emulators.scm
new file mode 100644
index 0000000..e5f2527
--- /dev/null
+++ b/rodion/packages/emulators.scm
@@ -0,0 +1,54 @@
+(define-module (rodion packages emulators)
+ #:use-module (guix packages)
+ #:use-module (guix build-system cmake)
+ #:use-module (guix git-download)
+ #:use-module (gnu packages fontutils)
+ #:use-module (gnu packages sdl)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages containers)
+ #:use-module (gnu packages audio)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages qt)
+ #:use-module (gnu packages xorg)
+ #:use-module (gnu packages vulkan)
+ #:use-module (gnu packages xdisorg)
+ #:use-module (guix gexp)
+ #:use-module ((guix licenses) #:prefix license:))
+
+(define-public 86Box
+ (package
+ (name "86Box")
+ (version "4.1.1")
+ (build-system cmake-build-system)
+ (home-page "https://github.com/86Box/86Box")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/86Box/86Box")
+ (commit (string-append "v" version))))
+ (patches `(,(local-file "./patches/0001-86Box.patch")))
+ (sha256
+ (base32 "13h5jzjm70igz82afbi7rljd37xmcq4apjvvbpigdgqpa88k90ca"))))
+ (arguments `(#:tests? #f
+ #:configure-flags (list "-DUSE_QT6=ON")))
+ (inputs (list freetype
+ sdl2
+ pkg-config
+ libslirp
+ openal
+ rtmidi
+ jack-2
+ alsa-lib
+ fluidsynth
+ qtbase
+ qttools
+ libxi
+ libxkbcommon
+ vulkan-headers))
+ (license license:gpl2+)
+ (description
+ "86Box is a low level x86 emulator that runs older operating systems
+and software designed for IBM PC systems and compatibles from 1981 through fairly
+recent system designs based on the PCI bus.")
+ (synopsis "Emulator of x86-based machines based on PCem")))
diff --git a/rodion/packages/patches/0001-86Box.patch b/rodion/packages/patches/0001-86Box.patch
new file mode 100644
index 0000000..3b1ba67
--- /dev/null
+++ b/rodion/packages/patches/0001-86Box.patch
@@ -0,0 +1,12 @@
+diff --git a/src/qt/CMakeLists.txt b/src/qt/CMakeLists.txt
+index 5dc6f8a07..27853e8b1 100644
+--- a/src/qt/CMakeLists.txt
++++ b/src/qt/CMakeLists.txt
+@@ -264,6 +264,7 @@ target_link_libraries(
+ PRIVATE
+ Qt${QT_MAJOR}::Widgets
+ Qt${QT_MAJOR}::Gui
++ Qt${QT_MAJOR}::GuiPrivate
+ Qt${QT_MAJOR}::OpenGL
+ Qt${QT_MAJOR}::Network
+ Threads::Threads