about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/compilers
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/compilers')
-rw-r--r--nixpkgs/pkgs/development/compilers/abcl/default.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/apache-flex-sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/arachne-pnr/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/as31/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/asn1c/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/ats/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/ats2/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/avian/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/bigloo/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/binaryen/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/ccl/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/chez/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/chicken/4/chicken.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/clasp/default.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/closure/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/cmucl/binary.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/colm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/compcert/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/coreclr/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/crystal/build-package.nix53
-rw-r--r--nixpkgs/pkgs/development/compilers/crystal/crystal2nix.cr (renamed from nixpkgs/pkgs/development/compilers/mint/crystal2nix.cr)2
-rw-r--r--nixpkgs/pkgs/development/compilers/crystal/crystal2nix.nix16
-rw-r--r--nixpkgs/pkgs/development/compilers/crystal/default.nix22
-rw-r--r--nixpkgs/pkgs/development/compilers/cudatoolkit/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/dale/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/dev86/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/dmd/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/eli/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/eql/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/factor-lang/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/fasm/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/fpc/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/fpc/lazarus.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/fsharp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/fsharp41/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/fstar/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/gambit/bootstrap.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/gambit/build.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc-arm-embedded/6/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc-arm-embedded/7/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc-arm-embedded/8/default.nix10
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc-arm-embedded/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/gcl/2.6.13-pre.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/gcl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/gerbil/build.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/gforth/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/glslang/default.nix26
-rw-r--r--nixpkgs/pkgs/development/compilers/gnu-cobol/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/gnu-smalltalk/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/go-jsonnet/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/go/1.10.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/go/1.4.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/graalvm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/haxe/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/hhvm/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/iasl/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/inform7/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/intercal/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/ispc/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/javacard-devkit/default.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/jsonnet/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/julia/shared.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/jwasm/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/kotlin/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/ldc/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/3.5/clang.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/3.5/dragonegg.nix7
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/3.5/libc++/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/3.5/libc++abi/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/3.5/lld.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/3.5/lldb.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/3.5/llvm.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/3.5/polly.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/3.8/clang/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/3.8/libc++/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/3.8/libc++abi.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/3.8/lldb.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/3.8/llvm.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/3.9/clang/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/3.9/libc++/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/3.9/libc++abi.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/3.9/lldb.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/3.9/llvm.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/4/libc++/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/4/libc++abi.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/4/lld.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/4/lldb.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/4/openmp.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/libc++/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/libc++abi.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/lld.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/lldb.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/openmp.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/6/compiler-rt.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/6/libc++/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/6/libc++abi.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/6/lld.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/6/lldb.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/6/openmp.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/7/libc++/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/7/libc++abi.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/7/lld.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/7/lldb.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/7/openmp.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/8/libc++/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/8/libc++abi.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/8/libunwind.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/8/lld.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/8/lldb.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/8/openmp.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/manticore/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/mercury/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/microscheme/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/mint/default.nix59
-rw-r--r--nixpkgs/pkgs/development/compilers/mkcl/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/mlton/20130715.nix13
-rw-r--r--nixpkgs/pkgs/development/compilers/mlton/20180207-binary.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/mlton/from-git-source.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/mono/generic.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/mono/llvm.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/mosml/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/mozart/binary.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/nasm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/neko/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/nextpnr/default.nix12
-rw-r--r--nixpkgs/pkgs/development/compilers/nvidia-cg-toolkit/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/obliv-c/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/ocaml/3.08.0.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/ocaml/3.10.0.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/ocaml/3.11.2.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/ocaml/3.12.1.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/ocaml/4.00.1.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/ocaml/ber-metaocaml.nix8
-rw-r--r--nixpkgs/pkgs/development/compilers/ocaml/metaocaml-3.09.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/opa/default.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/openspin/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/polyml/5.6.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/polyml/5.7.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/polyml/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/ponyc/pony-stable.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/rgbds/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/binary.nix (renamed from nixpkgs/pkgs/development/compilers/rust/binaryBuild.nix)2
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/bootstrap.nix18
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/rustc.nix27
-rw-r--r--nixpkgs/pkgs/development/compilers/sbcl/bootstrap.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/sbcl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/scala/dotty-bare.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/sdcc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/seexpr/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/serpent/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/shaderc/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/smlnj/bootstrap.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/smlnj/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/solc/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/souffle/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/squeak/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/swi-prolog/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/terra/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/teyjus/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/tinycc/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/urweb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/vala/default.nix8
-rw-r--r--nixpkgs/pkgs/development/compilers/wcc/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/x11basic/default.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/yap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/yosys/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/zulu/8.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/zulu/default.nix2
174 files changed, 414 insertions, 289 deletions
diff --git a/nixpkgs/pkgs/development/compilers/abcl/default.nix b/nixpkgs/pkgs/development/compilers/abcl/default.nix
index c48b36e5aba5..accedf9a7af7 100644
--- a/nixpkgs/pkgs/development/compilers/abcl/default.nix
+++ b/nixpkgs/pkgs/development/compilers/abcl/default.nix
@@ -1,6 +1,5 @@
 {stdenv, fetchurl, ant, jre, jdk}:
 stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
   pname = "abcl";
   version = "1.5.0";
   # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
diff --git a/nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix b/nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix
index a3c34bd7e8e6..305e0f202bf1 100644
--- a/nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix
+++ b/nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "AdoptOpenJDK";
     repo = "IcedTea-Web";
-    rev = "${pname}-${version}";
+    rev = "icedtea-web-${version}";
     sha256 = "0bm5k11i2vgb54ch1bawsmjbwnqnp04saadwm2f2mggmmdc6b1qq";
   };
 
diff --git a/nixpkgs/pkgs/development/compilers/apache-flex-sdk/default.nix b/nixpkgs/pkgs/development/compilers/apache-flex-sdk/default.nix
index e8759ec073b3..ed6b2b2ff247 100644
--- a/nixpkgs/pkgs/development/compilers/apache-flex-sdk/default.nix
+++ b/nixpkgs/pkgs/development/compilers/apache-flex-sdk/default.nix
@@ -7,11 +7,11 @@ let
     sha256 = "0qw2bgls8qsmp80j8vpd4c7s0c8anlrk0ac8z42w89bajcdbwk2f";
   };
 in stdenv.mkDerivation rec {
-  name = "apache-flex-sdk-${version}";
+  pname = "apache-flex-sdk";
   version = "4.16.1";
 
   src = fetchurl {
-    url = "https://www.apache.org/dist/flex/${version}/binaries/${name}-bin.tar.gz";
+    url = "https://www.apache.org/dist/flex/${version}/binaries/${pname}-${version}-bin.tar.gz";
     sha256 = "13iq16dqvgcpb0p35x66hzxsq5pkbr2lbwr766nnqiryinnagz8p";
   };
 
diff --git a/nixpkgs/pkgs/development/compilers/arachne-pnr/default.nix b/nixpkgs/pkgs/development/compilers/arachne-pnr/default.nix
index ad68382c13ae..3058e926c3f9 100644
--- a/nixpkgs/pkgs/development/compilers/arachne-pnr/default.nix
+++ b/nixpkgs/pkgs/development/compilers/arachne-pnr/default.nix
@@ -3,7 +3,7 @@
 with builtins;
 
 stdenv.mkDerivation rec {
-  name = "arachne-pnr-${version}";
+  pname = "arachne-pnr";
   version = "2018.09.09";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/compilers/as31/default.nix b/nixpkgs/pkgs/development/compilers/as31/default.nix
index 519992fd8c26..b70fde00e15e 100644
--- a/nixpkgs/pkgs/development/compilers/as31/default.nix
+++ b/nixpkgs/pkgs/development/compilers/as31/default.nix
@@ -5,7 +5,8 @@ let
   version = "2.3.1";
 
 in stdenv.mkDerivation {
-  name = "as31-${version}";
+  pname = "as31";
+  inherit version;
   src = fetchurl {
     name = "as31-${version}.tar.gz"; # Nix doesn't like the colons in the URL
     url = "http://wiki.erazor-zone.de/_media/wiki:projects:linux:as31:as31-${version}.tar.gz";
diff --git a/nixpkgs/pkgs/development/compilers/asn1c/default.nix b/nixpkgs/pkgs/development/compilers/asn1c/default.nix
index ce754813dda1..3cbb7577f34c 100644
--- a/nixpkgs/pkgs/development/compilers/asn1c/default.nix
+++ b/nixpkgs/pkgs/development/compilers/asn1c/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, perl }:
 
 stdenv.mkDerivation rec {
-  name = "asn1c-${version}";
+  pname = "asn1c";
   version = "0.9.28";
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/development/compilers/ats/default.nix b/nixpkgs/pkgs/development/compilers/ats/default.nix
index 002f34daa13b..f086c36468d7 100644
--- a/nixpkgs/pkgs/development/compilers/ats/default.nix
+++ b/nixpkgs/pkgs/development/compilers/ats/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, gmp }:
 
 stdenv.mkDerivation rec {
-  name    = "ats-${version}";
+  pname = "ats";
   version = "0.2.12";
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/development/compilers/ats2/default.nix b/nixpkgs/pkgs/development/compilers/ats2/default.nix
index df61ea2b791c..a1e5927e349f 100644
--- a/nixpkgs/pkgs/development/compilers/ats2/default.nix
+++ b/nixpkgs/pkgs/development/compilers/ats2/default.nix
@@ -26,7 +26,7 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name    = "ats2-${version}";
+  pname = "ats2";
   version = versionPkg;
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/development/compilers/avian/default.nix b/nixpkgs/pkgs/development/compilers/avian/default.nix
index 387ae906b88d..34d1e64c484f 100644
--- a/nixpkgs/pkgs/development/compilers/avian/default.nix
+++ b/nixpkgs/pkgs/development/compilers/avian/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, zlib, jdk, CoreServices, Foundation }:
 
 stdenv.mkDerivation rec {
-  name = "avian-${version}";
+  pname = "avian";
   version = "1.2.0";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/compilers/bigloo/default.nix b/nixpkgs/pkgs/development/compilers/bigloo/default.nix
index bf2272a75c17..6e768e65091b 100644
--- a/nixpkgs/pkgs/development/compilers/bigloo/default.nix
+++ b/nixpkgs/pkgs/development/compilers/bigloo/default.nix
@@ -1,7 +1,7 @@
 { fetchurl, stdenv, gmp }:
 
 stdenv.mkDerivation rec {
-  name = "bigloo-${version}";
+  pname = "bigloo";
   version = "4.1a-2";
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/development/compilers/binaryen/default.nix b/nixpkgs/pkgs/development/compilers/binaryen/default.nix
index 52323b3de765..c0e6c4b50044 100644
--- a/nixpkgs/pkgs/development/compilers/binaryen/default.nix
+++ b/nixpkgs/pkgs/development/compilers/binaryen/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   rev = if emscriptenRev == null
         then "version_${version}"
         else emscriptenRev;
-  name = "binaryen-${version}";
+  pname = "binaryen";
 
   src = fetchFromGitHub {
     owner = "WebAssembly";
diff --git a/nixpkgs/pkgs/development/compilers/ccl/default.nix b/nixpkgs/pkgs/development/compilers/ccl/default.nix
index 646963eedbca..6fac183125f5 100644
--- a/nixpkgs/pkgs/development/compilers/ccl/default.nix
+++ b/nixpkgs/pkgs/development/compilers/ccl/default.nix
@@ -33,7 +33,7 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name     = "ccl-${version}";
+  pname = "ccl";
   version  = "1.11.5";
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/development/compilers/chez/default.nix b/nixpkgs/pkgs/development/compilers/chez/default.nix
index 9216c7791433..1bac7eb9b95e 100644
--- a/nixpkgs/pkgs/development/compilers/chez/default.nix
+++ b/nixpkgs/pkgs/development/compilers/chez/default.nix
@@ -4,7 +4,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name    = "chez-scheme-${version}";
+  pname = "chez-scheme";
   version = "9.5.2";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/compilers/chicken/4/chicken.nix b/nixpkgs/pkgs/development/compilers/chicken/4/chicken.nix
index ceeff56330b2..34512fc8ef05 100644
--- a/nixpkgs/pkgs/development/compilers/chicken/4/chicken.nix
+++ b/nixpkgs/pkgs/development/compilers/chicken/4/chicken.nix
@@ -11,7 +11,8 @@ let
   lib = stdenv.lib;
 in
 stdenv.mkDerivation {
-  name = "chicken-${version}";
+  pname = "chicken";
+  inherit version;
 
   binaryVersion = 8;
 
diff --git a/nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix b/nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix
index 74f711811907..5fefce12dbf1 100644
--- a/nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix
+++ b/nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix
@@ -11,7 +11,8 @@ let
   lib = stdenv.lib;
 in
 stdenv.mkDerivation {
-  name = "chicken-${version}";
+  pname = "chicken";
+  inherit version;
 
   binaryVersion = 11;
 
diff --git a/nixpkgs/pkgs/development/compilers/clasp/default.nix b/nixpkgs/pkgs/development/compilers/clasp/default.nix
index a1e29951ddb5..664d84921135 100644
--- a/nixpkgs/pkgs/development/compilers/clasp/default.nix
+++ b/nixpkgs/pkgs/development/compilers/clasp/default.nix
@@ -56,7 +56,6 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
   pname = "clasp";
   version = "0.8.99.20181128";
 
diff --git a/nixpkgs/pkgs/development/compilers/closure/default.nix b/nixpkgs/pkgs/development/compilers/closure/default.nix
index e9e973618257..d9f2a588d8f6 100644
--- a/nixpkgs/pkgs/development/compilers/closure/default.nix
+++ b/nixpkgs/pkgs/development/compilers/closure/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, jre, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "closure-compiler-${version}";
+  pname = "closure-compiler";
   version = "20190215";
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/development/compilers/cmucl/binary.nix b/nixpkgs/pkgs/development/compilers/cmucl/binary.nix
index 9e3184c42eb2..3f93ea9e1bac 100644
--- a/nixpkgs/pkgs/development/compilers/cmucl/binary.nix
+++ b/nixpkgs/pkgs/development/compilers/cmucl/binary.nix
@@ -19,7 +19,8 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "cmucl-binary-${version}";
+  pname = "cmucl-binary";
+  inherit version;
 
   buildCommand = ''
     mkdir -p $out
diff --git a/nixpkgs/pkgs/development/compilers/colm/default.nix b/nixpkgs/pkgs/development/compilers/colm/default.nix
index 237a80280ec8..cc8e9f827b7f 100644
--- a/nixpkgs/pkgs/development/compilers/colm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/colm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, makeWrapper, gcc, asciidoc, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "colm-${version}";
+  pname = "colm";
   version = "0.13.0.7";
 
   src = fetchurl {
-    url = "https://www.colm.net/files/colm/${name}.tar.gz";
+    url = "https://www.colm.net/files/colm/${pname}-${version}.tar.gz";
     sha256 = "0f76iri173l2wja2v7qrwmf958cqwh5g9x4bhj2z8wknmlla6gz4";
   };
 
diff --git a/nixpkgs/pkgs/development/compilers/compcert/default.nix b/nixpkgs/pkgs/development/compilers/compcert/default.nix
index 69e11a48918c..940eb851fe61 100644
--- a/nixpkgs/pkgs/development/compilers/compcert/default.nix
+++ b/nixpkgs/pkgs/development/compilers/compcert/default.nix
@@ -11,7 +11,7 @@ let
   ccomp-platform = if stdenv.isDarwin then "x86_64-macosx" else "x86_64-linux";
 in
 stdenv.mkDerivation rec {
-  name    = "compcert-${version}";
+  pname = "compcert";
   version = "3.5";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/compilers/coreclr/default.nix b/nixpkgs/pkgs/development/compilers/coreclr/default.nix
index 8be482e2150f..00816fca36bd 100644
--- a/nixpkgs/pkgs/development/compilers/coreclr/default.nix
+++ b/nixpkgs/pkgs/development/compilers/coreclr/default.nix
@@ -18,7 +18,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "coreclr-${version}";
+  pname = "coreclr";
   version = "2.0.7";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/compilers/crystal/build-package.nix b/nixpkgs/pkgs/development/compilers/crystal/build-package.nix
new file mode 100644
index 000000000000..8ffa89a11b4a
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/crystal/build-package.nix
@@ -0,0 +1,53 @@
+{ stdenv, lib, crystal, linkFarm, fetchFromGitHub }:
+{ # Generate shards.nix with `nix-shell -p crystal2nix --run crystal2nix` in the projects root
+  shardsFile ? null
+  # Specify binaries to build in the form { foo.src = "src/foo.cr"; }
+  # The default `crystal build` options can be overridden with { foo.options = [ "--no-debug" ]; }
+, crystalBinaries ? {}
+, ...
+}@args:
+let
+  mkDerivationArgs = builtins.removeAttrs args [ "shardsFile" "crystalBinaries" ];
+
+  crystalLib = linkFarm "crystal-lib" (lib.mapAttrsToList (name: value: {
+    inherit name;
+    path = fetchFromGitHub value;
+  }) (import shardsFile));
+
+  defaultOptions = [ "--release" "--progress" "--no-debug" "--verbose" ];
+
+in stdenv.mkDerivation (mkDerivationArgs // {
+
+  configurePhase = args.configurePhase or ''
+    runHook preConfigure
+    ${lib.optionalString (shardsFile != null) "ln -s ${crystalLib} lib"}
+    runHook postConfigure
+  '';
+
+  buildInputs = args.buildInputs or [] ++ [ crystal ];
+
+  buildPhase = args.buildPhase or ''
+    runHook preBuild
+    ${lib.concatStringsSep "\n" (lib.mapAttrsToList (bin: attrs: ''
+      crystal ${lib.escapeShellArgs ([
+        "build"
+        "-o" bin
+        (attrs.src or (throw "No source file for crystal binary ${bin} provided"))
+      ] ++ attrs.options or defaultOptions)}
+    '') crystalBinaries)}
+    runHook postBuild
+  '';
+
+  installPhase = args.installPhase or ''
+    runHook preInstall
+    mkdir -p "$out/bin"
+    ${lib.concatMapStringsSep "\n" (bin: ''
+      mv ${lib.escapeShellArgs [ bin "${placeholder "out"}/bin/${bin}" ]}
+    '') (lib.attrNames crystalBinaries)}
+    runHook postInstall
+  '';
+
+  meta = args.meta or {} // {
+    platforms = args.meta.platforms or crystal.meta.platforms;
+  };
+})
diff --git a/nixpkgs/pkgs/development/compilers/mint/crystal2nix.cr b/nixpkgs/pkgs/development/compilers/crystal/crystal2nix.cr
index f608102a37b4..0610de5cfa4d 100644
--- a/nixpkgs/pkgs/development/compilers/mint/crystal2nix.cr
+++ b/nixpkgs/pkgs/development/compilers/crystal/crystal2nix.cr
@@ -26,7 +26,7 @@ File.open "shards.nix", "w+" do |file|
 
     sha256 = ""
     args = ["--url", url, "--rev", rev]
-    Process.run("nix-prefetch-git", args: args) do |x|
+    Process.run("@nixPrefetchGit@", args: args) do |x|
       x.error.each_line { |e| puts e }
       sha256 = PrefetchJSON.from_json(x.output).sha256
     end
diff --git a/nixpkgs/pkgs/development/compilers/crystal/crystal2nix.nix b/nixpkgs/pkgs/development/compilers/crystal/crystal2nix.nix
new file mode 100644
index 000000000000..ac69b9b3d965
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/crystal/crystal2nix.nix
@@ -0,0 +1,16 @@
+{ lib, crystal, nix-prefetch-git }:
+crystal.buildCrystalPackage {
+  pname = "crystal2nix";
+  version = "unstable-2018-07-31";
+
+  nixPrefetchGit = "${lib.getBin nix-prefetch-git}/bin/nix-prefetch-git";
+  unpackPhase = "substituteAll ${./crystal2nix.cr} crystal2nix.cr";
+
+  crystalBinaries.crystal2nix.src = "crystal2nix.cr";
+
+  meta = with lib; {
+    description = "Utility to convert Crystal's shard.lock files to a Nix file";
+    license = licenses.mit;
+    maintainers = [ maintainers.manveru ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/crystal/default.nix b/nixpkgs/pkgs/development/compilers/crystal/default.nix
index db57bc3e9df7..0c79b3d394ff 100644
--- a/nixpkgs/pkgs/development/compilers/crystal/default.nix
+++ b/nixpkgs/pkgs/development/compilers/crystal/default.nix
@@ -1,6 +1,7 @@
 { stdenv, lib, fetchFromGitHub, fetchurl, makeWrapper
-, coreutils, git, gmp, nettools, openssl, readline, tzdata, libxml2, libyaml
-, boehmgc, libatomic_ops, pcre, libevent, libiconv, llvm, clang, which, zlib }:
+, coreutils, git, gmp, nettools, openssl_1_0_2, readline, tzdata, libxml2, libyaml
+, boehmgc, libatomic_ops, pcre, libevent, libiconv, llvm, clang, which, zlib
+, callPackage }:
 
 # We need multiple binaries as a given binary isn't always able to build
 # (even slightly) older or newer versions.
@@ -19,11 +20,12 @@ let
 
   arch = archs."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
 
-  checkInputs = [ git gmp openssl readline libxml2 libyaml ];
+  checkInputs = [ git gmp openssl_1_0_2 readline libxml2 libyaml ];
 
   genericBinary = { version, sha256s, rel ? 1 }:
   stdenv.mkDerivation rec {
-    name = "crystal-binary-${version}";
+    pname = "crystal-binary";
+    inherit version;
 
     src = fetchurl {
       url = "https://github.com/crystal-lang/crystal/releases/download/${version}/crystal-${version}-${toString rel}-${arch}.tar.gz";
@@ -37,7 +39,7 @@ let
   };
 
   generic = { version, sha256, binary, doCheck ? true }:
-  stdenv.mkDerivation rec {
+  let compiler = stdenv.mkDerivation rec {
     pname = "crystal";
     inherit doCheck version;
 
@@ -72,7 +74,7 @@ let
 
     buildInputs = [
       boehmgc libatomic_ops pcre libevent libyaml
-      llvm zlib openssl
+      llvm zlib openssl_1_0_2
     ] ++ stdenv.lib.optionals stdenv.isDarwin [
       libiconv
     ];
@@ -134,6 +136,10 @@ let
       export PATH=${lib.makeBinPath checkInputs}:$PATH
     '';
 
+    passthru.buildCrystalPackage = callPackage ./build-package.nix {
+      crystal = compiler;
+    };
+
     meta = with lib; {
       description = "A compiled language with Ruby like syntax and type inference";
       homepage = https://crystal-lang.org/;
@@ -141,7 +147,7 @@ let
       maintainers = with maintainers; [ manveru david50407 peterhoeg ];
       platforms = builtins.attrNames archs;
     };
-  };
+  }; in compiler;
 
 in rec {
   binaryCrystal_0_26 = genericBinary {
@@ -207,4 +213,6 @@ in rec {
   };
 
   crystal = crystal_0_30;
+
+  crystal2nix = callPackage ./crystal2nix.nix {};
 }
diff --git a/nixpkgs/pkgs/development/compilers/cudatoolkit/default.nix b/nixpkgs/pkgs/development/compilers/cudatoolkit/default.nix
index 5b9e9010ef05..8aab9580232b 100644
--- a/nixpkgs/pkgs/development/compilers/cudatoolkit/default.nix
+++ b/nixpkgs/pkgs/development/compilers/cudatoolkit/default.nix
@@ -16,7 +16,7 @@ let
     }:
 
     stdenv.mkDerivation rec {
-      name = "cudatoolkit-${version}";
+      pname = "cudatoolkit";
       inherit version runPatches;
 
       dontPatchELF = true;
diff --git a/nixpkgs/pkgs/development/compilers/dale/default.nix b/nixpkgs/pkgs/development/compilers/dale/default.nix
index 8bae6e2363f6..128c245d2773 100644
--- a/nixpkgs/pkgs/development/compilers/dale/default.nix
+++ b/nixpkgs/pkgs/development/compilers/dale/default.nix
@@ -11,7 +11,8 @@
 let version = "20170519";
 
 in stdenv.mkDerivation {
-  name = "dale-${version}";
+  pname = "dale";
+  inherit version;
 
   src = fetchFromGitHub {
     owner = "tomhrr";
diff --git a/nixpkgs/pkgs/development/compilers/dev86/default.nix b/nixpkgs/pkgs/development/compilers/dev86/default.nix
index 514075651e15..839ee821d00e 100644
--- a/nixpkgs/pkgs/development/compilers/dev86/default.nix
+++ b/nixpkgs/pkgs/development/compilers/dev86/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "dev86-${version}";
+  pname = "dev86";
   version = "0.16.21";
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/development/compilers/dmd/default.nix b/nixpkgs/pkgs/development/compilers/dmd/default.nix
index b3b58e836215..332ded31df6a 100644
--- a/nixpkgs/pkgs/development/compilers/dmd/default.nix
+++ b/nixpkgs/pkgs/development/compilers/dmd/default.nix
@@ -22,7 +22,7 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "dmd-${version}";
+  pname = "dmd";
   inherit version;
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/compilers/eli/default.nix b/nixpkgs/pkgs/development/compilers/eli/default.nix
index 4635c6d0a4e8..a22862c42920 100644
--- a/nixpkgs/pkgs/development/compilers/eli/default.nix
+++ b/nixpkgs/pkgs/development/compilers/eli/default.nix
@@ -28,11 +28,11 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  name = "eli-${version}";
+  pname = "eli";
   version = "4.8.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/eli-project/Eli/Eli%20${version}/${name}.tar.bz2";
+    url = "mirror://sourceforge/project/eli-project/Eli/Eli%20${version}/${pname}-${version}.tar.bz2";
     sha256="1vran8583hbwrr5dciji4zkhz3f88w4mn8n9sdpr6zw0plpf1whj";
   };
 
diff --git a/nixpkgs/pkgs/development/compilers/eql/default.nix b/nixpkgs/pkgs/development/compilers/eql/default.nix
index 1128fbe64ec3..cb960227bebe 100644
--- a/nixpkgs/pkgs/development/compilers/eql/default.nix
+++ b/nixpkgs/pkgs/development/compilers/eql/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   version = src.rev;
-  name = "eql-git-${version}";
+  pname = "eql-git";
   src = fetchgit {
     rev = "9097bf98446ee33c07bb155d800395775ce0d9b2";
     url = "https://gitlab.com/eql/eql.git";
diff --git a/nixpkgs/pkgs/development/compilers/factor-lang/default.nix b/nixpkgs/pkgs/development/compilers/factor-lang/default.nix
index 405aa8aa3ca5..ef445faec923 100644
--- a/nixpkgs/pkgs/development/compilers/factor-lang/default.nix
+++ b/nixpkgs/pkgs/development/compilers/factor-lang/default.nix
@@ -4,7 +4,7 @@
   mesa, xorg, openssl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "factor-lang-${version}";
+  pname = "factor-lang";
   version = "0.98";
   rev = "7999e72aecc3c5bc4019d43dc4697f49678cc3b4";
 
diff --git a/nixpkgs/pkgs/development/compilers/fasm/default.nix b/nixpkgs/pkgs/development/compilers/fasm/default.nix
index 47b90469234f..4b20c4051a82 100644
--- a/nixpkgs/pkgs/development/compilers/fasm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/fasm/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation rec {
   inherit (fasm-bin) version src meta;
 
-  name = "fasm-${version}";
+  pname = "fasm";
 
   nativeBuildInputs = [ fasm-bin ];
 
diff --git a/nixpkgs/pkgs/development/compilers/fpc/default.nix b/nixpkgs/pkgs/development/compilers/fpc/default.nix
index b516019ffc9a..a2b73f61c279 100644
--- a/nixpkgs/pkgs/development/compilers/fpc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/fpc/default.nix
@@ -4,7 +4,7 @@ let startFPC = import ./binary.nix { inherit stdenv fetchurl; }; in
 
 stdenv.mkDerivation rec {
   version = "3.0.0";
-  name = "fpc-${version}";
+  pname = "fpc";
 
   src = fetchurl {
     url = "mirror://sourceforge/freepascal/fpcbuild-${version}.tar.gz";
diff --git a/nixpkgs/pkgs/development/compilers/fpc/lazarus.nix b/nixpkgs/pkgs/development/compilers/fpc/lazarus.nix
index 3fe72e6b5057..1b3f4d168ee9 100644
--- a/nixpkgs/pkgs/development/compilers/fpc/lazarus.nix
+++ b/nixpkgs/pkgs/development/compilers/fpc/lazarus.nix
@@ -3,7 +3,7 @@
 , libXi, xorgproto, libX11, libXext
 }:
 stdenv.mkDerivation rec {
-  name = "lazarus-${version}";
+  pname = "lazarus";
   version = "1.8.4";
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/development/compilers/fsharp/default.nix b/nixpkgs/pkgs/development/compilers/fsharp/default.nix
index 2de487cc9c8b..bcb95d9ca906 100644
--- a/nixpkgs/pkgs/development/compilers/fsharp/default.nix
+++ b/nixpkgs/pkgs/development/compilers/fsharp/default.nix
@@ -3,7 +3,7 @@
 { stdenv, fetchurl, mono, pkgconfig, dotnetbuildhelpers, autoconf, automake, which }:
 
 stdenv.mkDerivation rec {
-  name = "fsharp-${version}";
+  pname = "fsharp";
   version = "4.0.1.1";
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/development/compilers/fsharp41/default.nix b/nixpkgs/pkgs/development/compilers/fsharp41/default.nix
index 468fd49ba44e..e497deb2e873 100644
--- a/nixpkgs/pkgs/development/compilers/fsharp41/default.nix
+++ b/nixpkgs/pkgs/development/compilers/fsharp41/default.nix
@@ -3,7 +3,7 @@
 { stdenv, fetchurl, pkgconfig, autoconf, automake, which, mono, msbuild, dotnetbuildhelpers, dotnetPackages }:
 
 stdenv.mkDerivation rec {
-  name = "fsharp-${version}";
+  pname = "fsharp";
   version = "4.1.34";
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/development/compilers/fstar/default.nix b/nixpkgs/pkgs/development/compilers/fstar/default.nix
index 94836e84fd68..9306eec817f9 100644
--- a/nixpkgs/pkgs/development/compilers/fstar/default.nix
+++ b/nixpkgs/pkgs/development/compilers/fstar/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, z3, ocamlPackages, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "fstar-${version}";
+  pname = "fstar";
   version = "0.9.6.0";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/compilers/gambit/bootstrap.nix b/nixpkgs/pkgs/development/compilers/gambit/bootstrap.nix
index 65cd67f527d4..eca2cba7775f 100644
--- a/nixpkgs/pkgs/development/compilers/gambit/bootstrap.nix
+++ b/nixpkgs/pkgs/development/compilers/gambit/bootstrap.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, autoconf, ... }:
 
 stdenv.mkDerivation rec {
-  name    = "gambit-bootstrap-${version}";
+  pname = "gambit-bootstrap";
   version = "4.9.3";
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/development/compilers/gambit/build.nix b/nixpkgs/pkgs/development/compilers/gambit/build.nix
index 65d16c48a616..7a3324d75602 100644
--- a/nixpkgs/pkgs/development/compilers/gambit/build.nix
+++ b/nixpkgs/pkgs/development/compilers/gambit/build.nix
@@ -1,7 +1,8 @@
 { stdenv, git, openssl, autoconf, pkgs, makeStaticLibraries, version, src }:
 
 stdenv.mkDerivation rec {
-  name    = "gambit-${version}";
+  pname = "gambit";
+  inherit version;
   inherit src;
 
   bootstrap = import ./bootstrap.nix ( pkgs );
diff --git a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/6/default.nix b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/6/default.nix
index 9e5a172eed84..940dec0338ca 100644
--- a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/6/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/6/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, ncurses5, python27 }:
 
 stdenv.mkDerivation rec {
-  name = "gcc-arm-embedded-${version}";
+  pname = "gcc-arm-embedded";
   version = "6-2017-q2-update";
   subdir = "6-2017q2";
 
diff --git a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/7/default.nix b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/7/default.nix
index 80e042b5c2e9..90f9d5957bb3 100644
--- a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/7/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/7/default.nix
@@ -3,7 +3,7 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  name = "gcc-arm-embedded-${version}";
+  pname = "gcc-arm-embedded";
   version = "7-2018-q2-update";
   subdir = "7-2018q2";
 
diff --git a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/8/default.nix b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/8/default.nix
index ee57dcc8c144..b2815cc71849 100644
--- a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/8/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/8/default.nix
@@ -3,20 +3,20 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  name = "gcc-arm-embedded-${version}";
-  version = "8-2018-q4-major";
-  subdir = "8-2018q4";
+  pname = "gcc-arm-embedded";
+  version = "8-2019-q3-update";
+  subdir = "8-2019q3/RC1.1";
 
   src =
   if stdenv.isLinux then
     fetchurl {
       url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-linux.tar.bz2";
-      sha256="fb31fbdfe08406ece43eef5df623c0b2deb8b53e405e2c878300f7a1f303ee52";
+      sha256="b50b02b0a16e5aad8620e9d7c31110ef285c1dde28980b1a9448b764d77d8f92";
     }
   else if stdenv.isDarwin then
     fetchurl {
       url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-mac.tar.bz2";
-      sha256="0q44r57fizpk1z3ngcjwal3rxgsnzjyfknpgwlwzmw5r9p98wlhb";
+      sha256="fc235ce853bf3bceba46eff4b95764c5935ca07fc4998762ef5e5b7d05f37085";
     }
   else throw "unsupported platform";
 
diff --git a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/default.nix b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/default.nix
index 350eed2fedd0..b86b35525a67 100644
--- a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/default.nix
@@ -14,7 +14,8 @@ let
     else "${majorVersion}-${year}-q${quarter}-${releaseType}"; # 4.7-2013-q3-update
 in
 stdenv.mkDerivation {
-  name = "gcc-arm-embedded-${version}";
+  pname = "gcc-arm-embedded";
+  inherit version;
 
   src = fetchurl {
     url = "https://launchpad.net/gcc-arm-embedded/${dirName_}/${subdirName_}/+download/gcc-arm-none-eabi-${underscoreVersion}-linux.tar.bz2";
diff --git a/nixpkgs/pkgs/development/compilers/gcl/2.6.13-pre.nix b/nixpkgs/pkgs/development/compilers/gcl/2.6.13-pre.nix
index 16450cf24ab4..1c3df80645a8 100644
--- a/nixpkgs/pkgs/development/compilers/gcl/2.6.13-pre.nix
+++ b/nixpkgs/pkgs/development/compilers/gcl/2.6.13-pre.nix
@@ -8,7 +8,7 @@ assert stdenv.cc ? libc ;
 assert stdenv.cc.libc != null ;
 
 stdenv.mkDerivation rec {
-  name = "gcl-${version}";
+  pname = "gcl";
   version = "2.6.13pre50";
 
   src = fetchgit {
diff --git a/nixpkgs/pkgs/development/compilers/gcl/default.nix b/nixpkgs/pkgs/development/compilers/gcl/default.nix
index 50d397d2cd47..e3c2d0e09de3 100644
--- a/nixpkgs/pkgs/development/compilers/gcl/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcl/default.nix
@@ -8,12 +8,12 @@ assert stdenv.cc ? libc ;
 assert stdenv.cc.libc != null ;
 
 stdenv.mkDerivation rec {
-  name = "gcl-${version}";
+  pname = "gcl";
   version = "2.6.12";
 
   src = fetchurl {
     sha256 = "1s4hs2qbjqmn9h88l4xvsifq5c3dlc5s74lyb61rdi5grhdlkf4f";
-    url = "http://gnu.spinellicreations.com/gcl/${name}.tar.gz";
+    url = "http://gnu.spinellicreations.com/gcl/${pname}-${version}.tar.gz";
   };
 
   patches = [(fetchurl {
diff --git a/nixpkgs/pkgs/development/compilers/gerbil/build.nix b/nixpkgs/pkgs/development/compilers/gerbil/build.nix
index b20d6f9c47ef..9ef650c330fa 100644
--- a/nixpkgs/pkgs/development/compilers/gerbil/build.nix
+++ b/nixpkgs/pkgs/development/compilers/gerbil/build.nix
@@ -7,7 +7,8 @@
 # TODO: make static compilation work
 
 stdenv.mkDerivation rec {
-  name    = "gerbil-${version}";
+  pname = "gerbil";
+  inherit version;
   inherit src;
 
   # Use makeStaticLibraries to enable creation of statically linked binaries
diff --git a/nixpkgs/pkgs/development/compilers/gforth/default.nix b/nixpkgs/pkgs/development/compilers/gforth/default.nix
index 675522d54ead..e90e0dc3d983 100644
--- a/nixpkgs/pkgs/development/compilers/gforth/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gforth/default.nix
@@ -4,7 +4,8 @@ let
   version = "0.7.3";
 in
 stdenv.mkDerivation {
-  name = "gforth-${version}";
+  pname = "gforth";
+  inherit version;
   src = fetchurl {
     url = "https://ftp.gnu.org/gnu/gforth/gforth-${version}.tar.gz";
     sha256 = "1c1bahc9ypmca8rv2dijiqbangm1d9av286904yw48ph7ciz4qig";
diff --git a/nixpkgs/pkgs/development/compilers/glslang/default.nix b/nixpkgs/pkgs/development/compilers/glslang/default.nix
index 3c46dfc107b8..161e57b54792 100644
--- a/nixpkgs/pkgs/development/compilers/glslang/default.nix
+++ b/nixpkgs/pkgs/development/compilers/glslang/default.nix
@@ -1,16 +1,29 @@
-{ stdenv, fetchFromGitHub, cmake, bison, jq, python, spirv-tools, spirv-headers }:
+{ stdenv, fetchFromGitHub
+, bison
+, cmake
+, jq
+, python3
+, spirv-headers
+, spirv-tools
+}:
+
 stdenv.mkDerivation rec {
-  name = "glslang-${version}";
-  version = "7.11.3113";
+  pname = "glslang";
+  version = "7.11.3214";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "glslang";
-    rev = "${version}";
-    sha256 = "1kzv2b4q1fddxd7c0hc754nd6rw6y9vijb9fsi13xzzq9dficgb6";
+    rev = version;
+    sha256 = "0dqjga0lcza006fhac26zp2plbq4gx8a6nsmrwkqlzji6lw1jins";
+  };
+
+  # These get set at all-packages, keep onto them for child drvs
+  passthru = {
+    inherit spirv-tools spirv-headers;
   };
 
-  nativeBuildInputs = [ cmake python bison jq ];
+  nativeBuildInputs = [ cmake python3 bison jq ];
   enableParallelBuilding = true;
 
   postPatch = ''
@@ -18,6 +31,7 @@ stdenv.mkDerivation rec {
     ln -s "${spirv-headers.src}" External/spirv-tools/external/spirv-headers
   '';
 
+  # Ensure spirv-headers and spirv-tools match exactly to what is expected
   preConfigure = ''
     HEADERS_COMMIT=$(jq -r < known_good.json '.commits|map(select(.name=="spirv-tools/external/spirv-headers"))[0].commit')
     TOOLS_COMMIT=$(jq -r < known_good.json '.commits|map(select(.name=="spirv-tools"))[0].commit')
diff --git a/nixpkgs/pkgs/development/compilers/gnu-cobol/default.nix b/nixpkgs/pkgs/development/compilers/gnu-cobol/default.nix
index ae27964ae8f0..df5202cb1c20 100644
--- a/nixpkgs/pkgs/development/compilers/gnu-cobol/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gnu-cobol/default.nix
@@ -6,7 +6,7 @@ let
   lib = stdenv.lib;
 in
 stdenv.mkDerivation rec {
-  name = "gnu-cobol-${version}";
+  pname = "gnu-cobol";
   inherit version;
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/development/compilers/gnu-smalltalk/default.nix b/nixpkgs/pkgs/development/compilers/gnu-smalltalk/default.nix
index 41c325c2b1ad..1035091654a6 100644
--- a/nixpkgs/pkgs/development/compilers/gnu-smalltalk/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gnu-smalltalk/default.nix
@@ -18,7 +18,7 @@ let # The gnu-smalltalk project has a dependency to the libsigsegv library.
 in stdenv.mkDerivation rec {
 
   version = "3.2.5";
-  name = "gnu-smalltalk-${version}";
+  pname = "gnu-smalltalk";
 
   src = fetchurl {
     url = "mirror://gnu/smalltalk/smalltalk-${version}.tar.xz";
diff --git a/nixpkgs/pkgs/development/compilers/go-jsonnet/default.nix b/nixpkgs/pkgs/development/compilers/go-jsonnet/default.nix
index 69507685f29b..e051d41993cc 100644
--- a/nixpkgs/pkgs/development/compilers/go-jsonnet/default.nix
+++ b/nixpkgs/pkgs/development/compilers/go-jsonnet/default.nix
@@ -1,7 +1,7 @@
 { lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "go-jsonnet-${version}";
+  pname = "go-jsonnet";
   version = "0.13.0";
 
   goPackagePath = "github.com/google/go-jsonnet";
diff --git a/nixpkgs/pkgs/development/compilers/go/1.10.nix b/nixpkgs/pkgs/development/compilers/go/1.10.nix
index 39de36293c8e..3b924f58bfe1 100644
--- a/nixpkgs/pkgs/development/compilers/go/1.10.nix
+++ b/nixpkgs/pkgs/development/compilers/go/1.10.nix
@@ -23,7 +23,7 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "go-${version}";
+  pname = "go";
   version = "1.10.8";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/compilers/go/1.4.nix b/nixpkgs/pkgs/development/compilers/go/1.4.nix
index 95312f9e1ead..97c243439e89 100644
--- a/nixpkgs/pkgs/development/compilers/go/1.4.nix
+++ b/nixpkgs/pkgs/development/compilers/go/1.4.nix
@@ -8,7 +8,7 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "go-${version}";
+  pname = "go";
   version = "1.4-bootstrap-20161024";
   revision = "79d85a4965ea7c46db483314c3981751909d7883";
 
diff --git a/nixpkgs/pkgs/development/compilers/graalvm/default.nix b/nixpkgs/pkgs/development/compilers/graalvm/default.nix
index be03e1aeeed3..61e3b6c16aee 100644
--- a/nixpkgs/pkgs/development/compilers/graalvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/graalvm/default.nix
@@ -214,7 +214,7 @@ in rec {
 
   jvmci8 = stdenv.mkDerivation rec {
     version = "19.2-b01";
-    name = "jvmci-${version}";
+    pname = "jvmci";
     src = fetchFromGitHub {
       owner  = "graalvm";
       repo   = "graal-jvmci-8";
@@ -280,7 +280,7 @@ in rec {
 
   graalvm8 = stdenv.mkDerivation rec {
     inherit version;
-    name = "graal-${version}";
+    pname = "graal";
     src = fetchFromGitHub {
       owner  = "oracle";
       repo   = "graal";
diff --git a/nixpkgs/pkgs/development/compilers/haxe/default.nix b/nixpkgs/pkgs/development/compilers/haxe/default.nix
index 0a974fccc888..7e11c75e07dc 100644
--- a/nixpkgs/pkgs/development/compilers/haxe/default.nix
+++ b/nixpkgs/pkgs/development/compilers/haxe/default.nix
@@ -3,7 +3,8 @@
 let
   generic = { version, sha256, prePatch }:
     stdenv.mkDerivation rec {
-      name = "haxe-${version}";
+      pname = "haxe";
+      inherit version;
 
       buildInputs = [ocaml zlib pcre neko camlp4];
 
diff --git a/nixpkgs/pkgs/development/compilers/hhvm/default.nix b/nixpkgs/pkgs/development/compilers/hhvm/default.nix
index 010dacd0c71a..24e88f9ee2e2 100644
--- a/nixpkgs/pkgs/development/compilers/hhvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/hhvm/default.nix
@@ -7,7 +7,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name    = "hhvm-${version}";
+  pname = "hhvm";
   version = "3.23.2";
 
   # use git version since we need submodules
diff --git a/nixpkgs/pkgs/development/compilers/iasl/default.nix b/nixpkgs/pkgs/development/compilers/iasl/default.nix
index 2b5891256043..b1b31aecae13 100644
--- a/nixpkgs/pkgs/development/compilers/iasl/default.nix
+++ b/nixpkgs/pkgs/development/compilers/iasl/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, bison, flex}:
 
 stdenv.mkDerivation rec {
-  name = "iasl-${version}";
+  pname = "iasl";
   version = "20181213";
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/development/compilers/inform7/default.nix b/nixpkgs/pkgs/development/compilers/inform7/default.nix
index a6955c030519..2a6551aad187 100644
--- a/nixpkgs/pkgs/development/compilers/inform7/default.nix
+++ b/nixpkgs/pkgs/development/compilers/inform7/default.nix
@@ -2,7 +2,8 @@
 let
   version = "6M62";
 in stdenv.mkDerivation {
-  name = "inform7-${version}";
+  pname = "inform7";
+  inherit version;
   buildInputs = [ perl coreutils gnutar gzip ];
   src = fetchzip {
     url = "http://inform7.com/download/content/6M62/I7_6M62_Linux_all.tar.gz";
diff --git a/nixpkgs/pkgs/development/compilers/intercal/default.nix b/nixpkgs/pkgs/development/compilers/intercal/default.nix
index f601dc254a43..6640c4aa89ab 100644
--- a/nixpkgs/pkgs/development/compilers/intercal/default.nix
+++ b/nixpkgs/pkgs/development/compilers/intercal/default.nix
@@ -6,11 +6,11 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
 
-  name = "intercal-${version}";
+  pname = "intercal";
   version = "0.30";
 
   src = fetchurl {
-    url = "http://catb.org/esr/intercal/${name}.tar.gz";
+    url = "http://catb.org/esr/intercal/${pname}-${version}.tar.gz";
     sha256 = "058ppvvgz9r5603ia9jkknbrciypgg4hjbczrv9v1d9w3ak652xk";
   };
 
diff --git a/nixpkgs/pkgs/development/compilers/ispc/default.nix b/nixpkgs/pkgs/development/compilers/ispc/default.nix
index 1cbe95232eb7..f240deda0bf9 100644
--- a/nixpkgs/pkgs/development/compilers/ispc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/ispc/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   inherit testedTargets;
 
-  name = "ispc-${version}";
+  pname = "ispc";
 
   src = fetchFromGitHub {
     owner = "ispc";
diff --git a/nixpkgs/pkgs/development/compilers/javacard-devkit/default.nix b/nixpkgs/pkgs/development/compilers/javacard-devkit/default.nix
index 06f321bc39c4..f49d3d6e2109 100644
--- a/nixpkgs/pkgs/development/compilers/javacard-devkit/default.nix
+++ b/nixpkgs/pkgs/development/compilers/javacard-devkit/default.nix
@@ -3,7 +3,6 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
   pname = "javacard-devkit";
   version = "2.2.2";
   uscoreVersion = builtins.replaceStrings ["."] ["_"] version;
diff --git a/nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix b/nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix
index d407fb46b9b5..1349b7f0dddc 100644
--- a/nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix
+++ b/nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix
@@ -8,7 +8,6 @@
 let drv = stdenv.mkDerivation rec {
   pname = "jetbrainsjdk";
   version = "164";
-  name = pname + "-" + version;
 
   src = if stdenv.hostPlatform.system == "x86_64-linux" then
     fetchurl {
diff --git a/nixpkgs/pkgs/development/compilers/jsonnet/default.nix b/nixpkgs/pkgs/development/compilers/jsonnet/default.nix
index 7bbad0e12016..460ff405b94e 100644
--- a/nixpkgs/pkgs/development/compilers/jsonnet/default.nix
+++ b/nixpkgs/pkgs/development/compilers/jsonnet/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  name = "jsonnet-${version}";
+  pname = "jsonnet";
   version = "0.13.0";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/compilers/julia/shared.nix b/nixpkgs/pkgs/development/compilers/julia/shared.nix
index d8d521952bda..c0414c6259fd 100644
--- a/nixpkgs/pkgs/development/compilers/julia/shared.nix
+++ b/nixpkgs/pkgs/development/compilers/julia/shared.nix
@@ -77,10 +77,9 @@ in
 stdenv.mkDerivation rec {
   pname = "julia";
   inherit version;
-  name = "${pname}-${version}";
 
   src = fetchzip {
-    url = "https://github.com/JuliaLang/${pname}/releases/download/v${version}/${name}.tar.gz";
+    url = "https://github.com/JuliaLang/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
     sha256 = src_sha256;
   };
   prePatch = ''
diff --git a/nixpkgs/pkgs/development/compilers/jwasm/default.nix b/nixpkgs/pkgs/development/compilers/jwasm/default.nix
index 9800b33e7a9e..b2db09e1c182 100644
--- a/nixpkgs/pkgs/development/compilers/jwasm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/jwasm/default.nix
@@ -3,7 +3,7 @@
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "jwasm-${version}";
+  pname = "jwasm";
   version = "git-2017-11-22";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/compilers/kotlin/default.nix b/nixpkgs/pkgs/development/compilers/kotlin/default.nix
index 32659d5be564..754ab020d51e 100644
--- a/nixpkgs/pkgs/development/compilers/kotlin/default.nix
+++ b/nixpkgs/pkgs/development/compilers/kotlin/default.nix
@@ -4,7 +4,7 @@ let
   version = "1.3.41";
 in stdenv.mkDerivation rec {
   inherit version;
-  name = "kotlin-${version}";
+  pname = "kotlin";
 
   src = fetchurl {
     url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip";
diff --git a/nixpkgs/pkgs/development/compilers/ldc/default.nix b/nixpkgs/pkgs/development/compilers/ldc/default.nix
index e4ef37e4721d..787a9352e225 100644
--- a/nixpkgs/pkgs/development/compilers/ldc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/ldc/default.nix
@@ -21,7 +21,8 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "ldc-${version}";
+  pname = "ldc";
+  inherit version;
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.5/clang.nix b/nixpkgs/pkgs/development/compilers/llvm/3.5/clang.nix
index 132cd67a4aeb..9a602c62777d 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/3.5/clang.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/3.5/clang.nix
@@ -2,7 +2,8 @@
 let
   gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
 in stdenv.mkDerivation {
-  name = "clang-${version}";
+  pname = "clang";
+  inherit version;
 
   src = fetch "cfe" "0846h8vn3zlc00jkmvrmy88gc6ql6014c02l4jv78fpvfigmgssg";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.5/dragonegg.nix b/nixpkgs/pkgs/development/compilers/llvm/3.5/dragonegg.nix
index d54ffd96382d..e327fa79c6f0 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/3.5/dragonegg.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/3.5/dragonegg.nix
@@ -1,7 +1,8 @@
 {stdenv, fetch, llvm, gmp, mpfr, libmpc, ncurses, zlib, version}:
 
 stdenv.mkDerivation rec {
-  name = "dragonegg-${version}";
+  pname = "dragonegg";
+  inherit version;
 
   src = fetch "dragonegg" "1va4wv2b1dj0dpzsksnpnd0jic52q7pqj79w3m9jwdb58h7104dw";
 
@@ -11,9 +12,9 @@ stdenv.mkDerivation rec {
   buildInputs = [ llvm gmp mpfr libmpc ncurses zlib ];
 
   installPhase = ''
-    mkdir -p $out/lib $out/share/doc/${name}
+    mkdir -p $out/lib $out/share/doc/${pname}-${version}
     cp -d dragonegg.so $out/lib
-    cp README COPYING $out/share/doc/${name}
+    cp README COPYING $out/share/doc/${pname}-${version}
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.5/libc++/default.nix b/nixpkgs/pkgs/development/compilers/llvm/3.5/libc++/default.nix
index 6edd5e9798c7..4f766e5f9a5c 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/3.5/libc++/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/3.5/libc++/default.nix
@@ -3,7 +3,8 @@
 let version = "3.5.2"; in
 
 stdenv.mkDerivation rec {
-  name = "libc++-${version}";
+  pname = "libc++";
+  inherit version;
 
   src = fetchurl {
     url = "http://llvm.org/releases/${version}/libcxx-${version}.src.tar.xz";
diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.5/libc++abi/default.nix b/nixpkgs/pkgs/development/compilers/llvm/3.5/libc++abi/default.nix
index 268f2702a234..d295ddbf8a44 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/3.5/libc++abi/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/3.5/libc++abi/default.nix
@@ -8,7 +8,8 @@ let
     sha256 = "10idgcbs4pcx6mjsbq1vjm8hzqqdk2p7k86cw9f473jmfyfwgf5j";
   };
 in stdenv.mkDerivation {
-  name = "libc++abi-${version}";
+  pname = "libc++abi";
+  inherit version;
 
   src = fetchurl {
     url    = "http://llvm.org/releases/${version}/libcxxabi-${version}.src.tar.xz";
diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.5/lld.nix b/nixpkgs/pkgs/development/compilers/llvm/3.5/lld.nix
index 4a398bd96a05..8fe4dd6f1d5f 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/3.5/lld.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/3.5/lld.nix
@@ -1,7 +1,8 @@
 { stdenv, fetch, cmake, llvm, ncurses, zlib, python, version }:
 
 stdenv.mkDerivation {
-  name = "lld-${version}";
+  pname = "lld";
+  inherit version;
 
   src = fetch "lld" "1hpqawg1sc8mdqxqaxqmlzbrn69w1pkj8rxhjgqgmwra6c0xky89";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.5/lldb.nix b/nixpkgs/pkgs/development/compilers/llvm/3.5/lldb.nix
index a5161333b282..b4823e9d8c2a 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/3.5/lldb.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/3.5/lldb.nix
@@ -13,7 +13,8 @@
 }:
 
 stdenv.mkDerivation {
-  name = "lldb-${version}";
+  pname = "lldb";
+  inherit version;
 
   src = fetch "lldb" "0ffi9jn4k3yd0hvxs1v4n710x8siq21lb49v3351d7j5qinrpgi7";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.5/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/3.5/llvm.nix
index 6eec99717785..95632a45999d 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/3.5/llvm.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/3.5/llvm.nix
@@ -18,7 +18,8 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "llvm-${version}";
+  pname = "llvm";
+  inherit version;
 
   src = fetch "llvm" "0xf5q17kkxsrm2gsi93h4pwlv663kji73r2g4asb97klsmb626a4";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.5/polly.nix b/nixpkgs/pkgs/development/compilers/llvm/3.5/polly.nix
index bacf4d30556b..06bc7490c7b5 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/3.5/polly.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/3.5/polly.nix
@@ -1,7 +1,8 @@
 { stdenv, fetch, cmake, isl, python, gmp, llvm, version }:
 
 stdenv.mkDerivation {
-  name = "polly-${version}";
+  pname = "polly";
+  inherit version;
 
   src =  fetch "polly" "1s6v54czmgq626an4yk2k34lrzkwmz1bjrbiafh7j23yc2w4nalx";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.8/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/3.8/clang/default.nix
index 47a1bed126da..0276393d840c 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/3.8/clang/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/3.8/clang/default.nix
@@ -3,7 +3,8 @@
 let
   gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
   self = stdenv.mkDerivation {
-    name = "clang-${version}";
+    pname = "clang";
+    inherit version;
 
     src = fetch "cfe" "1prc72xmkgx8wrzmrr337776676nhsp1qd3mw2bvb22bzdnq7lsc";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.8/libc++/default.nix b/nixpkgs/pkgs/development/compilers/llvm/3.8/libc++/default.nix
index 5a0410302f2f..b66284152d49 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/3.8/libc++/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/3.8/libc++/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetch, cmake, libcxxabi, fixDarwinDylibNames, version }:
 
 stdenv.mkDerivation rec {
-  name = "libc++-${version}";
+  pname = "libc++";
+  inherit version;
 
   src = fetch "libcxx" "1k7f9qk5bgwa02ksh6yr9hccwcbhmcdzl1fpbdw6s2c89iwg7mvp";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.8/libc++abi.nix b/nixpkgs/pkgs/development/compilers/llvm/3.8/libc++abi.nix
index 8b25681c2dbf..80b069fff75a 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/3.8/libc++abi.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/3.8/libc++abi.nix
@@ -1,7 +1,8 @@
 { stdenv, cmake, fetch, libcxx, libunwind, llvm, version }:
 
 stdenv.mkDerivation {
-  name = "libc++abi-${version}";
+  pname = "libc++abi";
+  inherit version;
 
   src = fetch "libcxxabi" "1qfs2iis1i0ppv11jndc98cvd7s25pj46pq2sfyldmzswdxmzdg1";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.8/lldb.nix b/nixpkgs/pkgs/development/compilers/llvm/3.8/lldb.nix
index d27786464c05..985cd6663857 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/3.8/lldb.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/3.8/lldb.nix
@@ -13,7 +13,8 @@
 }:
 
 stdenv.mkDerivation {
-  name = "lldb-${version}";
+  pname = "lldb";
+  inherit version;
 
   src = fetch "lldb" "18z8vhfgh4m57hl66i83cp4d4mv3i86z2hjhbp5rvqs7d88li49l";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.8/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/3.8/llvm.nix
index a73b73137ddc..5fe681185b2d 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/3.8/llvm.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/3.8/llvm.nix
@@ -17,7 +17,8 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "llvm-${version}";
+  pname = "llvm";
+  inherit version;
 
   src = fetch "llvm" "1ybmnid4pw2hxn12ax5qa5kl1ldfns0njg8533y3mzslvd5cx0kf";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.9/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/3.9/clang/default.nix
index e2cf437e19e1..3d09277ad4cf 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/3.9/clang/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/3.9/clang/default.nix
@@ -3,7 +3,8 @@
 let
   gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
   self = stdenv.mkDerivation {
-    name = "clang-${version}";
+    pname = "clang";
+    inherit version;
 
     src = fetch "cfe" "0qsyyb40iwifhhlx9a3drf8z6ni6zwyk3bvh0kx2gs6yjsxwxi76";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.9/libc++/default.nix b/nixpkgs/pkgs/development/compilers/llvm/3.9/libc++/default.nix
index bd2cc19d2e0b..af65fd6388ea 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/3.9/libc++/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/3.9/libc++/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetch, cmake, libcxxabi, fixDarwinDylibNames, version }:
 
 stdenv.mkDerivation rec {
-  name = "libc++-${version}";
+  pname = "libc++";
+  inherit version;
 
   src = fetch "libcxx" "0qbl3afl2p2h87p977lsqr5kykl6cgjpkzczs0g6a3pn53j1bri5";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.9/libc++abi.nix b/nixpkgs/pkgs/development/compilers/llvm/3.9/libc++abi.nix
index dffb207a32b6..f799199d449f 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/3.9/libc++abi.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/3.9/libc++abi.nix
@@ -1,7 +1,8 @@
 { stdenv, cmake, fetch, libcxx, libunwind, llvm, version }:
 
 stdenv.mkDerivation {
-  name = "libc++abi-${version}";
+  pname = "libc++abi";
+  inherit version;
 
   src = fetch "libcxxabi" "1qi9q06zanqm8awzq83810avmvi52air6gr9zfip8mbg5viqn3cj";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.9/lldb.nix b/nixpkgs/pkgs/development/compilers/llvm/3.9/lldb.nix
index 52f27de8cdb5..1a7c9aeead86 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/3.9/lldb.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/3.9/lldb.nix
@@ -13,7 +13,8 @@
 }:
 
 stdenv.mkDerivation {
-  name = "lldb-${version}";
+  pname = "lldb";
+  inherit version;
 
   src = fetch "lldb" "1z30ljmcpp261bjng1i5k3bb9jkrs1cr97z04qs4s3zql6r12cvy";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.9/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/3.9/llvm.nix
index c8d819cc9634..4dde3be277ab 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/3.9/llvm.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/3.9/llvm.nix
@@ -27,7 +27,8 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "llvm-${version}";
+  pname = "llvm";
+  inherit version;
 
   src = fetch "llvm" "1vi9sf7rx1q04wj479rsvxayb6z740iaz3qniwp266fgp5a07n8z";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/4/libc++/default.nix b/nixpkgs/pkgs/development/compilers/llvm/4/libc++/default.nix
index 2b543b9d793a..74e9b8719d1d 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/4/libc++/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/4/libc++/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetch, cmake, python, libcxxabi, fixDarwinDylibNames, version }:
 
 stdenv.mkDerivation rec {
-  name = "libc++-${version}";
+  pname = "libc++";
+  inherit version;
 
   src = fetch "libcxx" "0k6cmjcxnp2pyl8xwy1wkyyckkmdrjddim94yf1gzjbjy9qi22jj";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/4/libc++abi.nix b/nixpkgs/pkgs/development/compilers/llvm/4/libc++abi.nix
index 735c5e9e7435..8e36c5ad53a6 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/4/libc++abi.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/4/libc++abi.nix
@@ -1,7 +1,8 @@
 { stdenv, cmake, fetch, libcxx, libunwind, llvm, version }:
 
 stdenv.mkDerivation {
-  name = "libc++abi-${version}";
+  pname = "libc++abi";
+  inherit version;
 
   src = fetch "libcxxabi" "0cqvzallxh0nwiijsf6i4d5ds9m5ijfzywg7376ncv50i64if24g";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/4/lld.nix b/nixpkgs/pkgs/development/compilers/llvm/4/lld.nix
index cf6de26a9e83..3ab56677d72f 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/4/lld.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/4/lld.nix
@@ -6,7 +6,8 @@
 }:
 
 stdenv.mkDerivation {
-  name = "lld-${version}";
+  pname = "lld";
+  inherit version;
 
   src = fetch "lld" "1v9nkpr158j4yd4zmi6rpnfxkp78r1fapr8wji9s6v176gji1kk3";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/4/lldb.nix b/nixpkgs/pkgs/development/compilers/llvm/4/lldb.nix
index 325149fc19be..8adf11abddda 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/4/lldb.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/4/lldb.nix
@@ -15,7 +15,8 @@
 }:
 
 stdenv.mkDerivation {
-  name = "lldb-${version}";
+  pname = "lldb";
+  inherit version;
 
   src = fetch "lldb" "0yy43a27zx3r51b6gkv3v2mdiqcq3mf0ngki47ya0i30v3gx4cl4";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/4/openmp.nix b/nixpkgs/pkgs/development/compilers/llvm/4/openmp.nix
index a8a6b3dfea87..a69fe286ecc0 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/4/openmp.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/4/openmp.nix
@@ -7,7 +7,8 @@
 }:
 
 stdenv.mkDerivation {
-  name = "openmp-${version}";
+  pname = "openmp";
+  inherit version;
 
   src = fetch "openmp" "195dykamd39yhi5az7nqj3ksqhb3wq30l93jnfkxl0061qbknsgc";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt.nix b/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt.nix
index 19833e4d3d4a..9660be4df11f 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt.nix
@@ -1,7 +1,7 @@
 { stdenv, version, fetch, cmake, python, llvm, libcxxabi }:
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "compiler-rt-${version}";
+  pname = "compiler-rt";
   inherit version;
   src = fetch "compiler-rt" "0ipd4jdxpczgr2w6lzrabymz6dhzj69ywmyybjjc1q397zgrvziy";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/libc++/default.nix b/nixpkgs/pkgs/development/compilers/llvm/5/libc++/default.nix
index b182f1250e72..e3015ae8448d 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/5/libc++/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/5/libc++/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetch, cmake, python, libcxxabi, fixDarwinDylibNames, version }:
 
 stdenv.mkDerivation rec {
-  name = "libc++-${version}";
+  pname = "libc++";
+  inherit version;
 
   src = fetch "libcxx" "1672aaf95fgy4xsfra8pw24f6r93zwzpan1033hkcm8p2glqipvf";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/libc++abi.nix b/nixpkgs/pkgs/development/compilers/llvm/5/libc++abi.nix
index 227ecbeda194..1b891af09ed1 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/5/libc++abi.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/5/libc++abi.nix
@@ -1,7 +1,8 @@
 { stdenv, cmake, fetch, libcxx, libunwind, llvm, version }:
 
 stdenv.mkDerivation {
-  name = "libc++abi-${version}";
+  pname = "libc++abi";
+  inherit version;
 
   src = fetch "libcxxabi" "12lp799rskr4fc2xr64qn4jfkjnfd8b1aymvsxyn4k9ar7r9pgqv";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/lld.nix b/nixpkgs/pkgs/development/compilers/llvm/5/lld.nix
index bf23f80ef103..bfee91d91bf6 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/5/lld.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/5/lld.nix
@@ -6,7 +6,8 @@
 }:
 
 stdenv.mkDerivation {
-  name = "lld-${version}";
+  pname = "lld";
+  inherit version;
 
   src = fetch "lld" "1ah75rjly6747jk1zbwca3z0svr9b09ylgxd4x9ns721xir6sia6";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/lldb.nix b/nixpkgs/pkgs/development/compilers/llvm/5/lldb.nix
index 5e670d4de159..cce44c7e50f9 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/5/lldb.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/5/lldb.nix
@@ -15,7 +15,8 @@
 }:
 
 stdenv.mkDerivation {
-  name = "lldb-${version}";
+  pname = "lldb";
+  inherit version;
 
   src = fetch "lldb" "05j2a63yzln43852nng8a7y47spzlyr1cvdmgmbxgd29c8r0bfkq";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/openmp.nix b/nixpkgs/pkgs/development/compilers/llvm/5/openmp.nix
index 901015bf2ff4..559377bcc1b7 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/5/openmp.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/5/openmp.nix
@@ -7,7 +7,8 @@
 }:
 
 stdenv.mkDerivation {
-  name = "openmp-${version}";
+  pname = "openmp";
+  inherit version;
 
   src = fetch "openmp" "0p2n52676wlq6y9q99n5pivq6pvvda1p994r69fxj206ahn59jir";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/compiler-rt.nix b/nixpkgs/pkgs/development/compilers/llvm/6/compiler-rt.nix
index be18a315f12a..da2a5cfb58ae 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/6/compiler-rt.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/6/compiler-rt.nix
@@ -1,7 +1,7 @@
 { stdenv, version, fetch, cmake, python, llvm, libcxxabi }:
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "compiler-rt-${version}";
+  pname = "compiler-rt";
   inherit version;
   src = fetch "compiler-rt" "1fcr3jn24yr8lh36nc0c4ikli4744i2q9m1ik67p1jymwwaixkgl";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/libc++/default.nix b/nixpkgs/pkgs/development/compilers/llvm/6/libc++/default.nix
index 3a165e9da7b1..906baa4ae646 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/6/libc++/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/6/libc++/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetch, cmake, python, libcxxabi, fixDarwinDylibNames, version }:
 
 stdenv.mkDerivation rec {
-  name = "libc++-${version}";
+  pname = "libc++";
+  inherit version;
 
   src = fetch "libcxx" "0rzw4qvxp6qx4l4h9amrq02gp7hbg8lw4m0sy3k60f50234gnm3n";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/libc++abi.nix b/nixpkgs/pkgs/development/compilers/llvm/6/libc++abi.nix
index df9c784a10f4..ac1f4f653e6a 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/6/libc++abi.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/6/libc++abi.nix
@@ -1,7 +1,8 @@
 { stdenv, cmake, fetch, libcxx, libunwind, llvm, version }:
 
 stdenv.mkDerivation {
-  name = "libc++abi-${version}";
+  pname = "libc++abi";
+  inherit version;
 
   src = fetch "libcxxabi" "0prqvdj317qrc8nddaq1hh2ag9algkd9wbkj3y4mr5588k12x7r0";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/lld.nix b/nixpkgs/pkgs/development/compilers/llvm/6/lld.nix
index 1e68276945ec..58b9b8060fa3 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/6/lld.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/6/lld.nix
@@ -7,7 +7,8 @@
 }:
 
 stdenv.mkDerivation {
-  name = "lld-${version}";
+  pname = "lld";
+  inherit version;
 
   src = fetch "lld" "04afcfq2h7ysyqxxhyhb7ig4p0vdw7mi63kh8mffl74j0rc781p7";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/lldb.nix b/nixpkgs/pkgs/development/compilers/llvm/6/lldb.nix
index 9571e7ab5a63..d3db8082c963 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/6/lldb.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/6/lldb.nix
@@ -15,7 +15,8 @@
 }:
 
 stdenv.mkDerivation {
-  name = "lldb-${version}";
+  pname = "lldb";
+  inherit version;
 
   src = fetch "lldb" "05178zkyh84x32n91md6wm22lkzzrrfwa5cpmgzn0yrg3y2771bb";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/openmp.nix b/nixpkgs/pkgs/development/compilers/llvm/6/openmp.nix
index 908a5f1218f7..447904b9ad5f 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/6/openmp.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/6/openmp.nix
@@ -7,7 +7,8 @@
 }:
 
 stdenv.mkDerivation {
-  name = "openmp-${version}";
+  pname = "openmp";
+  inherit version;
 
   src = fetch "openmp" "0nhwfba9c351r16zgyjyfwdayr98nairky3c2f0b2lc360mwmbv6";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt.nix b/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt.nix
index 989529ff8cc8..e9cc6dfc1dbe 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt.nix
@@ -1,6 +1,6 @@
 { stdenv, version, fetch, cmake, python, llvm, libcxxabi }:
 stdenv.mkDerivation rec {
-  name = "compiler-rt-${version}";
+  pname = "compiler-rt";
   inherit version;
   src = fetch "compiler-rt" "1n48p8gjarihkws0i2bay5w9bdwyxyxxbpwyng7ba58jb30dlyq5";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/libc++/default.nix b/nixpkgs/pkgs/development/compilers/llvm/7/libc++/default.nix
index e2ec4e274f4c..fc9e3714db0c 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/7/libc++/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/7/libc++/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetch, cmake, python, libcxxabi, fixDarwinDylibNames, version }:
 
 stdenv.mkDerivation rec {
-  name = "libc++-${version}";
+  pname = "libc++";
+  inherit version;
 
   src = fetch "libcxx" "0kmhcapm2cjwalyiqasj9dmqbw59mcwdl8fgl951wg7ax84b8hj4";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/libc++abi.nix b/nixpkgs/pkgs/development/compilers/llvm/7/libc++abi.nix
index 2fe6f1c58f66..b5e6e0e70480 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/7/libc++abi.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/7/libc++abi.nix
@@ -1,7 +1,8 @@
 { stdenv, cmake, fetch, libcxx, libunwind, llvm, version }:
 
 stdenv.mkDerivation {
-  name = "libc++abi-${version}";
+  pname = "libc++abi";
+  inherit version;
 
   src = fetch "libcxxabi" "1zcqxsdjhawgz1cvpk07y3jl6fg9p3ay4nl69zsirqb2ghgyhhb2";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/lld.nix b/nixpkgs/pkgs/development/compilers/llvm/7/lld.nix
index 63ad43e62cd7..823e9640cf4e 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/7/lld.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/7/lld.nix
@@ -7,7 +7,8 @@
 }:
 
 stdenv.mkDerivation {
-  name = "lld-${version}";
+  pname = "lld";
+  inherit version;
 
   src = fetch "lld" "0rsqb7zcnij5r5ipfhr129j7skr5n9pyr388kjpqwh091952f3x1";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/lldb.nix b/nixpkgs/pkgs/development/compilers/llvm/7/lldb.nix
index 1b2dff2c76cf..44687ead4d1c 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/7/lldb.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/7/lldb.nix
@@ -16,7 +16,8 @@
 }:
 
 stdenv.mkDerivation {
-  name = "lldb-${version}";
+  pname = "lldb";
+  inherit version;
 
   src = fetch "lldb" "0klsscg1sczc4nw2l53xggi969k361cng2sjjrfp3bv4g5x14s4v";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/openmp.nix b/nixpkgs/pkgs/development/compilers/llvm/7/openmp.nix
index e55f4aa5ba13..7adc2aa588e3 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/7/openmp.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/7/openmp.nix
@@ -7,7 +7,8 @@
 }:
 
 stdenv.mkDerivation {
-  name = "openmp-${version}";
+  pname = "openmp";
+  inherit version;
 
   src = fetch "openmp" "1dg53wzsci2kra8lh1y0chh60h2l8h1by93br5spzvzlxshkmrqy";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt.nix b/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt.nix
index 5959b99316d9..1f216178b558 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt.nix
@@ -1,6 +1,6 @@
 { stdenv, version, fetch, cmake, python, llvm, libcxxabi }:
 stdenv.mkDerivation rec {
-  name = "compiler-rt-${version}";
+  pname = "compiler-rt";
   inherit version;
   src = fetch "compiler-rt" "0dqqf8f930l8gag4d9qjgn1n0pj0nbv2anviqqhdi1rkhas8z0hi";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/libc++/default.nix b/nixpkgs/pkgs/development/compilers/llvm/8/libc++/default.nix
index f8a07de07222..e0bc9e816f50 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/8/libc++/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/8/libc++/default.nix
@@ -2,7 +2,8 @@
 , enableShared ? true }:
 
 stdenv.mkDerivation rec {
-  name = "libc++-${version}";
+  pname = "libc++";
+  inherit version;
 
   src = fetch "libcxx" "0y4vc9z36c1zlq15cnibdzxnc1xi5glbc6klnm8a41q3db4541kz";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/libc++abi.nix b/nixpkgs/pkgs/development/compilers/llvm/8/libc++abi.nix
index 1ee6d069f4b5..58a1241d8236 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/8/libc++abi.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/8/libc++abi.nix
@@ -2,7 +2,8 @@
 , enableShared ? true }:
 
 stdenv.mkDerivation {
-  name = "libc++abi-${version}";
+  pname = "libc++abi";
+  inherit version;
 
   src = fetch "libcxxabi" "1vznz8n1z1h8af0ga451m98lc2hjnv4fyzl71napsvjhvk4g6nxp";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/libunwind.nix b/nixpkgs/pkgs/development/compilers/llvm/8/libunwind.nix
index 75edd1fff54d..646cd3c3ca4a 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/8/libunwind.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/8/libunwind.nix
@@ -1,7 +1,8 @@
 { stdenv, version, fetch, cmake, fetchpatch, enableShared ? true }:
 
 stdenv.mkDerivation {
-  name = "libunwind-${version}";
+  pname = "libunwind";
+  inherit version;
 
   src = fetch "libunwind" "0vhgcgzsb33l83qaikrkj87ypqb48mi607rccczccwiiv8ficw0q";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/lld.nix b/nixpkgs/pkgs/development/compilers/llvm/8/lld.nix
index aec1b14b9943..fc52d691d030 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/8/lld.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/8/lld.nix
@@ -7,7 +7,8 @@
 }:
 
 stdenv.mkDerivation {
-  name = "lld-${version}";
+  pname = "lld";
+  inherit version;
 
   src = fetch "lld" "121xhxrlvwy3k5nf6p1wv31whxlb635ssfkci8z93mwv4ja1xflz";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/lldb.nix b/nixpkgs/pkgs/development/compilers/llvm/8/lldb.nix
index f31da000bb82..254933c82a09 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/8/lldb.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/8/lldb.nix
@@ -15,7 +15,8 @@
 }:
 
 stdenv.mkDerivation {
-  name = "lldb-${version}";
+  pname = "lldb";
+  inherit version;
 
   src = fetch "lldb" "1mriw4adrwm6kzabrjr7yqmdiylxd6glf6samd80dp8idnm9p9z8";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/openmp.nix b/nixpkgs/pkgs/development/compilers/llvm/8/openmp.nix
index 8cf551735619..166e7f68eb3b 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/8/openmp.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/8/openmp.nix
@@ -7,7 +7,8 @@
 }:
 
 stdenv.mkDerivation {
-  name = "openmp-${version}";
+  pname = "openmp";
+  inherit version;
 
   src = fetch "openmp" "0b3jlxhqbpyd1nqkpxjfggm5d9va5qpyf7d4i5y7n4a1mlydv19y";
 
diff --git a/nixpkgs/pkgs/development/compilers/manticore/default.nix b/nixpkgs/pkgs/development/compilers/manticore/default.nix
index efbf8561b7ff..1c0bdf479871 100644
--- a/nixpkgs/pkgs/development/compilers/manticore/default.nix
+++ b/nixpkgs/pkgs/development/compilers/manticore/default.nix
@@ -3,7 +3,7 @@
 let
   rev= "47273c463fc3c5d0a0ae655cf75a4700bdb020b4";
 in stdenv.mkDerivation rec {
-  name = "manticore-${version}";
+  pname = "manticore";
   version = "2018.09.29";
  
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/compilers/mercury/default.nix b/nixpkgs/pkgs/development/compilers/mercury/default.nix
index b7fc3e4dd772..0327e0dc2155 100644
--- a/nixpkgs/pkgs/development/compilers/mercury/default.nix
+++ b/nixpkgs/pkgs/development/compilers/mercury/default.nix
@@ -2,7 +2,7 @@
 , readline }:
 
 stdenv.mkDerivation rec {
-  name    = "mercury-${version}";
+  pname = "mercury";
   version = "14.01.1";
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/development/compilers/microscheme/default.nix b/nixpkgs/pkgs/development/compilers/microscheme/default.nix
index f15a76243277..a18202b9f884 100644
--- a/nixpkgs/pkgs/development/compilers/microscheme/default.nix
+++ b/nixpkgs/pkgs/development/compilers/microscheme/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchzip, vim, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "microscheme-${version}";
+  pname = "microscheme";
   version = "0.9.3";
 
   src = fetchzip {
-    name = "${name}-src";
+    name = "${pname}-${version}-src";
     url = "https://github.com/ryansuchocki/microscheme/archive/v${version}.tar.gz";
     sha256 = "1r3ng4pw1s9yy1h5rafra1rq19d3vmb5pzbpcz1913wz22qdd976";
   };
diff --git a/nixpkgs/pkgs/development/compilers/mint/default.nix b/nixpkgs/pkgs/development/compilers/mint/default.nix
index 1c8e9fb7eb20..5f72bd3649b1 100644
--- a/nixpkgs/pkgs/development/compilers/mint/default.nix
+++ b/nixpkgs/pkgs/development/compilers/mint/default.nix
@@ -1,40 +1,7 @@
-# Updating the dependencies for this package:
-#
-#   wget https://raw.githubusercontent.com/mint-lang/mint/0.3.1/shard.lock
-#   nix-shell -p crystal libyaml --run 'crystal run crystal2nix.cr'
-#
-{stdenv, lib, fetchFromGitHub, crystal, zlib, openssl, duktape, which, libyaml }:
-let
-  crystalPackages = lib.mapAttrs (name: src:
-    stdenv.mkDerivation {
-      name = lib.replaceStrings ["/"] ["-"] name;
-      src = fetchFromGitHub src;
-      phases = "installPhase";
-      installPhase = ''cp -r $src $out'';
-      passthru = { libName = name; };
-    }
-  ) (import ./shards.nix);
-
-  crystalLib = stdenv.mkDerivation {
-    name = "crystal-lib";
-    src = lib.attrValues crystalPackages;
-    libNames = lib.mapAttrsToList (k: v: [k v]) crystalPackages;
-    phases = "buildPhase";
-    buildPhase = ''
-      mkdir -p $out
-      linkup () {
-        while [ "$#" -gt 0 ]; do
-          ln -s $2 $out/$1
-          shift; shift
-        done
-      }
-      linkup $libNames
-    '';
-  };
-in
-stdenv.mkDerivation rec {
+{ lib, fetchFromGitHub, crystal, zlib, openssl_1_0_2, duktape, which, libyaml }:
+crystal.buildCrystalPackage rec {
   version = "0.5.0";
-  name = "mint-${version}";
+  pname = "mint";
   src = fetchFromGitHub {
     owner = "mint-lang";
     repo = "mint";
@@ -42,23 +9,19 @@ stdenv.mkDerivation rec {
     sha256 = "0vxbx38c390rd2ysvbwgh89v2232sh5rbsp3nk9wzb70jybpslvl";
   };
 
-  nativeBuildInputs = [ which crystal zlib openssl duktape libyaml ];
-
-  buildPhase = ''
-    mkdir -p $out/bin tmp
-    cd tmp
-    ln -s ${crystalLib} lib
-    cp -r $src/* .
-    crystal build src/mint.cr -o $out/bin/mint --verbose --progress --release --no-debug
-  '';
+  buildInputs = [ openssl_1_0_2 ];
 
-  installPhase = ''true'';
+  # Update with
+  #   nix-shell -p crystal2nix --run crystal2nix
+  # with mint's shard.lock file in the current directory
+  shardsFile = ./shards.nix;
+  crystalBinaries.mint.src = "src/mint.cr";
 
   meta = {
     description = "A refreshing language for the front-end web";
     homepage = https://mint-lang.com/;
-    license = stdenv.lib.licenses.bsd3;
-    maintainers = with stdenv.lib.maintainers; [ manveru ];
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ manveru ];
     platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/mkcl/default.nix b/nixpkgs/pkgs/development/compilers/mkcl/default.nix
index 72626ec0014b..405846343cf1 100644
--- a/nixpkgs/pkgs/development/compilers/mkcl/default.nix
+++ b/nixpkgs/pkgs/development/compilers/mkcl/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, makeWrapper, gmp, gcc }:
 
 with stdenv.lib; stdenv.mkDerivation rec {
-  name = "mkcl-${version}";
+  pname = "mkcl";
   version = "1.1.11";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/compilers/mlton/20130715.nix b/nixpkgs/pkgs/development/compilers/mlton/20130715.nix
index f495be8a93e4..207ed8f29bc7 100644
--- a/nixpkgs/pkgs/development/compilers/mlton/20130715.nix
+++ b/nixpkgs/pkgs/development/compilers/mlton/20130715.nix
@@ -9,32 +9,33 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "mlton-${version}";
+  pname = "mlton";
+  inherit version;
 
   binSrc =
     if stdenv.hostPlatform.system == "i686-linux" then (fetchurl {
-      url = "mirror://sourceforge/project/mlton/mlton/${version}/${name}-1.x86-linux.tgz";
+      url = "mirror://sourceforge/project/mlton/mlton/${version}/${pname}-${version}-1.x86-linux.tgz";
       sha256 = "1kxjjmnw4xk2d9hpvz43w9dvyhb3025k4zvjx785c33nrwkrdn4j";
     })
     else if stdenv.hostPlatform.system == "x86_64-linux" then (fetchurl {
-        url = "mirror://sourceforge/project/mlton/mlton/${version}/${name}-1.amd64-linux.tgz";
+        url = "mirror://sourceforge/project/mlton/mlton/${version}/${pname}-${version}-1.amd64-linux.tgz";
         sha256 = "0fyhwxb4nmpirjbjcvk9f6w67gmn2gkz7xcgz0xbfih9kc015ygn";
     })
     else if stdenv.hostPlatform.system == "x86_64-darwin" then (fetchurl {
-        url = "mirror://sourceforge/project/mlton/mlton/${version}/${name}-1.amd64-darwin.gmp-macports.tgz";
+        url = "mirror://sourceforge/project/mlton/mlton/${version}/${pname}-${version}-1.amd64-darwin.gmp-macports.tgz";
         sha256 = "044wnh9hhg6if886xy805683k0as347xd37r0r1yi4x7qlxzzgx9";
     })
     else throw "Architecture not supported";
 
   codeSrc =
     fetchurl {
-      url = "mirror://sourceforge/project/mlton/mlton/${version}/${name}.src.tgz";
+      url = "mirror://sourceforge/project/mlton/mlton/${version}/${pname}-${version}.src.tgz";
       sha256 = "0v1x2hrh9hiqkvnbq11kf34v4i5a2x0ffxbzqaa8skyl26nmfn11";
     };
 
   srcs = [ binSrc codeSrc ];
 
-  sourceRoot = name;
+  sourceRoot = "${pname}-${version}";
 
   buildInputs = [ gmp ];
   nativeBuildInputs = stdenv.lib.optional stdenv.isLinux patchelf;
diff --git a/nixpkgs/pkgs/development/compilers/mlton/20180207-binary.nix b/nixpkgs/pkgs/development/compilers/mlton/20180207-binary.nix
index 0589733cb3c6..2b4998f91c91 100644
--- a/nixpkgs/pkgs/development/compilers/mlton/20180207-binary.nix
+++ b/nixpkgs/pkgs/development/compilers/mlton/20180207-binary.nix
@@ -3,15 +3,15 @@ let
   dynamic-linker = stdenv.cc.bintools.dynamicLinker;
 in
 stdenv.mkDerivation rec {
-  name = "mlton-${version}";
+  pname = "mlton";
   version = "20180207";
 
   src = if stdenv.hostPlatform.system == "x86_64-linux" then (fetchurl {
-    url = "https://github.com/MLton/mlton/releases/download/on-${version}-release/${name}-1.amd64-linux.tgz";
+    url = "https://github.com/MLton/mlton/releases/download/on-${version}-release/${pname}-${version}-1.amd64-linux.tgz";
     sha256 = "0f4q575yfm5dpg4a2wsnqn4l2zrar96p6rlsk0dw10ggyfwvsjlf";
     })
   else if stdenv.hostPlatform.system == "x86_64-darwin" then (fetchurl {
-    url = "https://github.com/MLton/mlton/releases/download/on-${version}-release/${name}-1.amd64-darwin.gmp-static.tgz";
+    url = "https://github.com/MLton/mlton/releases/download/on-${version}-release/${pname}-${version}-1.amd64-darwin.gmp-static.tgz";
       sha256 = "1cw7yhw48qp12q0adwf8srpjzrgkp84kmlkqw3pz8vkxz4p9hbdv";
     })
   else
diff --git a/nixpkgs/pkgs/development/compilers/mlton/from-git-source.nix b/nixpkgs/pkgs/development/compilers/mlton/from-git-source.nix
index 3a3538a7ea42..2585b599caf3 100644
--- a/nixpkgs/pkgs/development/compilers/mlton/from-git-source.nix
+++ b/nixpkgs/pkgs/development/compilers/mlton/from-git-source.nix
@@ -9,7 +9,8 @@
 }:
 
 stdenv.mkDerivation {
-  name = "mlton-${version}";
+  pname = "mlton";
+  inherit version;
 
   src = fetchgit {
     inherit url rev sha256;
diff --git a/nixpkgs/pkgs/development/compilers/mono/generic.nix b/nixpkgs/pkgs/development/compilers/mono/generic.nix
index 6b5c15642a5c..9a2f01b9f3d5 100644
--- a/nixpkgs/pkgs/development/compilers/mono/generic.nix
+++ b/nixpkgs/pkgs/development/compilers/mono/generic.nix
@@ -7,10 +7,12 @@ let
   llvm     = callPackage ./llvm.nix { };
 in
 stdenv.mkDerivation rec {
-  name = "mono-${version}";
+  pname = "mono";
+  inherit version;
+
   src = fetchurl {
     inherit sha256;
-    url = "https://download.mono-project.com/sources/mono/${name}.${srcArchiveSuffix}";
+    url = "https://download.mono-project.com/sources/mono/${pname}-${version}.${srcArchiveSuffix}";
   };
 
   buildInputs =
diff --git a/nixpkgs/pkgs/development/compilers/mono/llvm.nix b/nixpkgs/pkgs/development/compilers/mono/llvm.nix
index 616ec420d2d0..193e45bf55eb 100644
--- a/nixpkgs/pkgs/development/compilers/mono/llvm.nix
+++ b/nixpkgs/pkgs/development/compilers/mono/llvm.nix
@@ -14,7 +14,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name    = "llvm-${version}";
+  pname = "llvm";
   version = "3.6-mono-2017-02-15";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/compilers/mosml/default.nix b/nixpkgs/pkgs/development/compilers/mosml/default.nix
index b22072651a46..19324593a30c 100644
--- a/nixpkgs/pkgs/development/compilers/mosml/default.nix
+++ b/nixpkgs/pkgs/development/compilers/mosml/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, gmp, perl }:
 
 stdenv.mkDerivation rec {
-  name = "mosml-${version}";
+  pname = "mosml";
   version = "2.10.1";
 
   buildInputs = [ gmp perl ];
diff --git a/nixpkgs/pkgs/development/compilers/mozart/binary.nix b/nixpkgs/pkgs/development/compilers/mozart/binary.nix
index ef6cd1160b33..2067184a5b00 100644
--- a/nixpkgs/pkgs/development/compilers/mozart/binary.nix
+++ b/nixpkgs/pkgs/development/compilers/mozart/binary.nix
@@ -16,7 +16,8 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "mozart-binary-${version}";
+  pname = "mozart-binary";
+  inherit version;
 
   preferLocalBuild = true;
 
diff --git a/nixpkgs/pkgs/development/compilers/nasm/default.nix b/nixpkgs/pkgs/development/compilers/nasm/default.nix
index bfb3c154a3c7..8d92bc4eba2f 100644
--- a/nixpkgs/pkgs/development/compilers/nasm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/nasm/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchFromRepoOrCz, autoreconfHook, perl, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl }:
 
 stdenv.mkDerivation rec {
-  name = "nasm-${version}";
+  pname = "nasm";
   version = "2.14.02";
 
   src = fetchFromRepoOrCz {
     repo = "nasm";
-    rev = name;
+    rev = "${pname}-${version}";
     sha256 = "15z6ybnzlsrqs2964h6czqhpmr7vc3ln4y4h0z9vrznk4mqcwbsa";
   };
 
diff --git a/nixpkgs/pkgs/development/compilers/neko/default.nix b/nixpkgs/pkgs/development/compilers/neko/default.nix
index e2aa5736c7a3..74ccaac388f2 100644
--- a/nixpkgs/pkgs/development/compilers/neko/default.nix
+++ b/nixpkgs/pkgs/development/compilers/neko/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "neko-${version}";
+  pname = "neko";
   version = "2.2.0";
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/development/compilers/nextpnr/default.nix b/nixpkgs/pkgs/development/compilers/nextpnr/default.nix
index c1e01ef77828..894ef8c45fa0 100644
--- a/nixpkgs/pkgs/development/compilers/nextpnr/default.nix
+++ b/nixpkgs/pkgs/development/compilers/nextpnr/default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchFromGitHub, cmake
 , boost, python3, eigen
 , icestorm, trellis
+, llvmPackages
 
 , enableGui ? true
 , wrapQtAppsHook
@@ -12,13 +13,13 @@ let
 in
 with stdenv; mkDerivation rec {
   pname = "nextpnr";
-  version = "2019.08.21";
+  version = "2019.08.31";
 
   src = fetchFromGitHub {
     owner  = "yosyshq";
     repo   = "nextpnr";
-    rev    = "c192ba261d77ad7f0a744fb90b01e4a5b63938c4";
-    sha256 = "0g2ar1z89b31qw5vgqj2rrcv9rzncs94184dgcsrz19p866654mf";
+    rev    = "c0b7379e8672b6263152d5e340e62f22179fdc8b";
+    sha256 = "174n962xiwyzy53cn192h9rq95h951k3xy6bs43p5ya592ai5mjh";
   };
 
   nativeBuildInputs
@@ -26,7 +27,8 @@ with stdenv; mkDerivation rec {
     ++ (lib.optional enableGui wrapQtAppsHook);
   buildInputs
      = [ boostPython python3 eigen ]
-    ++ (lib.optional enableGui qtbase);
+    ++ (lib.optional enableGui qtbase)
+    ++ (lib.optional stdenv.cc.isClang llvmPackages.openmp);
 
   enableParallelBuilding = true;
   cmakeFlags =
@@ -59,7 +61,7 @@ with stdenv; mkDerivation rec {
     description = "Place and route tool for FPGAs";
     homepage    = https://github.com/yosyshq/nextpnr;
     license     = licenses.isc;
-    platforms   = platforms.all;
+    platforms   = platforms.linux;
     maintainers = with maintainers; [ thoughtpolice emily ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/nvidia-cg-toolkit/default.nix b/nixpkgs/pkgs/development/compilers/nvidia-cg-toolkit/default.nix
index 6bd4af05da36..fa49bf9dd732 100644
--- a/nixpkgs/pkgs/development/compilers/nvidia-cg-toolkit/default.nix
+++ b/nixpkgs/pkgs/development/compilers/nvidia-cg-toolkit/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
 
   date = "April2012";
 
-  name = "nvidia-cg-toolkit-${version}";
+  pname = "nvidia-cg-toolkit";
 
   src =
     if stdenv.hostPlatform.system == "x86_64-linux" then
diff --git a/nixpkgs/pkgs/development/compilers/obliv-c/default.nix b/nixpkgs/pkgs/development/compilers/obliv-c/default.nix
index 0d171a474a20..8fd6f33740e4 100644
--- a/nixpkgs/pkgs/development/compilers/obliv-c/default.nix
+++ b/nixpkgs/pkgs/development/compilers/obliv-c/default.nix
@@ -1,6 +1,6 @@
 { stdenv, libgcrypt, fetchFromGitHub, ocamlPackages, perl }:
 stdenv.mkDerivation rec {
-  name = "obliv-c-${version}";
+  pname = "obliv-c";
   version = "0.0pre20180624";
   buildInputs = [ perl ]
   ++ (with ocamlPackages; [ ocaml findlib ocamlbuild ]);
diff --git a/nixpkgs/pkgs/development/compilers/ocaml/3.08.0.nix b/nixpkgs/pkgs/development/compilers/ocaml/3.08.0.nix
index 4337de702e16..cd621c131ffa 100644
--- a/nixpkgs/pkgs/development/compilers/ocaml/3.08.0.nix
+++ b/nixpkgs/pkgs/development/compilers/ocaml/3.08.0.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, xlibsWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "ocaml-${version}";
+  pname = "ocaml";
   version = "3.08.0";
 
   builder = ./builder.sh;
   src = fetchurl {
-    url = "http://tarballs.nixos.org/${name}.tar.gz";
+    url = "http://tarballs.nixos.org/${pname}-${version}.tar.gz";
     sha256 = "135g5waj7djzrj0dbc8z1llasfs2iv5asq41jifhldxb4l2b97mx";
   };
   configureScript = ./configure-3.08.0;
diff --git a/nixpkgs/pkgs/development/compilers/ocaml/3.10.0.nix b/nixpkgs/pkgs/development/compilers/ocaml/3.10.0.nix
index 99a65dec1501..556aefd37049 100644
--- a/nixpkgs/pkgs/development/compilers/ocaml/3.10.0.nix
+++ b/nixpkgs/pkgs/development/compilers/ocaml/3.10.0.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation (rec {
 
-  name = "ocaml-${version}";
+  pname = "ocaml";
   version = "3.10.0";
 
   src = fetchurl {
-    url = "https://caml.inria.fr/pub/distrib/ocaml-3.10/${name}.tar.bz2";
+    url = "https://caml.inria.fr/pub/distrib/ocaml-3.10/${pname}-${version}.tar.bz2";
     sha256 = "1ihmx1civ78s7k2hfc05z1s9vbyx2qw7fg8lnbxnfd6zxkk8878d";
   };
 
diff --git a/nixpkgs/pkgs/development/compilers/ocaml/3.11.2.nix b/nixpkgs/pkgs/development/compilers/ocaml/3.11.2.nix
index e65510c172e6..4be414905348 100644
--- a/nixpkgs/pkgs/development/compilers/ocaml/3.11.2.nix
+++ b/nixpkgs/pkgs/development/compilers/ocaml/3.11.2.nix
@@ -8,11 +8,11 @@ in
 
 stdenv.mkDerivation rec {
   
-  name = "ocaml-${version}";
+  pname = "ocaml";
   version = "3.11.2";
   
   src = fetchurl {
-    url = "https://caml.inria.fr/pub/distrib/ocaml-3.11/${name}.tar.bz2";
+    url = "https://caml.inria.fr/pub/distrib/ocaml-3.11/${pname}-${version}.tar.bz2";
     sha256 = "86f3387a0d7e7c8be2a3c53af083a5a726e333686208d5ea0dd6bb5ac3f58143";
   };
 
diff --git a/nixpkgs/pkgs/development/compilers/ocaml/3.12.1.nix b/nixpkgs/pkgs/development/compilers/ocaml/3.12.1.nix
index 8636f670059c..edb3acdbdb1a 100644
--- a/nixpkgs/pkgs/development/compilers/ocaml/3.12.1.nix
+++ b/nixpkgs/pkgs/development/compilers/ocaml/3.12.1.nix
@@ -8,11 +8,11 @@ in
 
 stdenv.mkDerivation rec {
   
-  name = "ocaml-${version}";
+  pname = "ocaml";
   version = "3.12.1";
   
   src = fetchurl {
-    url = "https://caml.inria.fr/pub/distrib/ocaml-3.12/${name}.tar.bz2";
+    url = "https://caml.inria.fr/pub/distrib/ocaml-3.12/${pname}-${version}.tar.bz2";
     sha256 = "13cmhkh7s6srnlvhg3s9qzh3a5dbk2m9qr35jzq922sylwymdkzd";
   };
 
diff --git a/nixpkgs/pkgs/development/compilers/ocaml/4.00.1.nix b/nixpkgs/pkgs/development/compilers/ocaml/4.00.1.nix
index 0a30ef1352c4..2669e8224bff 100644
--- a/nixpkgs/pkgs/development/compilers/ocaml/4.00.1.nix
+++ b/nixpkgs/pkgs/development/compilers/ocaml/4.00.1.nix
@@ -7,11 +7,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "ocaml-${version}";
+  pname = "ocaml";
   version = "4.00.1";
   
   src = fetchurl {
-    url = "https://caml.inria.fr/pub/distrib/ocaml-4.00/${name}.tar.bz2";
+    url = "https://caml.inria.fr/pub/distrib/ocaml-4.00/${pname}-${version}.tar.bz2";
     sha256 = "33c3f4acff51685f5bfd7c260f066645e767d4e865877bf1613c176a77799951";
   };
 
diff --git a/nixpkgs/pkgs/development/compilers/ocaml/ber-metaocaml.nix b/nixpkgs/pkgs/development/compilers/ocaml/ber-metaocaml.nix
index a933151de12a..fb507b9836ad 100644
--- a/nixpkgs/pkgs/development/compilers/ocaml/ber-metaocaml.nix
+++ b/nixpkgs/pkgs/development/compilers/ocaml/ber-metaocaml.nix
@@ -14,7 +14,7 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "ber-metaocaml-${version}";
+  pname = "ber-metaocaml";
   version = metaocamlPatch;
 
   src = fetchurl {
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
 
   postConfigure = ''
     tar -xvzf $metaocaml
-    cd ${name}
+    cd ${pname}-${version}
     make patch
     cd ..
   '';
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
     make installopt
     mkdir -p $out/include
     ln -sv $out/lib/ocaml/caml $out/include/caml
-    cd ${name}
+    cd ${pname}-${version}
     make all
   '';
 
@@ -67,7 +67,7 @@ stdenv.mkDerivation rec {
   '';
 
   checkPhase = ''
-    cd ${name}
+    cd ${pname}-${version}
     make test
     make test-compile
     make test-native
diff --git a/nixpkgs/pkgs/development/compilers/ocaml/metaocaml-3.09.nix b/nixpkgs/pkgs/development/compilers/ocaml/metaocaml-3.09.nix
index e9adbeff4904..881748c36ea7 100644
--- a/nixpkgs/pkgs/development/compilers/ocaml/metaocaml-3.09.nix
+++ b/nixpkgs/pkgs/development/compilers/ocaml/metaocaml-3.09.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation (rec {
 
-  name = "metaocaml-${version}";
+  pname = "metaocaml";
   version = "3.09-alpha-30";
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/development/compilers/opa/default.nix b/nixpkgs/pkgs/development/compilers/opa/default.nix
index 06ed7c51e9ab..da1df6f30bbd 100644
--- a/nixpkgs/pkgs/development/compilers/opa/default.nix
+++ b/nixpkgs/pkgs/development/compilers/opa/default.nix
@@ -7,7 +7,6 @@
 stdenv.mkDerivation rec {
   pname = "opa";
   version = "4310";
-  name = "${pname}-${version}";
 
   src = fetchFromGitHub {
     owner = "MLstate";
diff --git a/nixpkgs/pkgs/development/compilers/openspin/default.nix b/nixpkgs/pkgs/development/compilers/openspin/default.nix
index 690707265b4a..31e3800a6c9c 100644
--- a/nixpkgs/pkgs/development/compilers/openspin/default.nix
+++ b/nixpkgs/pkgs/development/compilers/openspin/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  name = "openspin-${version}";
+  pname = "openspin";
   version = "unstable-2018-10-02";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/compilers/polyml/5.6.nix b/nixpkgs/pkgs/development/compilers/polyml/5.6.nix
index 7f22f4de6244..370c08f001a7 100644
--- a/nixpkgs/pkgs/development/compilers/polyml/5.6.nix
+++ b/nixpkgs/pkgs/development/compilers/polyml/5.6.nix
@@ -5,7 +5,8 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "polyml-${version}";
+  pname = "polyml";
+  inherit version;
 
   prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
     substituteInPlace configure.ac --replace stdc++ c++
diff --git a/nixpkgs/pkgs/development/compilers/polyml/5.7.nix b/nixpkgs/pkgs/development/compilers/polyml/5.7.nix
index b7feed84c37f..eef972a2cc3c 100644
--- a/nixpkgs/pkgs/development/compilers/polyml/5.7.nix
+++ b/nixpkgs/pkgs/development/compilers/polyml/5.7.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, autoreconfHook, gmp, libffi }:
 
 stdenv.mkDerivation rec {
-  name = "polyml-${version}";
+  pname = "polyml";
   version = "5.7.1";
 
   prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
diff --git a/nixpkgs/pkgs/development/compilers/polyml/default.nix b/nixpkgs/pkgs/development/compilers/polyml/default.nix
index 91a3bb45352f..5ab13d5f761f 100644
--- a/nixpkgs/pkgs/development/compilers/polyml/default.nix
+++ b/nixpkgs/pkgs/development/compilers/polyml/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, autoreconfHook, gmp, libffi }:
 
 stdenv.mkDerivation rec {
-  name = "polyml-${version}";
+  pname = "polyml";
   version = "5.8";
 
   prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
diff --git a/nixpkgs/pkgs/development/compilers/ponyc/pony-stable.nix b/nixpkgs/pkgs/development/compilers/ponyc/pony-stable.nix
index 2aab6a99a1cf..6719293af2a7 100644
--- a/nixpkgs/pkgs/development/compilers/ponyc/pony-stable.nix
+++ b/nixpkgs/pkgs/development/compilers/ponyc/pony-stable.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchFromGitHub, ponyc }:
 
 stdenv.mkDerivation rec {
-  name = "pony-stable-${version}";
+  pname = "pony-stable";
   version = "0.2.1";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/compilers/rgbds/default.nix b/nixpkgs/pkgs/development/compilers/rgbds/default.nix
index eee4507d6cec..3856ced250e7 100644
--- a/nixpkgs/pkgs/development/compilers/rgbds/default.nix
+++ b/nixpkgs/pkgs/development/compilers/rgbds/default.nix
@@ -5,7 +5,7 @@
 # in a published version.
 
 stdenv.mkDerivation rec {
-  name = "rgbds-${version}";
+  pname = "rgbds";
   version = "0.3.8";
   src = fetchFromGitHub {
     owner = "rednex";
diff --git a/nixpkgs/pkgs/development/compilers/rust/binaryBuild.nix b/nixpkgs/pkgs/development/compilers/rust/binary.nix
index cb2fba96e181..acccc749686c 100644
--- a/nixpkgs/pkgs/development/compilers/rust/binaryBuild.nix
+++ b/nixpkgs/pkgs/development/compilers/rust/binary.nix
@@ -60,6 +60,8 @@ rec {
       # are very hard to track down. For details, see
       # https://github.com/rust-lang/rust/issues/34722#issuecomment-232164943
     '';
+
+    setupHooks = ./setup-hook.sh;
   };
 
   cargo = stdenv.mkDerivation rec {
diff --git a/nixpkgs/pkgs/development/compilers/rust/bootstrap.nix b/nixpkgs/pkgs/development/compilers/rust/bootstrap.nix
index 973d17e1c7bd..5cf48715dae2 100644
--- a/nixpkgs/pkgs/development/compilers/rust/bootstrap.nix
+++ b/nixpkgs/pkgs/development/compilers/rust/bootstrap.nix
@@ -3,16 +3,16 @@
 let
   # Note: the version MUST be one version prior to the version we're
   # building
-  version = "1.35.0";
+  version = "1.36.0";
 
-  # fetch hashes by running `print-hashes.sh 1.34.2`
+  # fetch hashes by running `print-hashes.sh 1.36.0`
   hashes = {
-    i686-unknown-linux-gnu = "05337776b3645e4b8c8c7ced0bcd1615cf9ad1b9c8b3d0f333620e5401e31aee";
-    x86_64-unknown-linux-gnu = "cf600e2273644d8629ed57559c70ca8db4023fd0156346facca9ab3ad3e8f86c";
-    armv7-unknown-linux-gnueabihf = "8f0f32d8ddc6fb7bcb8f50ec5e694078799d93facbf135eec5bd9a8c94d0c11e";
-    aarch64-unknown-linux-gnu = "31e6da56e67838fd2874211ae896a433badf67c13a7b68481f1d5f7dedcc5952";
-    i686-apple-darwin = "6a45ae8db094c5f6c57c5594a00f1a92b08c444a7347a657b4033186d4f08b19";
-    x86_64-apple-darwin = "ac14b1c7dc330dcb53d8641d74ebf9b32aa8b03b9d650bcb9258030d8b10dbd6";
+    i686-unknown-linux-gnu = "9f95c3e96622a792858c8a1c9274fa63e6992370493b27c1ac7299a3bec5156d";
+    x86_64-unknown-linux-gnu = "15e592ec52f14a0586dcebc87a957e472c4544e07359314f6354e2b8bd284c55";
+    armv7-unknown-linux-gnueabihf = "798181a728017068f9eddfa665771805d97846cd87bddcd67e0fe27c8d082ceb";
+    aarch64-unknown-linux-gnu = "db78c24d93756f9fe232f081dbc4a46d38f8eec98353a9e78b9b164f9628042d";
+    i686-apple-darwin = "3dbc34fdea8bc030badf9c8b2572c09fd3f5369b59ac099fc521064b390b9e60";
+    x86_64-apple-darwin = "91f151ec7e24f5b0645948d439fc25172ec4012f0584dd16c3fb1acb709aa325";
   };
 
   platform =
@@ -35,7 +35,7 @@ let
      sha256 = hashes."${platform}";
   };
 
-in callPackage ./binaryBuild.nix
+in callPackage ./binary.nix
   { inherit version src platform;
     versionType = "bootstrap";
   }
diff --git a/nixpkgs/pkgs/development/compilers/rust/rustc.nix b/nixpkgs/pkgs/development/compilers/rust/rustc.nix
index d77769583902..daf7af1babdc 100644
--- a/nixpkgs/pkgs/development/compilers/rust/rustc.nix
+++ b/nixpkgs/pkgs/development/compilers/rust/rustc.nix
@@ -1,6 +1,6 @@
 { stdenv, removeReferencesTo, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget
 , fetchurl, file, python2, tzdata, ps
-, llvm_7, darwin, git, cmake, rustPlatform
+, llvmPackages_7, darwin, git, cmake, rustPlatform
 , which, libffi, gdb
 , withBundledLLVM ? false
 }:
@@ -9,21 +9,31 @@ let
   inherit (stdenv.lib) optional optionalString;
   inherit (darwin.apple_sdk.frameworks) Security;
 
-  llvmSharedForBuild = pkgsBuildBuild.llvm_7.override { enableSharedLibraries = true; };
-  llvmSharedForHost = pkgsBuildHost.llvm_7.override { enableSharedLibraries = true; };
-  llvmSharedForTarget = pkgsBuildTarget.llvm_7.override { enableSharedLibraries = true; };
+  llvmPackages = llvmPackages_7;
+
+  llvmSharedForBuild = pkgsBuildBuild.llvmPackages.llvm.override { enableSharedLibraries = true; };
+  llvmSharedForHost = pkgsBuildHost.llvmPackages.llvm.override { enableSharedLibraries = true; };
+  llvmSharedForTarget = pkgsBuildTarget.llvmPackages.llvm.override { enableSharedLibraries = true; };
 
   # For use at runtime
-  llvmShared = llvm_7.override { enableSharedLibraries = true; };
-in stdenv.mkDerivation rec {
+  llvmShared = llvmPackages.llvm.override { enableSharedLibraries = true; };
+in
+
+stdenv.mkDerivation rec {
   pname = "rustc";
-  version = "1.36.0";
+  version = "1.37.0";
 
   src = fetchurl {
     url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
-    sha256 = "06xv2p6zq03lidr0yaf029ii8wnjjqa894nkmrm6s0rx47by9i04";
+    sha256 = "1hrqprybhkhs6d9b5pjskfnc5z9v2l2gync7nb39qjb5s0h703hj";
   };
 
+  # Provide the compiler-rt sources needed for profiling.
+  preConfigure = ''
+    mkdir src/llvm-project/compiler-rt
+    tar xf ${llvmPackages.compiler-rt.src} -C src/llvm-project/compiler-rt --strip-components=1
+  '';
+
   __darwinAllowLocalNetworking = true;
 
   # rustc complains about modified source files otherwise
@@ -38,7 +48,6 @@ in stdenv.mkDerivation rec {
   # See: https://github.com/NixOS/nixpkgs/pull/56540#issuecomment-471624656
   stripDebugList = [ "bin" ];
 
-
   NIX_LDFLAGS =
        # when linking stage1 libstd: cc: undefined reference to `__cxa_begin_catch'
        optional (stdenv.isLinux && !withBundledLLVM) "--push-state --as-needed -lstdc++ --pop-state"
diff --git a/nixpkgs/pkgs/development/compilers/sbcl/bootstrap.nix b/nixpkgs/pkgs/development/compilers/sbcl/bootstrap.nix
index 056ad7454600..0d2a10b6a998 100644
--- a/nixpkgs/pkgs/development/compilers/sbcl/bootstrap.nix
+++ b/nixpkgs/pkgs/development/compilers/sbcl/bootstrap.nix
@@ -43,7 +43,7 @@ let
 in
 assert builtins.hasAttr stdenv.hostPlatform.system options;
 stdenv.mkDerivation rec {
-  name    = "sbcl-bootstrap-${version}";
+  pname = "sbcl-bootstrap";
   version = cfg.version;
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/development/compilers/sbcl/default.nix b/nixpkgs/pkgs/development/compilers/sbcl/default.nix
index e2cc7adc26e1..e5b36ad78908 100644
--- a/nixpkgs/pkgs/development/compilers/sbcl/default.nix
+++ b/nixpkgs/pkgs/development/compilers/sbcl/default.nix
@@ -9,11 +9,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name    = "sbcl-${version}";
+  pname = "sbcl";
   version = "1.5.3";
 
   src = fetchurl {
-    url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
+    url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${pname}-${version}-source.tar.bz2";
     sha256 = "0334cfnvjy0ccq9p05mxrgawhww8wb73rp318qcsf9yj8h8r19yj";
   };
 
diff --git a/nixpkgs/pkgs/development/compilers/scala/dotty-bare.nix b/nixpkgs/pkgs/development/compilers/scala/dotty-bare.nix
index ab42eae31a68..5a01e295e49e 100644
--- a/nixpkgs/pkgs/development/compilers/scala/dotty-bare.nix
+++ b/nixpkgs/pkgs/development/compilers/scala/dotty-bare.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   version = "0.14.0-RC1";
-  name = "dotty-bare-${version}";
+  pname = "dotty-bare";
 
   src = fetchurl {
     url = "https://github.com/lampepfl/dotty/releases/download/${version}/dotty-${version}.tar.gz";
diff --git a/nixpkgs/pkgs/development/compilers/sdcc/default.nix b/nixpkgs/pkgs/development/compilers/sdcc/default.nix
index 4fd46c35a0a9..cdac400b1afd 100644
--- a/nixpkgs/pkgs/development/compilers/sdcc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/sdcc/default.nix
@@ -9,7 +9,7 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "sdcc-${version}";
+  pname = "sdcc";
   version = "3.9.0";
 
   src = fetchurl {
@@ -34,6 +34,6 @@ stdenv.mkDerivation rec {
     homepage = http://sdcc.sourceforge.net/;
     license = with licenses; if (gputils == null) then gpl2 else unfreeRedistributable;
     maintainers = with maintainers; [ bjornfor yorickvp ];
-    platforms = platforms.linux;
+    platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/seexpr/default.nix b/nixpkgs/pkgs/development/compilers/seexpr/default.nix
index a6abe6791d7e..efcaf56110d2 100644
--- a/nixpkgs/pkgs/development/compilers/seexpr/default.nix
+++ b/nixpkgs/pkgs/development/compilers/seexpr/default.nix
@@ -3,7 +3,7 @@ bison, flex, libGLU, pythonPackages
 }:
 
 stdenv.mkDerivation rec {
-  name = "seexpr-${version}";
+  pname = "seexpr";
   version = "2.11";
   src = fetchFromGitHub {
     owner  = "wdas";
diff --git a/nixpkgs/pkgs/development/compilers/serpent/default.nix b/nixpkgs/pkgs/development/compilers/serpent/default.nix
index e9c6b706e5ad..c9b4f9639d07 100644
--- a/nixpkgs/pkgs/development/compilers/serpent/default.nix
+++ b/nixpkgs/pkgs/development/compilers/serpent/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, ... }:
 
 stdenv.mkDerivation rec {
-  name = "serpent-${version}";
+  pname = "serpent";
 
   # I can't find any version numbers, so we're just using the date
   # of the last commit.
diff --git a/nixpkgs/pkgs/development/compilers/shaderc/default.nix b/nixpkgs/pkgs/development/compilers/shaderc/default.nix
index 75717b5ba096..82cccc3befc3 100644
--- a/nixpkgs/pkgs/development/compilers/shaderc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/shaderc/default.nix
@@ -24,7 +24,7 @@ let
     sha256 = "0qdnj34bkagszyvci6ifpqd7iqvybhmqzvc9lvqnls44qg90aqh2";
   };
 in stdenv.mkDerivation rec {
-  name = "shaderc-${version}";
+  pname = "shaderc";
   version = "2019.0";
 
   outputs = [ "out" "lib" "bin" "dev" "static" ];
diff --git a/nixpkgs/pkgs/development/compilers/smlnj/bootstrap.nix b/nixpkgs/pkgs/development/compilers/smlnj/bootstrap.nix
index 21cfd4082988..e2103fb718fa 100644
--- a/nixpkgs/pkgs/development/compilers/smlnj/bootstrap.nix
+++ b/nixpkgs/pkgs/development/compilers/smlnj/bootstrap.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, cpio, rsync, xar, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "smlnj-bootstrap-${version}";
+  pname = "smlnj-bootstrap";
 
   version = "110.91";
 
diff --git a/nixpkgs/pkgs/development/compilers/smlnj/default.nix b/nixpkgs/pkgs/development/compilers/smlnj/default.nix
index dce46ade4592..89912ac9ad6b 100644
--- a/nixpkgs/pkgs/development/compilers/smlnj/default.nix
+++ b/nixpkgs/pkgs/development/compilers/smlnj/default.nix
@@ -29,7 +29,8 @@ let
     { url = "${baseurl}/asdl.tgz";                sha256 = "1pi3m21jllyd2h0zpz4bajskfv58g6pjhpprqiwgmikn6w1pryp8"; }
   ];
 in stdenv.mkDerivation {
-  name = "smlnj-${version}";
+  pname = "smlnj";
+  inherit version;
 
   inherit sources;
 
diff --git a/nixpkgs/pkgs/development/compilers/solc/default.nix b/nixpkgs/pkgs/development/compilers/solc/default.nix
index f34283938326..b0fdc8863784 100644
--- a/nixpkgs/pkgs/development/compilers/solc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/solc/default.nix
@@ -16,7 +16,7 @@ let
 in
 stdenv.mkDerivation rec {
 
-  name = "solc-${version}";
+  pname = "solc";
   version = "0.5.11";
 
   # upstream suggests avoid using archive generated by github
diff --git a/nixpkgs/pkgs/development/compilers/souffle/default.nix b/nixpkgs/pkgs/development/compilers/souffle/default.nix
index 219d5307790d..a39a6c4a2e4f 100644
--- a/nixpkgs/pkgs/development/compilers/souffle/default.nix
+++ b/nixpkgs/pkgs/development/compilers/souffle/default.nix
@@ -9,7 +9,7 @@ let
   toolsPath = stdenv.lib.makeBinPath [ mcpp ];
 in
 stdenv.mkDerivation rec {
-  name    = "souffle-${version}";
+  pname = "souffle";
   version = "1.6.1";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/compilers/squeak/default.nix b/nixpkgs/pkgs/development/compilers/squeak/default.nix
index 25ea47978fcd..c8379fe90909 100644
--- a/nixpkgs/pkgs/development/compilers/squeak/default.nix
+++ b/nixpkgs/pkgs/development/compilers/squeak/default.nix
@@ -2,7 +2,7 @@
 , libpthreadstubs, pango, pkgconfig, libpulseaudio, which }:
 
 stdenv.mkDerivation rec {
-  name = "squeak-${version}";
+  pname = "squeak";
   version = "4.10.2.2614";
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/development/compilers/swi-prolog/default.nix b/nixpkgs/pkgs/development/compilers/swi-prolog/default.nix
index bf452d21d1dc..9245e59553fe 100644
--- a/nixpkgs/pkgs/development/compilers/swi-prolog/default.nix
+++ b/nixpkgs/pkgs/development/compilers/swi-prolog/default.nix
@@ -13,7 +13,8 @@ let
     '';
 in
 stdenv.mkDerivation {
-  name = "swi-prolog-${version}";
+  pname = "swi-prolog";
+  inherit version;
 
   src = fetchgit {
     url = "https://github.com/SWI-Prolog/swipl-devel";
diff --git a/nixpkgs/pkgs/development/compilers/terra/default.nix b/nixpkgs/pkgs/development/compilers/terra/default.nix
index b1f9ee799e5c..dea6df1b7aa4 100644
--- a/nixpkgs/pkgs/development/compilers/terra/default.nix
+++ b/nixpkgs/pkgs/development/compilers/terra/default.nix
@@ -9,7 +9,7 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "terra-git-${version}";
+  pname = "terra-git";
   version = "1.0.0-beta1";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/compilers/teyjus/default.nix b/nixpkgs/pkgs/development/compilers/teyjus/default.nix
index 04efe1a91342..41cc9b386067 100644
--- a/nixpkgs/pkgs/development/compilers/teyjus/default.nix
+++ b/nixpkgs/pkgs/development/compilers/teyjus/default.nix
@@ -5,7 +5,8 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "teyjus-${version}";
+  pname = "teyjus";
+  inherit version;
 
   src = fetchurl {
     url = "https://github.com/teyjus/teyjus/archive/v${version}.tar.gz";
diff --git a/nixpkgs/pkgs/development/compilers/tinycc/default.nix b/nixpkgs/pkgs/development/compilers/tinycc/default.nix
index a5c3db65857f..338ba9312492 100644
--- a/nixpkgs/pkgs/development/compilers/tinycc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/tinycc/default.nix
@@ -2,7 +2,7 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "tcc-${version}";
+  pname = "tcc";
   version = "0.9.27";
 
   src = fetchFromRepoOrCz {
diff --git a/nixpkgs/pkgs/development/compilers/urweb/default.nix b/nixpkgs/pkgs/development/compilers/urweb/default.nix
index 2300d63015b9..01d4972a55d5 100644
--- a/nixpkgs/pkgs/development/compilers/urweb/default.nix
+++ b/nixpkgs/pkgs/development/compilers/urweb/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "urweb-${version}";
+  pname = "urweb";
   version = "20190217";
 
   src = fetchurl {
-    url = "https://github.com/urweb/urweb/releases/download/${version}/${name}.tar.gz";
+    url = "https://github.com/urweb/urweb/releases/download/${version}/${pname}-${version}.tar.gz";
     sha256 = "1cl0x0sy7w1lazszc8q06q3wx0x0rczxh27vimrsw54s6s9y096s";
   };
 
diff --git a/nixpkgs/pkgs/development/compilers/vala/default.nix b/nixpkgs/pkgs/development/compilers/vala/default.nix
index 353963007d4b..15ed7f8bd29d 100644
--- a/nixpkgs/pkgs/development/compilers/vala/default.nix
+++ b/nixpkgs/pkgs/development/compilers/vala/default.nix
@@ -119,8 +119,8 @@ in rec {
   };
 
   vala_0_40 = generic {
-    version = "0.40.15";
-    sha256 = "0mfayli159yyw6abjf6sgq41j54mr3nspg25b1kxhypcz0scjm19";
+    version = "0.40.16";
+    sha256 = "0vv25fmr9jqiqf080vak1x4raa4w3cz3n5ysjglqsq9qfx304i7b";
   };
 
   vala_0_42 = generic {
@@ -129,8 +129,8 @@ in rec {
   };
 
   vala_0_44 = generic {
-    version = "0.44.5";
-    sha256 = "0zy2kfcvhikczfzhk5l7pkw6mvn3d6vw8cv7g08iah85p22q33xv";
+    version = "0.44.6";
+    sha256 = "0fkrrpnisgq3y816piyr7hm2b94jaj7ki9y974galq3lmxb1g7xb";
   };
 
   vala = vala_0_44;
diff --git a/nixpkgs/pkgs/development/compilers/wcc/default.nix b/nixpkgs/pkgs/development/compilers/wcc/default.nix
index 8cb1e8e5f2cd..3196592da485 100644
--- a/nixpkgs/pkgs/development/compilers/wcc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/wcc/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, capstone, libbfd, libelf, libiberty, readline }:
 
 stdenv.mkDerivation rec {
-  name = "wcc-unstable-${version}";
+  pname = "wcc-unstable";
   version = "2018-04-05";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/compilers/x11basic/default.nix b/nixpkgs/pkgs/development/compilers/x11basic/default.nix
index 88666148da3f..3d955c4394b0 100644
--- a/nixpkgs/pkgs/development/compilers/x11basic/default.nix
+++ b/nixpkgs/pkgs/development/compilers/x11basic/default.nix
@@ -6,7 +6,6 @@
 stdenv.mkDerivation rec {
   pname = "X11basic";
   version = "1.26";
-  name = pname + "-" + version;
 
   src = fetchFromGitHub {
     owner = "kollokollo";
diff --git a/nixpkgs/pkgs/development/compilers/yap/default.nix b/nixpkgs/pkgs/development/compilers/yap/default.nix
index 3ad0bc25787e..1cc96455be7a 100644
--- a/nixpkgs/pkgs/development/compilers/yap/default.nix
+++ b/nixpkgs/pkgs/development/compilers/yap/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   version = "6.3.3";
-  name = "yap-${version}";
+  pname = "yap";
 
   src = fetchurl {
-    url = "https://www.dcc.fc.up.pt/~vsc/Yap/${name}.tar.gz";
+    url = "https://www.dcc.fc.up.pt/~vsc/Yap/${pname}-${version}.tar.gz";
     sha256 = "0y7sjwimadqsvgx9daz28c9mxcx9n1znxklih9xg16k6n54v9qxf";
   };
 
diff --git a/nixpkgs/pkgs/development/compilers/yosys/default.nix b/nixpkgs/pkgs/development/compilers/yosys/default.nix
index 467d4e3b49eb..1535c7a7de64 100644
--- a/nixpkgs/pkgs/development/compilers/yosys/default.nix
+++ b/nixpkgs/pkgs/development/compilers/yosys/default.nix
@@ -8,14 +8,14 @@ with builtins;
 
 stdenv.mkDerivation rec {
   pname = "yosys";
-  version = "2019.08.21";
+  version = "2019.09.01";
 
   srcs = [
     (fetchFromGitHub {
       owner  = "yosyshq";
       repo   = "yosys";
-      rev    = "fe1b2337fd7950e1d563be5b8ccbaa81688261e4";
-      sha256 = "0z7sngc2z081yyhzh8c2kchg48sp2333hn1wa94q5vsgnyzlqrdw";
+      rev    = "4aa505d1b254b3fbb66af2d95b396a8f077da9d0";
+      sha256 = "16rhwmn1z2ppaq3wycgq713krq48s80a6h57vgzjzj17hgncg7hs";
       name   = "yosys";
     })
 
diff --git a/nixpkgs/pkgs/development/compilers/zulu/8.nix b/nixpkgs/pkgs/development/compilers/zulu/8.nix
index cc42ee1dd3f1..f0e0693d12c4 100644
--- a/nixpkgs/pkgs/development/compilers/zulu/8.nix
+++ b/nixpkgs/pkgs/development/compilers/zulu/8.nix
@@ -26,7 +26,7 @@ let
 in stdenv.mkDerivation rec {
   inherit version openjdk platform hash extension;
 
-  name = "zulu-${version}";
+  pname = "zulu";
 
   src = fetchurl {
     url = "https://cdn.azul.com/zulu/bin/zulu${version}-jdk${openjdk}-${platform}_x64.${extension}";
diff --git a/nixpkgs/pkgs/development/compilers/zulu/default.nix b/nixpkgs/pkgs/development/compilers/zulu/default.nix
index a43992164d23..d4c4c1f0ac31 100644
--- a/nixpkgs/pkgs/development/compilers/zulu/default.nix
+++ b/nixpkgs/pkgs/development/compilers/zulu/default.nix
@@ -26,7 +26,7 @@ let
 in stdenv.mkDerivation rec {
   inherit version openjdk platform hash extension;
 
-  name = "zulu-${version}";
+  pname = "zulu";
 
   src = fetchurl {
     url = "https://cdn.azul.com/zulu/bin/zulu${version}-jdk${openjdk}-${platform}_x64.${extension}";