about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--lib/maintainers.nix1
-rw-r--r--pkgs/games/quakespasm/default.nix40
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 43 insertions, 0 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index f1d86bd56e3e..a9d44984e5d2 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -298,6 +298,7 @@
   luispedro = "Luis Pedro Coelho <luis@luispedro.org>";
   lukego = "Luke Gorrie <luke@snabb.co>";
   lw = "Sergey Sofeychuk <lw@fmap.me>";
+  m3tti = "Mathaeus Sander <mathaeus.peter.sander@gmail.com>";
   ma27 = "Maximilian Bosch <maximilian@mbosch.me>";
   madjar = "Georges Dubus <georges.dubus@compiletoi.net>";
   magnetophon = "Bart Brouns <bart@magnetophon.nl>";
diff --git a/pkgs/games/quakespasm/default.nix b/pkgs/games/quakespasm/default.nix
new file mode 100644
index 000000000000..cd7787604c2e
--- /dev/null
+++ b/pkgs/games/quakespasm/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, SDL, fetchurl, gzip, libvorbis, libmad }:
+stdenv.mkDerivation rec {
+  name = "quakespasm-${version}";
+  majorVersion = "0.92";
+  version = "${majorVersion}.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/quakespasm/quakespasm-${version}.tgz";
+    sha256 = "0vhycjg97sn4cd85ph6qz68rplzrm4apijdkrlj9mycnqjv5l100";
+  };
+
+  sourceRoot = "${name}/Quake";
+  
+  buildInputs = [
+    gzip SDL libvorbis libmad
+  ];
+
+  preInstall = ''
+    mkdir -p "$out/bin"
+    substituteInPlace Makefile --replace "/usr/local/games" "$out/bin"
+  '';
+
+  enableParallelBuilding = true;
+  
+  meta = {
+    description = "An engine for iD software's Quake";
+    homepage = "http://quakespasm.sourceforge.net/";
+    longDescription = ''
+      QuakeSpasm is a modern, cross-platform Quake 1 engine based on FitzQuake.
+      It includes support for 64 bit CPUs and custom music playback, a new sound driver, 
+      some graphical niceities, and numerous bug-fixes and other improvements.
+      Quakespasm utilizes either the SDL or SDL2 frameworks, so choose which one 
+      works best for you. SDL is probably less buggy, but SDL2 has nicer features 
+      and smoother mouse input - though no CD support.
+    '';
+  
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.m3tti ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 6adbb5936a24..0431da86bb42 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -17012,6 +17012,8 @@ with pkgs;
 
   quake3pointrelease = callPackage ../games/quake3/content/pointrelease.nix { };
 
+  quakespasm = callPackage ../games/quakespasm { };
+  
   ioquake3 = callPackage ../games/quake3/ioquake { };
 
   quantumminigolf = callPackage ../games/quantumminigolf {};