mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-29 16:24:10 +00:00
dmd: Run dmd-testsuite in checkPhase
Remove cppa test for now because it isn't working.
This commit is contained in:
parent
e17fdb9607
commit
5a35b0707f
@ -1,6 +1,6 @@
|
|||||||
{ stdenv, fetchFromGitHub
|
{ stdenv, fetchFromGitHub
|
||||||
, makeWrapper, unzip, which
|
, makeWrapper, unzip, which
|
||||||
, curl, tzdata
|
, curl, tzdata, gdb
|
||||||
# Versions 2.070.2 and up require a working dmd compiler to build:
|
# Versions 2.070.2 and up require a working dmd compiler to build:
|
||||||
, bootstrapDmd }:
|
, bootstrapDmd }:
|
||||||
|
|
||||||
@ -35,6 +35,10 @@ stdenv.mkDerivation rec {
|
|||||||
mv dmd-v${version}-src dmd
|
mv dmd-v${version}-src dmd
|
||||||
mv druntime-v${version}-src druntime
|
mv druntime-v${version}-src druntime
|
||||||
mv phobos-v${version}-src phobos
|
mv phobos-v${version}-src phobos
|
||||||
|
|
||||||
|
# Remove cppa test for now because it doesn't work.
|
||||||
|
rm dmd/test/runnable/cppa.d
|
||||||
|
rm dmd/test/runnable/extra-files/cppb.cpp
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# Compile with PIC to prevent colliding modules with binutils 2.28.
|
# Compile with PIC to prevent colliding modules with binutils 2.28.
|
||||||
@ -69,22 +73,22 @@ stdenv.mkDerivation rec {
|
|||||||
--replace MACOSX_DEPLOYMENT_TARGET MACOSX_DEPLOYMENT_TARGET_
|
--replace MACOSX_DEPLOYMENT_TARGET MACOSX_DEPLOYMENT_TARGET_
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [ bootstrapDmd makeWrapper unzip which ];
|
nativeBuildInputs = [ bootstrapDmd makeWrapper unzip which gdb ];
|
||||||
buildInputs = [ curl tzdata ];
|
buildInputs = [ curl tzdata ];
|
||||||
|
|
||||||
# Buid and install are based on http://wiki.dlang.org/Building_DMD
|
# Buid and install are based on http://wiki.dlang.org/Building_DMD
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
cd dmd
|
cd dmd
|
||||||
make -f posix.mak INSTALL_DIR=$out
|
make -j$NIX_BUILD_CORES -f posix.mak INSTALL_DIR=$out
|
||||||
${
|
${
|
||||||
let bits = builtins.toString stdenv.hostPlatform.parsed.cpu.bits;
|
let bits = builtins.toString stdenv.hostPlatform.parsed.cpu.bits;
|
||||||
osname = if stdenv.hostPlatform.isDarwin then "osx" else stdenv.hostPlatform.parsed.kernel.name; in
|
osname = if stdenv.hostPlatform.isDarwin then "osx" else stdenv.hostPlatform.parsed.kernel.name; in
|
||||||
"export DMD=$PWD/generated/${osname}/release/${bits}/dmd"
|
"export DMD=$PWD/generated/${osname}/release/${bits}/dmd"
|
||||||
}
|
}
|
||||||
cd ../druntime
|
cd ../druntime
|
||||||
make -f posix.mak PIC=${usePIC} INSTALL_DIR=$out DMD=$DMD
|
make -j$NIX_BUILD_CORES -f posix.mak PIC=${usePIC} INSTALL_DIR=$out DMD=$DMD
|
||||||
cd ../phobos
|
cd ../phobos
|
||||||
make -f posix.mak PIC=${usePIC} INSTALL_DIR=$out DMD=$DMD
|
make -j$NIX_BUILD_CORES -f posix.mak PIC=${usePIC} INSTALL_DIR=$out DMD=$DMD
|
||||||
cd ..
|
cd ..
|
||||||
'';
|
'';
|
||||||
|
|
||||||
@ -97,10 +101,11 @@ stdenv.mkDerivation rec {
|
|||||||
osname = if stdenv.hostPlatform.isDarwin then "osx" else stdenv.hostPlatform.parsed.kernel.name; in
|
osname = if stdenv.hostPlatform.isDarwin then "osx" else stdenv.hostPlatform.parsed.kernel.name; in
|
||||||
"export DMD=$PWD/generated/${osname}/release/${bits}/dmd"
|
"export DMD=$PWD/generated/${osname}/release/${bits}/dmd"
|
||||||
}
|
}
|
||||||
|
make -j$NIX_BUILD_CORES -C test -f Makefile PIC=${usePIC} DMD=$DMD BUILD=release SHARED=0
|
||||||
cd ../druntime
|
cd ../druntime
|
||||||
make -f posix.mak unittest PIC=${usePIC} DMD=$DMD BUILD=release
|
make -j$NIX_BUILD_CORES -f posix.mak unittest PIC=${usePIC} DMD=$DMD BUILD=release
|
||||||
cd ../phobos
|
cd ../phobos
|
||||||
make -f posix.mak unittest PIC=${usePIC} DMD=$DMD BUILD=release
|
make -j$NIX_BUILD_CORES -f posix.mak unittest PIC=${usePIC} DMD=$DMD BUILD=release
|
||||||
cd ..
|
cd ..
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user