2009-05-14 13:17:41 +02:00
|
|
|
{stdenv, fetchurl, SDL, makeDesktopItem}:
|
2005-12-03 03:32:02 +01:00
|
|
|
|
2009-03-16 13:22:47 +01:00
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
name = "dosbox-0.72";
|
|
|
|
|
2005-12-03 03:32:02 +01:00
|
|
|
src = fetchurl {
|
2009-03-16 13:22:47 +01:00
|
|
|
url = "mirror://sourceforge/dosbox/${name}.tar.gz";
|
|
|
|
sha256 = "0ydck7jgvdwnpxakg2y83dmk2dnwx146cgidbmdn7h75y7cxfiqp";
|
2005-12-03 03:32:02 +01:00
|
|
|
};
|
2009-03-16 13:22:47 +01:00
|
|
|
|
2009-05-14 13:17:41 +02:00
|
|
|
buildInputs = [SDL];
|
2009-04-21 20:30:54 +02:00
|
|
|
|
|
|
|
# Add missing includes in order to fix compilation with glibc 2.9
|
|
|
|
patchPhase = ''
|
|
|
|
echo "#include <string.h>" > tmp.cpp
|
|
|
|
for i in src/hardware/gameblaster.cpp src/hardware/tandy_sound.cpp
|
|
|
|
do
|
|
|
|
cat tmp.cpp $i > $i.new
|
|
|
|
mv $i.new $i
|
|
|
|
done
|
|
|
|
echo "#include <stdlib.h>" > tmp.cpp
|
|
|
|
cat tmp.cpp src/shell/shell_cmds.cpp > src/shell/shell_cmds.cpp.new
|
|
|
|
mv src/shell/shell_cmds.cpp.new src/shell/shell_cmds.cpp
|
|
|
|
'';
|
2009-05-14 13:17:41 +02:00
|
|
|
|
|
|
|
desktopItem = makeDesktopItem {
|
|
|
|
name = "dosbox";
|
|
|
|
exec = "dosbox";
|
|
|
|
comment = "x86 emulator with internal DOS";
|
|
|
|
desktopName = "DOSBox";
|
|
|
|
genericName = "DOS emulator";
|
|
|
|
categories = "Application;Emulator;";
|
|
|
|
};
|
|
|
|
|
|
|
|
postInstall = ''
|
|
|
|
ensureDir $out/share/applications
|
|
|
|
cp ${desktopItem}/share/applications/* $out/share/applications
|
|
|
|
'';
|
2009-03-16 13:22:47 +01:00
|
|
|
|
|
|
|
meta = {
|
|
|
|
homepage = http://www.dosbox.com/;
|
|
|
|
description = "A DOS emulator";
|
|
|
|
};
|
2005-12-03 03:32:02 +01:00
|
|
|
}
|