|
|
|
@ -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 ]; |
|
|
|
|