diff options
Diffstat (limited to 'pkgs/development/compilers/dmd/generic.nix')
-rw-r--r-- | pkgs/development/compilers/dmd/generic.nix | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/pkgs/development/compilers/dmd/generic.nix b/pkgs/development/compilers/dmd/generic.nix index d2679c184da..0f6abb574a5 100644 --- a/pkgs/development/compilers/dmd/generic.nix +++ b/pkgs/development/compilers/dmd/generic.nix @@ -6,6 +6,7 @@ { stdenv , lib , fetchFromGitHub +, removeReferencesTo , makeWrapper , which , writeTextFile @@ -20,7 +21,8 @@ , installShellFiles , git , unzip -, dmd_bin ? "${callPackage ./bootstrap.nix { }}/bin" +, dmdBootstrap ? callPackage ./bootstrap.nix { } +, dmd_bin ? "${dmdBootstrap}/bin" }: let @@ -155,6 +157,7 @@ stdenv.mkDerivation rec { fi ${dmd_bin}/rdmd dmd/compiler/src/build.d -j$buildJobs HOST_DMD=${dmd_bin}/dmd $buildFlags + make -C dmd/druntime -f posix.mak DMD=${pathToDmd} $buildFlags -j$buildJobs 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" @@ -195,7 +198,7 @@ stdenv.mkDerivation rec { installManPage dmd/docs/man/man*/* mkdir -p $out/include/dmd - cp -r {druntime/import/*,phobos/{std,etc}} $out/include/dmd/ + cp -r {dmd/druntime/import/*,phobos/{std,etc}} $out/include/dmd/ mkdir $out/lib cp phobos/generated/${osname}/release/${bits}/libphobos2.* $out/lib/ @@ -209,6 +212,12 @@ stdenv.mkDerivation rec { runHook postInstall ''; + preFixup = '' + find $out/bin -type f -exec ${removeReferencesTo}/bin/remove-references-to -t ${dmd_bin}/dmd '{}' + + ''; + + disallowedReferences = [ dmdBootstrap ]; + meta = with lib; { description = "Official reference compiler for the D language"; homepage = "https://dlang.org/"; |