From 961ed7c8b41bb80cdf5f4f0f5e49093ad171393b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= 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; }; } +