aboutsummaryrefslogtreecommitdiff
path: root/emulators/dosbox-x
diff options
context:
space:
mode:
authorNeel Chauhan <nc@FreeBSD.org>2022-04-21 18:52:30 +0000
committerNeel Chauhan <nc@FreeBSD.org>2022-04-21 18:52:30 +0000
commiteefcfdabff91435353e0fb63cc554405b4ca9c4f (patch)
treed8c92ef3d71f0927f1610f78529ff4a4e580248e /emulators/dosbox-x
parent110a57e336855b3a9037614c9455cc64bc2858cf (diff)
downloadports-eefcfdabff91435353e0fb63cc554405b4ca9c4f.tar.gz
ports-eefcfdabff91435353e0fb63cc554405b4ca9c4f.zip
emulators/dosbox-x: New port
Diffstat (limited to 'emulators/dosbox-x')
-rw-r--r--emulators/dosbox-x/Makefile30
-rw-r--r--emulators/dosbox-x/distinfo3
-rw-r--r--emulators/dosbox-x/files/patch-include_setup.h11
-rw-r--r--emulators/dosbox-x/files/patch-src_cpu_core_dyn_x86_risc_x86.h11
-rw-r--r--emulators/dosbox-x/files/patch-src_gui_sdl__gui.cpp27
-rw-r--r--emulators/dosbox-x/pkg-descr3
-rw-r--r--emulators/dosbox-x/pkg-plist57
7 files changed, 142 insertions, 0 deletions
diff --git a/emulators/dosbox-x/Makefile b/emulators/dosbox-x/Makefile
new file mode 100644
index 000000000000..194082c2def2
--- /dev/null
+++ b/emulators/dosbox-x/Makefile
@@ -0,0 +1,30 @@
+PORTNAME= dosbox-x
+DISTVERSIONPREFIX= ${PORTNAME}-v
+DISTVERSION= 0.83.24
+CATEGORIES= emulators
+
+MAINTAINER= nc@FreeBSD.org
+COMMENT= DOSBox fork
+
+LICENSE= GPLv2
+
+LIB_DEPENDS= libpng.so:graphics/png
+
+USES= autoreconf cpe iconv sdl
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --enable-core-inline
+USE_SDL= net sdl sound
+
+USE_GITHUB= yes
+GH_ACCOUNT= joncampbell123
+
+OPTIONS_DEFINE= DOCS
+OPTIONS_RADIO= DEBUGGER
+OPTIONS_RADIO_DEBUGGER= DEBUGGER_ENABLE DEBUGGER_HEAVY
+DEBUGGER_ENABLE_DESC= Enable internal debugger
+DEBUGGER_HEAVY_DESC= Enable internal debugger with extra features
+
+DEBUGGER_ENABLE_CONFIGURE_ON= --enable-debug=yes
+DEBUGGER_HEAVY_CONFIGURE_ON= --enable-debug=heavy
+
+.include <bsd.port.mk>
diff --git a/emulators/dosbox-x/distinfo b/emulators/dosbox-x/distinfo
new file mode 100644
index 000000000000..ecbf74730c2a
--- /dev/null
+++ b/emulators/dosbox-x/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1650563722
+SHA256 (joncampbell123-dosbox-x-dosbox-x-v0.83.24_GH0.tar.gz) = f4746f1524cac58756123c7acbbc565e215d7f298a19667fd845dbba040c6021
+SIZE (joncampbell123-dosbox-x-dosbox-x-v0.83.24_GH0.tar.gz) = 64650623
diff --git a/emulators/dosbox-x/files/patch-include_setup.h b/emulators/dosbox-x/files/patch-include_setup.h
new file mode 100644
index 000000000000..ca81c0e0316a
--- /dev/null
+++ b/emulators/dosbox-x/files/patch-include_setup.h
@@ -0,0 +1,11 @@
+--- include/setup.h.orig 2022-04-01 04:26:03 UTC
++++ include/setup.h
+@@ -20,6 +20,8 @@
+ #ifndef DOSBOX_SETUP_H
+ #define DOSBOX_SETUP_H
+
++#include <stdio.h>
++
+ #ifdef _MSC_VER
+ //#pragma warning ( disable : 4786 )
+ //#pragma warning ( disable : 4290 )
diff --git a/emulators/dosbox-x/files/patch-src_cpu_core_dyn_x86_risc_x86.h b/emulators/dosbox-x/files/patch-src_cpu_core_dyn_x86_risc_x86.h
new file mode 100644
index 000000000000..2d0948efeb73
--- /dev/null
+++ b/emulators/dosbox-x/files/patch-src_cpu_core_dyn_x86_risc_x86.h
@@ -0,0 +1,11 @@
+--- src/cpu/core_dyn_x86/risc_x86.h.orig 2014-12-31 12:59:53.015190887 +0000
++++ src/cpu/core_dyn_x86/risc_x86.h 2014-12-31 13:00:30.953180886 +0000
+@@ -138,7 +138,7 @@
+ "run_return_adress: \n"
+ "popl %%ebp \n"
+ :"=a" (retval), "=c" (tempflags)
+- :"r" (tempflags),"r" (code)
++ :"a" (tempflags),"r" (code)
+ :"%edx","%ebx","%edi","%esi","cc","memory"
+ );
+ reg_flags=(reg_flags & ~FMASK_TEST) | (tempflags & FMASK_TEST);
diff --git a/emulators/dosbox-x/files/patch-src_gui_sdl__gui.cpp b/emulators/dosbox-x/files/patch-src_gui_sdl__gui.cpp
new file mode 100644
index 000000000000..e677a977b1a3
--- /dev/null
+++ b/emulators/dosbox-x/files/patch-src_gui_sdl__gui.cpp
@@ -0,0 +1,27 @@
+--- src/gui/sdl_gui.cpp.orig 2022-04-21 18:01:44 UTC
++++ src/gui/sdl_gui.cpp
+@@ -3022,7 +3022,7 @@ class ConfigurationWindow : public GUI::ToplevelWindow
+ std::string url = "https://dosbox-x.com/";
+ #if defined(WIN32)
+ ShellExecute(NULL, "open", url.c_str(), NULL, NULL, SW_SHOWNORMAL);
+-#elif defined(LINUX)
++#elif defined(LINUX) || defined(__FreeBSD__)
+ system(("xdg-open "+url).c_str());
+ #elif defined(MACOSX)
+ system(("open "+url).c_str());
+@@ -3436,7 +3436,7 @@ void GUI_Shortcut(int select) {
+ PIC_AddEvent(RunCfgTool, 100);
+ } else
+ #endif
+- RunCfgTool(NULL);
++ RunCfgTool(0);
+ }
+
+ void GUI_Run(bool pressed) {
+@@ -3458,5 +3458,5 @@ void GUI_Run(bool pressed) {
+ PIC_AddEvent(RunCfgTool, 100);
+ } else
+ #endif
+- RunCfgTool(NULL);
++ RunCfgTool(0);
+ }
diff --git a/emulators/dosbox-x/pkg-descr b/emulators/dosbox-x/pkg-descr
new file mode 100644
index 000000000000..0e6aeae8eaea
--- /dev/null
+++ b/emulators/dosbox-x/pkg-descr
@@ -0,0 +1,3 @@
+DOSBox-X is a cross-platform DOS emulator based on the DOSBox project.
+
+WWW: https://dosbox-x.com/
diff --git a/emulators/dosbox-x/pkg-plist b/emulators/dosbox-x/pkg-plist
new file mode 100644
index 000000000000..0f5fe5d22ffb
--- /dev/null
+++ b/emulators/dosbox-x/pkg-plist
@@ -0,0 +1,57 @@
+bin/dosbox-x
+man/man1/dosbox-x.1.gz
+share/applications/com.dosbox_x.DOSBox-X.desktop
+share/bash-completion/completions/dosbox-x
+%%DATADIR%%/CHANGELOG
+%%DATADIR%%/FREECG98.BMP
+%%DATADIR%%/dosbox-x.reference.conf
+%%DATADIR%%/dosbox-x.reference.full.conf
+%%DATADIR%%/glshaders/ScanLine.glsl
+%%DATADIR%%/glshaders/advinterp2x.glsl
+%%DATADIR%%/glshaders/advinterp3x.glsl
+%%DATADIR%%/glshaders/advmame2x.glsl
+%%DATADIR%%/glshaders/advmame3x.glsl
+%%DATADIR%%/glshaders/crt-aperture.glsl
+%%DATADIR%%/glshaders/crt-caligari.glsl
+%%DATADIR%%/glshaders/crt-easymode.glsl
+%%DATADIR%%/glshaders/crt-easymode.tweaked.glsl
+%%DATADIR%%/glshaders/crt-geom.glsl
+%%DATADIR%%/glshaders/crt-geom.tweaked.glsl
+%%DATADIR%%/glshaders/crt-hyllian.glsl
+%%DATADIR%%/glshaders/crt-lottes-fast.glsl
+%%DATADIR%%/glshaders/crt-lottes-fast.subtle+gain.glsl
+%%DATADIR%%/glshaders/crt-lottes.glsl
+%%DATADIR%%/glshaders/crt-lottes.tweaked.glsl
+%%DATADIR%%/glshaders/crt-nes-mini.glsl
+%%DATADIR%%/glshaders/crt-pi.glsl
+%%DATADIR%%/glshaders/default.glsl
+%%DATADIR%%/glshaders/fakelottes.glsl
+%%DATADIR%%/glshaders/fakelottes.tweaked.glsl
+%%DATADIR%%/glshaders/none.glsl
+%%DATADIR%%/glshaders/pixel_perfect-scanlines.glsl
+%%DATADIR%%/glshaders/pixel_perfect.glsl
+%%DATADIR%%/glshaders/pixellate.glsl
+%%DATADIR%%/glshaders/rgb2x.glsl
+%%DATADIR%%/glshaders/rgb3x.glsl
+%%DATADIR%%/glshaders/scan2x.glsl
+%%DATADIR%%/glshaders/scan3x.glsl
+%%DATADIR%%/glshaders/sharp.glsl
+%%DATADIR%%/glshaders/tv2x.glsl
+%%DATADIR%%/glshaders/tv3x.glsl
+%%DATADIR%%/glshaders/xbr-lv2-3d.glsl
+%%DATADIR%%/glshaders/xbr-lv2-noblend.glsl
+%%DATADIR%%/glshaders/xbr-lv2.glsl
+%%DATADIR%%/glshaders/xbr-lv3.glsl
+%%DATADIR%%/glshaders/yee64.glsl
+%%DATADIR%%/glshaders/yeetron.glsl
+%%DATADIR%%/glshaders/zfast_crt.glsl
+%%DATADIR%%/translations/en_US.lng
+%%DATADIR%%/translations/es_ES.lng
+%%DATADIR%%/translations/fr_FR.lng
+%%DATADIR%%/translations/ja_JP.lng
+%%DATADIR%%/translations/pt_BR.lng
+%%DATADIR%%/translations/tr_TR.lng
+%%DATADIR%%/translations/zh_CN.lng
+%%DATADIR%%/translations/zh_TW.lng
+share/icons/hicolor/scalable/apps/dosbox-x.svg
+share/metainfo/com.dosbox_x.DOSBox-X.metainfo.xml