dmd: 2.106.1 -> 2.108.0

Tests now use a D program called run.d, rather than the previous
Makefiles.

The compiler makefiles located in compiler/src/ have been
deprecated for a long time now and have finally been removed in favour
of build.d. There is also a top-level generic Makefile which also
works on Windows apparently. [1]

The Phobos makefiles (posix.mak and such) have also been removed and
replaced with a generic top-level Makefile. Same with druntime. [2]

[1]: <https://dlang.org/changelog/2.107.0.html#dmd.makefiles>
[2]: <https://dlang.org/changelog/2.107.0.html#druntime.makefiles>
     <https://dlang.org/changelog/2.107.0.html#makefiles>
This commit is contained in:
Jeremy Baxter 2024-04-02 17:46:00 +13:00
parent e85f7c6c9d
commit 9b3cf68ef2
2 changed files with 14 additions and 12 deletions

View File

@ -146,19 +146,20 @@ stdenv.mkDerivation (finalAttrs: {
export buildJobs=$NIX_BUILD_CORES
[ -z "$enableParallelBuilding" ] && buildJobs=1
${dmdBin}/rdmd dmd/compiler/src/build.d -j$buildJobs HOST_DMD=${dmdBin}/dmd $buildFlags
make -C dmd/druntime -f posix.mak DMD=${pathToDmd} $buildFlags -j$buildJobs
${dmdBin}/rdmd dmd/compiler/src/build.d -j$buildJobs $buildFlags \
HOST_DMD=${dmdBin}/dmd
make -C dmd/druntime -j$buildJobs DMD=${pathToDmd} $buildFlags
echo ${tzdata}/share/zoneinfo/ > TZDatabaseDirFile
echo ${lib.getLib curl}/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} > LibcurlPathFile
make -C phobos -f posix.mak $buildFlags -j$buildJobs DMD=${pathToDmd} DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$PWD"
echo ${lib.getLib curl}/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} \
> LibcurlPathFile
make -C phobos -j$buildJobs $buildFlags \
DMD=${pathToDmd} DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$PWD"
runHook postBuild
'';
doCheck = true;
checkFlags = finalAttrs.buildFlags;
# many tests are disabled because they are failing
# NOTE: Purity check is disabled for checkPhase because it doesn't fare well
@ -169,11 +170,12 @@ stdenv.mkDerivation (finalAttrs: {
export checkJobs=$NIX_BUILD_CORES
[ -z "$enableParallelChecking" ] && checkJobs=1
NIX_ENFORCE_PURITY= \
make -C dmd/compiler/test $checkFlags CC=$CXX SHELL=$SHELL -j$checkJobs N=$checkJobs
CC=$CXX HOST_DMD=${pathToDmd} NIX_ENFORCE_PURITY= \
${dmdBin}/rdmd dmd/compiler/test/run.d -j$checkJobs
NIX_ENFORCE_PURITY= \
make -C phobos -f posix.mak unittest $checkFlags -j$checkJobs DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$PWD"
make -C phobos unittest -j$checkJobs $checkFlags \
DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$PWD"
runHook postCheck
'';

View File

@ -1,5 +1,5 @@
import ./generic.nix {
version = "2.106.1";
dmdHash = "sha256-vjYa/Pxrz7J2htXT+fa+xaeen/Vxne++lELbHTSXBK8=";
phobosHash = "sha256-yRL9ub3u4mREG9PVxBvgQ/LDXD57RadPTZ2h08qyh/s=";
version = "2.108.0";
dmdHash = "sha256-tlWcFgKtXzfqMMkOq4ezhZHdYCXFckjN5+m6jO4VH0U=";
phobosHash = "sha256-uU8S4rABOfhpKh+MvSbclkbdf0hrsuKF8SIpWMnPpfU=";
}