about summary refs log tree commit diff
path: root/pkgs/games/zandronum/bin.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/games/zandronum/bin.nix')
-rw-r--r--pkgs/games/zandronum/bin.nix39
1 files changed, 15 insertions, 24 deletions
diff --git a/pkgs/games/zandronum/bin.nix b/pkgs/games/zandronum/bin.nix
index 453f7dc1c1db..cf46877ef713 100644
--- a/pkgs/games/zandronum/bin.nix
+++ b/pkgs/games/zandronum/bin.nix
@@ -18,10 +18,9 @@
 , zlib
 }:
 
-assert stdenv.system == "x86_64-linux";
-
 stdenv.mkDerivation rec {
   name = "zandronum-2.1.2";
+
   src = fetchurl {
     url = "http://zandronum.com/downloads/zandronum2.1.2-linux-x86_64.tar.bz2";
     sha256 = "1f5aw2m8c0bl3lrvi2k3rrzq3q9x1ikxnxxjgh3k9qvanfn7ykbk";
@@ -49,38 +48,30 @@ stdenv.mkDerivation rec {
 
   phases = [ "unpackPhase" "installPhase" ];
 
-  unpackPhase = ''
-    tar xf $src
-  '';
+  sourceRoot = ".";
 
   installPhase = ''
     mkdir -p $out/bin
-    mkdir -p $out/share
-    cp * $out/share
-
-    patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 $out/share/zandronum
-    patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 $out/share/zandronum-server
+    mkdir -p $out/share/zandronum
+    cp *.so *.pk3 zandronum zandronum-server $out/share/zandronum
 
-    cat > $out/bin/zandronum << EOF
-    #!/bin/sh
+    patchelf \
+      --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \
+      --set-rpath $libPath:$out/share/zandronum \
+      $out/share/zandronum/zandronum
+    patchelf \
+      --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \
+      --set-rpath $libPath \
+      $out/share/zandronum/zandronum-server
 
-    LD_LIBRARY_PATH=$libPath:$out/share $out/share/zandronum "\$@"
-    EOF
-
-    cat > $out/bin/zandronum-server << EOF
-    #!/bin/sh
-
-    LD_LIBRARY_PATH=$libPath:$out/share $out/share/zandronum-server "\$@"
-    EOF
-
-    chmod +x "$out/bin/zandronum"
-    chmod +x "$out/bin/zandronum-server"
+    ln -s $out/share/zandronum/zandronum $out/bin/zandronum
+    ln -s $out/share/zandronum/zandronum-server $out/bin/zandronum-server
   '';
 
   meta = {
     homepage = http://zandronum.com/;
     description = "multiplayer oriented port, based off Skulltag, for Doom and Doom II by id Software. Binary version for online play.";
     maintainer = [ stdenv.lib.maintainers.lassulus ];
+    platforms = [ "x86_64-linux" ];
   };
 }
-