aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/dosbox
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/dosbox')
-rw-r--r--recipes/dosbox/dosbox.inc13
-rw-r--r--recipes/dosbox/dosbox_0.63.bb1
-rw-r--r--recipes/dosbox/dosbox_0.70.bb1
-rw-r--r--recipes/dosbox/dosbox_0.72.bb6
-rw-r--r--recipes/dosbox/files/gcc-4.3.patch45
-rw-r--r--recipes/dosbox/files/nocdrom.patch27
6 files changed, 93 insertions, 0 deletions
diff --git a/recipes/dosbox/dosbox.inc b/recipes/dosbox/dosbox.inc
new file mode 100644
index 0000000000..9cad5f35cd
--- /dev/null
+++ b/recipes/dosbox/dosbox.inc
@@ -0,0 +1,13 @@
+DESCRIPTION = "Dos Emulator based on SDL"
+SECTION = "base"
+PRIORITY = "optional"
+DEPENDS = "virtual/libsdl"
+LICENSE = "GPL"
+
+SRC_URI = "\
+ ${SOURCEFORGE_MIRROR}/dosbox/dosbox-${PV}.tar.gz \
+ file://nocdrom.patch;patch=1"
+
+CXXFLAGS_append = " -DC_SDL_NOCDROM"
+
+inherit autotools
diff --git a/recipes/dosbox/dosbox_0.63.bb b/recipes/dosbox/dosbox_0.63.bb
new file mode 100644
index 0000000000..1d29ce0401
--- /dev/null
+++ b/recipes/dosbox/dosbox_0.63.bb
@@ -0,0 +1 @@
+require dosbox.inc
diff --git a/recipes/dosbox/dosbox_0.70.bb b/recipes/dosbox/dosbox_0.70.bb
new file mode 100644
index 0000000000..1d29ce0401
--- /dev/null
+++ b/recipes/dosbox/dosbox_0.70.bb
@@ -0,0 +1 @@
+require dosbox.inc
diff --git a/recipes/dosbox/dosbox_0.72.bb b/recipes/dosbox/dosbox_0.72.bb
new file mode 100644
index 0000000000..930a2c31b0
--- /dev/null
+++ b/recipes/dosbox/dosbox_0.72.bb
@@ -0,0 +1,6 @@
+require dosbox.inc
+
+PR = "r1"
+
+SRC_URI += "file://gcc-4.3.patch;patch=1"
+
diff --git a/recipes/dosbox/files/gcc-4.3.patch b/recipes/dosbox/files/gcc-4.3.patch
new file mode 100644
index 0000000000..bacefd420c
--- /dev/null
+++ b/recipes/dosbox/files/gcc-4.3.patch
@@ -0,0 +1,45 @@
+diff -ur /tmp/dosbox-0.72/src/dos/cdrom_image.cpp dosbox-0.72/src/dos/cdrom_image.cpp
+--- /tmp/dosbox-0.72/src/dos/cdrom_image.cpp 2007-08-22 13:54:35.000000000 +0200
++++ dosbox-0.72/src/dos/cdrom_image.cpp 2008-03-06 21:30:00.000000000 +0100
+@@ -23,7 +23,7 @@
+ #include <cstdio>
+ #include <fstream>
+ #include <iostream>
+-#include <limits.h>
++#include <limits>
+ #include <sstream>
+ #include <vector>
+ #include <sys/stat.h>
+diff -ur /tmp/dosbox-0.72/src/hardware/gameblaster.cpp dosbox-0.72/src/hardware/gameblaster.cpp
+--- /tmp/dosbox-0.72/src/hardware/gameblaster.cpp 2007-01-10 11:17:37.000000000 +0100
++++ dosbox-0.72/src/hardware/gameblaster.cpp 2008-03-06 21:31:32.000000000 +0100
+@@ -24,6 +24,7 @@
+ #include "hardware.h"
+ #include "setup.h"
+ #include "pic.h"
++#include <cstring>
+
+ #define LEFT 0x00
+ #define RIGHT 0x01
+diff -ur /tmp/dosbox-0.72/src/hardware/tandy_sound.cpp dosbox-0.72/src/hardware/tandy_sound.cpp
+--- /tmp/dosbox-0.72/src/hardware/tandy_sound.cpp 2007-06-29 20:21:12.000000000 +0200
++++ dosbox-0.72/src/hardware/tandy_sound.cpp 2008-03-06 21:32:02.000000000 +0100
+@@ -28,6 +28,7 @@
+ #include "setup.h"
+ #include "pic.h"
+ #include "dma.h"
++#include <cstring>
+
+ #define DAC_CLOCK 3570000
+ #define MAX_OUTPUT 0x7fff
+diff -ur /tmp/dosbox-0.72/src/shell/shell_cmds.cpp dosbox-0.72/src/shell/shell_cmds.cpp
+--- /tmp/dosbox-0.72/src/shell/shell_cmds.cpp 2007-08-17 19:58:46.000000000 +0200
++++ dosbox-0.72/src/shell/shell_cmds.cpp 2008-03-06 21:32:47.000000000 +0100
+@@ -27,6 +27,7 @@
+ #include "regs.h"
+ #include "../dos/drives.h"
+ #include "support.h"
++#include <cstdlib>
+
+ static SHELL_Cmd cmd_list[]={
+ { "CHDIR", 1, &DOS_Shell::CMD_CHDIR, "SHELL_CMD_CHDIR_HELP"},
diff --git a/recipes/dosbox/files/nocdrom.patch b/recipes/dosbox/files/nocdrom.patch
new file mode 100644
index 0000000000..29212b316d
--- /dev/null
+++ b/recipes/dosbox/files/nocdrom.patch
@@ -0,0 +1,27 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- dosbox-0.63/src/dos/cdrom.h~nocdrom
++++ dosbox-0.63/src/dos/cdrom.h
+@@ -20,6 +20,19 @@
+ #include "SDL_sound.h"
+ #endif
+
++#ifdef C_SDL_NOCDROM
++#define SDL_CDNumDrives(x) (0)
++#define SDL_CDName(x) ((const char *)0)
++#define SDL_CDOpen(x) ((SDL_CD *)0)
++#define SDL_CDPlay(x,y,z) (-1)
++#define SDL_CDResume(x) (-1)
++#define SDL_CDPause(x) (-1)
++#define SDL_CDStop(x) (-1)
++#define SDL_CDEject(x) (-1)
++#define SDL_CDClose(x) ((void)0)
++#define SDL_CDStatus(x) (-1)
++#endif
++
+ #define RAW_SECTOR_SIZE 2352
+ #define COOKED_SECTOR_SIZE 2048
+