diff options
Diffstat (limited to 'pkgs/development/compilers/dmd/2.067.1.nix')
-rw-r--r-- | pkgs/development/compilers/dmd/2.067.1.nix | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/pkgs/development/compilers/dmd/2.067.1.nix b/pkgs/development/compilers/dmd/2.067.1.nix index 3cf530e9e5e..6fab56e4e7d 100644 --- a/pkgs/development/compilers/dmd/2.067.1.nix +++ b/pkgs/development/compilers/dmd/2.067.1.nix @@ -43,6 +43,7 @@ stdenv.mkDerivation rec { # Compile with PIC to prevent colliding modules with binutils 2.28. # https://issues.dlang.org/show_bug.cgi?id=17375 usePIC = "-fPIC"; + ROOT_HOME_DIR = "$(echo ~root)"; postPatch = '' # Ugly hack so the dlopen call has a chance to succeed. @@ -67,19 +68,23 @@ stdenv.mkDerivation rec { --replace g++ $CXX '' - + stdenv.lib.optionalString stdenv.hostPlatform.isLinux '' - substituteInPlace dmd/src/root/port.c \ - --replace "#include <bits/mathdef.h>" "#include <complex.h>" - '' + + stdenv.lib.optionalString stdenv.hostPlatform.isLinux '' + substituteInPlace dmd/src/root/port.c \ + --replace "#include <bits/mathdef.h>" "#include <complex.h>" - + stdenv.lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace dmd/src/posix.mak \ - --replace MACOSX_DEPLOYMENT_TARGET MACOSX_DEPLOYMENT_TARGET_ + # See https://github.com/NixOS/nixpkgs/issues/29443 + substituteInPlace phobos/std/path.d \ + --replace "\"/root" "\"${ROOT_HOME_DIR}" + '' + + + stdenv.lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace dmd/src/posix.mak \ + --replace MACOSX_DEPLOYMENT_TARGET MACOSX_DEPLOYMENT_TARGET_ - # Was not able to compile on darwin due to "__inline_isnanl" - # being undefined. - substituteInPlace dmd/src/root/port.c --replace __inline_isnanl __inline_isnan - ''; + # Was not able to compile on darwin due to "__inline_isnanl" + # being undefined. + substituteInPlace dmd/src/root/port.c --replace __inline_isnanl __inline_isnan + ''; nativeBuildInputs = [ makeWrapper unzip which ]; buildInputs = [ curl tzdata ]; @@ -96,7 +101,8 @@ stdenv.mkDerivation rec { cd .. ''; - doCheck = true; + # disable check phase because some tests are not working with sandboxing + doCheck = false; checkPhase = '' cd dmd |