Merge pull request #256163 from jtbx/dmd

dmd: 2.100.2 -> 2.105.2

authored by

Fabián Heredia Montiel and committed by
GitHub
f023c727 5e0c30e9

+22 -52
+3 -4
pkgs/development/compilers/dmd/default.nix
··· 1 1 import ./generic.nix { 2 - version = "2.100.2"; 3 - dmdSha256 = "sha256-o4+G3ARXIGObYHtHooYZKr+Al6kHpiwpMIog3i4BlDM="; 4 - druntimeSha256 = "sha256-qXvY1ECN4mPwOGgOE1FWwvxoRvlSww3tGLWgBdhzAKo="; 5 - phobosSha256 = "sha256-kTHRaAKG7cAGb4IE/NGHWaZ8t7ZceKj03l6E8wLzJzs="; 2 + version = "2.105.2"; 3 + dmdSha256 = "sha256-IjzIQZttB1711VayKDWcpYvf1MAan+GWGTdpdDTgo1k="; 4 + phobosSha256 = "sha256-2hAq48sBC1qvS1XBWZhGIPUlsA4pGcn4pHNok6lC8R0="; 6 5 }
+19 -48
pkgs/development/compilers/dmd/generic.nix
··· 1 1 { version 2 2 , dmdSha256 3 - , druntimeSha256 4 3 , phobosSha256 5 4 }: 6 5 ··· 21 20 , installShellFiles 22 21 , git 23 22 , unzip 24 - , HOST_DMD ? "${callPackage ./bootstrap.nix { }}/bin/dmd" 23 + , dmd_bin ? "${callPackage ./bootstrap.nix { }}/bin" 25 24 }: 26 25 27 26 let ··· 60 59 }) 61 60 (fetchFromGitHub { 62 61 owner = "dlang"; 63 - repo = "druntime"; 64 - rev = "v${version}"; 65 - sha256 = druntimeSha256; 66 - name = "druntime"; 67 - }) 68 - (fetchFromGitHub { 69 - owner = "dlang"; 70 62 repo = "phobos"; 71 63 rev = "v${version}"; 72 64 sha256 = phobosSha256; ··· 88 80 extraPrefix = "dmd/"; 89 81 sha256 = "sha256-N21mAPfaTo+zGCip4njejasraV5IsWVqlGR5eOdFZZE="; 90 82 }) 91 - ] ++ lib.optionals (lib.versionOlder version "2.092.2") [ 92 - # Fixes C++ tests that compiled on older C++ but not on the current one 93 - (fetchpatch { 94 - url = "https://github.com/dlang/druntime/commit/438990def7e377ca1f87b6d28246673bb38022ab.patch"; 95 - stripLen = 1; 96 - extraPrefix = "druntime/"; 97 - sha256 = "sha256-/pPKK7ZK9E/mBrxm2MZyBNhYExE8p9jz8JqBdZSE6uY="; 98 - }) 99 83 ]; 100 84 101 85 postPatch = '' 102 - patchShebangs dmd/test/{runnable,fail_compilation,compilable,tools}{,/extra-files}/*.sh 86 + patchShebangs dmd/compiler/test/{runnable,fail_compilation,compilable,tools}{,/extra-files}/*.sh 103 87 104 - rm dmd/test/runnable/gdb1.d 105 - rm dmd/test/runnable/gdb10311.d 106 - rm dmd/test/runnable/gdb14225.d 107 - rm dmd/test/runnable/gdb14276.d 108 - rm dmd/test/runnable/gdb14313.d 109 - rm dmd/test/runnable/gdb14330.d 110 - rm dmd/test/runnable/gdb15729.sh 111 - rm dmd/test/runnable/gdb4149.d 112 - rm dmd/test/runnable/gdb4181.d 88 + rm dmd/compiler/test/runnable/gdb1.d 89 + rm dmd/compiler/test/runnable/gdb10311.d 90 + rm dmd/compiler/test/runnable/gdb14225.d 91 + rm dmd/compiler/test/runnable/gdb14276.d 92 + rm dmd/compiler/test/runnable/gdb14313.d 93 + rm dmd/compiler/test/runnable/gdb14330.d 94 + rm dmd/compiler/test/runnable/gdb15729.sh 95 + rm dmd/compiler/test/runnable/gdb4149.d 96 + rm dmd/compiler/test/runnable/gdb4181.d 113 97 114 98 # Disable tests that rely on objdump whitespace until fixed upstream: 115 99 # https://issues.dlang.org/show_bug.cgi?id=23317 116 - rm dmd/test/runnable/cdvecfill.sh 117 - rm dmd/test/compilable/cdcmp.d 118 - 119 - # Grep'd string changed with gdb 12 120 - # https://issues.dlang.org/show_bug.cgi?id=23198 121 - substituteInPlace druntime/test/exceptions/Makefile \ 122 - --replace 'in D main (' 'in _Dmain (' 123 - 124 - # We're using gnused on all platforms 125 - substituteInPlace druntime/test/coverage/Makefile \ 126 - --replace 'freebsd osx' 'none' 100 + rm dmd/compiler/test/runnable/cdvecfill.sh 101 + rm dmd/compiler/test/compilable/cdcmp.d 127 102 '' 128 103 129 104 + lib.optionalString (lib.versionOlder version "2.091.0") '' 130 105 # This one has tested against a hardcoded year, then against a current year on 131 106 # and off again. It just isn't worth it to patch all the historical versions 132 107 # of it, so just remove it until the most recent change. 133 - rm dmd/test/compilable/ddocYear.d 108 + rm dmd/compiler/test/compilable/ddocYear.d 134 109 '' + lib.optionalString (lib.versionAtLeast version "2.089.0" && lib.versionOlder version "2.092.2") '' 135 - rm dmd/test/dshell/test6952.d 110 + rm dmd/compiler/test/dshell/test6952.d 136 111 '' + lib.optionalString (lib.versionAtLeast version "2.092.2") '' 137 - substituteInPlace dmd/test/dshell/test6952.d --replace "/usr/bin/env bash" "${bash}/bin/bash" 112 + substituteInPlace dmd/compiler/test/dshell/test6952.d --replace "/usr/bin/env bash" "${bash}/bin/bash" 138 113 '' 139 114 140 115 + lib.optionalString stdenv.isLinux '' ··· 179 154 buildJobs=1 180 155 fi 181 156 182 - make -C dmd -f posix.mak $buildFlags -j$buildJobs HOST_DMD=${HOST_DMD} 183 - make -C druntime -f posix.mak $buildFlags -j$buildJobs DMD=${pathToDmd} 157 + ${dmd_bin}/rdmd dmd/compiler/src/build.d -j$buildJobs HOST_DMD=${dmd_bin}/dmd $buildFlags 184 158 echo ${tzdata}/share/zoneinfo/ > TZDatabaseDirFile 185 159 echo ${lib.getLib curl}/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} > LibcurlPathFile 186 160 make -C phobos -f posix.mak $buildFlags -j$buildJobs DMD=${pathToDmd} DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$PWD" ··· 205 179 fi 206 180 207 181 NIX_ENFORCE_PURITY= \ 208 - make -C dmd/test $checkFlags CC=$CXX SHELL=$SHELL -j$checkJobs N=$checkJobs 209 - 210 - NIX_ENFORCE_PURITY= \ 211 - make -C druntime -f posix.mak unittest $checkFlags -j$checkJobs 182 + make -C dmd/compiler/test $checkFlags CC=$CXX SHELL=$SHELL -j$checkJobs N=$checkJobs 212 183 213 184 NIX_ENFORCE_PURITY= \ 214 185 make -C phobos -f posix.mak unittest $checkFlags -j$checkJobs DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$PWD" ··· 244 215 # Everything is now Boost licensed, even the backend. 245 216 # https://github.com/dlang/dmd/pull/6680 246 217 license = licenses.boost; 247 - maintainers = with maintainers; [ ThomasMader lionello dukc ]; 218 + maintainers = with maintainers; [ ThomasMader lionello dukc jtbx ]; 248 219 platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ]; 249 220 }; 250 221 }