summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/games/quake3/wrapper/builder.sh4
-rw-r--r--pkgs/games/quake3/wrapper/default.nix14
-rw-r--r--pkgs/top-level/all-packages.nix7
3 files changed, 17 insertions, 8 deletions
diff --git a/pkgs/games/quake3/wrapper/builder.sh b/pkgs/games/quake3/wrapper/builder.sh
index 6b5bd7450c57..d5115baa7e6d 100644
--- a/pkgs/games/quake3/wrapper/builder.sh
+++ b/pkgs/games/quake3/wrapper/builder.sh
@@ -2,8 +2,8 @@ source $stdenv/setup
 
 mkdir -p $out/baseq3
 for i in $paks; do
-    if test -d "$paks/baseq3"; then
-        ln -s $paks/baseq3/* $out/baseq3/
+    if test -d "$i/baseq3"; then
+        ln -s "$i/baseq3"/* $out/baseq3/
     fi
 done
 
diff --git a/pkgs/games/quake3/wrapper/default.nix b/pkgs/games/quake3/wrapper/default.nix
index f9e2e864f197..ae0387ad2900 100644
--- a/pkgs/games/quake3/wrapper/default.nix
+++ b/pkgs/games/quake3/wrapper/default.nix
@@ -1,13 +1,21 @@
-{stdenv, fetchurl, game, paks, mesa, name, description, makeWrapper}:
+{ stdenv, fetchurl, mesa, ioquake3, makeWrapper }:
+
+{ paks, name ? (stdenv.lib.head paks).name, description ? "" }:
 
 stdenv.mkDerivation {
+  name = "${name}-${ioquake3.name}";
+
   builder = ./builder.sh;
 
-  buildInputs = [makeWrapper];
+  nativeBuildInputs = [ makeWrapper ];
   
-  inherit game paks mesa name;
+  inherit paks mesa;
+
+  game = ioquake3;
 
   gcc = stdenv.cc.cc;
+
+  preferLocalBuild = true;
   
   meta = {
     inherit description;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c5e6b1e9a457..8a07b7d2a98e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -14256,10 +14256,11 @@ let
 
   qqwing = callPackage ../games/qqwing { };
 
-  quake3demo = callPackage ../games/quake3/wrapper {
-    name = "quake3-demo-${ioquake3.name}";
+  quake3wrapper = callPackage ../games/quake3/wrapper { };
+
+  quake3demo = quake3wrapper {
+    name = "quake3-demo-${lib.getVersion quake3demodata}";
     description = "Demo of Quake 3 Arena, a classic first-person shooter";
-    game = ioquake3;
     paks = [ quake3pointrelease quake3demodata ];
   };