about summary refs log tree commit diff
path: root/pkgs/games
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/games')
-rw-r--r--pkgs/games/0ad/data.nix2
-rw-r--r--pkgs/games/0ad/game.nix2
-rw-r--r--pkgs/games/2048-in-terminal/default.nix2
-rw-r--r--pkgs/games/airstrike/default.nix2
-rw-r--r--pkgs/games/amoeba/data.nix2
-rw-r--r--pkgs/games/angband/default.nix2
-rw-r--r--pkgs/games/anki/default.nix19
-rw-r--r--pkgs/games/armagetronad/default.nix3
-rw-r--r--pkgs/games/arx-libertatis/default.nix2
-rw-r--r--pkgs/games/astromenace/default.nix2
-rw-r--r--pkgs/games/atanks/default.nix4
-rw-r--r--pkgs/games/bastet/default.nix2
-rw-r--r--pkgs/games/blobby/default.nix2
-rw-r--r--pkgs/games/braincurses/default.nix2
-rw-r--r--pkgs/games/brogue/default.nix2
-rw-r--r--pkgs/games/bzflag/default.nix3
-rw-r--r--pkgs/games/chessx/default.nix2
-rw-r--r--pkgs/games/ckan/default.nix2
-rw-r--r--pkgs/games/commandergenius/default.nix2
-rw-r--r--pkgs/games/construo/default.nix4
-rw-r--r--pkgs/games/crafty/default.nix2
-rw-r--r--pkgs/games/crrcsim/default.nix5
-rw-r--r--pkgs/games/cutemaze/default.nix4
-rw-r--r--pkgs/games/cuyo/default.nix2
-rw-r--r--pkgs/games/dhewm3/default.nix2
-rw-r--r--pkgs/games/dwarf-fortress/dfhack/default.nix3
-rw-r--r--pkgs/games/dwarf-fortress/dwarf-therapist/default.nix2
-rw-r--r--pkgs/games/dwarf-fortress/soundsense.nix2
-rw-r--r--pkgs/games/dxx-rebirth/default.nix2
-rw-r--r--pkgs/games/easyrpg-player/default.nix2
-rw-r--r--pkgs/games/eduke32/default.nix3
-rw-r--r--pkgs/games/empty-epsilon/default.nix4
-rw-r--r--pkgs/games/endless-sky/default.nix3
-rw-r--r--pkgs/games/enyo-doom/default.nix2
-rw-r--r--pkgs/games/eternity-engine/default.nix2
-rw-r--r--pkgs/games/extremetuxracer/default.nix2
-rw-r--r--pkgs/games/ezquake/default.nix1
-rw-r--r--pkgs/games/fairymax/default.nix2
-rw-r--r--pkgs/games/fish-fillets-ng/default.nix2
-rw-r--r--pkgs/games/flightgear/default.nix3
-rw-r--r--pkgs/games/fltrator/default.nix2
-rw-r--r--pkgs/games/freecell-solver/default.nix4
-rw-r--r--pkgs/games/freedink/default.nix10
-rw-r--r--pkgs/games/freedroidrpg/default.nix3
-rw-r--r--pkgs/games/freeorion/default.nix2
-rw-r--r--pkgs/games/freesweep/default.nix2
-rw-r--r--pkgs/games/frotz/default.nix2
-rw-r--r--pkgs/games/galaxis/default.nix4
-rw-r--r--pkgs/games/gambatte/default.nix2
-rw-r--r--pkgs/games/garden-of-coloured-lights/default.nix2
-rw-r--r--pkgs/games/gcs/default.nix4
-rw-r--r--pkgs/games/gemrb/default.nix2
-rw-r--r--pkgs/games/gl-117/default.nix4
-rw-r--r--pkgs/games/gnugo/default.nix2
-rw-r--r--pkgs/games/gnujump/default.nix4
-rw-r--r--pkgs/games/gnushogi/default.nix4
-rw-r--r--pkgs/games/gogui/default.nix3
-rw-r--r--pkgs/games/gtypist/default.nix2
-rw-r--r--pkgs/games/gzdoom/default.nix2
-rw-r--r--pkgs/games/hawkthorne/default.nix2
-rw-r--r--pkgs/games/hedgewars/default.nix2
-rw-r--r--pkgs/games/holdingnuts/default.nix3
-rw-r--r--pkgs/games/hyperrogue/default.nix2
-rw-r--r--pkgs/games/instead-launcher/default.nix2
-rw-r--r--pkgs/games/ivan/default.nix2
-rw-r--r--pkgs/games/ja2-stracciatella/default.nix2
-rw-r--r--pkgs/games/klavaro/default.nix4
-rw-r--r--pkgs/games/lbreakout2/default.nix4
-rw-r--r--pkgs/games/leela-zero/default.nix2
-rw-r--r--pkgs/games/lgogdownloader/default.nix2
-rw-r--r--pkgs/games/liberal-crime-squad/default.nix2
-rw-r--r--pkgs/games/lincity/default.nix4
-rw-r--r--pkgs/games/lincity/ng.nix2
-rw-r--r--pkgs/games/linux-steam-integration/default.nix3
-rw-r--r--pkgs/games/liquidwar/5.nix2
-rw-r--r--pkgs/games/liquidwar/default.nix4
-rw-r--r--pkgs/games/ltris/default.nix4
-rw-r--r--pkgs/games/mar1d/default.nix2
-rw-r--r--pkgs/games/megaglest/default.nix3
-rw-r--r--pkgs/games/meritous/default.nix2
-rw-r--r--pkgs/games/minecraft-server/default.nix2
-rw-r--r--pkgs/games/minetest/default.nix3
-rw-r--r--pkgs/games/mudlet/default.nix2
-rw-r--r--pkgs/games/newtonwars/default.nix2
-rw-r--r--pkgs/games/nexuiz/default.nix3
-rw-r--r--pkgs/games/openarena/default.nix2
-rw-r--r--pkgs/games/openclonk/default.nix2
-rw-r--r--pkgs/games/opendune/default.nix2
-rw-r--r--pkgs/games/opendungeons/default.nix2
-rw-r--r--pkgs/games/openmw/default.nix4
-rw-r--r--pkgs/games/openrw/default.nix2
-rw-r--r--pkgs/games/openspades/default.nix2
-rw-r--r--pkgs/games/openttd/default.nix4
-rw-r--r--pkgs/games/opentyrian/default.nix2
-rw-r--r--pkgs/games/openxcom/default.nix3
-rw-r--r--pkgs/games/pacvim/default.nix2
-rw-r--r--pkgs/games/performous/default.nix2
-rw-r--r--pkgs/games/pro-office-calculator/default.nix2
-rw-r--r--pkgs/games/qgo/default.nix2
-rw-r--r--pkgs/games/qqwing/default.nix2
-rw-r--r--pkgs/games/quake2/yquake2/default.nix2
-rw-r--r--pkgs/games/quake3/content/demo.nix3
-rw-r--r--pkgs/games/quake3/content/pointrelease.nix3
-rw-r--r--pkgs/games/quake3/ioquake/default.nix2
-rw-r--r--pkgs/games/quakespasm/default.nix4
-rw-r--r--pkgs/games/quakespasm/vulkan.nix2
-rw-r--r--pkgs/games/residualvm/default.nix2
-rw-r--r--pkgs/games/rftg/default.nix2
-rw-r--r--pkgs/games/rigsofrods/default.nix2
-rw-r--r--pkgs/games/riko4/default.nix4
-rw-r--r--pkgs/games/robotfindskitten/default.nix4
-rw-r--r--pkgs/games/rrootage/default.nix3
-rw-r--r--pkgs/games/runelite/default.nix2
-rw-r--r--pkgs/games/scid-vs-pc/default.nix2
-rw-r--r--pkgs/games/scid/default.nix2
-rw-r--r--pkgs/games/scorched3d/default.nix2
-rw-r--r--pkgs/games/scummvm/default.nix4
-rw-r--r--pkgs/games/sdlmame/default.nix6
-rw-r--r--pkgs/games/sgt-puzzles/default.nix4
-rw-r--r--pkgs/games/sil/default.nix2
-rw-r--r--pkgs/games/simutrans/default.nix3
-rw-r--r--pkgs/games/snipes/default.nix2
-rw-r--r--pkgs/games/soi/default.nix4
-rw-r--r--pkgs/games/space-orbit/default.nix2
-rw-r--r--pkgs/games/spring/default.nix2
-rw-r--r--pkgs/games/spring/springlobby.nix2
-rw-r--r--pkgs/games/stardust/default.nix4
-rw-r--r--pkgs/games/steam/steam.nix3
-rw-r--r--pkgs/games/steam/steamcmd.nix2
-rw-r--r--pkgs/games/stepmania/default.nix2
-rw-r--r--pkgs/games/stockfish/default.nix3
-rw-r--r--pkgs/games/stuntrally/default.nix2
-rw-r--r--pkgs/games/supertux/default.nix2
-rw-r--r--pkgs/games/terraria-server/default.nix2
-rw-r--r--pkgs/games/the-butterfly-effect/default.nix2
-rw-r--r--pkgs/games/the-powder-toy/default.nix2
-rw-r--r--pkgs/games/tinyfugue/default.nix2
-rw-r--r--pkgs/games/trackballs/default.nix2
-rw-r--r--pkgs/games/tremulous/default.nix4
-rw-r--r--pkgs/games/tuxpaint/default.nix4
-rw-r--r--pkgs/games/ue4/default.nix2
-rw-r--r--pkgs/games/ultrastardx/default.nix2
-rw-r--r--pkgs/games/unnethack/default.nix2
-rw-r--r--pkgs/games/uqm/default.nix2
-rw-r--r--pkgs/games/urbanterror/default.nix2
-rw-r--r--pkgs/games/ut2004/demo.nix2
-rw-r--r--pkgs/games/vdrift/default.nix3
-rw-r--r--pkgs/games/vitetris/default.nix2
-rw-r--r--pkgs/games/vms-empire/default.nix4
-rw-r--r--pkgs/games/voxelands/default.nix4
-rw-r--r--pkgs/games/warmux/default.nix2
-rw-r--r--pkgs/games/warsow/default.nix4
-rw-r--r--pkgs/games/wesnoth/default.nix4
-rw-r--r--pkgs/games/widelands/default.nix2
-rw-r--r--pkgs/games/xjump/default.nix2
-rw-r--r--pkgs/games/xmoto/default.nix2
-rw-r--r--pkgs/games/xpilot/bloodspilot-client.nix2
-rw-r--r--pkgs/games/xpilot/bloodspilot-server.nix2
-rw-r--r--pkgs/games/xpilot/default.nix4
-rw-r--r--pkgs/games/xsnow/default.nix4
-rw-r--r--pkgs/games/xsok/default.nix1
-rw-r--r--pkgs/games/xsokoban/default.nix4
-rw-r--r--pkgs/games/xtris/default.nix2
-rw-r--r--pkgs/games/zandronum/fmod.nix2
-rw-r--r--pkgs/games/zangband/default.nix3
-rw-r--r--pkgs/games/zdoom/default.nix2
-rw-r--r--pkgs/games/zdoom/zdbsp.nix2
167 files changed, 235 insertions, 217 deletions
diff --git a/pkgs/games/0ad/data.nix b/pkgs/games/0ad/data.nix
index 2cfddd1066ba..eeedae924405 100644
--- a/pkgs/games/0ad/data.nix
+++ b/pkgs/games/0ad/data.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, zeroad-unwrapped }:
 
 stdenv.mkDerivation rec {
-  name = "0ad-data-${version}";
+  pname = "0ad-data";
   inherit (zeroad-unwrapped) version;
 
   src = fetchurl {
diff --git a/pkgs/games/0ad/game.nix b/pkgs/games/0ad/game.nix
index 74bc52875d22..ef285f8cb935 100644
--- a/pkgs/games/0ad/game.nix
+++ b/pkgs/games/0ad/game.nix
@@ -9,7 +9,7 @@
 assert withEditor -> wxGTK != null;
 
 stdenv.mkDerivation rec {
-  name = "0ad-${version}";
+  pname = "0ad";
   version = "0.0.23b";
 
   src = fetchurl {
diff --git a/pkgs/games/2048-in-terminal/default.nix b/pkgs/games/2048-in-terminal/default.nix
index 5d91bc04114b..446252062fac 100644
--- a/pkgs/games/2048-in-terminal/default.nix
+++ b/pkgs/games/2048-in-terminal/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "2048-in-terminal-${version}";
+  pname = "2048-in-terminal";
   version = "2017-11-29";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/airstrike/default.nix b/pkgs/games/airstrike/default.nix
index 02ea6f688069..19d2a01b4729 100644
--- a/pkgs/games/airstrike/default.nix
+++ b/pkgs/games/airstrike/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, makeWrapper, SDL, SDL_image }:
 
 stdenv.mkDerivation rec {
-  name = "airstrike-pre-${version}";
+  pname = "airstrike-pre";
   version = "6a";
 
   src = fetchurl {
diff --git a/pkgs/games/amoeba/data.nix b/pkgs/games/amoeba/data.nix
index b5c7f4b730b8..fcde2d591f13 100644
--- a/pkgs/games/amoeba/data.nix
+++ b/pkgs/games/amoeba/data.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "amoeba-data-${version}";
+  pname = "amoeba-data";
   version = "1.1";
 
   src = fetchurl {
diff --git a/pkgs/games/angband/default.nix b/pkgs/games/angband/default.nix
index 435329bdc4ab..46eb054bc8ef 100644
--- a/pkgs/games/angband/default.nix
+++ b/pkgs/games/angband/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, autoreconfHook, ncurses5 }:
 
 stdenv.mkDerivation rec {
+  pname = "angband";
   version = "4.2.0";
-  name = "angband-${version}";
 
   src = fetchFromGitHub {
     owner = "angband";
diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix
index b0efc54db363..ebfdc0e13738 100644
--- a/pkgs/games/anki/default.nix
+++ b/pkgs/games/anki/default.nix
@@ -18,6 +18,7 @@
 , pytest
 , glibcLocales
 , nose
+, jsonschema
 , send2trash
 , CoreAudio
 # This little flag adds a huge number of dependencies, but we assume that
@@ -31,13 +32,14 @@ let
     # when updating, also update rev-manual to a recent version of
     # https://github.com/dae/ankidocs
     # The manual is distributed independently of the software.
-    version = "2.1.11";
-    sha256-pkg = "0rcjam7f017yg0fx5apdc309lsx59lfw33nikczz7hrw6gby6z3q";
-    rev-manual = "f933104fecd8a83c33494bdb2b59817a3318202f";
-    sha256-manual = "12j4x1bh8x6yinym4d1ard32vfl22iq2wz1lfwz6s3ljhggkc52h";
+    version = "2.1.15";
+    sha256-pkg = "12dvyf3j9df4nrhhnqbzd9b21rpzkh4i6yhhangn2zf7ch0pclss";
+    rev-manual = "8f6387867ac37ef3fe9d0b986e70f898d1a49139";
+    sha256-manual = "0pm5slxn78r44ggvbksz7rv9hmlnsvn9z811r6f63dsc8vm6mfml";
 
     manual = stdenv.mkDerivation {
-      name = "anki-manual-${version}";
+      pname = "anki-manual";
+      inherit version;
       src = fetchFromGitHub {
         owner = "dae";
         repo = "ankidocs";
@@ -68,11 +70,12 @@ let
 
 in
 buildPythonApplication rec {
-    name = "anki-${version}";
+    pname = "anki";
+    inherit version;
 
     src = fetchurl {
       urls = [
-        "https://apps.ankiweb.net/downloads/current/${name}-source.tgz"
+        "https://apps.ankiweb.net/downloads/current/${pname}-${version}-source.tgz"
         # "https://apps.ankiweb.net/downloads/current/${name}-source.tgz"
         # "http://ankisrs.net/download/mirror/${name}.tgz"
         # "http://ankisrs.net/download/mirror/archive/${name}.tgz"
@@ -84,7 +87,7 @@ buildPythonApplication rec {
 
     propagatedBuildInputs = [
       pyqtwebengine sqlalchemy beautifulsoup4 send2trash pyaudio requests decorator
-      markdown
+      markdown jsonschema
     ]
       ++ lib.optional plotsSupport matplotlib
       ++ lib.optional stdenv.isDarwin [ CoreAudio ]
diff --git a/pkgs/games/armagetronad/default.nix b/pkgs/games/armagetronad/default.nix
index 5318108c4913..70c23664dc04 100644
--- a/pkgs/games/armagetronad/default.nix
+++ b/pkgs/games/armagetronad/default.nix
@@ -7,7 +7,8 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "armagetron-${version}";
+  pname = "armagetron";
+  inherit version;
   src = fetchurl {
     url = "https://launchpad.net/armagetronad/${versionMajor}/${versionMajor}.${versionMinor}/+download/armagetronad-${version}.src.tar.bz2";
     sha256 = "157pp84wf0q3bdb72rnbm3ck0czwx2ply6lyhj8z7kfdc7csdbr3";
diff --git a/pkgs/games/arx-libertatis/default.nix b/pkgs/games/arx-libertatis/default.nix
index a8e9063a35f4..5b1f240e7b5f 100644
--- a/pkgs/games/arx-libertatis/default.nix
+++ b/pkgs/games/arx-libertatis/default.nix
@@ -10,7 +10,7 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "arx-libertatis-${version}";
+  pname = "arx-libertatis";
   version = "2019-02-16";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/astromenace/default.nix b/pkgs/games/astromenace/default.nix
index b2c86222f2b0..37593d3bd726 100644
--- a/pkgs/games/astromenace/default.nix
+++ b/pkgs/games/astromenace/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   version = "1.3.2";
-  name = "astromenace-${version}";
+  pname = "astromenace";
 
   src = fetchurl {
     url = "mirror://sourceforge/openastromenace/astromenace-src-${version}.tar.bz2";
diff --git a/pkgs/games/atanks/default.nix b/pkgs/games/atanks/default.nix
index de9eb9bbb580..b11a177e0455 100644
--- a/pkgs/games/atanks/default.nix
+++ b/pkgs/games/atanks/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, allegro }:
 
 stdenv.mkDerivation rec {
-  name = "atanks-${version}";
+  pname = "atanks";
   version = "6.5";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/atanks/atanks/${name}/${name}.tar.gz";
+    url = "mirror://sourceforge/project/atanks/atanks/${pname}-${version}/${pname}-${version}.tar.gz";
     sha256 = "0bijsbd51j4wsnmdxj54r92m7h8zqnvh9z3qqdig6zx7a8kjn61j";
   };
 
diff --git a/pkgs/games/bastet/default.nix b/pkgs/games/bastet/default.nix
index 27ddec616bc8..85b6fcefdd28 100644
--- a/pkgs/games/bastet/default.nix
+++ b/pkgs/games/bastet/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, fetchpatch, ncurses, boost }:
 
 stdenv.mkDerivation rec {
-  name = "bastet-${version}";
+  pname = "bastet";
   version = "0.43.2";
   buildInputs = [ ncurses boost ];
 
diff --git a/pkgs/games/blobby/default.nix b/pkgs/games/blobby/default.nix
index af1228108d8f..d3eb2348a0d5 100644
--- a/pkgs/games/blobby/default.nix
+++ b/pkgs/games/blobby/default.nix
@@ -2,7 +2,7 @@
 , pkgconfig, unzip}:
 stdenv.mkDerivation rec {
   version = "1.0";
-  name = "blobby-volley-${version}";
+  pname = "blobby-volley";
 
   src = fetchurl {
     url = "mirror://sourceforge/blobby/Blobby%20Volley%202%20%28Linux%29/1.0/blobby2-linux-1.0.tar.gz";
diff --git a/pkgs/games/braincurses/default.nix b/pkgs/games/braincurses/default.nix
index 808d7e378074..deb542e3a86f 100644
--- a/pkgs/games/braincurses/default.nix
+++ b/pkgs/games/braincurses/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "braincurses-${version}";
+  pname = "braincurses";
   version = "1.1.0";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/brogue/default.nix b/pkgs/games/brogue/default.nix
index 5040886eaa00..e34dfc383a1a 100644
--- a/pkgs/games/brogue/default.nix
+++ b/pkgs/games/brogue/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, SDL, ncurses, libtcod, makeDesktopItem }:
 
 stdenv.mkDerivation rec {
-  name = "brogue-${version}";
+  pname = "brogue";
   version = "1.7.5";
 
   src = fetchurl {
diff --git a/pkgs/games/bzflag/default.nix b/pkgs/games/bzflag/default.nix
index 6c7e9ac76a99..56d2866a2355 100644
--- a/pkgs/games/bzflag/default.nix
+++ b/pkgs/games/bzflag/default.nix
@@ -3,12 +3,11 @@
 , Carbon, CoreServices }:
 
 stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
   pname = "bzflag";
   version = "2.4.18";
 
   src = fetchurl {
-    url = "https://download.bzflag.org/${pname}/source/${version}/${name}.tar.bz2";
+    url = "https://download.bzflag.org/${pname}/source/${version}/${pname}-${version}.tar.bz2";
     sha256 = "1gmz31wmn3f8zq1bfilkgbf4qmi4fa0c93cs76mhg8h978pm23cx";
   };
 
diff --git a/pkgs/games/chessx/default.nix b/pkgs/games/chessx/default.nix
index 47432bca1633..3b460daefd1a 100644
--- a/pkgs/games/chessx/default.nix
+++ b/pkgs/games/chessx/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "chessx-${version}";
+  pname = "chessx";
   version = "1.5.0";
 
   src = fetchurl {
diff --git a/pkgs/games/ckan/default.nix b/pkgs/games/ckan/default.nix
index 47ab73ca269e..81f1ee0cd153 100644
--- a/pkgs/games/ckan/default.nix
+++ b/pkgs/games/ckan/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, makeWrapper, perl, mono, gtk2, curl }:
 
 stdenv.mkDerivation rec {
-  name = "ckan-${version}";
+  pname = "ckan";
   version = "1.16.1";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/commandergenius/default.nix b/pkgs/games/commandergenius/default.nix
index a38678882c86..56164cfc017f 100644
--- a/pkgs/games/commandergenius/default.nix
+++ b/pkgs/games/commandergenius/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "commandergenius-${version}";
+  pname = "commandergenius";
   version = "2.3.3";
 
   src = fetchFromGitLab {
diff --git a/pkgs/games/construo/default.nix b/pkgs/games/construo/default.nix
index c6ccac69b8cb..9528c6d06cb4 100644
--- a/pkgs/games/construo/default.nix
+++ b/pkgs/games/construo/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libX11, zlib, xorgproto, libGL ? null, freeglut ? null }:
 
 stdenv.mkDerivation rec {
-  name = "construo-${version}";
+  pname = "construo";
   version = "0.2.3";
 
   src = fetchurl {
-    url = "https://github.com/Construo/construo/releases/download/v${version}/${name}.tar.gz";
+    url = "https://github.com/Construo/construo/releases/download/v${version}/${pname}-${version}.tar.gz";
     sha256 = "1wmj527hbj1qv44cdsj6ahfjrnrjwg2dp8gdick8nd07vm062qxa";
   };
 
diff --git a/pkgs/games/crafty/default.nix b/pkgs/games/crafty/default.nix
index 9526512f15cc..c9dcd2d9d400 100644
--- a/pkgs/games/crafty/default.nix
+++ b/pkgs/games/crafty/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "crafty-${version}";
+  pname = "crafty";
   version = "25.0.1";
 
   src = fetchurl {
diff --git a/pkgs/games/crrcsim/default.nix b/pkgs/games/crrcsim/default.nix
index 98baafbb2fd2..b9d3a69d87b3 100644
--- a/pkgs/games/crrcsim/default.nix
+++ b/pkgs/games/crrcsim/default.nix
@@ -3,10 +3,11 @@ let
   version = "0.9.13";
 in
 stdenv.mkDerivation rec {
-  name = "crrcsim-${version}";
+  pname = "crrcsim";
+  inherit version;
 
   src = fetchurl {
-    url = "mirror://sourceforge/crrcsim/${name}.tar.gz";
+    url = "mirror://sourceforge/crrcsim/${pname}-${version}.tar.gz";
     sha256 = "abe59b35ebb4322f3c48e6aca57dbf27074282d4928d66c0caa40d7a97391698";
   };
 
diff --git a/pkgs/games/cutemaze/default.nix b/pkgs/games/cutemaze/default.nix
index e0f35fe6d6dc..24077697218d 100644
--- a/pkgs/games/cutemaze/default.nix
+++ b/pkgs/games/cutemaze/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, qmake, qttools, qtsvg, mkDerivation }:
 
 mkDerivation rec {
-  name = "cutemaze-${version}";
+  pname = "cutemaze";
   version = "1.2.5";
 
   src = fetchurl {
-    url = "https://gottcode.org/cutemaze/${name}-src.tar.bz2";
+    url = "https://gottcode.org/cutemaze/${pname}-${version}-src.tar.bz2";
     sha256 = "1xrjv3h1bpbji1dl9hkcvmp6qk4j618saffl41455vhrzn170lrj";
   };
 
diff --git a/pkgs/games/cuyo/default.nix b/pkgs/games/cuyo/default.nix
index 19d857a8e78c..f4e5290df27b 100644
--- a/pkgs/games/cuyo/default.nix
+++ b/pkgs/games/cuyo/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, SDL, SDL_mixer, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "cuyo-${version}";
+  pname = "cuyo";
   version = "2.1.0";
   
   src = fetchurl {
diff --git a/pkgs/games/dhewm3/default.nix b/pkgs/games/dhewm3/default.nix
index 8b92c2e9d6fb..441e9f66981c 100644
--- a/pkgs/games/dhewm3/default.nix
+++ b/pkgs/games/dhewm3/default.nix
@@ -2,7 +2,7 @@
 , openal, curl }:
 
 stdenv.mkDerivation rec {
-  name = "dhewm3-${version}";
+  pname = "dhewm3";
   version = "1.5.0";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/dwarf-fortress/dfhack/default.nix b/pkgs/games/dwarf-fortress/dfhack/default.nix
index a77250543107..0b25af645cfa 100644
--- a/pkgs/games/dwarf-fortress/dfhack/default.nix
+++ b/pkgs/games/dwarf-fortress/dfhack/default.nix
@@ -84,7 +84,8 @@ let
   '';
 
   dfhack = stdenv.mkDerivation rec {
-    name = "dfhack-base-${version}";
+    pname = "dfhack-base";
+    inherit version;
 
     # Beware of submodules
     src = fetchFromGitHub {
diff --git a/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
index 652e4c184753..bcef336f342a 100644
--- a/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
+++ b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
@@ -2,7 +2,7 @@
 , qtdeclarative, cmake, texlive, ninja }:
 
 stdenv.mkDerivation rec {
-  name = "dwarf-therapist-${version}";
+  pname = "dwarf-therapist";
   version = "41.0.2";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/dwarf-fortress/soundsense.nix b/pkgs/games/dwarf-fortress/soundsense.nix
index caa9adeefd06..a59c87306903 100644
--- a/pkgs/games/dwarf-fortress/soundsense.nix
+++ b/pkgs/games/dwarf-fortress/soundsense.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   version = "2016-1_196";
   dfVersion = "0.44.12";
   inherit soundPack;
-  name = "soundsense-${version}";
+  pname = "soundsense";
   src = fetchzip {
     url = "http://df.zweistein.cz/soundsense/soundSense_${version}.zip";
     sha256 = "1gkrs69l3xsh858yjp204ddp29m668j630akm7arssc9359wxqkk";
diff --git a/pkgs/games/dxx-rebirth/default.nix b/pkgs/games/dxx-rebirth/default.nix
index 86d233b03785..518b63ed483c 100644
--- a/pkgs/games/dxx-rebirth/default.nix
+++ b/pkgs/games/dxx-rebirth/default.nix
@@ -9,7 +9,7 @@ let
   };
 
 in stdenv.mkDerivation rec {
-  name = "dxx-rebirth-${version}";
+  pname = "dxx-rebirth";
   version = "0.59.100";
 
   src = fetchurl {
diff --git a/pkgs/games/easyrpg-player/default.nix b/pkgs/games/easyrpg-player/default.nix
index 68dbe12bb733..dfa57a728649 100644
--- a/pkgs/games/easyrpg-player/default.nix
+++ b/pkgs/games/easyrpg-player/default.nix
@@ -4,7 +4,7 @@
 , mpg123 ? null, opusfile ? null, pcre, pixman, SDL2_mixer, speexdsp ? null, wildmidi ? null, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "easyrpg-player-${version}";
+  pname = "easyrpg-player";
   version = "0.6.1";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/eduke32/default.nix b/pkgs/games/eduke32/default.nix
index 3407659d977b..2999da8fcaaf 100644
--- a/pkgs/games/eduke32/default.nix
+++ b/pkgs/games/eduke32/default.nix
@@ -18,7 +18,8 @@ let
   wrapper = "eduke32-wrapper";
 
 in stdenv.mkDerivation {
-  name = "eduke32-${version}";
+  pname = "eduke32";
+  inherit version;
 
   src = fetchurl {
     url = "http://dukeworld.duke4.net/eduke32/synthesis/latest/eduke32_src_${version}-${rev}.tar.xz";
diff --git a/pkgs/games/empty-epsilon/default.nix b/pkgs/games/empty-epsilon/default.nix
index 6815041c96b4..18c83b8c5a4c 100644
--- a/pkgs/games/empty-epsilon/default.nix
+++ b/pkgs/games/empty-epsilon/default.nix
@@ -9,7 +9,7 @@ let
   version = "${major}.${minor}.${patch}";
 
   serious-proton = stdenv.mkDerivation rec {
-    name = "serious-proton-${version}";
+    pname = "serious-proton";
     inherit version;
 
     src = fetchFromGitHub {
@@ -35,7 +35,7 @@ in
 
 
 stdenv.mkDerivation rec {
-  name = "empty-epsilon-${version}";
+  pname = "empty-epsilon";
   inherit version;
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/endless-sky/default.nix b/pkgs/games/endless-sky/default.nix
index 447724a2043f..a138b46f81bd 100644
--- a/pkgs/games/endless-sky/default.nix
+++ b/pkgs/games/endless-sky/default.nix
@@ -7,7 +7,8 @@ let
 
 in
 stdenv.mkDerivation rec {
-  name = "endless-sky-${version}";
+  pname = "endless-sky";
+  inherit version;
 
   src = fetchFromGitHub {
     owner = "endless-sky";
diff --git a/pkgs/games/enyo-doom/default.nix b/pkgs/games/enyo-doom/default.nix
index 742ca9591357..af002a690e4d 100644
--- a/pkgs/games/enyo-doom/default.nix
+++ b/pkgs/games/enyo-doom/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitLab, cmake, qtbase }:
 
 stdenv.mkDerivation rec {
-  name = "enyo-doom-${version}";
+  pname = "enyo-doom";
   version = "1.06.9";
 
   src = fetchFromGitLab {
diff --git a/pkgs/games/eternity-engine/default.nix b/pkgs/games/eternity-engine/default.nix
index 911308a078a5..86a83d68f021 100644
--- a/pkgs/games/eternity-engine/default.nix
+++ b/pkgs/games/eternity-engine/default.nix
@@ -1,7 +1,7 @@
 { stdenv, cmake, libGL, SDL, SDL_mixer, SDL_net, fetchFromGitHub, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "eternity-engine-${version}";
+  pname = "eternity-engine";
   version = "3.42.02";
   src = fetchFromGitHub {
     owner = "team-eternity";
diff --git a/pkgs/games/extremetuxracer/default.nix b/pkgs/games/extremetuxracer/default.nix
index fba1ce01c45a..30788c7ec5c8 100644
--- a/pkgs/games/extremetuxracer/default.nix
+++ b/pkgs/games/extremetuxracer/default.nix
@@ -6,7 +6,7 @@
 
 stdenv.mkDerivation rec {
   version = "0.7.5";
-  name = "extremetuxracer-${version}";
+  pname = "extremetuxracer";
 
   src = fetchurl {
     url = "mirror://sourceforge/extremetuxracer/etr-${version}.tar.xz";
diff --git a/pkgs/games/ezquake/default.nix b/pkgs/games/ezquake/default.nix
index 85433e116fbc..e06975e8db41 100644
--- a/pkgs/games/ezquake/default.nix
+++ b/pkgs/games/ezquake/default.nix
@@ -3,7 +3,6 @@
 , pkgconfig, SDL2, vim }:
 
 stdenv.mkDerivation rec {
-  name = pname + "-" + version;
   pname = "ezquake";
   version = "3.0.1";
 
diff --git a/pkgs/games/fairymax/default.nix b/pkgs/games/fairymax/default.nix
index 1aab0933b1bf..44ed91da1685 100644
--- a/pkgs/games/fairymax/default.nix
+++ b/pkgs/games/fairymax/default.nix
@@ -1,6 +1,6 @@
 {stdenv, fetchurl}:
 stdenv.mkDerivation rec {
-  name = "fairymax-${version}";
+  pname = "fairymax";
   version = "4.8";
   src = fetchurl {
     url = "http://home.hccnet.nl/h.g.muller/fmax4_8w.c";
diff --git a/pkgs/games/fish-fillets-ng/default.nix b/pkgs/games/fish-fillets-ng/default.nix
index 2ab6e04e2d82..47f72c52c1f0 100644
--- a/pkgs/games/fish-fillets-ng/default.nix
+++ b/pkgs/games/fish-fillets-ng/default.nix
@@ -1,6 +1,6 @@
 {stdenv, fetchurl, SDL, lua5_1, pkgconfig, SDL_mixer, SDL_image, SDL_ttf}:
 stdenv.mkDerivation rec {
-  name = "fish-fillets-ng-${version}";
+  pname = "fish-fillets-ng";
   version = "1.0.1";
   src = fetchurl {
     url = "mirror://sourceforge/fillets/fillets-ng-${version}.tar.gz";
diff --git a/pkgs/games/flightgear/default.nix b/pkgs/games/flightgear/default.nix
index 5a04e75030f6..19851341da0c 100644
--- a/pkgs/games/flightgear/default.nix
+++ b/pkgs/games/flightgear/default.nix
@@ -9,7 +9,8 @@ let
   version = "2019.1.1";
   shortVersion = builtins.substring 0 6 version;
   data = stdenv.mkDerivation rec {
-    name = "flightgear-base-${version}";
+    pname = "flightgear-base";
+    inherit version;
 
     src = fetchurl {
       url = "mirror://sourceforge/flightgear/release-${shortVersion}/FlightGear-${version}-data.tar.bz2";
diff --git a/pkgs/games/fltrator/default.nix b/pkgs/games/fltrator/default.nix
index ef46ea840b79..957452aa1629 100644
--- a/pkgs/games/fltrator/default.nix
+++ b/pkgs/games/fltrator/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, unzip, fltk, which, libjpeg }:
 
 stdenv.mkDerivation rec {
-  name = "fltrator-${version}";
+  pname = "fltrator";
   version = "2.3";
 
   src = fetchurl {
diff --git a/pkgs/games/freecell-solver/default.nix b/pkgs/games/freecell-solver/default.nix
index 35bc22e87897..3ba383c74273 100644
--- a/pkgs/games/freecell-solver/default.nix
+++ b/pkgs/games/freecell-solver/default.nix
@@ -5,11 +5,11 @@
 with stdenv.lib;
 stdenv.mkDerivation rec{
 
-  name = "freecell-solver-${version}";
+  pname = "freecell-solver";
   version = "4.18.0";
 
   src = fetchurl {
-    url = "https://fc-solve.shlomifish.org/downloads/fc-solve/${name}.tar.xz";
+    url = "https://fc-solve.shlomifish.org/downloads/fc-solve/${pname}-${version}.tar.xz";
     sha256 = "1cmaib69pijmcpvgjvrdry8j4xys8l906l80b8z21vvyhdwrfdnn";
   };
 
diff --git a/pkgs/games/freedink/default.nix b/pkgs/games/freedink/default.nix
index d5efe2b3ebd9..3b8bc1288efc 100644
--- a/pkgs/games/freedink/default.nix
+++ b/pkgs/games/freedink/default.nix
@@ -5,10 +5,11 @@ let
   version = "1.08.20121209";
 
   freedink_data = stdenv.mkDerivation rec {
-    name = "freedink-data-${version}";
+    pname = "freedink-data";
+    inherit version;
 
     src = fetchurl {
-      url = "mirror://gnu/freedink/${name}.tar.gz";
+      url = "mirror://gnu/freedink/${pname}-${version}.tar.gz";
       sha256 = "1mhns09l1s898x18ahbcy9gabrmgsr8dv7pm0a2ivid8mhxahn1j";
     };
 
@@ -16,10 +17,11 @@ let
   };
 
 in stdenv.mkDerivation rec {
-  name = "freedink-${version}";
+  pname = "freedink";
+  inherit version;
 
   src = fetchurl {
-    url = "mirror://gnu/freedink/${name}.tar.gz";
+    url = "mirror://gnu/freedink/${pname}-${version}.tar.gz";
     sha256 = "19xximbcm6506kvpf3s0q96697kmzca3yrjdr6dgphklp33zqsqr";
   };
 
diff --git a/pkgs/games/freedroidrpg/default.nix b/pkgs/games/freedroidrpg/default.nix
index 2ebb60f3d5db..b269a5d12d6d 100644
--- a/pkgs/games/freedroidrpg/default.nix
+++ b/pkgs/games/freedroidrpg/default.nix
@@ -3,7 +3,8 @@
 let
   version = "0.16.1";
 in stdenv.mkDerivation rec {
-  name = "freedroidrpg-${version}";
+  pname = "freedroidrpg";
+  inherit version;
 
   src = fetchurl {
     url = "ftp://ftp.osuosl.org/pub/freedroid/freedroidRPG-${stdenv.lib.versions.majorMinor version}/freedroidRPG-${version}.tar.gz";
diff --git a/pkgs/games/freeorion/default.nix b/pkgs/games/freeorion/default.nix
index 125f02005a33..d0f514f239d5 100644
--- a/pkgs/games/freeorion/default.nix
+++ b/pkgs/games/freeorion/default.nix
@@ -5,7 +5,7 @@
 
 stdenv.mkDerivation rec {
   version = "0.4.8";
-  name = "freeorion-${version}";
+  pname = "freeorion";
 
   src = fetchFromGitHub {
     owner  = "freeorion";
diff --git a/pkgs/games/freesweep/default.nix b/pkgs/games/freesweep/default.nix
index dd0707fe5c39..94efe1b650a7 100644
--- a/pkgs/games/freesweep/default.nix
+++ b/pkgs/games/freesweep/default.nix
@@ -2,7 +2,7 @@
   updateAutotoolsGnuConfigScriptsHook }:
 
 stdenv.mkDerivation rec {
-  name = "freesweep-${version}";
+  pname = "freesweep";
   version = "1.0.1";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/frotz/default.nix b/pkgs/games/frotz/default.nix
index 3b4fb6842dbb..3dbd7bd928b6 100644
--- a/pkgs/games/frotz/default.nix
+++ b/pkgs/games/frotz/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   version = "2.44";
-  name = "frotz-${version}";
+  pname = "frotz";
 
   src = fetchFromGitHub {
     owner = "DavidGriffith";
diff --git a/pkgs/games/galaxis/default.nix b/pkgs/games/galaxis/default.nix
index dd27f96f7d40..f5089b6395f4 100644
--- a/pkgs/games/galaxis/default.nix
+++ b/pkgs/games/galaxis/default.nix
@@ -3,11 +3,11 @@
 with stdenv.lib;
 stdenv.mkDerivation rec{
 
-  name = "galaxis-${version}";
+  pname = "galaxis";
   version = "1.10";
 
   src = fetchurl{
-    url = "http://www.catb.org/~esr/galaxis/${name}.tar.gz";
+    url = "http://www.catb.org/~esr/galaxis/${pname}-${version}.tar.gz";
     sha256 = "1181x3z4r0794v2bkpigb5fablw1nayj42wvhy2am79p7j1iqq5r";
   };
 
diff --git a/pkgs/games/gambatte/default.nix b/pkgs/games/gambatte/default.nix
index dabcfb19db04..de4a89eac07f 100644
--- a/pkgs/games/gambatte/default.nix
+++ b/pkgs/games/gambatte/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, scons, qt4 }:
 
 stdenv.mkDerivation rec {
-  name = "gambatte-${version}";
+  pname = "gambatte";
   version = "2016-05-03";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/garden-of-coloured-lights/default.nix b/pkgs/games/garden-of-coloured-lights/default.nix
index 066cadb13b17..4c57538e234e 100644
--- a/pkgs/games/garden-of-coloured-lights/default.nix
+++ b/pkgs/games/garden-of-coloured-lights/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, autoconf, automake, allegro }:
 
 stdenv.mkDerivation rec {
-  name = "garden-of-coloured-lights-${version}";
+  pname = "garden-of-coloured-lights";
   version = "1.0.9";
 
   buildInputs = [ allegro autoconf automake ];
diff --git a/pkgs/games/gcs/default.nix b/pkgs/games/gcs/default.nix
index b718a92143cb..3665467407a9 100644
--- a/pkgs/games/gcs/default.nix
+++ b/pkgs/games/gcs/default.nix
@@ -29,10 +29,10 @@ let
     sha256 = "085jpp9mpv5kw00zds9sywmfq31mrlbrgahnwcjkx0z9i22amz4g";
   };
 in stdenv.mkDerivation rec {
-  name = "gcs-${version}";
+  pname = "gcs";
   version = "4.8.0";
 
-  src = runCommand "${name}-src" { preferLocalBuild = true; } ''
+  src = runCommand "${pname}-${version}-src" { preferLocalBuild = true; } ''
     mkdir -p $out
     cd $out
 
diff --git a/pkgs/games/gemrb/default.nix b/pkgs/games/gemrb/default.nix
index fc7bf7168ddf..72afca4cd2cf 100644
--- a/pkgs/games/gemrb/default.nix
+++ b/pkgs/games/gemrb/default.nix
@@ -3,7 +3,7 @@
 , libiconv }:
 
 stdenv.mkDerivation rec {
-  name = "gemrb-${version}";
+  pname = "gemrb";
   version = "0.8.5";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/gl-117/default.nix b/pkgs/games/gl-117/default.nix
index b9694811fa51..fb60808bab70 100644
--- a/pkgs/games/gl-117/default.nix
+++ b/pkgs/games/gl-117/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gl-117-${version}";
+  pname = "gl-117";
   version = "1.3.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/gl-117/gl-117/GL-117%20Source/${name}.tar.bz2";
+    url = "mirror://sourceforge/project/gl-117/gl-117/GL-117%20Source/${pname}-${version}.tar.bz2";
     sha256 = "1yvg1rp1yijv0b45cz085b29x5x0g5fkm654xdv5qwh2l6803gb4";
   };
 
diff --git a/pkgs/games/gnugo/default.nix b/pkgs/games/gnugo/default.nix
index 2952edaa78d9..fa8d59c05030 100644
--- a/pkgs/games/gnugo/default.nix
+++ b/pkgs/games/gnugo/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "gnugo-${version}";
+  pname = "gnugo";
   version = "3.8";
 
   src = fetchurl {
diff --git a/pkgs/games/gnujump/default.nix b/pkgs/games/gnujump/default.nix
index 64c3954ba485..4bf460836d98 100644
--- a/pkgs/games/gnujump/default.nix
+++ b/pkgs/games/gnujump/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, SDL, SDL_image, SDL_mixer }:
 
 stdenv.mkDerivation rec {
-  name = "gnujump-${version}";
+  pname = "gnujump";
   version = "1.0.8";
   src = fetchurl {
-    url = "mirror://gnu/gnujump/${name}.tar.gz";
+    url = "mirror://gnu/gnujump/${pname}-${version}.tar.gz";
     sha256 = "05syy9mzbyqcfnm0hrswlmhwlwx54f0l6zhcaq8c1c0f8dgzxhqk";
   };
   buildInputs = [ SDL SDL_image SDL_mixer ];
diff --git a/pkgs/games/gnushogi/default.nix b/pkgs/games/gnushogi/default.nix
index e85674550308..381b4fd59593 100644
--- a/pkgs/games/gnushogi/default.nix
+++ b/pkgs/games/gnushogi/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "gnushogi-${version}";
+  pname = "gnushogi";
   version = "1.4.2";
   buildInputs = [ zlib ];
 
   src = fetchurl {
-    url = "mirror://gnu/gnushogi/${name}.tar.gz";
+    url = "mirror://gnu/gnushogi/${pname}-${version}.tar.gz";
     sha256 = "0a9bsl2nbnb138lq0h14jfc5xvz7hpb2bcsj4mjn6g1hcsl4ik0y";
   };
 
diff --git a/pkgs/games/gogui/default.nix b/pkgs/games/gogui/default.nix
index e89d16b788a6..f9ae137bb626 100644
--- a/pkgs/games/gogui/default.nix
+++ b/pkgs/games/gogui/default.nix
@@ -3,7 +3,8 @@
 let
   version = "1.4.9";
 in stdenv.mkDerivation {
-  name = "gogui-${version}";
+  pname = "gogui";
+  inherit version;
   buildInputs = [ unzip makeWrapper ];
   src = fetchurl {
     url = "mirror://sourceforge/project/gogui/gogui/${version}/gogui-${version}.zip";
diff --git a/pkgs/games/gtypist/default.nix b/pkgs/games/gtypist/default.nix
index b29b045a4217..6031762d1d6b 100644
--- a/pkgs/games/gtypist/default.nix
+++ b/pkgs/games/gtypist/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, makeWrapper, libiconv, ncurses, perl, fortune}:
 
 stdenv.mkDerivation rec {
-  name = "gtypist-${version}";
+  pname = "gtypist";
   version = "2.9.5";
 
   src = fetchurl {
diff --git a/pkgs/games/gzdoom/default.nix b/pkgs/games/gzdoom/default.nix
index 043be5e23d9b..3ccbdf525ce0 100644
--- a/pkgs/games/gzdoom/default.nix
+++ b/pkgs/games/gzdoom/default.nix
@@ -3,7 +3,7 @@
 , bzip2, zlib, libjpeg, libsndfile, mpg123, game-music-emu }:
 
 stdenv.mkDerivation rec {
-  name = "gzdoom-${version}";
+  pname = "gzdoom";
   version = "4.2.0";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/hawkthorne/default.nix b/pkgs/games/hawkthorne/default.nix
index 470e1d090fcd..97aee425fd16 100644
--- a/pkgs/games/hawkthorne/default.nix
+++ b/pkgs/games/hawkthorne/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   version = "0.12.1";
-  name = "hawkthorne-${version}";
+  pname = "hawkthorne";
 
   src = fetchgit {
     url = "https://github.com/hawkthorne/hawkthorne-journey.git";
diff --git a/pkgs/games/hedgewars/default.nix b/pkgs/games/hedgewars/default.nix
index ea229db6a747..7ef5c6a49b3e 100644
--- a/pkgs/games/hedgewars/default.nix
+++ b/pkgs/games/hedgewars/default.nix
@@ -11,7 +11,7 @@ let
 in
 stdenv.mkDerivation rec {
   version = "1.0.0-beta1";
-  name = "hedgewars-${version}";
+  pname = "hedgewars";
   src = fetchhg {
     url = "https://hg.hedgewars.org/hedgewars/";
     rev = "7ab5cf405686";
diff --git a/pkgs/games/holdingnuts/default.nix b/pkgs/games/holdingnuts/default.nix
index e6d6febeac6f..c20cce723c26 100644
--- a/pkgs/games/holdingnuts/default.nix
+++ b/pkgs/games/holdingnuts/default.nix
@@ -2,12 +2,11 @@
 
 let mirror = "http://download.holdingnuts.net";
 in stdenv.mkDerivation rec {
-  name    = "${pname}-${version}";
   pname   = "holdingnuts";
   version = "0.0.5";
 
   src = fetchurl {
-    url    = "${mirror}/release/${version}/${name}.tar.bz2";
+    url    = "${mirror}/release/${version}/${pname}-${version}.tar.bz2";
     sha256 = "0iw25jmnqzscg34v66d4zz70lvgjp4l7gi16nna6491xnqha5a8g";
   };
 
diff --git a/pkgs/games/hyperrogue/default.nix b/pkgs/games/hyperrogue/default.nix
index 760d82c026d2..b4f5e4f7f630 100644
--- a/pkgs/games/hyperrogue/default.nix
+++ b/pkgs/games/hyperrogue/default.nix
@@ -2,7 +2,7 @@
   libpng, glew, makeDesktopItem }:
 
 stdenv.mkDerivation rec {
-  name = "hyperrogue-${version}";
+  pname = "hyperrogue";
   version = "10.5e";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/instead-launcher/default.nix b/pkgs/games/instead-launcher/default.nix
index 39324843e5e5..10d29657d7cf 100644
--- a/pkgs/games/instead-launcher/default.nix
+++ b/pkgs/games/instead-launcher/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, instead, qmake4Hook, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "instead-launcher-${version}";
+  pname = "instead-launcher";
 
   version = "0.7.0";
 
diff --git a/pkgs/games/ivan/default.nix b/pkgs/games/ivan/default.nix
index f84b83a3010d..86f3f7214466 100644
--- a/pkgs/games/ivan/default.nix
+++ b/pkgs/games/ivan/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
 
-  name = "ivan-${version}";
+  pname = "ivan";
   version = "056";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/ja2-stracciatella/default.nix b/pkgs/games/ja2-stracciatella/default.nix
index 37c45e7aa603..94c614598bfe 100644
--- a/pkgs/games/ja2-stracciatella/default.nix
+++ b/pkgs/games/ja2-stracciatella/default.nix
@@ -27,7 +27,7 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  name = "ja2-stracciatella-${version}";
+  pname = "ja2-stracciatella";
   inherit src;
   inherit version;
 
diff --git a/pkgs/games/klavaro/default.nix b/pkgs/games/klavaro/default.nix
index 4cea30c79e6d..e2a4cff291ba 100644
--- a/pkgs/games/klavaro/default.nix
+++ b/pkgs/games/klavaro/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, makeWrapper, pkgconfig, intltool, curl, gtk3 }:
 
 stdenv.mkDerivation rec {
-  name = "klavaro-${version}";
+  pname = "klavaro";
   version = "3.08";
 
   src = fetchurl {
-    url = "mirror://sourceforge/klavaro/${name}.tar.bz2";
+    url = "mirror://sourceforge/klavaro/${pname}-${version}.tar.bz2";
     sha256 = "0qmvr6d8wshwp0xvk5wbig4vlzxzcxrakhyhd32v8v3s18nhqsrc";
   };
 
diff --git a/pkgs/games/lbreakout2/default.nix b/pkgs/games/lbreakout2/default.nix
index b5f858b99ad7..0e6941a8acd5 100644
--- a/pkgs/games/lbreakout2/default.nix
+++ b/pkgs/games/lbreakout2/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, SDL, SDL_mixer, zlib, libpng, libintl }:
 
 stdenv.mkDerivation rec {
-  name = "lbreakout2-${version}";
+  pname = "lbreakout2";
   version = "2.6.5";
   buildInputs = [ SDL SDL_mixer zlib libpng libintl ];
 
   src = fetchurl {
-    url = "mirror://sourceforge/lgames/${name}.tar.gz";
+    url = "mirror://sourceforge/lgames/${pname}-${version}.tar.gz";
     sha256 = "0vwdlyvh7c4y80q5vp7fyfpzbqk9lq3w8pvavi139njkalbxc14i";
   };
 
diff --git a/pkgs/games/leela-zero/default.nix b/pkgs/games/leela-zero/default.nix
index d00072d24551..d4621682cc67 100644
--- a/pkgs/games/leela-zero/default.nix
+++ b/pkgs/games/leela-zero/default.nix
@@ -2,7 +2,7 @@
 , opencl-headers, ocl-icd, qtbase , zlib }:
 
 stdenv.mkDerivation rec {
-  name = "leela-zero-${version}";
+  pname = "leela-zero";
   version = "0.17";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/lgogdownloader/default.nix b/pkgs/games/lgogdownloader/default.nix
index daf7dd7f61f4..505d98c92dbe 100644
--- a/pkgs/games/lgogdownloader/default.nix
+++ b/pkgs/games/lgogdownloader/default.nix
@@ -2,7 +2,7 @@
 , htmlcxx, rhash, tinyxml-2, help2man }:
 
 stdenv.mkDerivation rec {
-  name = "lgogdownloader-${version}";
+  pname = "lgogdownloader";
   version = "3.5";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/liberal-crime-squad/default.nix b/pkgs/games/liberal-crime-squad/default.nix
index fef6e11d9be9..0e819278dc39 100644
--- a/pkgs/games/liberal-crime-squad/default.nix
+++ b/pkgs/games/liberal-crime-squad/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   version = "2016-07-06";
-  name = "liberal-crime-squad-${version}";
+  pname = "liberal-crime-squad";
 
   src = fetchFromGitHub {
     owner = "Kamal-Sadek";
diff --git a/pkgs/games/lincity/default.nix b/pkgs/games/lincity/default.nix
index 0abbfda33c7b..fb98b1a3811b 100644
--- a/pkgs/games/lincity/default.nix
+++ b/pkgs/games/lincity/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, fetchpatch, libX11, libXext, xorgproto, libICE, libSM, libpng12, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "lincity-${version}";
+  pname = "lincity";
   version = "1.13.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/lincity/${name}.tar.gz";
+    url = "mirror://sourceforge/lincity/${pname}-${version}.tar.gz";
     sha256 = "0p81wl7labyfb6rgp0hi42l2akn3n7r2bnxal1wyvjylzw8vsk3v";
   };
 
diff --git a/pkgs/games/lincity/ng.nix b/pkgs/games/lincity/ng.nix
index b860d2ee58b1..cfc06e11e191 100644
--- a/pkgs/games/lincity/ng.nix
+++ b/pkgs/games/lincity/ng.nix
@@ -4,7 +4,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "lincity-ng-${version}";
+  pname = "lincity-ng";
   version = "2.9beta.20170715";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/linux-steam-integration/default.nix b/pkgs/games/linux-steam-integration/default.nix
index 1fcf9c9527bd..f57571b2a2c4 100644
--- a/pkgs/games/linux-steam-integration/default.nix
+++ b/pkgs/games/linux-steam-integration/default.nix
@@ -5,7 +5,8 @@ let
   version = "0.7.3";
 
 in stdenv.mkDerivation rec {
-  name = "linux-steam-integration-${version}";
+  pname = "linux-steam-integration";
+  inherit version;
 
   src = fetchFromGitHub {
     owner = "clearlinux";
diff --git a/pkgs/games/liquidwar/5.nix b/pkgs/games/liquidwar/5.nix
index d748c96da242..0bd90f77b240 100644
--- a/pkgs/games/liquidwar/5.nix
+++ b/pkgs/games/liquidwar/5.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, allegro }:
 stdenv.mkDerivation rec {
   version = "5.6.4";
-  name = "liquidwar5-${version}";
+  pname = "liquidwar5";
   src = fetchurl {
     url = "https://download.savannah.gnu.org/releases/liquidwar/liquidwar-${version}.tar.gz";
     sha256 = "18wkbfzp07yckg05b5gjy67rw06z9lxp0hzg0zwj7rz8i12jxi9j";
diff --git a/pkgs/games/liquidwar/default.nix b/pkgs/games/liquidwar/default.nix
index af7101f216d5..800ac0fc4c7a 100644
--- a/pkgs/games/liquidwar/default.nix
+++ b/pkgs/games/liquidwar/default.nix
@@ -6,11 +6,11 @@
 , libogg, libvorbis, libcaca, csound, cunit } :
 
 stdenv.mkDerivation rec {
-  name = "liquidwar6-${version}";
+  pname = "liquidwar6";
   version = "0.6.3902";
 
   src = fetchurl {
-    url = "mirror://gnu/liquidwar6/${name}.tar.gz";
+    url = "mirror://gnu/liquidwar6/${pname}-${version}.tar.gz";
     sha256 = "1976nnl83d8wspjhb5d5ivdvdxgb8lp34wp54jal60z4zad581fn";
   };
 
diff --git a/pkgs/games/ltris/default.nix b/pkgs/games/ltris/default.nix
index 10a79a696732..d580d7586ff9 100644
--- a/pkgs/games/ltris/default.nix
+++ b/pkgs/games/ltris/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, SDL, SDL_mixer }:
 
 stdenv.mkDerivation rec {
-  name = "ltris-${version}";
+  pname = "ltris";
   version = "1.0.19";
   buildInputs = [ SDL SDL_mixer ];
 
   src = fetchurl {
-    url = "mirror://sourceforge/lgames/${name}.tar.gz";
+    url = "mirror://sourceforge/lgames/${pname}-${version}.tar.gz";
     sha256 = "1895wv1fqklrj4apkz47rnkcfhfav7zjknskw6p0886j35vrwslg";
   };
 
diff --git a/pkgs/games/mar1d/default.nix b/pkgs/games/mar1d/default.nix
index da711f59af02..ed0b2be0d978 100644
--- a/pkgs/games/mar1d/default.nix
+++ b/pkgs/games/mar1d/default.nix
@@ -18,7 +18,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "MAR1D-${version}";
+  pname = "MAR1D";
   version = "0.2.0";
   options = "-w${toString width}"
           + " -s${toString sensitivity}"
diff --git a/pkgs/games/megaglest/default.nix b/pkgs/games/megaglest/default.nix
index de67afe45a94..df613bb44470 100644
--- a/pkgs/games/megaglest/default.nix
+++ b/pkgs/games/megaglest/default.nix
@@ -17,7 +17,8 @@ let
   };
 in
 stdenv.mkDerivation {
-  name = "megaglest-${version}";
+  pname = "megaglest";
+  inherit version;
 
   src = fetchFromGitHub {
     owner = "MegaGlest";
diff --git a/pkgs/games/meritous/default.nix b/pkgs/games/meritous/default.nix
index 21d2ad87dfb8..8b0808d8e8cc 100644
--- a/pkgs/games/meritous/default.nix
+++ b/pkgs/games/meritous/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitLab, SDL, SDL_image, SDL_mixer, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "meritous-${version}";
+  pname = "meritous";
   version = "1.4";
 
   src = fetchFromGitLab {
diff --git a/pkgs/games/minecraft-server/default.nix b/pkgs/games/minecraft-server/default.nix
index 4fd44880b827..9ddae8b65bf3 100644
--- a/pkgs/games/minecraft-server/default.nix
+++ b/pkgs/games/minecraft-server/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, jre }:
 stdenv.mkDerivation rec {
-  name = "minecraft-server-${version}";
+  pname = "minecraft-server";
   version = "1.14.4";
 
   src = fetchurl {
diff --git a/pkgs/games/minetest/default.nix b/pkgs/games/minetest/default.nix
index 17366ae99040..52a911655373 100644
--- a/pkgs/games/minetest/default.nix
+++ b/pkgs/games/minetest/default.nix
@@ -24,7 +24,8 @@ let
       };
     };
   in stdenv.mkDerivation {
-    name = "minetest-${version}";
+    pname = "minetest";
+    inherit version;
 
     src = sources.src;
 
diff --git a/pkgs/games/mudlet/default.nix b/pkgs/games/mudlet/default.nix
index dab83ddc900d..4dcc7a6262f0 100644
--- a/pkgs/games/mudlet/default.nix
+++ b/pkgs/games/mudlet/default.nix
@@ -2,7 +2,7 @@
 , boost, lua5_1, luafilesystem, luazip, lrexlib-pcre, luasql-sqlite3, qmake }:
 
 stdenv.mkDerivation rec {
-  name = "mudlet-${version}";
+  pname = "mudlet";
   version = "3.0.0-delta";
 
   src = fetchurl {
diff --git a/pkgs/games/newtonwars/default.nix b/pkgs/games/newtonwars/default.nix
index c806dfa5b806..c465b413db12 100644
--- a/pkgs/games/newtonwars/default.nix
+++ b/pkgs/games/newtonwars/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, makeWrapper, freeglut, libGLU_combined }:
 
 stdenv.mkDerivation rec {
-  name = "newtonwars-${version}";
+  pname = "newtonwars";
   version = "20150609";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/nexuiz/default.nix b/pkgs/games/nexuiz/default.nix
index 39b3ae36f506..72d60eae7f66 100644
--- a/pkgs/games/nexuiz/default.nix
+++ b/pkgs/games/nexuiz/default.nix
@@ -13,7 +13,8 @@ let
 
   version_short = stdenv.lib.replaceChars [ "." ] [ "" ] "${version}";
 in stdenv.mkDerivation {
-  name = "nexuiz-${version}";
+  pname = "nexuiz";
+  inherit version;
 
   src = fetchurl {
     url = "mirror://sourceforge/nexuiz/nexuiz-${version_short}.zip";
diff --git a/pkgs/games/openarena/default.nix b/pkgs/games/openarena/default.nix
index 8ac020f3ce09..b39519193e77 100644
--- a/pkgs/games/openarena/default.nix
+++ b/pkgs/games/openarena/default.nix
@@ -1,7 +1,7 @@
 { fetchurl, makeWrapper, patchelf, pkgs, stdenv, SDL, libglvnd, libogg, libvorbis, curl, openal }:
 
 stdenv.mkDerivation rec {
-  name = "openarena-${version}";
+  pname = "openarena";
   version = "0.8.8";
 
   src = fetchurl {
diff --git a/pkgs/games/openclonk/default.nix b/pkgs/games/openclonk/default.nix
index fa0411196318..cce643e9f7db 100644
--- a/pkgs/games/openclonk/default.nix
+++ b/pkgs/games/openclonk/default.nix
@@ -11,7 +11,7 @@ let
   };
 in stdenv.mkDerivation rec {
   version = "8.1";
-  name = "openclonk-${version}";
+  pname = "openclonk";
 
   src = fetchurl {
     url = "https://www.openclonk.org/builds/release/8.1/openclonk-${version}-src.tar.bz2";
diff --git a/pkgs/games/opendune/default.nix b/pkgs/games/opendune/default.nix
index d2f1e27b10ec..751eb6d5933e 100644
--- a/pkgs/games/opendune/default.nix
+++ b/pkgs/games/opendune/default.nix
@@ -7,7 +7,7 @@
 # - download dune2 into [datadir] http://www.bestoldgames.net/eng/old-games/dune-2.php
 
 stdenv.mkDerivation rec {
-  name = "opendune-${version}";
+  pname = "opendune";
   version = "0.9";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/opendungeons/default.nix b/pkgs/games/opendungeons/default.nix
index 3c4e85a91e5a..d59afc330a79 100644
--- a/pkgs/games/opendungeons/default.nix
+++ b/pkgs/games/opendungeons/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, ogre, cegui, boost, sfml, openal, cmake, ois, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "opendungeons-${version}";
+  pname = "opendungeons";
   version = "0.7.1";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/openmw/default.nix b/pkgs/games/openmw/default.nix
index 8cfcb1478288..d9c992199c40 100644
--- a/pkgs/games/openmw/default.nix
+++ b/pkgs/games/openmw/default.nix
@@ -12,12 +12,12 @@ let
   });
 in mkDerivation rec {
   version = "0.45.0";
-  name = "openmw-${version}";
+  pname = "openmw";
 
   src = fetchFromGitHub {
     owner = "OpenMW";
     repo = "openmw";
-    rev = name;
+    rev = "${pname}-${version}";
     sha256 = "1r87zrsnza2v9brksh809zzqj6zhk5xj15qs8iq11v1bscm2a2j4";
   };
 
diff --git a/pkgs/games/openrw/default.nix b/pkgs/games/openrw/default.nix
index 63fb24dc4d7d..fab4de64ee2c 100644
--- a/pkgs/games/openrw/default.nix
+++ b/pkgs/games/openrw/default.nix
@@ -3,7 +3,7 @@
 
 stdenv.mkDerivation rec {
   version = "2017-09-17";
-  name = "openrw-${version}";
+  pname = "openrw";
 
   src = fetchgit {
     url = "https://github.com/rwengine/openrw";
diff --git a/pkgs/games/openspades/default.nix b/pkgs/games/openspades/default.nix
index e0acf60144ed..de05e1944f39 100644
--- a/pkgs/games/openspades/default.nix
+++ b/pkgs/games/openspades/default.nix
@@ -5,7 +5,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "openspades-${version}";
+  pname = "openspades";
   version = "0.1.3";
   devPakVersion = "33";
 
diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix
index 91969a335f8f..e3c23ad26716 100644
--- a/pkgs/games/openttd/default.nix
+++ b/pkgs/games/openttd/default.nix
@@ -28,11 +28,11 @@ let
 
 in
 stdenv.mkDerivation rec {
-  name = "openttd-${version}";
+  pname = "openttd";
   version = "1.9.2";
 
   src = fetchurl {
-    url = "https://proxy.binaries.openttd.org/openttd-releases/${version}/${name}-source.tar.xz";
+    url = "https://proxy.binaries.openttd.org/openttd-releases/${version}/${pname}-${version}-source.tar.xz";
     sha256 = "0jjnnzp1a2l8j1cla28pr460lx6cg4ql3acqfxhxv8a5a4jqrzzr";
   };
 
diff --git a/pkgs/games/opentyrian/default.nix b/pkgs/games/opentyrian/default.nix
index c91f9807581e..2dae58df9765 100644
--- a/pkgs/games/opentyrian/default.nix
+++ b/pkgs/games/opentyrian/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, fetchzip, SDL, SDL_net}:
 
 stdenv.mkDerivation rec {
-  name = "opentyrian-${version}";
+  pname = "opentyrian";
   version = "2.1.20130907";
 
   src = fetchurl {
diff --git a/pkgs/games/openxcom/default.nix b/pkgs/games/openxcom/default.nix
index 211172cee203..9b3d92a350d3 100644
--- a/pkgs/games/openxcom/default.nix
+++ b/pkgs/games/openxcom/default.nix
@@ -3,7 +3,8 @@
 
 let version = "1.0.0.2018.10.08"; in
 stdenv.mkDerivation {
-  name = "openxcom-${version}";
+  pname = "openxcom";
+  inherit version;
   src = fetchFromGitHub {
     owner = "SupSuper";
     repo = "OpenXcom";
diff --git a/pkgs/games/pacvim/default.nix b/pkgs/games/pacvim/default.nix
index 59e7c874d141..a0169debfef8 100644
--- a/pkgs/games/pacvim/default.nix
+++ b/pkgs/games/pacvim/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "pacvim-${version}";
+  pname = "pacvim";
   version = "2018-05-16";
   src = fetchFromGitHub {
     owner = "jmoon018";
diff --git a/pkgs/games/performous/default.nix b/pkgs/games/performous/default.nix
index c73c346512f9..28487a7f8e8a 100644
--- a/pkgs/games/performous/default.nix
+++ b/pkgs/games/performous/default.nix
@@ -4,7 +4,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "performous-${version}";
+  pname = "performous";
   version = "1.1";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/games/pro-office-calculator/default.nix b/pkgs/games/pro-office-calculator/default.nix
index 6991735962d7..4cfd7de6a55f 100644
--- a/pkgs/games/pro-office-calculator/default.nix
+++ b/pkgs/games/pro-office-calculator/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, tinyxml-2, cmake, qtbase, qtmultimedia }:
 stdenv.mkDerivation rec {
   version = "1.0.13";
-  name = "pro-office-calculator-${version}";
+  pname = "pro-office-calculator";
 
   src = fetchFromGitHub {
     owner  = "RobJinman";
diff --git a/pkgs/games/qgo/default.nix b/pkgs/games/qgo/default.nix
index 924101c2d4a8..924292181789 100644
--- a/pkgs/games/qgo/default.nix
+++ b/pkgs/games/qgo/default.nix
@@ -8,7 +8,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "qgo-${version}";
+  pname = "qgo";
   version = "unstable-2017-12-18";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/games/qqwing/default.nix b/pkgs/games/qqwing/default.nix
index dfd384761921..f161f53bfe1e 100644
--- a/pkgs/games/qqwing/default.nix
+++ b/pkgs/games/qqwing/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, perl, autoconf, automake, libtool }:
 
 stdenv.mkDerivation rec {
-  name = "qqwing-${version}";
+  pname = "qqwing";
   version = "1.3.4";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/quake2/yquake2/default.nix b/pkgs/games/quake2/yquake2/default.nix
index 1564ba19bd2e..0602aace319a 100644
--- a/pkgs/games/quake2/yquake2/default.nix
+++ b/pkgs/games/quake2/yquake2/default.nix
@@ -14,7 +14,7 @@ let
   wrapper = import ./wrapper.nix { inherit stdenv lib buildEnv makeWrapper yquake2; };
 
   yquake2 = stdenv.mkDerivation rec {
-    name = "yquake2-${version}";
+    pname = "yquake2";
     version = "7.30";
 
     src = fetchFromGitHub {
diff --git a/pkgs/games/quake3/content/demo.nix b/pkgs/games/quake3/content/demo.nix
index 88ba8679e8a7..0d8a64f14cdc 100644
--- a/pkgs/games/quake3/content/demo.nix
+++ b/pkgs/games/quake3/content/demo.nix
@@ -3,7 +3,8 @@
 let
   version = "1.11-6";
 in stdenv.mkDerivation {
-  name = "quake3-demodata-${version}";
+  pname = "quake3-demodata";
+  inherit version;
 
   src = fetchurl {
     url = "https://ftp.gwdg.de/pub/misc/ftp.idsoftware.com/idstuff/quake3/linux/linuxq3ademo-${version}.x86.gz.sh";
diff --git a/pkgs/games/quake3/content/pointrelease.nix b/pkgs/games/quake3/content/pointrelease.nix
index f35aaaad3527..e34064d93b05 100644
--- a/pkgs/games/quake3/content/pointrelease.nix
+++ b/pkgs/games/quake3/content/pointrelease.nix
@@ -3,7 +3,8 @@
 let
   version = "1.32b-3";
 in stdenv.mkDerivation {
-  name = "quake3-pointrelease-${version}";
+  pname = "quake3-pointrelease";
+  inherit version;
 
   src = fetchurl {
     url = "https://ftp.gwdg.de/pub/misc/ftp.idsoftware.com/idstuff/quake3/linux/linuxq3apoint-${version}.x86.run";
diff --git a/pkgs/games/quake3/ioquake/default.nix b/pkgs/games/quake3/ioquake/default.nix
index 7bc0863a33f8..7f0fb6fd0623 100644
--- a/pkgs/games/quake3/ioquake/default.nix
+++ b/pkgs/games/quake3/ioquake/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "ioquake3-git-${version}";
+  pname = "ioquake3-git";
   version = "2019-05-29";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/quakespasm/default.nix b/pkgs/games/quakespasm/default.nix
index f61b0e237925..a8d740ea5128 100644
--- a/pkgs/games/quakespasm/default.nix
+++ b/pkgs/games/quakespasm/default.nix
@@ -1,6 +1,6 @@
 { stdenv, SDL, fetchurl, gzip, libvorbis, libmad }:
 stdenv.mkDerivation rec {
-  name = "quakespasm-${version}";
+  pname = "quakespasm";
   majorVersion = "0.93";
   version = "${majorVersion}.1";
 
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1bimv18f6rzhyjz78yvw2vqr5n0kdqbcqmq7cb3m951xgsxfcgpd";
   };
 
-  sourceRoot = "${name}/Quake";
+  sourceRoot = "${pname}-${version}/Quake";
 
   buildInputs = [
     gzip SDL libvorbis libmad
diff --git a/pkgs/games/quakespasm/vulkan.nix b/pkgs/games/quakespasm/vulkan.nix
index 4cd073869dc8..114f862888d4 100644
--- a/pkgs/games/quakespasm/vulkan.nix
+++ b/pkgs/games/quakespasm/vulkan.nix
@@ -1,7 +1,7 @@
 { stdenv, SDL2, fetchFromGitHub, makeWrapper, gzip, libvorbis, libmad, vulkan-headers, vulkan-loader }:
 
 stdenv.mkDerivation rec {
-  name = "vkquake-${version}";
+  pname = "vkquake";
   majorVersion = "1.01";
   version = "${majorVersion}.0";
 
diff --git a/pkgs/games/residualvm/default.nix b/pkgs/games/residualvm/default.nix
index c44072309b19..79d657e668dc 100644
--- a/pkgs/games/residualvm/default.nix
+++ b/pkgs/games/residualvm/default.nix
@@ -9,7 +9,7 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   version = "0.1.1";
-  name = "residualvm-${version}";
+  pname = "residualvm";
 
   src = fetchurl {
     url = "mirror://sourceforge/residualvm/residualvm-${version}-sources.tar.bz2";
diff --git a/pkgs/games/rftg/default.nix b/pkgs/games/rftg/default.nix
index b6a74ad8be65..9ab63553053f 100644
--- a/pkgs/games/rftg/default.nix
+++ b/pkgs/games/rftg/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
 
-  name = "rftg-${version}";
+  pname = "rftg";
   version = "0.9.4";
 
   src = fetchurl {
diff --git a/pkgs/games/rigsofrods/default.nix b/pkgs/games/rigsofrods/default.nix
index 274a095de6f4..09550339f83d 100644
--- a/pkgs/games/rigsofrods/default.nix
+++ b/pkgs/games/rigsofrods/default.nix
@@ -5,7 +5,7 @@
 
 stdenv.mkDerivation rec {
   version = "0.4.7.0";
-  name = "rigsofrods-${version}";
+  pname = "rigsofrods";
 
   src = fetchFromGitHub {
     owner = "RigsOfRods";
diff --git a/pkgs/games/riko4/default.nix b/pkgs/games/riko4/default.nix
index 7cbfacd0b409..780025f52226 100644
--- a/pkgs/games/riko4/default.nix
+++ b/pkgs/games/riko4/default.nix
@@ -5,7 +5,7 @@ let
   # and this library does not have a proper release version, so let the
   # derivation for this stay next to the Riko4 derivation for now.
   sdl-gpu = stdenv.mkDerivation rec {
-    name = "sdl-gpu-${version}";
+    pname = "sdl-gpu";
     version = "2018-11-01";
     src = fetchFromGitHub {
       owner = "grimfang4";
@@ -27,7 +27,7 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "riko4-${version}";
+  pname = "riko4";
   version = "0.1.0";
   src = fetchFromGitHub {
     owner = "incinirate";
diff --git a/pkgs/games/robotfindskitten/default.nix b/pkgs/games/robotfindskitten/default.nix
index 00d73f95bdb3..fa1eb338a89b 100644
--- a/pkgs/games/robotfindskitten/default.nix
+++ b/pkgs/games/robotfindskitten/default.nix
@@ -3,11 +3,11 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
 
-  name = "robotfindskitten-${version}";
+  pname = "robotfindskitten";
   version = "2.7182818.701";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/rfk/robotfindskitten-POSIX/mayan_apocalypse_edition/${name}.tar.gz";
+    url = "mirror://sourceforge/project/rfk/robotfindskitten-POSIX/mayan_apocalypse_edition/${pname}-${version}.tar.gz";
     sha256 = "06fp6b4li50mzw83j3pkzqspm6dpgxgxw03b60xkxlkgg5qa6jbp";
   };
 
diff --git a/pkgs/games/rrootage/default.nix b/pkgs/games/rrootage/default.nix
index 8b07a38c7bb7..459ff238b4a4 100644
--- a/pkgs/games/rrootage/default.nix
+++ b/pkgs/games/rrootage/default.nix
@@ -10,7 +10,8 @@ let
   };
 
 in stdenv.mkDerivation {
-  name = "rrootage-${version}";
+  pname = "rrootage";
+  inherit version;
   src = fetchurl {
     url = "http://downloads.sourceforge.net/rrootage/rRootage-${version}.tar.gz";
     sha256 = "01zzg4ih3kmbhsn1p9zr7g8srv1d2dhrp8cdd86y9qq233idnkln";
diff --git a/pkgs/games/runelite/default.nix b/pkgs/games/runelite/default.nix
index a56365778fb1..eaf1b3dc4fda 100644
--- a/pkgs/games/runelite/default.nix
+++ b/pkgs/games/runelite/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, makeWrapper, jre, makeDesktopItem, lib }:
 
   stdenv.mkDerivation rec {
-  name = "runelite-${version}";
+  pname = "runelite";
   version = "1.6.0";
 
   src = fetchurl {
diff --git a/pkgs/games/scid-vs-pc/default.nix b/pkgs/games/scid-vs-pc/default.nix
index 79fef6740023..345ce33fca0a 100644
--- a/pkgs/games/scid-vs-pc/default.nix
+++ b/pkgs/games/scid-vs-pc/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, tcl, tk, libX11, zlib, makeWrapper, makeDesktopItem }:
 
 stdenv.mkDerivation rec {
-  name = "scid-vs-pc-${version}";
+  pname = "scid-vs-pc";
   version = "4.20";
 
   src = fetchurl {
diff --git a/pkgs/games/scid/default.nix b/pkgs/games/scid/default.nix
index 301991c1a6fd..040902ffd73d 100644
--- a/pkgs/games/scid/default.nix
+++ b/pkgs/games/scid/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, tcl, tk, libX11, zlib, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "scid-${version}";
+  pname = "scid";
   version = "4.3";
 
   src = fetchurl {
diff --git a/pkgs/games/scorched3d/default.nix b/pkgs/games/scorched3d/default.nix
index 430b22c9ba97..1527f61c4d0f 100644
--- a/pkgs/games/scorched3d/default.nix
+++ b/pkgs/games/scorched3d/default.nix
@@ -3,7 +3,7 @@
 
 stdenv.mkDerivation rec {
   version = "44";
-  name = "scorched3d-${version}";
+  pname = "scorched3d";
   src = fetchurl {
     url = "mirror://sourceforge/scorched3d/Scorched3D-${version}-src.tar.gz";
     sha256 = "1fldi9pn7cz6hc9h70pacgb7sbykzcac44yp3pkhn0qh4axj10qw";
diff --git a/pkgs/games/scummvm/default.nix b/pkgs/games/scummvm/default.nix
index 2ebc2c82e506..cb8223daa2b0 100644
--- a/pkgs/games/scummvm/default.nix
+++ b/pkgs/games/scummvm/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "scummvm-${version}";
+  pname = "scummvm";
   version = "2.0.0";
 
   src = fetchurl {
-    url = "http://scummvm.org/frs/scummvm/${version}/${name}.tar.xz";
+    url = "http://scummvm.org/frs/scummvm/${version}/${pname}-${version}.tar.xz";
     sha256 = "0q6aiw97wsrf8cjw9vjilzhqqsr2rw2lll99s8i5i9svan6l314p";
   };
 
diff --git a/pkgs/games/sdlmame/default.nix b/pkgs/games/sdlmame/default.nix
index 9f90c9f14aac..7811b4b7373f 100644
--- a/pkgs/games/sdlmame/default.nix
+++ b/pkgs/games/sdlmame/default.nix
@@ -2,15 +2,15 @@
 
 stdenv.mkDerivation rec {
   version = "0.151.u0-1";
-  name    = "sdlmame-${version}";
+  pname = "sdlmame";
 
   src = if stdenv.hostPlatform.system == "x86_64-linux"
     then fetchurl {
-      url    = "http://seblu.net/a/archive/packages/s/sdlmame/${name}-x86_64.pkg.tar.xz";
+      url    = "http://seblu.net/a/archive/packages/s/sdlmame/${pname}-${version}-x86_64.pkg.tar.xz";
       sha256 = "1j9vjxhrhsskrlk5wr7al4wk2hh3983kcva42mqal09bmc8qg3m9";
     }
     else fetchurl {
-      url    = "http://seblu.net/a/archive/packages/s/sdlmame/${name}-i686.pkg.tar.xz";
+      url    = "http://seblu.net/a/archive/packages/s/sdlmame/${pname}-${version}-i686.pkg.tar.xz";
       sha256 = "1i38j9ml66pyxzm0zzf1fv4lb40f6w47cdgaw846q91pzakkkqn7";
     };
 
diff --git a/pkgs/games/sgt-puzzles/default.nix b/pkgs/games/sgt-puzzles/default.nix
index ce8d38ca5d1d..428be470b3e7 100644
--- a/pkgs/games/sgt-puzzles/default.nix
+++ b/pkgs/games/sgt-puzzles/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "sgt-puzzles-r${version}";
-  version = "20180429.31384ca";
+  version = "20190415.e2135d5";
 
   src = fetchurl {
    url = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${version}.tar.gz";
-   sha256 = "0r97kyy0rxgzw78lby2kwi8fg1yimw8a3biy5psgd983d0nwcf9l";
+   sha256 = "02p9kpvmqa0cm9y0lzdy7g8h4b4mqma8d9jfvgi2yysbgjfzq2ak";
   };
 
   nativeBuildInputs = [ autoreconfHook makeWrapper pkgconfig perl wrapGAppsHook ];
diff --git a/pkgs/games/sil/default.nix b/pkgs/games/sil/default.nix
index de91f26d95de..a998a86370d9 100644
--- a/pkgs/games/sil/default.nix
+++ b/pkgs/games/sil/default.nix
@@ -9,7 +9,7 @@ let
   '';
 in
 stdenv.mkDerivation rec {
-  name = "Sil-${version}";
+  pname = "Sil";
   version = "1.3.0";
 
   src = fetchzip {
diff --git a/pkgs/games/simutrans/default.nix b/pkgs/games/simutrans/default.nix
index 5cbb3c1796f1..e6889731619f 100644
--- a/pkgs/games/simutrans/default.nix
+++ b/pkgs/games/simutrans/default.nix
@@ -107,7 +107,8 @@ let
   };
 
   binaries = stdenv.mkDerivation rec {
-    name = "simutrans-${version}";
+    pname = "simutrans";
+    inherit version;
 
     src = binary_src;
 
diff --git a/pkgs/games/snipes/default.nix b/pkgs/games/snipes/default.nix
index e8d915dd31a5..1334f555bbde 100644
--- a/pkgs/games/snipes/default.nix
+++ b/pkgs/games/snipes/default.nix
@@ -7,7 +7,7 @@ let
   };
 
 in stdenv.mkDerivation rec {
-  name = "snipes-${version}";
+  pname = "snipes";
   version = "20180930";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/soi/default.nix b/pkgs/games/soi/default.nix
index 7f9f49f363a8..2ffd3f3d053b 100644
--- a/pkgs/games/soi/default.nix
+++ b/pkgs/games/soi/default.nix
@@ -2,12 +2,12 @@
 , boost, eigen2, lua, luabind, libGLU_combined, SDL }:
 
 stdenv.mkDerivation rec {
-  name = "soi-${version}";
+  pname = "soi";
   version = "0.1.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/soi/Spheres%20of%20Influence-${version}-Source.tar.bz2";
-    name = "${name}.tar.bz2";
+    name = "${pname}-${version}.tar.bz2";
     sha256 = "03c3wnvhd42qh8mi68lybf8nv6wzlm1nx16d6pdcn2jzgx1j2lzd";
   };
 
diff --git a/pkgs/games/space-orbit/default.nix b/pkgs/games/space-orbit/default.nix
index 162db9672699..2b69dfccad15 100644
--- a/pkgs/games/space-orbit/default.nix
+++ b/pkgs/games/space-orbit/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "space-orbit-${version}";
+  pname = "space-orbit";
   version = "1.01";
   patchversion = "9";
 
diff --git a/pkgs/games/spring/default.nix b/pkgs/games/spring/default.nix
index 1dcf432ccd48..9bfd917d1aa0 100644
--- a/pkgs/games/spring/default.nix
+++ b/pkgs/games/spring/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
 
-  name = "spring-${version}";
+  pname = "spring";
   version = "104.0";
 
   src = fetchurl {
diff --git a/pkgs/games/spring/springlobby.nix b/pkgs/games/spring/springlobby.nix
index 8df4450d13d1..b7c9b691c043 100644
--- a/pkgs/games/spring/springlobby.nix
+++ b/pkgs/games/spring/springlobby.nix
@@ -3,7 +3,7 @@
 , makeWrapper, glib, minizip, alure, pcre, jsoncpp }:
 
 stdenv.mkDerivation rec {
-  name = "springlobby-${version}";
+  pname = "springlobby";
   version = "0.267";
 
   src = fetchurl {
diff --git a/pkgs/games/stardust/default.nix b/pkgs/games/stardust/default.nix
index 1408b66ab41b..9de9bd37e8dc 100644
--- a/pkgs/games/stardust/default.nix
+++ b/pkgs/games/stardust/default.nix
@@ -2,11 +2,11 @@
 , libXi, libXmu, libXext, libGLU_combined }:
 
 stdenv.mkDerivation rec {
-  name = "stardust-${version}";
+  pname = "stardust";
   version = "0.1.13";
 
   src = fetchurl {
-    url = "http://iwar.free.fr/IMG/gz/${name}.tar.gz";
+    url = "http://iwar.free.fr/IMG/gz/${pname}-${version}.tar.gz";
     sha256 = "19rs9lz5y5g2yiq1cw0j05b11digw40gar6rw8iqc7bk3s8355xp";
   };
 
diff --git a/pkgs/games/steam/steam.nix b/pkgs/games/steam/steam.nix
index 9bbdf0474e1a..1d1912d97a15 100644
--- a/pkgs/games/steam/steam.nix
+++ b/pkgs/games/steam/steam.nix
@@ -5,7 +5,8 @@ let
   version = "1.0.0.61";
 
 in stdenv.mkDerivation rec {
-  name = "steam-original-${version}";
+  pname = "steam-original";
+  inherit version;
 
   src = fetchurl {
     url = "http://repo.steampowered.com/steam/pool/steam/s/steam/steam_${version}.tar.gz";
diff --git a/pkgs/games/steam/steamcmd.nix b/pkgs/games/steam/steamcmd.nix
index 1ea7f0677877..be865d20f2f4 100644
--- a/pkgs/games/steam/steamcmd.nix
+++ b/pkgs/games/steam/steamcmd.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "steamcmd-${version}";
+  pname = "steamcmd";
   version = "20180104"; # According to steamcmd_linux.tar.gz mtime
 
   src = fetchurl {
diff --git a/pkgs/games/stepmania/default.nix b/pkgs/games/stepmania/default.nix
index 864888741660..b29d22dfe736 100644
--- a/pkgs/games/stepmania/default.nix
+++ b/pkgs/games/stepmania/default.nix
@@ -4,7 +4,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "stepmania-${version}";
+  pname = "stepmania";
   version = "5.1.0-b2";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/stockfish/default.nix b/pkgs/games/stockfish/default.nix
index 13033c7f9f0a..eea92b43b520 100644
--- a/pkgs/games/stockfish/default.nix
+++ b/pkgs/games/stockfish/default.nix
@@ -9,7 +9,8 @@ in
 
 stdenv.mkDerivation {
 
-  name = "stockfish-${version}";
+  pname = "stockfish";
+  inherit version;
 
   src = fetchurl {
     url = "https://github.com/official-stockfish/Stockfish/archive/sf_${version}.tar.gz";
diff --git a/pkgs/games/stuntrally/default.nix b/pkgs/games/stuntrally/default.nix
index 3865d8fbef9e..6b3da08b70c7 100644
--- a/pkgs/games/stuntrally/default.nix
+++ b/pkgs/games/stuntrally/default.nix
@@ -2,7 +2,7 @@
 , makeWrapper, enet, libXcursor, bullet, openal }:
 
 stdenv.mkDerivation rec {
-  name = "stunt-rally-${version}";
+  pname = "stunt-rally";
   version = "2.6.1";
 
   src = fetchurl {
diff --git a/pkgs/games/supertux/default.nix b/pkgs/games/supertux/default.nix
index cee65bfa5638..6cfabc4ee6a7 100644
--- a/pkgs/games/supertux/default.nix
+++ b/pkgs/games/supertux/default.nix
@@ -4,7 +4,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "supertux-${version}";
+  pname = "supertux";
   version = "0.6.0";
 
   src = fetchurl {
diff --git a/pkgs/games/terraria-server/default.nix b/pkgs/games/terraria-server/default.nix
index 13d296e5961a..5432824ce6c0 100644
--- a/pkgs/games/terraria-server/default.nix
+++ b/pkgs/games/terraria-server/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, file, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  name    = "terraria-server-${version}";
+  pname = "terraria-server";
   version = "1.3.5.3";
   urlVersion = lib.replaceChars ["."] [""] version;
 
diff --git a/pkgs/games/the-butterfly-effect/default.nix b/pkgs/games/the-butterfly-effect/default.nix
index 68114bb75652..9cc3bf7149ff 100644
--- a/pkgs/games/the-butterfly-effect/default.nix
+++ b/pkgs/games/the-butterfly-effect/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchgit, qt5, box2d, which, cmake, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "tbe-${version}";
+  pname = "tbe";
   version = "0.9.3.1";
 
   src = fetchgit {
diff --git a/pkgs/games/the-powder-toy/default.nix b/pkgs/games/the-powder-toy/default.nix
index 929641cfab54..b0901fcb9a0f 100644
--- a/pkgs/games/the-powder-toy/default.nix
+++ b/pkgs/games/the-powder-toy/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, scons, pkgconfig, SDL2, lua, fftwFloat, zlib, bzip2 }:
 
 stdenv.mkDerivation rec {
-  name = "the-powder-toy-${version}";
+  pname = "the-powder-toy";
   version = "94.1";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/tinyfugue/default.nix b/pkgs/games/tinyfugue/default.nix
index f230a70c0880..fb3ebf36db3b 100644
--- a/pkgs/games/tinyfugue/default.nix
+++ b/pkgs/games/tinyfugue/default.nix
@@ -8,7 +8,7 @@ with stdenv.lib;
 assert sslSupport -> openssl != null;
 
 stdenv.mkDerivation rec {
-  name = "tinyfugue-${version}";
+  pname = "tinyfugue";
   version = "50b8";
   verUrl = "5.0%20beta%208";
 
diff --git a/pkgs/games/trackballs/default.nix b/pkgs/games/trackballs/default.nix
index 8549a860d8e8..b5ff38b93a10 100644
--- a/pkgs/games/trackballs/default.nix
+++ b/pkgs/games/trackballs/default.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "trackballs-${version}";
+  pname = "trackballs";
   version = "1.3.1";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/tremulous/default.nix b/pkgs/games/tremulous/default.nix
index 470856af90e6..802bdb08a87c 100644
--- a/pkgs/games/tremulous/default.nix
+++ b/pkgs/games/tremulous/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, unzip, libGLU_combined, libX11, SDL, openal, runtimeShell }:
 stdenv.mkDerivation rec {
-  name = "tremulous-${version}";
+  pname = "tremulous";
   version = "1.1.0";
   src1 = fetchurl {
-    url = "mirror://sourceforge/tremulous/${name}.zip";
+    url = "mirror://sourceforge/tremulous/${pname}-${version}.zip";
     sha256 = "11w96y7ggm2sn5ncyaffsbg0vy9pblz2av71vqp9725wbbsndfy7";
   };
   # http://tremulous.net/wiki/Client_versions
diff --git a/pkgs/games/tuxpaint/default.nix b/pkgs/games/tuxpaint/default.nix
index ddf0782b210d..603fb3ef491b 100644
--- a/pkgs/games/tuxpaint/default.nix
+++ b/pkgs/games/tuxpaint/default.nix
@@ -3,10 +3,10 @@
 
 stdenv.mkDerivation rec {
   version = "0.9.22";
-  name = "tuxpaint-${version}";
+  pname = "tuxpaint";
 
   src = fetchurl {
-    url = "mirror://sourceforge/tuxpaint/${version}/${name}.tar.gz";
+    url = "mirror://sourceforge/tuxpaint/${version}/${pname}-${version}.tar.gz";
     sha256 = "1qrbrdck9yxpcg3si6jb9i11w8lw9h4hqad0pfaxgyiniqpr7gca";
   };
 
diff --git a/pkgs/games/ue4/default.nix b/pkgs/games/ue4/default.nix
index fa28dcefa5e0..a32da556cc90 100644
--- a/pkgs/games/ue4/default.nix
+++ b/pkgs/games/ue4/default.nix
@@ -18,7 +18,7 @@ let
   ];
 in
 stdenv.mkDerivation rec {
-  name = "ue4-${version}";
+  pname = "ue4";
   version = "4.10.2";
   sourceRoot = "UnrealEngine-${version}-release";
   src = requireFile {
diff --git a/pkgs/games/ultrastardx/default.nix b/pkgs/games/ultrastardx/default.nix
index f3eec52098d0..8dd8222e55e4 100644
--- a/pkgs/games/ultrastardx/default.nix
+++ b/pkgs/games/ultrastardx/default.nix
@@ -11,7 +11,7 @@ let
   ];
 
 in stdenv.mkDerivation rec {
-  name = "ultrastardx-${version}";
+  pname = "ultrastardx";
   version = "2017.8.0";
   src = fetchFromGitHub {
     owner = "UltraStar-Deluxe";
diff --git a/pkgs/games/unnethack/default.nix b/pkgs/games/unnethack/default.nix
index be1b5bd11956..ee3890aeea5b 100644
--- a/pkgs/games/unnethack/default.nix
+++ b/pkgs/games/unnethack/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchgit, utillinux, ncurses, flex, bison }:
 
 stdenv.mkDerivation rec {
-  name = "unnethack-${version}";
+  pname = "unnethack";
   version = "5.2.0";
 
   src = fetchgit {
diff --git a/pkgs/games/uqm/default.nix b/pkgs/games/uqm/default.nix
index 00592f7c39bb..638900c9e898 100644
--- a/pkgs/games/uqm/default.nix
+++ b/pkgs/games/uqm/default.nix
@@ -27,7 +27,7 @@ let
   ];
 
 in stdenv.mkDerivation rec {
-  name = "uqm-${version}";
+  pname = "uqm";
   version = "0.7.0";
 
   src = fetchurl {
diff --git a/pkgs/games/urbanterror/default.nix b/pkgs/games/urbanterror/default.nix
index 1cd87541b8c3..999799de58d8 100644
--- a/pkgs/games/urbanterror/default.nix
+++ b/pkgs/games/urbanterror/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, unzip, SDL, libGLU_combined, openal, curl, libXxf86vm }:
 
 stdenv.mkDerivation rec {
-  name = "urbanterror-${version}";
+  pname = "urbanterror";
   version = "4.3.4";
 
   srcs =
diff --git a/pkgs/games/ut2004/demo.nix b/pkgs/games/ut2004/demo.nix
index 7039ff44a09b..1790f0830638 100644
--- a/pkgs/games/ut2004/demo.nix
+++ b/pkgs/games/ut2004/demo.nix
@@ -7,7 +7,7 @@ let
     else throw "Unsupported architecture";
 
 in stdenv.mkDerivation rec {
-  name = "ut2004-demo-${version}";
+  pname = "ut2004-demo";
   version = "3334";
 
   src = fetchurl {
diff --git a/pkgs/games/vdrift/default.nix b/pkgs/games/vdrift/default.nix
index 6c571da561c5..e018dfd664d3 100644
--- a/pkgs/games/vdrift/default.nix
+++ b/pkgs/games/vdrift/default.nix
@@ -10,7 +10,8 @@
 let
   version = "git";
   bin = stdenv.mkDerivation {
-    name = "vdrift-${version}";
+    pname = "vdrift";
+    inherit version;
 
     src = fetchFromGitHub {
       owner = "vdrift";
diff --git a/pkgs/games/vitetris/default.nix b/pkgs/games/vitetris/default.nix
index d57559a4d804..7f552bdd5d66 100644
--- a/pkgs/games/vitetris/default.nix
+++ b/pkgs/games/vitetris/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, lib }:
 
 stdenv.mkDerivation rec {
-  name = "vitetris-${version}";
+  pname = "vitetris";
   version = "0.58.0";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/vms-empire/default.nix b/pkgs/games/vms-empire/default.nix
index 91f77277d9ec..1d4545f17b14 100644
--- a/pkgs/games/vms-empire/default.nix
+++ b/pkgs/games/vms-empire/default.nix
@@ -3,11 +3,11 @@
 with stdenv.lib;
 stdenv.mkDerivation rec{
 
-  name = "vms-empire-${version}";
+  pname = "vms-empire";
   version = "1.14";
 
   src = fetchurl{
-    url = "http://www.catb.org/~esr/vms-empire/${name}.tar.gz";
+    url = "http://www.catb.org/~esr/vms-empire/${pname}-${version}.tar.gz";
     sha256 = "0cymzhivvaahgqz0p11w25a710ls4w0jhyqj789jas5s07nvd890";
   };
 
diff --git a/pkgs/games/voxelands/default.nix b/pkgs/games/voxelands/default.nix
index c1a9a2a7defb..9ea9ec7bd12f 100644
--- a/pkgs/games/voxelands/default.nix
+++ b/pkgs/games/voxelands/default.nix
@@ -2,11 +2,11 @@
 , libjpeg, libXxf86vm, libGLU_combined, openal, libvorbis, xlibsWrapper, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "voxelands-${version}";
+  pname = "voxelands";
   version = "1512.00";
 
   src = fetchurl {
-    url = "http://voxelands.com/downloads/${name}-src.tar.bz2";
+    url = "http://voxelands.com/downloads/${pname}-${version}-src.tar.bz2";
     sha256 = "0bims0y0nyviv2f2nxfj37s3258cjbfp9xd97najz0yylnk3qdfw";
   };
 
diff --git a/pkgs/games/warmux/default.nix b/pkgs/games/warmux/default.nix
index 04712b3ebff6..a861e3725a2d 100644
--- a/pkgs/games/warmux/default.nix
+++ b/pkgs/games/warmux/default.nix
@@ -5,7 +5,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "warmux-${version}";
+  pname = "warmux";
   version = "unstable-2017-10-20";
 
   src = fetchFromGitHub {
diff --git a/pkgs/games/warsow/default.nix b/pkgs/games/warsow/default.nix
index 5333dad68798..6282658fc152 100644
--- a/pkgs/games/warsow/default.nix
+++ b/pkgs/games/warsow/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, warsow-engine, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "warsow-${version}";
+  pname = "warsow";
   version = "2.1.2";
 
   src = fetchurl {
-    url = "http://slice.sh/warsow/${name}.tar.gz";
+    url = "http://slice.sh/warsow/${pname}-${version}.tar.gz";
     sha256 = "07y2airw5qg3s1bf1c63a6snjj22riz0mqhk62jmfm9nrarhavrc";
   };
 
diff --git a/pkgs/games/wesnoth/default.nix b/pkgs/games/wesnoth/default.nix
index bf9e1cdd6354..64231b9c39c7 100644
--- a/pkgs/games/wesnoth/default.nix
+++ b/pkgs/games/wesnoth/default.nix
@@ -8,10 +8,8 @@ stdenv.mkDerivation rec {
   pname = "wesnoth";
   version = "1.14.7";
 
-  name = "${pname}-${version}";
-
   src = fetchurl {
-    url = "mirror://sourceforge/sourceforge/${pname}/${name}.tar.bz2";
+    url = "mirror://sourceforge/sourceforge/${pname}/${pname}-${version}.tar.bz2";
     sha256 = "0j2yvkcggj5k0r2cqk8ndnj77m37a00srfd9qg7pdpqffbinqpj7";
   };
 
diff --git a/pkgs/games/widelands/default.nix b/pkgs/games/widelands/default.nix
index daf56b27e5d2..6f3bc2c11959 100644
--- a/pkgs/games/widelands/default.nix
+++ b/pkgs/games/widelands/default.nix
@@ -4,7 +4,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "widelands-${version}";
+  pname = "widelands";
   version = "19";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/games/xjump/default.nix b/pkgs/games/xjump/default.nix
index 028b5f49b66a..dd59ebbedd94 100644
--- a/pkgs/games/xjump/default.nix
+++ b/pkgs/games/xjump/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, autoconf, automake, libX11, libXt, libXpm, libXaw, localStateDir?null }:
 
 stdenv.mkDerivation rec {
-  name = "xjump-${version}";
+  pname = "xjump";
   version = "2.9.3";
   src = fetchFromGitHub {
     owner = "hugomg";
diff --git a/pkgs/games/xmoto/default.nix b/pkgs/games/xmoto/default.nix
index a0fc6d5ca718..d9bba3fdbdce 100644
--- a/pkgs/games/xmoto/default.nix
+++ b/pkgs/games/xmoto/default.nix
@@ -3,7 +3,7 @@
 , SDL_ttf, lua5, ode, libxdg_basedir, libxml2 }:
 
 stdenv.mkDerivation rec {
-  name = "xmoto-${version}";
+  pname = "xmoto";
   version = "0.5.11";
 
   src = fetchurl {
diff --git a/pkgs/games/xpilot/bloodspilot-client.nix b/pkgs/games/xpilot/bloodspilot-client.nix
index cd927a820aaa..aefc8ad98767 100644
--- a/pkgs/games/xpilot/bloodspilot-client.nix
+++ b/pkgs/games/xpilot/bloodspilot-client.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   version = "1.5.0";
-  name = "bloodspilot-client-${version}";
+  pname = "bloodspilot-client";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/bloodspilot/client-sdl/v${version}/bloodspilot-client-sdl-${version}.tar.gz";
diff --git a/pkgs/games/xpilot/bloodspilot-server.nix b/pkgs/games/xpilot/bloodspilot-server.nix
index 42bcb3263169..2f37680bbaab 100644
--- a/pkgs/games/xpilot/bloodspilot-server.nix
+++ b/pkgs/games/xpilot/bloodspilot-server.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, expat }:
 
 stdenv.mkDerivation rec {
-  name = "bloodspilot-xpilot-fxi-server-${version}";
+  pname = "bloodspilot-xpilot-fxi-server";
   version = "1.4.6";
 
   src = fetchurl {
diff --git a/pkgs/games/xpilot/default.nix b/pkgs/games/xpilot/default.nix
index 2ae25e957bb2..d0fe9f61896e 100644
--- a/pkgs/games/xpilot/default.nix
+++ b/pkgs/games/xpilot/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, libX11, libSM, SDL, libGLU_combined, expat, SDL_ttf
 , SDL_image, zlib, libXxf86misc }:
 stdenv.mkDerivation rec {
-  name = "xpilot-ng-${version}";
+  pname = "xpilot-ng";
   version = "4.7.3";
   src = fetchurl {
-    url = "mirror://sourceforge/xpilot/xpilot_ng/${name}/${name}.tar.gz";
+    url = "mirror://sourceforge/xpilot/xpilot_ng/${pname}-${version}/${pname}-${version}.tar.gz";
     sha256 = "02a7pnp88kh88fzda5q8mzlckk6y9r5fw47j00h26wbsfly0k1zj";
   };
   buildInputs = [
diff --git a/pkgs/games/xsnow/default.nix b/pkgs/games/xsnow/default.nix
index 07ed50d4e7b3..b3011fbce77a 100644
--- a/pkgs/games/xsnow/default.nix
+++ b/pkgs/games/xsnow/default.nix
@@ -3,10 +3,10 @@
 stdenv.mkDerivation rec {
 
   version = "1.42";
-  name = "xsnow-${version}";
+  pname = "xsnow";
 
   src = fetchurl {
-    url = "https://janswaal.home.xs4all.nl/Xsnow/${name}.tar.gz";
+    url = "https://janswaal.home.xs4all.nl/Xsnow/${pname}-${version}.tar.gz";
     sha256 = "06jnbp88wc9i9dbmy7kggplw4hzlx2bhghxijmlhkjlizgqwimyh";
   };
 
diff --git a/pkgs/games/xsok/default.nix b/pkgs/games/xsok/default.nix
index 0aa0c97f07d2..62cdaccc2975 100644
--- a/pkgs/games/xsok/default.nix
+++ b/pkgs/games/xsok/default.nix
@@ -2,7 +2,6 @@
 , withNethackLevels ? true
 }:
 stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
   pname = "xsok";
   version = "1.02";
 
diff --git a/pkgs/games/xsokoban/default.nix b/pkgs/games/xsokoban/default.nix
index cf08db68cf03..3f6062c4f686 100644
--- a/pkgs/games/xsokoban/default.nix
+++ b/pkgs/games/xsokoban/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libX11, xorgproto, libXpm, libXt }:
 
 stdenv.mkDerivation rec {
-  name = "xsokoban-${version}";
+  pname = "xsokoban";
   version = "3.3c";
 
   src = fetchurl {
-    url = "https://www.cs.cornell.edu/andru/release/${name}.tar.gz";
+    url = "https://www.cs.cornell.edu/andru/release/${pname}-${version}.tar.gz";
     sha256 = "006lp8y22b9pi81x1a9ldfgkl1fbmkdzfw0lqw5y9svmisbafbr9";
   };
 
diff --git a/pkgs/games/xtris/default.nix b/pkgs/games/xtris/default.nix
index 9203389355c7..8f5f832058cc 100644
--- a/pkgs/games/xtris/default.nix
+++ b/pkgs/games/xtris/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchzip, xorg }:
 stdenv.mkDerivation rec {
-  name = "xtris-${version}";
+  pname = "xtris";
   version = "1.15";
 
   src = fetchzip {
diff --git a/pkgs/games/zandronum/fmod.nix b/pkgs/games/zandronum/fmod.nix
index a5d9098242bd..3d5160bb591c 100644
--- a/pkgs/games/zandronum/fmod.nix
+++ b/pkgs/games/zandronum/fmod.nix
@@ -6,7 +6,7 @@ let
 
 in
 stdenv.mkDerivation rec {
-  name = "fmod-${version}";
+  pname = "fmod";
   version = "4.44.64";
   shortVersion = builtins.replaceStrings [ "." ] [ "" ] version;
 
diff --git a/pkgs/games/zangband/default.nix b/pkgs/games/zangband/default.nix
index 3d5da2391157..0722e4bbbf95 100644
--- a/pkgs/games/zangband/default.nix
+++ b/pkgs/games/zangband/default.nix
@@ -1,12 +1,11 @@
 { stdenv, fetchurl, ncurses, flex, bison, autoconf, automake, m4, coreutils }:
 
 stdenv.mkDerivation rec {
-  name = pname + "-" + version;
   pname = "zangband";
   version = "2.7.4b";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/${pname}/${pname}-src/${version}/${name}.tar.gz";
+    url = "mirror://sourceforge/project/${pname}/${pname}-src/${version}/${pname}-${version}.tar.gz";
     sha256 = "0kkz6f9myhjnr3308sdab8q186rd55lapvcp38w8qmakdbhc828j";
   };
 
diff --git a/pkgs/games/zdoom/default.nix b/pkgs/games/zdoom/default.nix
index d2b94a14fe41..f6fde241129b 100644
--- a/pkgs/games/zdoom/default.nix
+++ b/pkgs/games/zdoom/default.nix
@@ -3,7 +3,7 @@
 , libsndfile, mpg123 }:
 
 stdenv.mkDerivation rec {
-  name = "zdoom-${version}";
+  pname = "zdoom";
   majorVersion = "2.8";
   version = "${majorVersion}.1";
 
diff --git a/pkgs/games/zdoom/zdbsp.nix b/pkgs/games/zdoom/zdbsp.nix
index fa2cafa298ac..430d5269a68e 100644
--- a/pkgs/games/zdoom/zdbsp.nix
+++ b/pkgs/games/zdoom/zdbsp.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, cmake, unzip, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "zdbsp-${version}";
+  pname = "zdbsp";
   version = "1.19";
 
   src = fetchurl {