summary refs log tree commit diff
diff options
context:
space:
mode:
authorFelix Buehler <account@buehler.rocks>2021-06-22 23:44:58 +0200
committerFelix Buehler <account@buehler.rocks>2021-06-25 01:28:10 +0200
commitce3b463c7900a354775a35f8b75dbd2cd1ca2e7d (patch)
tree3c3d6efc864eaf1543b494bbf8d9c2bfda934151
parentd26902aef932e80eb772026433af13ce662e7872 (diff)
downloadnixpkgs-ce3b463c7900a354775a35f8b75dbd2cd1ca2e7d.tar
nixpkgs-ce3b463c7900a354775a35f8b75dbd2cd1ca2e7d.tar.gz
nixpkgs-ce3b463c7900a354775a35f8b75dbd2cd1ca2e7d.tar.bz2
nixpkgs-ce3b463c7900a354775a35f8b75dbd2cd1ca2e7d.tar.lz
nixpkgs-ce3b463c7900a354775a35f8b75dbd2cd1ca2e7d.tar.xz
nixpkgs-ce3b463c7900a354775a35f8b75dbd2cd1ca2e7d.tar.zst
nixpkgs-ce3b463c7900a354775a35f8b75dbd2cd1ca2e7d.zip
games: /s/name/pname&version/
-rw-r--r--pkgs/desktops/gnome/games/atomix/default.nix6
-rw-r--r--pkgs/desktops/gnome/games/gnome-klotski/default.nix6
-rw-r--r--pkgs/games/andyetitmoves/default.nix13
-rw-r--r--pkgs/games/arena/default.nix15
-rw-r--r--pkgs/games/asc/default.nix5
-rw-r--r--pkgs/games/ball-and-paddle/default.nix5
-rw-r--r--pkgs/games/beret/default.nix3
-rw-r--r--pkgs/games/bitsnbots/default.nix9
-rw-r--r--pkgs/games/bsdgames/default.nix7
-rw-r--r--pkgs/games/chessdb/default.nix7
-rw-r--r--pkgs/games/crack-attack/default.nix7
-rw-r--r--pkgs/games/duckmarines/default.nix7
-rw-r--r--pkgs/games/eboard/default.nix7
-rw-r--r--pkgs/games/eduke32/default.nix10
-rw-r--r--pkgs/games/endless-sky/default.nix8
-rw-r--r--pkgs/games/exult/default.nix5
-rw-r--r--pkgs/games/fsg/default.nix9
-rw-r--r--pkgs/games/gav/default.nix7
-rw-r--r--pkgs/games/gltron/default.nix5
-rw-r--r--pkgs/games/gmad/default.nix3
-rw-r--r--pkgs/games/gtetrinet/default.nix3
-rw-r--r--pkgs/games/icbm3d/default.nix7
-rw-r--r--pkgs/games/kobodeluxe/default.nix7
-rw-r--r--pkgs/games/macopix/default.nix5
-rw-r--r--pkgs/games/neverball/default.nix5
-rw-r--r--pkgs/games/njam/default.nix7
-rw-r--r--pkgs/games/openlierox/default.nix5
-rw-r--r--pkgs/games/openra/engine.nix1
-rw-r--r--pkgs/games/orthorobot/default.nix22
-rw-r--r--pkgs/games/pokerth/default.nix2
-rw-r--r--pkgs/games/pong3d/default.nix7
-rw-r--r--pkgs/games/prboom/default.nix5
-rw-r--r--pkgs/games/quake2/yquake2/games.nix2
-rw-r--r--pkgs/games/racer/default.nix9
-rw-r--r--pkgs/games/rili/default.nix7
-rw-r--r--pkgs/games/rimshot/default.nix17
-rw-r--r--pkgs/games/rocksndiamonds/default.nix5
-rw-r--r--pkgs/games/rogue/default.nix11
-rw-r--r--pkgs/games/scrolls/default.nix3
-rw-r--r--pkgs/games/sgt-puzzles/default.nix2
-rw-r--r--pkgs/games/sienna/default.nix16
-rw-r--r--pkgs/games/snake4/default.nix5
-rw-r--r--pkgs/games/steam/fonts.nix3
-rw-r--r--pkgs/games/tcl2048/default.nix7
-rw-r--r--pkgs/games/teetertorture/default.nix7
-rw-r--r--pkgs/games/tennix/default.nix5
-rw-r--r--pkgs/games/tibia/default.nix7
-rw-r--r--pkgs/games/tintin/default.nix5
-rw-r--r--pkgs/games/tome4/default.nix17
-rw-r--r--pkgs/games/torcs/default.nix5
-rw-r--r--pkgs/games/torus-trooper/default.nix4
-rw-r--r--pkgs/games/tumiki-fighters/default.nix4
-rw-r--r--pkgs/games/typespeed/default.nix7
-rw-r--r--pkgs/games/ufoai/default.nix7
-rw-r--r--pkgs/games/uhexen2/default.nix2
-rw-r--r--pkgs/games/ultimatestunts/default.nix7
-rw-r--r--pkgs/games/vectoroids/default.nix7
-rw-r--r--pkgs/games/vessel/default.nix7
-rw-r--r--pkgs/games/xbomb/default.nix5
-rw-r--r--pkgs/games/xonotic/default.nix6
-rw-r--r--pkgs/games/zandronum/sqlite.nix3
-rw-r--r--pkgs/games/zdoom/bcc-git.nix3
-rw-r--r--pkgs/games/zod/default.nix8
-rw-r--r--pkgs/games/zoom/default.nix5
64 files changed, 216 insertions, 212 deletions
diff --git a/pkgs/desktops/gnome/games/atomix/default.nix b/pkgs/desktops/gnome/games/atomix/default.nix
index 43d9aaa7680..e57191f0a1d 100644
--- a/pkgs/desktops/gnome/games/atomix/default.nix
+++ b/pkgs/desktops/gnome/games/atomix/default.nix
@@ -1,14 +1,12 @@
 { lib, stdenv, fetchurl, meson, ninja, pkg-config, wrapGAppsHook, python3
 , gettext, gnome, glib, gtk3, libgnome-games-support, gdk-pixbuf }:
 
-let
+stdenv.mkDerivation rec {
   pname = "atomix";
   version = "3.34.0";
-in stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz";
+    url = "mirror://gnome/sources/atomix/${lib.versions.majorMinor version}/atomix-${version}.tar.xz";
     sha256 = "0h909a4mccf160hi0aimyicqhq2b0gk1dmqp7qwf87qghfrw6m00";
   };
 
diff --git a/pkgs/desktops/gnome/games/gnome-klotski/default.nix b/pkgs/desktops/gnome/games/gnome-klotski/default.nix
index bb4cdae8fa3..e21cceb0850 100644
--- a/pkgs/desktops/gnome/games/gnome-klotski/default.nix
+++ b/pkgs/desktops/gnome/games/gnome-klotski/default.nix
@@ -3,14 +3,12 @@
 , meson, ninja, python3
 }:
 
-let
+stdenv.mkDerivation rec {
   pname = "gnome-klotski";
   version = "3.38.2";
-in stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz";
+    url = "mirror://gnome/sources/gnome-klotski/${lib.versions.majorMinor version}/gnome-klotski-${version}.tar.xz";
     sha256 = "1qm01hdd5yp8chig62bj10912vclbdvywwczs84sfg4zci2phqwi";
   };
 
diff --git a/pkgs/games/andyetitmoves/default.nix b/pkgs/games/andyetitmoves/default.nix
index f939f5b2bac..9eb1c7594a1 100644
--- a/pkgs/games/andyetitmoves/default.nix
+++ b/pkgs/games/andyetitmoves/default.nix
@@ -1,17 +1,14 @@
 { lib, stdenv, fetchurl, libvorbis, libogg, libtheora, SDL, libXft, SDL_image, zlib, libX11, libpng, openal, runtimeShell, requireFile, commercialVersion ? false }:
 
-let plainName = "andyetitmoves";
-    version   = "1.2.2";
-in
-
-stdenv.mkDerivation {
-  name = "${plainName}-${version}";
+stdenv.mkDerivation rec {
+  pname = "andyetitmoves";
+  version   = "1.2.2";
 
   src = if stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux"
     then
       let postfix        = if stdenv.hostPlatform.system == "i686-linux" then "i386" else "x86_64";
-          commercialName = "${plainName}-${version}_${postfix}.tar.gz";
-          demoUrl        = "http://www.andyetitmoves.net/demo/${plainName}Demo-${version}_${postfix}.tar.gz";
+          commercialName = "${pname}-${version}_${postfix}.tar.gz";
+          demoUrl        = "http://www.andyetitmoves.net/demo/${pname}Demo-${version}_${postfix}.tar.gz";
       in
       if commercialVersion
         then requireFile {
diff --git a/pkgs/games/arena/default.nix b/pkgs/games/arena/default.nix
index 7320a405bb1..16553a5f8ea 100644
--- a/pkgs/games/arena/default.nix
+++ b/pkgs/games/arena/default.nix
@@ -12,10 +12,11 @@ let
 
 in
 stdenv.mkDerivation rec {
-  name = "arena-3.10-beta";
+  pname = "arena";
+  version = "3.10-beta";
 
   src = fetchurl {
-    url = "http://www.playwitharena.de/downloads/arenalinux_64bit_3.10beta.tar.gz";
+    url = "http://www.playwitharena.de/downloads/arenalinux_64bit_${lib.replaceStrings ["-"] [""] version}.tar.gz";
     sha256 = "1pzb9sg4lzbbi4gbldvlb85p8xyl9xnplxwyb9pkk2mwzvvxkf0d";
   };
 
@@ -25,19 +26,19 @@ stdenv.mkDerivation rec {
   unpackPhase = ''
     # This is is a tar bomb, i.e. it extract a dozen files and directories to
     # the top-level, so we must create a sub-directory first.
-    mkdir -p $out/lib/${name}
-    tar -C $out/lib/${name} -xf ${src}
+    mkdir -p $out/lib/${pname}-${version}
+    tar -C $out/lib/${pname}-${version} -xf ${src}
 
     # Remove executable bits from data files. This matters for the find command
     # we'll use below to find all bundled engines.
-    chmod -x $out/lib/${name}/Engines/*/*.{txt,bin,bmp,zip}
+    chmod -x $out/lib/${pname}-${version}/Engines/*/*.{txt,bin,bmp,zip}
   '';
 
   buildPhase = ''
     # Arena has (at least) two executables plus a couple of bundled chess
     # engines that we need to patch.
     exes=( $(find $out -name '*x86_64_linux')
-           $(find $out/lib/${name}/Engines -type f -perm /u+x)
+           $(find $out/lib/${pname}-${version}/Engines -type f -perm /u+x)
          )
     for i in "''${exes[@]}"; do
       # Arminius is statically linked.
@@ -52,7 +53,7 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/bin
-    ln -s $out/lib/${name}/Arena_x86_64_linux $out/bin/arena
+    ln -s $out/lib/${pname}-${version}/Arena_x86_64_linux $out/bin/arena
   '';
 
   dontStrip = true;
diff --git a/pkgs/games/asc/default.nix b/pkgs/games/asc/default.nix
index 778f5224d2d..af3f9f40310 100644
--- a/pkgs/games/asc/default.nix
+++ b/pkgs/games/asc/default.nix
@@ -3,10 +3,11 @@
 , libpng, libtiff, fluidsynth, libmikmod, libvorbis, flac, libogg }:
 
 stdenv.mkDerivation rec {
-  name = "asc-2.6.0.0";
+  pname = "asc";
+  version = "2.6.0.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/asc-hq/${name}.tar.bz2";
+    url = "mirror://sourceforge/asc-hq/asc-${version}.tar.bz2";
     sha256 = "1fybasb6srqfg6pqbvh0s0vvzjq9r0n6aq0z44hs7n68kmaam775";
   };
 
diff --git a/pkgs/games/ball-and-paddle/default.nix b/pkgs/games/ball-and-paddle/default.nix
index 7fe74dc47d9..a935f3d4686 100644
--- a/pkgs/games/ball-and-paddle/default.nix
+++ b/pkgs/games/ball-and-paddle/default.nix
@@ -1,10 +1,11 @@
 { fetchurl, lib, stdenv, SDL, SDL_image, SDL_mixer, SDL_ttf, guile, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "ballandpaddle-0.8.1";
+  pname = "ballandpaddle";
+  version = "0.8.1";
 
   src = fetchurl {
-    url = "mirror://gnu/ballandpaddle/${name}.tar.gz";
+    url = "mirror://gnu/ballandpaddle/ballandpaddle-${version}.tar.gz";
     sha256 = "0zgpydad0mj7fbkippw3n9hlda6nac084dq5xfbsks9jn1xd30ny";
   };
 
diff --git a/pkgs/games/beret/default.nix b/pkgs/games/beret/default.nix
index e59fc7eb274..5d1bf0dd47c 100644
--- a/pkgs/games/beret/default.nix
+++ b/pkgs/games/beret/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchurl, SDL, SDL_image, SDL_ttf, SDL_mixer }:
 
 stdenv.mkDerivation {
-  name = "beret-1.2.0";
+  pname = "beret";
+  version = "1.2.0";
 
   buildInputs = [ SDL SDL_image SDL_ttf SDL_mixer ];
 
diff --git a/pkgs/games/bitsnbots/default.nix b/pkgs/games/bitsnbots/default.nix
index a3bd399a5ff..e5e718e3ca5 100644
--- a/pkgs/games/bitsnbots/default.nix
+++ b/pkgs/games/bitsnbots/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchurl, SDL, lua, libGLU, libGL }:
 
 stdenv.mkDerivation rec {
-  name = "bitsnbots-20111230";
+  pname = "bitsnbots";
+  version = "20111230";
 
   src = fetchurl {
     url = "http://moikmellah.org/downloads/bitsnbots/bitsnbots.source.tgz";
@@ -19,10 +20,10 @@ stdenv.mkDerivation rec {
   NIX_LDFLAGS = "-lGL";
 
   installPhase = ''
-    mkdir -p $out/share/${name}
-    cp -R bitsnbots resource scripts README $out/share/${name}
+    mkdir -p $out/share/${pname}-${version}
+    cp -R bitsnbots resource scripts README $out/share/${pname}-${version}
     mkdir -p $out/bin
-    ln -s $out/share/${name}/bitsnbots $out/bin
+    ln -s $out/share/${pname}-${version}/bitsnbots $out/bin
   '';
 
   buildInputs = [ SDL lua libGLU libGL ];
diff --git a/pkgs/games/bsdgames/default.nix b/pkgs/games/bsdgames/default.nix
index 04a86c0b83c..837fb4e1768 100644
--- a/pkgs/games/bsdgames/default.nix
+++ b/pkgs/games/bsdgames/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, ncurses, openssl, flex, bison, less, miscfiles }:
 
-stdenv.mkDerivation {
-  name = "bsd-games-2.17";
+stdenv.mkDerivation rec {
+  pname = "bsd-games";
+  version = "2.17";
 
   src = fetchurl {
-    url = "ftp://metalab.unc.edu/pub/Linux/games/bsd-games-2.17.tar.gz";
+    url = "ftp://metalab.unc.edu/pub/Linux/games/bsd-games-${version}.tar.gz";
     sha256 = "0q7zdyyfvn15y0w4g54kq3gza89h61py727m8slmw73cxx594vq6";
   };
 
diff --git a/pkgs/games/chessdb/default.nix b/pkgs/games/chessdb/default.nix
index 40f90e75ff8..6de8726722e 100644
--- a/pkgs/games/chessdb/default.nix
+++ b/pkgs/games/chessdb/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, tcl, tk, libX11, makeWrapper }:
 
-stdenv.mkDerivation {
-  name = "chessdb-3.6.19-beta-1";
+stdenv.mkDerivation rec {
+  pname = "chessdb";
+  version = "3.6.19-beta-1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/chessdb/ChessDB-3.6.19-beta-1.tar.gz";
+    url = "mirror://sourceforge/chessdb/ChessDB-${version}.tar.gz";
     sha256 = "0brc3wln3bxp979iqj2w1zxpfd0pch8zzazhdmwf7acww4hrsz62";
   };
 
diff --git a/pkgs/games/crack-attack/default.nix b/pkgs/games/crack-attack/default.nix
index f5296e8ce6b..fb13ce8c163 100644
--- a/pkgs/games/crack-attack/default.nix
+++ b/pkgs/games/crack-attack/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, gtk2, freeglut, SDL, SDL_mixer, libGLU, libGL, libXi, libXmu }:
 
-stdenv.mkDerivation {
-  name = "crack-attack-1.1.14";
+stdenv.mkDerivation rec {
+  pname = "crack-attack";
+  version = "1.1.14";
 
   src = fetchurl {
-    url = "mirror://savannah/crack-attack/crack-attack-1.1.14.tar.gz";
+    url = "mirror://savannah/crack-attack/crack-attack-${version}.tar.gz";
     sha256 = "1sakj9a2q05brpd7lkqxi8q30bccycdzd96ns00s6jbxrzjlijkm";
   };
 
diff --git a/pkgs/games/duckmarines/default.nix b/pkgs/games/duckmarines/default.nix
index 013ebcc7ec5..ca2a7439141 100644
--- a/pkgs/games/duckmarines/default.nix
+++ b/pkgs/games/duckmarines/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, love, lua, makeWrapper, makeDesktopItem }:
 
-let
+stdenv.mkDerivation rec {
   pname = "duckmarines";
   version = "1.0c";
 
@@ -19,11 +19,6 @@ let
     categories = "Game;";
   };
 
-in
-
-stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
-
   src = fetchurl {
     url = "https://github.com/SimonLarsen/${pname}/releases/download/v${version}/${pname}-1.0c.love";
     sha256 = "1rvgpkvi4h9zhc4fwb4knhsa789yjcx4a14fi4vqfdyybhvg5sh9";
diff --git a/pkgs/games/eboard/default.nix b/pkgs/games/eboard/default.nix
index 67d7d38018e..293811e9b04 100644
--- a/pkgs/games/eboard/default.nix
+++ b/pkgs/games/eboard/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, perl, pkg-config, gtk2 }:
 
-stdenv.mkDerivation {
-  name = "eboard-1.1.1";
+stdenv.mkDerivation rec {
+  pname = "eboard";
+  version = "1.1.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/eboard/eboard-1.1.1.tar.bz2";
+    url = "mirror://sourceforge/eboard/eboard-${version}.tar.bz2";
     sha256 = "0vm25j1s2zg1lipwjv9qrcm877ikfmk1yh34i8f5l3bwd63115xd";
   };
 
diff --git a/pkgs/games/eduke32/default.nix b/pkgs/games/eduke32/default.nix
index 3fb8236947f..e15cf241f75 100644
--- a/pkgs/games/eduke32/default.nix
+++ b/pkgs/games/eduke32/default.nix
@@ -3,10 +3,6 @@
 , SDL2, SDL2_mixer }:
 
 let
-  version = "20200907";
-  rev = "9257";
-  revExtra = "93f62bbad";
-
   desktopItem = makeDesktopItem {
     name = "eduke32";
     exec = "@out@/bin/${wrapper}";
@@ -18,9 +14,11 @@ let
 
   wrapper = "eduke32-wrapper";
 
-in stdenv.mkDerivation {
+in stdenv.mkDerivation rec {
   pname = "eduke32";
-  inherit version;
+  version = "20200907";
+  rev = "9257";
+  revExtra = "93f62bbad";
 
   src = fetchurl {
     url = "http://dukeworld.duke4.net/eduke32/synthesis/latest/eduke32_src_${version}-${rev}-${revExtra}.tar.xz";
diff --git a/pkgs/games/endless-sky/default.nix b/pkgs/games/endless-sky/default.nix
index 010f90a049b..0c9871037f8 100644
--- a/pkgs/games/endless-sky/default.nix
+++ b/pkgs/games/endless-sky/default.nix
@@ -2,13 +2,9 @@
 , SDL2, libpng, libjpeg, glew, openal, scons, libmad
 }:
 
-let
-  version = "0.9.12";
-
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "endless-sky";
-  inherit version;
+  version = "0.9.12";
 
   src = fetchFromGitHub {
     owner = "endless-sky";
diff --git a/pkgs/games/exult/default.nix b/pkgs/games/exult/default.nix
index 40d7300e9c5..fe401a627b5 100644
--- a/pkgs/games/exult/default.nix
+++ b/pkgs/games/exult/default.nix
@@ -12,10 +12,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "exult-1.6";
+  pname = "exult";
+  version = "1.6";
 
   src = fetchurl {
-    url = "mirror://sourceforge/exult/${name}.tar.gz";
+    url = "mirror://sourceforge/exult/exult-${version}.tar.gz";
     sha256 = "1dm27qkxj30567zb70q4acddsizn0xyi3z87hg7lysxdkyv49s3s";
   };
 
diff --git a/pkgs/games/fsg/default.nix b/pkgs/games/fsg/default.nix
index dd6d46ec6a2..3869ad98849 100644
--- a/pkgs/games/fsg/default.nix
+++ b/pkgs/games/fsg/default.nix
@@ -1,12 +1,13 @@
 { lib, stdenv, fetchurl, gtk2, glib, pkg-config, libGLU, libGL, wxGTK, libX11, xorgproto
 , runtimeShell }:
 
-stdenv.mkDerivation {
-  name = "fsg-4.4";
+stdenv.mkDerivation rec {
+  pname = "fsg";
+  version = "4.4";
 
   src = fetchurl {
-    name = "fsg-src-4.4.tar.gz";
-    url = "https://github.com/ctrlcctrlv/wxsand/blob/master/fsg-src-4.4-ORIGINAL.tar.gz?raw=true";
+    name = "fsg-src-${version}.tar.gz";
+    url = "https://github.com/ctrlcctrlv/wxsand/blob/master/fsg-src-${version}-ORIGINAL.tar.gz?raw=true";
     sha256 = "1756y01rkvd3f1pkj88jqh83fqcfl2fy0c48mcq53pjzln9ycv8c";
   };
 
diff --git a/pkgs/games/gav/default.nix b/pkgs/games/gav/default.nix
index b8390455377..e94b73d763c 100644
--- a/pkgs/games/gav/default.nix
+++ b/pkgs/games/gav/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, SDL, SDL_image, SDL_mixer, SDL_net} :
 
-stdenv.mkDerivation {
-  name = "gav-0.9.0";
+stdenv.mkDerivation rec {
+  pname = "gav";
+  version = "0.9.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/gav/gav-0.9.0.tar.gz";
+    url = "mirror://sourceforge/gav/gav-${version}.tar.gz";
     sha256 = "8f0deb8b2cd775b339229054f4f282583a4cfbcba9d27a6213cf910bab944f3e";
   };
 
diff --git a/pkgs/games/gltron/default.nix b/pkgs/games/gltron/default.nix
index 45267579c9b..540170c49b2 100644
--- a/pkgs/games/gltron/default.nix
+++ b/pkgs/games/gltron/default.nix
@@ -1,9 +1,10 @@
 {lib, stdenv, fetchurl, SDL, libGLU, libGL, zlib, libpng, libvorbis, libmikmod, SDL_sound } :
 
 stdenv.mkDerivation rec {
-  name = "gltron-0.70";
+  pname = "gltron";
+  version = "0.70";
   src = fetchurl {
-    url = "mirror://sourceforge/gltron/${name}-source.tar.gz";
+    url = "mirror://sourceforge/gltron/gltron-${version}-source.tar.gz";
     sha256 = "e0c8ebb41a18a1f8d7302a9c2cb466f5b1dd63e9a9966c769075e6b6bdad8bb0";
   };
 
diff --git a/pkgs/games/gmad/default.nix b/pkgs/games/gmad/default.nix
index eb893882ff5..8f43c75f06a 100644
--- a/pkgs/games/gmad/default.nix
+++ b/pkgs/games/gmad/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub, premake4, bootil }:
 
 stdenv.mkDerivation rec {
-  name = "gmad-unstable-2015-04-16";
+  pname = "gmad";
+  version = "unstable-2015-04-16";
 
   meta = {
     description = "Garry's Mod Addon Creator and Extractor";
diff --git a/pkgs/games/gtetrinet/default.nix b/pkgs/games/gtetrinet/default.nix
index 32ee954408d..d34b3775bd1 100644
--- a/pkgs/games/gtetrinet/default.nix
+++ b/pkgs/games/gtetrinet/default.nix
@@ -1,7 +1,8 @@
 { fetchFromGitHub, lib, stdenv, autoreconfHook, intltool, pkg-config, libgnome, libgnomeui, GConf }:
 
 stdenv.mkDerivation {
-  name = "gtetrinet-0.7.11";
+  pname = "gtetrinet";
+  version = "0.7.11";
 
   src = fetchFromGitHub {
     owner = "GNOME";
diff --git a/pkgs/games/icbm3d/default.nix b/pkgs/games/icbm3d/default.nix
index 7edf7cd477e..a166b4f83f2 100644
--- a/pkgs/games/icbm3d/default.nix
+++ b/pkgs/games/icbm3d/default.nix
@@ -1,9 +1,10 @@
 {lib, stdenv, fetchurl, libX11}:
 
-stdenv.mkDerivation {
-  name = "icbm3d-0.4";
+stdenv.mkDerivation rec {
+  pname = "icbm3d";
+  version = "0.4";
   src = fetchurl {
-    url = "ftp://ftp.tuxpaint.org/unix/x/icbm3d/icbm3d.0.4.tar.gz";
+    url = "ftp://ftp.tuxpaint.org/unix/x/icbm3d/icbm3d.${version}.tar.gz";
     sha256 = "1z9q01mj0v9qbwby5cajjc9wpvdw2ma5v1r639vraxpl9qairm4s";
   };
 
diff --git a/pkgs/games/kobodeluxe/default.nix b/pkgs/games/kobodeluxe/default.nix
index cd5dc3cc2bc..9dea9082420 100644
--- a/pkgs/games/kobodeluxe/default.nix
+++ b/pkgs/games/kobodeluxe/default.nix
@@ -1,9 +1,10 @@
 {lib, stdenv, fetchurl, SDL, SDL_image, libGLU, libGL} :
 
-stdenv.mkDerivation {
-  name = "kobodeluxe-0.5.1";
+stdenv.mkDerivation rec {
+  pname = "kobodeluxe";
+  version = "0.5.1";
   src = fetchurl {
-    url = "http://olofson.net/kobodl/download/KoboDeluxe-0.5.1.tar.bz2";
+    url = "http://olofson.net/kobodl/download/KoboDeluxe-${version}.tar.bz2";
     sha256 = "0f7b910a399d985437564af8c5d81d6dcf22b96b26b01488d72baa6a6fdb5c2c";
   };
 
diff --git a/pkgs/games/macopix/default.nix b/pkgs/games/macopix/default.nix
index bb91891a682..8f226f3cef0 100644
--- a/pkgs/games/macopix/default.nix
+++ b/pkgs/games/macopix/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, gtk, openssl }:
 
 stdenv.mkDerivation rec {
-  name = "macopix-1.7.4";
+  pname = "macopix";
+  version = "1.7.4";
 
   src = fetchurl {
-    url = "http://rosegray.sakura.ne.jp/macopix/${name}.tar.bz2";
+    url = "http://rosegray.sakura.ne.jp/macopix/macopix-${version}.tar.bz2";
     sha256 = "0sgnr0wrw3hglcnsyvipll7icfv69ssmyw584zfhk1rgramlkzyb";
   };
 
diff --git a/pkgs/games/neverball/default.nix b/pkgs/games/neverball/default.nix
index 431dfd58a81..ba1d403207a 100644
--- a/pkgs/games/neverball/default.nix
+++ b/pkgs/games/neverball/default.nix
@@ -2,9 +2,10 @@
 , physfs }:
 
 stdenv.mkDerivation rec {
-  name = "neverball-1.6.0";
+  pname = "neverball";
+  version = "1.6.0";
   src = fetchurl {
-    url = "https://neverball.org/${name}.tar.gz";
+    url = "https://neverball.org/neverball-${version}.tar.gz";
     sha256 = "184gm36c6p6vaa6gwrfzmfh86klhnb03pl40ahsjsvprlk667zkk";
   };
 
diff --git a/pkgs/games/njam/default.nix b/pkgs/games/njam/default.nix
index 1833840d2e3..6fbffc37d03 100644
--- a/pkgs/games/njam/default.nix
+++ b/pkgs/games/njam/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, SDL, SDL_image, SDL_mixer, SDL_net }:
 
-stdenv.mkDerivation {
-  name = "njam-1.25";
+stdenv.mkDerivation rec {
+  pname = "njam";
+  version = "1.25";
 
   src = fetchurl {
-    url = "mirror://sourceforge/njam/njam-1.25-src.tar.gz";
+    url = "mirror://sourceforge/njam/njam-${version}-src.tar.gz";
     sha256 = "0ysvqw017xkvddj957pdfmbmji7qi20nyr7f0zxvcvm6c7d3cc7s";
   };
 
diff --git a/pkgs/games/openlierox/default.nix b/pkgs/games/openlierox/default.nix
index fefac190b0a..12d00f28ffc 100644
--- a/pkgs/games/openlierox/default.nix
+++ b/pkgs/games/openlierox/default.nix
@@ -1,8 +1,9 @@
 { lib, stdenv, fetchurl, libX11, xorgproto, gd, SDL, SDL_image, SDL_mixer, zlib
 , libxml2, pkg-config, curl, cmake, libzip }:
 
-stdenv.mkDerivation {
-  name = "openlierox-0.58rc3";
+stdenv.mkDerivation rec {
+  pname = "openlierox";
+  version = "0.58rc3";
 
   src = fetchurl {
     url = "mirror://sourceforge/openlierox/OpenLieroX_0.58_rc3.src.tar.bz2";
diff --git a/pkgs/games/openra/engine.nix b/pkgs/games/openra/engine.nix
index 365dc3d2679..adc1bf76e00 100644
--- a/pkgs/games/openra/engine.nix
+++ b/pkgs/games/openra/engine.nix
@@ -17,7 +17,6 @@
 with lib;
 
 stdenv.mkDerivation (recursiveUpdate packageAttrs rec {
-  name = "${pname}-${version}";
   pname = "openra";
   version = "${engine.name}-${engine.version}";
 
diff --git a/pkgs/games/orthorobot/default.nix b/pkgs/games/orthorobot/default.nix
index e1067645b62..170fed9d46e 100644
--- a/pkgs/games/orthorobot/default.nix
+++ b/pkgs/games/orthorobot/default.nix
@@ -1,9 +1,15 @@
 { lib, stdenv, fetchurl, fetchFromGitHub, zip, love, lua, makeWrapper, makeDesktopItem }:
-
-let
+stdenv.mkDerivation rec {
   pname = "orthorobot";
   version = "1.1.1";
 
+  src = fetchFromGitHub {
+    owner = "Stabyourself";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1ca6hvd890kxmamsmsfiqzw15ngsvb4lkihjb6kabgmss61a6s5p";
+  };
+
   icon = fetchurl {
     url = "http://stabyourself.net/images/screenshots/orthorobot-5.png";
     sha256 = "13fa4divdqz4vpdij1lcs5kf6w2c4jm3cc9q6bz5h7lkng31jzi6";
@@ -19,18 +25,6 @@ let
     categories = "Game;";
   };
 
-in
-
-stdenv.mkDerivation {
-  name = "${pname}-${version}";
-
-  src = fetchFromGitHub {
-    owner = "Stabyourself";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "1ca6hvd890kxmamsmsfiqzw15ngsvb4lkihjb6kabgmss61a6s5p";
-  };
-
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ lua love zip ];
 
diff --git a/pkgs/games/pokerth/default.nix b/pkgs/games/pokerth/default.nix
index 59555a8ac24..349dd5d85cb 100644
--- a/pkgs/games/pokerth/default.nix
+++ b/pkgs/games/pokerth/default.nix
@@ -15,7 +15,7 @@ let
 in
 
 mkDerivation rec {
-  name = "pokerth-${target}-${version}";
+  pname = "pokerth-${target}";
   version = "1.1.2";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/pong3d/default.nix b/pkgs/games/pong3d/default.nix
index 3cd017e8d3b..9e965c95482 100644
--- a/pkgs/games/pong3d/default.nix
+++ b/pkgs/games/pong3d/default.nix
@@ -1,9 +1,10 @@
 {lib, stdenv, fetchurl, libX11}:
 
-stdenv.mkDerivation {
-  name = "3dpong-0.5";
+stdenv.mkDerivation rec {
+  pname = "3dpong";
+  version = "0.5";
   src = fetchurl {
-    url = "ftp://ftp.tuxpaint.org/unix/x/3dpong/src/3dpong-0.5.tar.gz";
+    url = "ftp://ftp.tuxpaint.org/unix/x/3dpong/src/3dpong-${version}.tar.gz";
     sha256 = "1ibb79sbzlbn4ra3n0qk22gqr6fg7q0jy6cm0wg2qj4z64c7hmdi";
   };
 
diff --git a/pkgs/games/prboom/default.nix b/pkgs/games/prboom/default.nix
index 4bd59c9e39d..8adc9645b7a 100644
--- a/pkgs/games/prboom/default.nix
+++ b/pkgs/games/prboom/default.nix
@@ -7,9 +7,10 @@
 assert useOpenGL -> libGL != null && libGLU != null;
 
 stdenv.mkDerivation rec {
-  name = "prboom-2.5.0";
+  pname = "prboom";
+  version = "2.5.0";
   src = fetchurl {
-    url = "mirror://sourceforge/prboom/prboom-2.5.0.tar.gz";
+    url = "mirror://sourceforge/prboom/prboom-${version}.tar.gz";
     sha256 = "1bjb04q8dk232956k30qlpq6q0hxb904yh1nflr87jcc1x3iqv12";
   };
 
diff --git a/pkgs/games/quake2/yquake2/games.nix b/pkgs/games/quake2/yquake2/games.nix
index 02b13048911..0c9b24963ba 100644
--- a/pkgs/games/quake2/yquake2/games.nix
+++ b/pkgs/games/quake2/yquake2/games.nix
@@ -28,7 +28,7 @@ let
     inherit (data) id version description sha256;
     inherit title;
 
-    name = "yquake2-${title}-${version}";
+    pname = "yquake2-${title}";
 
     src = fetchFromGitHub {
       inherit sha256;
diff --git a/pkgs/games/racer/default.nix b/pkgs/games/racer/default.nix
index 16507fa219e..bdb56c85dbf 100644
--- a/pkgs/games/racer/default.nix
+++ b/pkgs/games/racer/default.nix
@@ -1,13 +1,14 @@
 { fetchurl, lib, stdenv, allegro, libjpeg, makeWrapper }:
 
-stdenv.mkDerivation {
-  name = "racer-1.1";
+stdenv.mkDerivation rec {
+  pname = "racer";
+  version = "1.1";
 
   src = if stdenv.hostPlatform.system == "i686-linux" then fetchurl {
-    url = "http://hippo.nipax.cz/src/racer-1.1.tar.gz";
+    url = "http://hippo.nipax.cz/src/racer-${version}.tar.gz";
     sha256 = "0fll1qkqfcjq87k0jzsilcw701z92lfxn2y5ga1n038772lymxl9";
   } else if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl {
-    url = "https://hippo.nipax.cz/src/racer-1.1.64.tar.gz";
+    url = "https://hippo.nipax.cz/src/racer-${version}.64.tar.gz";
     sha256 = "0rjy3gmlhwfkb9zs58j0mc0dar0livwpbc19r6zw5r2k6r7xdan0";
   } else
     throw "System not supported";
diff --git a/pkgs/games/rili/default.nix b/pkgs/games/rili/default.nix
index 0e3fa9b8cc8..a0082d28d50 100644
--- a/pkgs/games/rili/default.nix
+++ b/pkgs/games/rili/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, SDL_mixer, SDL, autoreconfHook }:
 
-stdenv.mkDerivation {
-  name = "ri_li-2.0.1";
+stdenv.mkDerivation rec {
+  pname = "ri_li";
+  version = "2.0.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/ri-li/Ri-li-2.0.1.tar.bz2";
+    url = "mirror://sourceforge/ri-li/Ri-li-${version}.tar.bz2";
     sha256 = "f71ccc20c37c601358d963e087ac0d524de8c68e96df09c3aac1ae65edd38dbd";
   };
 
diff --git a/pkgs/games/rimshot/default.nix b/pkgs/games/rimshot/default.nix
index e7f2f2e781a..1f4efa5097b 100644
--- a/pkgs/games/rimshot/default.nix
+++ b/pkgs/games/rimshot/default.nix
@@ -1,9 +1,14 @@
 { lib, stdenv, fetchurl, unzip, love, lua, makeWrapper, makeDesktopItem }:
 
-let
+stdenv.mkDerivation rec {
   pname = "rimshot";
   version = "1.0";
 
+  src = fetchurl {
+    url = "https://stabyourself.net/dl.php?file=${pname}/${pname}-source.zip";
+    sha256 = "08pdkyvki92549605m9bqnr24ipkbwkp5nkr5aagdqnr8ai4rgmi";
+  };
+
   icon = fetchurl {
     url = "http://stabyourself.net/images/screenshots/rimshot-2.png";
     sha256 = "08fyiqym3gcpq2vgb5dvafkban42fsbzfcr3iiyw03hz99q53psd";
@@ -19,16 +24,6 @@ let
     categories = "Audio;AudioVideo;Music";
   };
 
-in
-
-stdenv.mkDerivation {
-  name = "${pname}-${version}";
-
-  src = fetchurl {
-    url = "http://stabyourself.net/dl.php?file=${pname}/${pname}-source.zip";
-    sha256 = "08pdkyvki92549605m9bqnr24ipkbwkp5nkr5aagdqnr8ai4rgmi";
-  };
-
   nativeBuildInputs = [ makeWrapper unzip ];
   buildInputs = [ lua love ];
 
diff --git a/pkgs/games/rocksndiamonds/default.nix b/pkgs/games/rocksndiamonds/default.nix
index c31bf78a355..fd570e4d7c6 100644
--- a/pkgs/games/rocksndiamonds/default.nix
+++ b/pkgs/games/rocksndiamonds/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, makeDesktopItem, SDL2, SDL2_image, SDL2_mixer, SDL2_net }:
 
 stdenv.mkDerivation rec {
-  name = "${project}-${version}";
-  project = "rocksndiamonds";
+  pname = "rocksndiamonds";
   version = "4.1.1.0";
 
   src = fetchurl {
-    url = "https://www.artsoft.org/RELEASES/unix/${project}/${name}.tar.gz";
+    url = "https://www.artsoft.org/RELEASES/unix/${pname}/rocksndiamonds-${version}.tar.gz";
     sha256 = "1k0m6l5g886d9mwwh6q0gw75qsb85mpf8i0rglh047app56nsk72";
   };
 
diff --git a/pkgs/games/rogue/default.nix b/pkgs/games/rogue/default.nix
index 1e215c813b5..127d65ff362 100644
--- a/pkgs/games/rogue/default.nix
+++ b/pkgs/games/rogue/default.nix
@@ -1,13 +1,14 @@
 {lib, stdenv, fetchurl, ncurses}:
 
-stdenv.mkDerivation {
-  name = "rogue-5.4.4";
+stdenv.mkDerivation rec {
+  pname = "rogue";
+  version = "5.4.4";
 
   src = fetchurl {
     urls = [
-      "https://src.fedoraproject.org/repo/pkgs/rogue/rogue5.4.4-src.tar.gz/033288f46444b06814c81ea69d96e075/rogue5.4.4-src.tar.gz"
-      "http://ftp.vim.org/ftp/pub/ftp/os/Linux/distr/slitaz/sources/packages-cooking/r/rogue5.4.4-src.tar.gz"
-      "http://rogue.rogueforge.net/files/rogue5.4/rogue5.4.4-src.tar.gz"
+      "https://src.fedoraproject.org/repo/pkgs/rogue/rogue${version}-src.tar.gz/033288f46444b06814c81ea69d96e075/rogue${version}-src.tar.gz"
+      "http://ftp.vim.org/ftp/pub/ftp/os/Linux/distr/slitaz/sources/packages-cooking/r/rogue${version}-src.tar.gz"
+      "http://rogue.rogueforge.net/files/rogue${lib.versions.majorMinor version}/rogue${version}-src.tar.gz"
     ];
     sha256 = "18g81274d0f7sr04p7h7irz0d53j6kd9j1y3zbka1gcqq0gscdvx";
   };
diff --git a/pkgs/games/scrolls/default.nix b/pkgs/games/scrolls/default.nix
index 13079e15984..cdeab7b10d3 100644
--- a/pkgs/games/scrolls/default.nix
+++ b/pkgs/games/scrolls/default.nix
@@ -2,7 +2,8 @@
 , libGLU, libX11, libXext, libXcursor, libpulseaudio
 }:
 stdenv.mkDerivation {
-  name = "scrolls-2015-10-13";
+  pname = "scrolls";
+  version = "2015-10-13";
 
   meta = {
     description = "A strategy collectible card game";
diff --git a/pkgs/games/sgt-puzzles/default.nix b/pkgs/games/sgt-puzzles/default.nix
index 2582161eee4..1c0b7aeda49 100644
--- a/pkgs/games/sgt-puzzles/default.nix
+++ b/pkgs/games/sgt-puzzles/default.nix
@@ -4,7 +4,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "sgt-puzzles-r${version}";
+  pname = "sgt-puzzles";
   version = "20200610.9aa7b7c";
 
   src = fetchurl {
diff --git a/pkgs/games/sienna/default.nix b/pkgs/games/sienna/default.nix
index 1a1e82b7d64..24f5fc08876 100644
--- a/pkgs/games/sienna/default.nix
+++ b/pkgs/games/sienna/default.nix
@@ -1,8 +1,12 @@
 { lib, stdenv, fetchurl, love, lua, makeWrapper, makeDesktopItem }:
 
-let
+stdenv.mkDerivation rec {
   pname = "sienna";
   version = "1.0c";
+  src = fetchurl {
+    url = "https://github.com/SimonLarsen/${pname}/releases/download/v${version}/${pname}-${version}.love";
+    sha256 = "1x15276fhqspgrrv8fzkp032i2qa8piywc0yy061x59mxhdndzj6";
+  };
 
   icon = fetchurl {
     url = "http://tangramgames.dk/img/thumb/sienna.png";
@@ -19,16 +23,6 @@ let
     categories = "Game;";
   };
 
-in
-
-stdenv.mkDerivation {
-  name = "${pname}-${version}";
-
-  src = fetchurl {
-    url = "https://github.com/SimonLarsen/${pname}/releases/download/v${version}/${pname}-${version}.love";
-    sha256 = "1x15276fhqspgrrv8fzkp032i2qa8piywc0yy061x59mxhdndzj6";
-  };
-
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ lua love ];
 
diff --git a/pkgs/games/snake4/default.nix b/pkgs/games/snake4/default.nix
index c0cad5f05d3..aee8b9e0810 100644
--- a/pkgs/games/snake4/default.nix
+++ b/pkgs/games/snake4/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, shhmsg, shhopt, xorg }:
 
 stdenv.mkDerivation rec {
-  name = "snake4-1.0.14";
+  pname = "snake4";
+  version = "1.0.14";
 
   src = fetchurl {
-    url = "https://shh.thathost.com/pub-unix/files/${name}.tar.gz";
+    url = "https://shh.thathost.com/pub-unix/files/snake4-${version}.tar.gz";
     sha256 = "14cng9l857np42zixp440mbc8y5675frb6lhsds53j1cws9cncw9";
   };
 
diff --git a/pkgs/games/steam/fonts.nix b/pkgs/games/steam/fonts.nix
index 9cf68f2c29b..65efd42a22a 100644
--- a/pkgs/games/steam/fonts.nix
+++ b/pkgs/games/steam/fonts.nix
@@ -1,7 +1,8 @@
 { stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation {
-  name = "steam-fonts-1";
+  pname = "steam-fonts";
+  version = "1";
 
   src = fetchurl {
     url = "https://support.steampowered.com/downloads/1974-YFKL-4947/SteamFonts.zip";
diff --git a/pkgs/games/tcl2048/default.nix b/pkgs/games/tcl2048/default.nix
index dbc42974684..93286058b49 100644
--- a/pkgs/games/tcl2048/default.nix
+++ b/pkgs/games/tcl2048/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, tcl, tcllib, runtimeShell }:
 
-tcl.mkTclDerivation {
-  name = "tcl2048-0.4.0";
+tcl.mkTclDerivation rec {
+  pname = "tcl2048";
+  version = "0.4.0";
 
   src = fetchurl {
-    url = "https://raw.githubusercontent.com/dbohdan/2048.tcl/v0.4.0/2048.tcl";
+    url = "https://raw.githubusercontent.com/dbohdan/2048.tcl/v${version}/2048.tcl";
     sha256 = "53f5503efd7f029b2614b0f9b1e3aac6c0342735a3c9b811d74a5135fee3e89e";
   };
 
diff --git a/pkgs/games/teetertorture/default.nix b/pkgs/games/teetertorture/default.nix
index 9df0843c5e4..6e18dbae07b 100644
--- a/pkgs/games/teetertorture/default.nix
+++ b/pkgs/games/teetertorture/default.nix
@@ -1,9 +1,10 @@
 { lib, stdenv, fetchurl, SDL, SDL_image, SDL_mixer }:
 
-stdenv.mkDerivation {
-  name = "teeter-torture-20051018";
+stdenv.mkDerivation rec {
+  pname = "teeter-torture";
+  version = "2005-10-18";
   src = fetchurl {
-    url = "ftp://ftp.tuxpaint.org/unix/x/teetertorture/source/teetertorture-2005-10-18.tar.gz";
+    url = "ftp://ftp.tuxpaint.org/unix/x/teetertorture/source/teetertorture-${version}.tar.gz";
     sha256 = "175gdbkx3m82icyzvwpyzs4v2fd69c695k5n8ca0lnjv81wnw2hr";
   };
 
diff --git a/pkgs/games/tennix/default.nix b/pkgs/games/tennix/default.nix
index c8b2a415923..f81ddb7edf9 100644
--- a/pkgs/games/tennix/default.nix
+++ b/pkgs/games/tennix/default.nix
@@ -1,9 +1,10 @@
 {lib, stdenv, fetchurl, SDL, SDL_mixer, SDL_image, SDL_ttf, SDL_net, python } :
 
 stdenv.mkDerivation rec {
-  name = "tennix-1.1";
+  pname = "tennix";
+  version = "1.1";
   src = fetchurl {
-    url = "https://icculus.org/tennix/downloads/${name}.tar.gz";
+    url = "https://icculus.org/tennix/downloads/tennix-${version}.tar.gz";
     sha256 = "0np5kw1y7i0z0dsqx4r2nvmq86qj8hv3mmgavm3hxraqnds5z8cm";
   };
 
diff --git a/pkgs/games/tibia/default.nix b/pkgs/games/tibia/default.nix
index 0892dc2dedd..0fee9ce6c6c 100644
--- a/pkgs/games/tibia/default.nix
+++ b/pkgs/games/tibia/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, glibc, libX11, runtimeShell, libGLU, libGL }:
 
-stdenv.mkDerivation {
-  name = "tibia-10.90";
+stdenv.mkDerivation rec {
+  pname = "tibia";
+  version = "10.90";
 
   src = fetchurl {
-    url = "http://static.tibia.com/download/tibia1090.tgz";
+    url = "http://static.tibia.com/download/tibia${lib.replaceStrings ["."] [""] version}.tgz";
     sha256 = "11mkh2dynmbpay51yfaxm5dmcys3rnpk579s9ypfkhblsrchbkhx";
   };
 
diff --git a/pkgs/games/tintin/default.nix b/pkgs/games/tintin/default.nix
index 29c41d2d787..73070db244f 100644
--- a/pkgs/games/tintin/default.nix
+++ b/pkgs/games/tintin/default.nix
@@ -6,10 +6,11 @@
 assert tlsSupport -> gnutls != null;
 
 stdenv.mkDerivation rec {
-  name = "tintin-2.02.05";
+  pname = "tintin";
+  version = "2.02.05";
 
   src = fetchurl {
-    url    = "mirror://sourceforge/tintin/${name}.tar.gz";
+    url    = "mirror://sourceforge/tintin/tintin-${version}.tar.gz";
     sha256 = "sha256-Y6cAUhItJNade8ASOVdF8aBBLf/UVqjoqrhXBNRL1aE=";
   };
 
diff --git a/pkgs/games/tome4/default.nix b/pkgs/games/tome4/default.nix
index 70a03217158..ace9b384663 100644
--- a/pkgs/games/tome4/default.nix
+++ b/pkgs/games/tome4/default.nix
@@ -1,8 +1,14 @@
 { lib, stdenv, fetchurl, makeDesktopItem, makeWrapper, premake4, unzip
 , openal, libpng, libvorbis, libGLU, SDL2, SDL2_image, SDL2_ttf }:
 
-let
+stdenv.mkDerivation rec {
   pname = "tome4";
+  version = "1.6.7";
+
+  src = fetchurl {
+    url = "https://te4.org/dl/t-engine/t-engine4-src-${version}.tar.bz2";
+    sha256 = "0283hvms5hr29zr0grd6gq059k0hg8hcz3fsmwjmysiih8790i68";
+  };
 
   desktop = makeDesktopItem {
     desktopName = pname;
@@ -16,15 +22,6 @@ let
     genericName = pname;
   };
 
-in stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
-  version = "1.6.7";
-
-  src = fetchurl {
-    url = "https://te4.org/dl/t-engine/t-engine4-src-${version}.tar.bz2";
-    sha256 = "0283hvms5hr29zr0grd6gq059k0hg8hcz3fsmwjmysiih8790i68";
-  };
-
   prePatch = ''
     # http://forums.te4.org/viewtopic.php?f=42&t=49478&view=next#p234354
     sed -i 's|#include <GL/glext.h>||' src/tgl.h
diff --git a/pkgs/games/torcs/default.nix b/pkgs/games/torcs/default.nix
index d1dafb85ce3..e3ec82b549a 100644
--- a/pkgs/games/torcs/default.nix
+++ b/pkgs/games/torcs/default.nix
@@ -3,10 +3,11 @@ libXext, libSM, libICE, libXi, libXt, libXrender, libXxf86vm, libvorbis,
 libpng, zlib, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "torcs-1.3.7";
+  pname = "torcs";
+  version = "1.3.7";
 
   src = fetchurl {
-    url = "mirror://sourceforge/torcs/${name}.tar.bz2";
+    url = "mirror://sourceforge/torcs/torcs-${version}.tar.bz2";
     sha256 = "0kdq0sc7dsfzlr0ggbxggcbkivc6yp30nqwjwcaxg9295s3b06wa";
   };
 
diff --git a/pkgs/games/torus-trooper/default.nix b/pkgs/games/torus-trooper/default.nix
index 441cffbdf04..645abc76c80 100644
--- a/pkgs/games/torus-trooper/default.nix
+++ b/pkgs/games/torus-trooper/default.nix
@@ -16,12 +16,12 @@ debianPatch = patchname: hash: fetchpatch {
   sha256 = hash;
 };
 
-in stdenv.mkDerivation {
+in stdenv.mkDerivation rec {
   pname = "torus-trooper";
   version = "0.22";
 
   src = fetchurl {
-    url = "http://abagames.sakura.ne.jp/windows/tt0_22.zip";
+    url = "http://abagames.sakura.ne.jp/windows/tt${lib.replaceStrings ["."] ["_"] version}.zip";
     sha256 = "1yhki1fdp3fi4y2iq12vca69f6k38dqjaw9z4lwcxky5kbgb7jvg";
   };
 
diff --git a/pkgs/games/tumiki-fighters/default.nix b/pkgs/games/tumiki-fighters/default.nix
index 2f3cf869f8d..b4becea6575 100644
--- a/pkgs/games/tumiki-fighters/default.nix
+++ b/pkgs/games/tumiki-fighters/default.nix
@@ -16,12 +16,12 @@ debianPatch = patchname: hash: fetchpatch {
   sha256 = hash;
 };
 
-in stdenv.mkDerivation {
+in stdenv.mkDerivation rec {
   pname = "tumiki-fighters";
   version = "0.21";
 
   src = fetchurl {
-    url = "http://abagames.sakura.ne.jp/windows/tf0_21.zip";
+    url = "http://abagames.sakura.ne.jp/windows/tf${lib.replaceStrings ["."] ["_"] version}.zip";
     sha256 = "0djykfc1r8ysapklm621h89ana1c4qzc1m5nr9bqw4iccnmvwk3p";
   };
 
diff --git a/pkgs/games/typespeed/default.nix b/pkgs/games/typespeed/default.nix
index 396e41c4671..1581ab13894 100644
--- a/pkgs/games/typespeed/default.nix
+++ b/pkgs/games/typespeed/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, ncurses }:
 
-stdenv.mkDerivation {
-  name = "typespeed-0.6.5";
+stdenv.mkDerivation rec {
+  pname = "typespeed";
+  version = "0.6.5";
   buildInputs = [ ncurses ];
   src = fetchurl {
-    url = "http://typespeed.sourceforge.net/typespeed-0.6.5.tar.gz";
+    url = "http://typespeed.sourceforge.net/typespeed-${version}.tar.gz";
     sha256 = "5c860385ceed8a60f13217cc0192c4c2b4705c3e80f9866f7d72ff306eb72961";
   };
 
diff --git a/pkgs/games/ufoai/default.nix b/pkgs/games/ufoai/default.nix
index 7694821d44f..89f8f5ec91b 100644
--- a/pkgs/games/ufoai/default.nix
+++ b/pkgs/games/ufoai/default.nix
@@ -2,14 +2,15 @@
 , curl, libjpeg, libpng, gettext, cunit, enableEditor?false }:
 
 stdenv.mkDerivation rec {
-  name = "ufoai-2.4";
+  pname = "ufoai";
+  version = "2.4";
   src = fetchurl {
-    url = "mirror://sourceforge/ufoai/${name}-source.tar.bz2";
+    url = "mirror://sourceforge/ufoai/ufoai-${version}-source.tar.bz2";
     sha256 = "0kxrbcjrharcwz319s90m789i4my9285ihp5ax6kfhgif2vn2ji5";
   };
 
   srcData = fetchurl {
-    url = "mirror://sourceforge/ufoai/${name}-data.tar";
+    url = "mirror://sourceforge/ufoai/ufoai-${version}-data.tar";
     sha256 = "1drhh08cqqkwv1yz3z4ngkplr23pqqrdx6cp8c3isy320gy25cvb";
   };
 
diff --git a/pkgs/games/uhexen2/default.nix b/pkgs/games/uhexen2/default.nix
index dac081cd7b4..78c38753f79 100644
--- a/pkgs/games/uhexen2/default.nix
+++ b/pkgs/games/uhexen2/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchgit, SDL, stdenv, libogg, libvorbis, libmad, xdelta }:
 
 stdenv.mkDerivation rec {
-  name = "uhexen2";
+  pname = "uhexen2";
   version = "1.5.9";
 
   src = fetchgit {
diff --git a/pkgs/games/ultimatestunts/default.nix b/pkgs/games/ultimatestunts/default.nix
index 9f38e43222c..2e3d5445918 100644
--- a/pkgs/games/ultimatestunts/default.nix
+++ b/pkgs/games/ultimatestunts/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, SDL, libGLU, libGL, SDL_image, freealut, openal, libvorbis,
 pkg-config}:
 
-stdenv.mkDerivation {
-  name = "ultimate-stunts-0.7.6.1";
+stdenv.mkDerivation rec {
+  pname = "ultimate-stunts";
+  version = "0.7.6.1";
   src = fetchurl {
-    url = "mirror://sourceforge/ultimatestunts/ultimatestunts-srcdata-0761.tar.gz";
+    url = "mirror://sourceforge/ultimatestunts/ultimatestunts-srcdata-${lib.replaceStrings ["."] [""] version}.tar.gz";
     sha256 = "0rd565ml6l927gyq158klhni7myw8mgllhv0xl1fg9m8hlzssgrv";
   };
 
diff --git a/pkgs/games/vectoroids/default.nix b/pkgs/games/vectoroids/default.nix
index e0b7e13c91e..765f2146580 100644
--- a/pkgs/games/vectoroids/default.nix
+++ b/pkgs/games/vectoroids/default.nix
@@ -1,9 +1,10 @@
 {lib, stdenv, fetchurl, SDL, SDL_image, SDL_mixer}:
 
-stdenv.mkDerivation {
-  name = "vectoroids-1.1.0";
+stdenv.mkDerivation rec {
+  pname = "vectoroids";
+  version = "1.1.0";
   src = fetchurl {
-    url = "ftp://ftp.tuxpaint.org/unix/x/vectoroids/src/vectoroids-1.1.0.tar.gz";
+    url = "ftp://ftp.tuxpaint.org/unix/x/vectoroids/src/vectoroids-${version}.tar.gz";
     sha256 = "0bkvd4a1v496w0vlvqyi1a6p25ssgpkchxxxi8899sb72wlds54d";
   };
 
diff --git a/pkgs/games/vessel/default.nix b/pkgs/games/vessel/default.nix
index 4a25d26f8cc..7c535cb323e 100644
--- a/pkgs/games/vessel/default.nix
+++ b/pkgs/games/vessel/default.nix
@@ -1,19 +1,20 @@
 { lib, stdenv, requireFile, SDL, libpulseaudio, alsa-lib, runtimeShell }:
 
 stdenv.mkDerivation rec {
-  name = "vessel-12082012";
+  pname = "vessel";
+  version = "12082012";
 
   goBuyItNow = ''
     We cannot download the full version automatically, as you require a license.
     Once you bought a license, you need to add your downloaded version to the nix store.
-    You can do this by using "nix-prefetch-url file://\$PWD/${name}-bin" in the
+    You can do this by using "nix-prefetch-url file://\$PWD/vessel-${version}-bin" in the
     directory where you saved it.
   '';
 
   src = if (stdenv.isi686) then
     requireFile {
       message = goBuyItNow;
-      name = "${name}-bin";
+      name = "vessel-${version}-bin";
       sha256 = "1vpwcrjiln2mx43h7ib3jnccyr3chk7a5x2bw9kb4lw8ycygvg96";
     } else throw "unsupported platform ${stdenv.hostPlatform.system} only i686-linux supported for now.";
 
diff --git a/pkgs/games/xbomb/default.nix b/pkgs/games/xbomb/default.nix
index 2d9f57d1e73..093f822a7e3 100644
--- a/pkgs/games/xbomb/default.nix
+++ b/pkgs/games/xbomb/default.nix
@@ -1,9 +1,10 @@
 { lib, stdenv, fetchurl, libX11, libXaw }:
 
 stdenv.mkDerivation rec {
-  name = "xbomb-2.2b";
+  pname = "xbomb";
+  version = "2.2b";
   src = fetchurl {
-    url    = "https://www.gedanken.org.uk/software/xbomb/download/${name}.tgz";
+    url    = "https://www.gedanken.org.uk/software/xbomb/download/xbomb-${version}.tgz";
     sha256 = "0692gjw28qvh8wj9l58scjw6kxj7jdyb3yzgcgs9wcznq11q839m";
   };
 
diff --git a/pkgs/games/xonotic/default.nix b/pkgs/games/xonotic/default.nix
index 38a0450168e..0a5a58885d0 100644
--- a/pkgs/games/xonotic/default.nix
+++ b/pkgs/games/xonotic/default.nix
@@ -58,7 +58,7 @@ let
     inherit version;
 
     src = fetchurl {
-      url = "https://dl.xonotic.org/${name}-source.zip";
+      url = "https://dl.xonotic.org/${pname}-${version}-source.zip";
       sha256 = "0axxw04fyz6jlfqd0kp7hdrqa0li31sx1pbipf2j5qp9wvqicsay";
     };
 
@@ -119,8 +119,8 @@ let
 
 in rec {
   xonotic-data = fetchzip {
-    name = "xonotic-data-${version}";
-    url = "https://dl.xonotic.org/${name}.zip";
+    name = "xonotic-data";
+    url = "https://dl.xonotic.org/xonotic-data-${version}.zip";
     sha256 = "1ygkh0v68y4sd1w5vpk8dgb65h5jm599hwszdfgjp3ax4d3ml81x";
     extraPostFetch = ''
       cd $out
diff --git a/pkgs/games/zandronum/sqlite.nix b/pkgs/games/zandronum/sqlite.nix
index 48dd2be9973..c9baefcf0af 100644
--- a/pkgs/games/zandronum/sqlite.nix
+++ b/pkgs/games/zandronum/sqlite.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "sqlite-zandronum-3.0";
+  pname = "sqlite-zandronum";
+  version = "3.0";
 
   src = fetchurl {
     url = "https://www.sqlite.org/2017/sqlite-autoconf-3180000.tar.gz";
diff --git a/pkgs/games/zdoom/bcc-git.nix b/pkgs/games/zdoom/bcc-git.nix
index 2e9f1a9c2b9..aa3fdeca183 100644
--- a/pkgs/games/zdoom/bcc-git.nix
+++ b/pkgs/games/zdoom/bcc-git.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation {
-  name = "doom-bcc-git-0.8.0.2018.01.04";
+  pname = "doom-bcc";
+  version = "unstable-2018-01-04";
 
   src = fetchFromGitHub {
     owner = "wormt";
diff --git a/pkgs/games/zod/default.nix b/pkgs/games/zod/default.nix
index f7d7a5612d8..6bf24ed6cb9 100644
--- a/pkgs/games/zod/default.nix
+++ b/pkgs/games/zod/default.nix
@@ -16,8 +16,8 @@
 , substituteAll
 }:
 let
+  name = "zod-engine";
   version = "2011-09-06";
-  name = "zod-engine-${version}";
   src = fetchzip {
     url = "mirror://sourceforge/zod/linux_releases/zod_linux-${version}.tar.gz";
     sha256 = "017v96aflrv07g8j8zk9mq8f8rqxl5228rjff5blq8dxpsv1sx7h";
@@ -37,7 +37,7 @@ let
   hardeningDisable = [ "format" ];
   NIX_LDFLAGS = "-L${libmysqlclient}/lib/mysql";
   zod_engine = stdenv.mkDerivation {
-    inherit name version src nativeBuildInputs buildInputs hardeningDisable NIX_LDFLAGS;
+    inherit version src nativeBuildInputs buildInputs hardeningDisable NIX_LDFLAGS;
     pname = "${name}-engine";
     enableParallelBuilding = true;
     preBuild = "cd zod_src";
@@ -48,7 +48,7 @@ let
     '';
   };
   zod_map_editor = stdenv.mkDerivation {
-    inherit name version src nativeBuildInputs buildInputs hardeningDisable NIX_LDFLAGS;
+    inherit version src nativeBuildInputs buildInputs hardeningDisable NIX_LDFLAGS;
     pname = "${name}-map_editor";
     enableParallelBuilding = true;
     preBuild = "cd zod_src";
@@ -60,7 +60,7 @@ let
     '';
   };
   zod_launcher = stdenv.mkDerivation {
-      inherit name version src nativeBuildInputs buildInputs zod_engine zod_map_editor;
+      inherit version src nativeBuildInputs buildInputs zod_engine zod_map_editor;
       pname = "${name}-launcher";
       # This is necessary because the zod_launcher has terrible fixed-width window
       # the Idea is to apply the scalingFactor to all positions and sizes and I tested 1,2,3 and 4
diff --git a/pkgs/games/zoom/default.nix b/pkgs/games/zoom/default.nix
index 086d860872c..02cfc28ebee 100644
--- a/pkgs/games/zoom/default.nix
+++ b/pkgs/games/zoom/default.nix
@@ -3,10 +3,11 @@
 # !!! assert freetype == xorg.freetype
 
 stdenv.mkDerivation rec {
-  name = "zoom-1.1.5";
+  pname = "zoom";
+  version = "1.1.5";
 
   src = fetchurl {
-    url = "https://www.logicalshift.co.uk/unix/zoom/${name}.tar.gz";
+    url = "https://www.logicalshift.co.uk/unix/zoom/zoom-${version}.tar.gz";
     sha256 = "1g6van7f7sg3zfcz80mncnnbccyg2hnm0hq4x558vpsm0lf7z5pj";
   };