summaryrefslogtreecommitdiff
path: root/user/dosbox
diff options
context:
space:
mode:
Diffstat (limited to 'user/dosbox')
-rw-r--r--user/dosbox/APKBUILD36
-rw-r--r--user/dosbox/asmfix.patch11
-rw-r--r--user/dosbox/porttalk-fix.patch15
-rw-r--r--user/dosbox/posix-headers.patch10
4 files changed, 72 insertions, 0 deletions
diff --git a/user/dosbox/APKBUILD b/user/dosbox/APKBUILD
new file mode 100644
index 000000000..88436520d
--- /dev/null
+++ b/user/dosbox/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Horst Burkhardt <horst@adelielinux.org>
+# Maintainer: Horst Burkhardt <horst@adelielinux.org>
+pkgname=dosbox
+pkgver=0.82.7
+pkgrel=0
+pkgdesc="an emulator for MS-DOS games"
+url="https://github.com/joncampbell123/dosbox-x/"
+arch="all !s390x"
+options="!check" # dosbox does not ship tests
+subpackages=""
+license="GPL-2.0-only"
+depends=""
+makedepends="ncurses-dev zlib-dev libxkbfile-dev libpng-dev libpcap-dev fluidsynth-dev sdl2-dev alsa-lib-dev"
+source="https://github.com/joncampbell123/dosbox-x/archive/dosbox-x-wip-20180513-1316.tar.gz
+ porttalk-fix.patch
+ asmfix.patch
+ posix-headers.patch
+ "
+builddir="$srcdir/dosbox-x-dosbox-x-wip-20180513-1316"
+
+build() {
+ cd "$builddir"
+ ./autogen.sh
+ ./configure --prefix=/usr --enable-debug --enable-core-inline --enable-sdl2
+ make
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="38b7423b695f3b0dfd26f8c8913f26afba73ea6235bb205ec3a5d7f08ef3c74a9b6ce2577f0ea8eb49724b548e3386332256d13f27469b165986702650638992 dosbox-x-wip-20180513-1316.tar.gz
+daf0efea03d6295f5a20d8d197f7d0ba38e0608edcfe8be19fc6091b783885d523557674f0f7df83b88186b77794723106cf7a0e02125d2cc75ecfd7d51fa91d porttalk-fix.patch
+266ede57d21030f7752287f18660b47e9185a9aef9d022337dded9c9ce93e572691b41aca878f8a28c67bf5d217c7e84912336c21aacf594085dc31d99862ebf asmfix.patch
+462e84d5bac8fb2c1317b303d1bdda72a50e9eedfb5251450cb8d0f98f4297d6a483eb2c95624cbc8d25e917788032dd1e7d8b0d06d82dad6600f8bd6eec85f4 posix-headers.patch"
diff --git a/user/dosbox/asmfix.patch b/user/dosbox/asmfix.patch
new file mode 100644
index 000000000..db341e42c
--- /dev/null
+++ b/user/dosbox/asmfix.patch
@@ -0,0 +1,11 @@
+--- dosbox-x-dosbox-x-wip-20180513-1316/src/cpu/core_dyn_x86/risc_x86.h 2018-05-13 19:52:17.000000000 +0000
++++ dosbox-x-dosbox-x-wip-20180513-1316/src/cpu/core_dyn_x86/risc_x86.h 2018-05-16 12:02:44.329617468 +0000
+@@ -130,7 +130,7 @@
+ #else
+ register Bit32u tempflags=reg_flags & FMASK_TEST;
+ __asm__ volatile (
+- "pushl $(run_return_adress) \n"
++ "call 1f ; 1: addl $run_return_adress-.,(%%esp) \n"
+ "pushl %2 \n"
+ "jmp *%3 \n"
+ "run_return_adress: \n"
diff --git a/user/dosbox/porttalk-fix.patch b/user/dosbox/porttalk-fix.patch
new file mode 100644
index 000000000..4cb4a6a0e
--- /dev/null
+++ b/user/dosbox/porttalk-fix.patch
@@ -0,0 +1,15 @@
+diff -Naur dosbox-x-dosbox-x-wip-20180513-1316/src/libs/porttalk/porttalk.cpp dosbox-x-dosbox-x-wip-20180513-1316-porttalk-fix/src/libs/porttalk/porttalk.cpp
+--- dosbox-x-dosbox-x-wip-20180513-1316/src/libs/porttalk/porttalk.cpp 2018-05-13 19:52:17.000000000 +0000
++++ dosbox-x-dosbox-x-wip-20180513-1316-porttalk-fix/src/libs/porttalk/porttalk.cpp 2018-05-16 12:40:17.232921780 +0000
+@@ -233,7 +233,11 @@
+ #ifdef LINUX
+ # if defined(__i386__) || defined(__amd64__) || defined(__x86_64__)
+ // This Linux ioperm only works up to port 0x3FF
++#if (__GNU_LIBRARY__ >= 6)
+ #include <sys/perm.h>
++#elif defined(__linux__) && !defined(__GLIBC__)
++#include <sys/io.h>
++#endif
+
+ bool initPorttalk() {
+ if(ioperm(0x3da,1,1) < 0) return false;
diff --git a/user/dosbox/posix-headers.patch b/user/dosbox/posix-headers.patch
new file mode 100644
index 000000000..3ed6bb07a
--- /dev/null
+++ b/user/dosbox/posix-headers.patch
@@ -0,0 +1,10 @@
+--- dosbox/src/dos/drive_local.cpp 2018-05-13 14:52:17.000000000 -0500
++++ dosbox/src/dos/drive_local.cpp 2018-05-27 02:24:20.057150551 -0500
+@@ -22,6 +22,7 @@
+ #include <string.h>
+ #include <time.h>
+ #include <errno.h>
++#include <limits.h>
+
+ #include "dosbox.h"
+ #include "dos_inc.h"