diff --git a/pkgs/games/racer/default.nix b/pkgs/games/racer/default.nix
new file mode 100644
index 000000000000..6f70309dee00
--- /dev/null
+++ b/pkgs/games/racer/default.nix
@@ -0,0 +1,25 @@
+{ fetchurl, stdenv, allegro, libjpeg, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "racer-1.1";
+
+  src = fetchurl {
+    url = http://hippo.nipax.cz/src/racer-1.1.tar.gz;
+    sha256 = "0fll1qkqfcjq87k0jzsilcw701z92lfxn2y5ga1n038772lymxl9";
+  };
+
+  buildInputs = [ allegro libjpeg makeWrapper ];
+
+  prePatch = ''
+    sed -i s,/usr/local,$out, Makefile src/HGFX.cpp src/STDH.cpp
+    sed -i s,/usr/share,$out/share, src/HGFX.cpp src/STDH.cpp
+  '';
+
+  patches = [ ./mkdir.patch ];
+
+  meta = {
+    description = "Car racing game";
+    homepage = http://hippo.nipax.cz/download.en.php;
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/games/racer/mkdir.patch b/pkgs/games/racer/mkdir.patch
new file mode 100644
index 000000000000..910eaf390f4c
--- /dev/null
+++ b/pkgs/games/racer/mkdir.patch
@@ -0,0 +1,13 @@
+diff --git a/src/STDH.cpp b/src/STDH.cpp
+index 5f78473..47c3f8b 100644
+--- a/src/STDH.cpp
++++ b/src/STDH.cpp
+@@ -5,6 +5,8 @@
+ #include "player.h"
+ #include "drivers.h"
+ #include "cup.h"
++#include <sys/stat.h>
++#include <sys/types.h>
+ 
+ HScreen hscreen;
+ 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 0b720ceebaba..3d6ad6847ede 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -7083,6 +7083,8 @@ let
 
   quake3game = callPackage ../games/quake3/game { };
 
+  racer = callPackage ../games/racer { };
+
   rogue = callPackage ../games/rogue { };
 
   sauerbraten = callPackage ../games/sauerbraten {};