From 961ed7c8b41bb80cdf5f4f0f5e49093ad171393b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= <vcunat@gmail.com>
Date: Fri, 14 Nov 2014 14:11:38 +0100
Subject: [PATCH] dmd: fix 32-bit build and some nitpicks

CC #4976.
---
 pkgs/development/compilers/dmd/default.nix | 27 ++++++++++++----------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/pkgs/development/compilers/dmd/default.nix b/pkgs/development/compilers/dmd/default.nix
index 78ce19713e3c..c48d74249e19 100644
--- a/pkgs/development/compilers/dmd/default.nix
+++ b/pkgs/development/compilers/dmd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gcc, unzip, curl }:
+{ stdenv, fetchurl, unzip, curl }:
 
 stdenv.mkDerivation {
   name = "dmd-2.066.1";
@@ -8,13 +8,13 @@ stdenv.mkDerivation {
     sha256 = "1qifwgrl6h232zsnvcx3kmb5d0fsy7j9zv17r3b4vln7x5rvzc66";
   };
 
-  buildInputs = [ gcc unzip curl ];
+  buildInputs = [ unzip curl ];
 
   buildPhase = ''
       cd src/dmd
       make -f posix.mak INSTALL_DIR=$out
       export DMD=$PWD/dmd
-      cd ../druntime 
+      cd ../druntime
       make -f posix.mak INSTALL_DIR=$out DMD=$DMD
       cd ../phobos
       make -f posix.mak INSTALL_DIR=$out DMD=$DMD
@@ -26,30 +26,33 @@ stdenv.mkDerivation {
       mkdir $out
       mkdir $out/bin
       cp dmd $out/bin
-       
+
       cd ../druntime
       mkdir $out/include
       mkdir $out/include/d2
       cp -r import/* $out/include/d2
-       
+
       cd ../phobos
       mkdir $out/lib
-      cp generated/linux/release/64/libphobos2.a $out/lib    # for 64-bit version
+      ${let bits = if stdenv.is64bit then "64" else "32"; in
+      "cp generated/linux/release/${bits}/libphobos2.a $out/lib"
+      }
 
       cp -r std $out/include/d2
       cp -r etc $out/include/d2
 
       cd $out/bin
       tee dmd.conf << EOF
-[Environment]
-DFLAGS=-I$out/include/d2 -L-L$out/lib -L--no-warn-search-mismatch -L--export-dynamic
-EOF
+      [Environment]
+      DFLAGS=-I$out/include/d2 -L-L$out/lib -L--no-warn-search-mismatch -L--export-dynamic
+      EOF
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "D language compiler";
     homepage = http://dlang.org/;
-    license = "open source, see included files";
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.free; # parts under different licenses
+    platforms = platforms.unix;
   };
 }
+