diff options
Diffstat (limited to 'nix-overlays')
| -rw-r--r-- | nix-overlays/README | 26 | ||||
| -rw-r--r-- | nix-overlays/dmd/default.nix | 6 | ||||
| -rw-r--r-- | nix-overlays/dmd/generic.nix | 65 | ||||
| -rw-r--r-- | nix-overlays/dmd/package.nix | 5 | ||||
| -rw-r--r-- | nix-overlays/dtools/default.nix | 52 | ||||
| -rw-r--r-- | nix-overlays/dtools/disabled-tests.diff | 11 | ||||
| -rw-r--r-- | nix-overlays/dtools/fix-ldc-arm64.diff | 102 | ||||
| -rw-r--r-- | nix-overlays/dtools/package.nix | 49 | ||||
| -rw-r--r-- | nix-overlays/dub/package.nix | 22 | ||||
| -rw-r--r-- | nix-overlays/ldc/bootstrap.nix | 23 | ||||
| -rw-r--r-- | nix-overlays/ldc/package.nix | 116 | 
11 files changed, 304 insertions, 173 deletions
| diff --git a/nix-overlays/README b/nix-overlays/README index c593dc5..75b498b 100644 --- a/nix-overlays/README +++ b/nix-overlays/README @@ -16,11 +16,11 @@ compiler and build tools: ldc, dub and dtools, than exist in nixpkgs at the time  of publishing, in some cases with additional fixes.  nix overlays for (updates nixpkgs, more recent versions of): -  - ldc     ( 1.30.0 -> 1.40.0 ) -  - dub     ( 1.23.0 -> 1.38.1 ) [for nix versions 1.31.0 ... 1.33.0 broken] -  - dtools  ( 2.095.1 -> 2.103.1 ) +  - ldc     ( 1.30.0 -> 1.41.0 ) +  - dub     ( 1.23.0 -> 1.40.0 ) [for nix versions 1.31.0 ... 1.33.0 broken] +  - dtools  ( 2.095.1 -> 2.110.0 ) -  - dmd     ( 2.106.1 -> 2.109.1 ) +  - dmd     ( 2.106.1 -> 2.111.0 )    - gdc     [not yet available]  dlang-nix-flakes.org --❯ @@ -47,26 +47,26 @@ search nixpkgs here:  - https://search.nixos.org/packages?channel=unstable&from=0&size=100&sort=relevance&query=  ** compilers -*** ldc OK ✓ ( 1.30.0 -> 1.40.0 ) +*** ldc OK ✓ ( 1.30.0 -> 1.41.0 )  - https://wiki.dlang.org/LDC  - https://github.com/ldc-developers/ldc    - https://github.com/ldc-developers/ldc/releases -    nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.40.0.tar.gz +    nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.41.0.tar.gz    - https://github.com/ldc-developers/ldc/issues  - version in nixpkgs:    - https://search.nixos.org/packages?channel=unstable&show=ldc&from=0&size=100&sort=relevance&type=packages&query=ldc -*** dmd OK ✓ ( 2.100.2 -> 2.109.1 ) +*** dmd OK ✓ ( 2.100.2 -> 2.111.0 )  - https://dlang.org/    - https://wiki.dlang.org/LDC  - https://github.com/dlang/dmd    - https://github.com/dlang/dmd/tags -    nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.109.1.tar.gz +    nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.111.0.tar.gz    - https://github.com/dlang/dmd/pulls  - version in nixpkgs: @@ -88,13 +88,13 @@ not yet provided in nixpkgs with gcc12, no attempt made  - https://github.com/D-Programming-GDC/gdc  ** build tool -*** dub ( 1.23.0 -> 1.38.1 ) +*** dub ( 1.23.0 -> 1.40.0 )  - https://code.dlang.org/packages/dub  - https://github.com/dlang/dub    - https://github.com/dlang/dub/releases -    nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.38.1.tar.gz +    nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.40.0.tar.gz    - https://github.com/dlang/dub/issues  - version in nixpkgs: @@ -102,19 +102,19 @@ not yet provided in nixpkgs with gcc12, no attempt made  - dub nixpkg overlay is updated and runs most dub tests correctly -- dub OK ✓ ( 1.30.0 -> 1.38.1 ) +- dub OK ✓ ( 1.30.0 -> 1.40.0 )    from v1.31.0 requires seeting of pwd in buildPhase else fails to build    packages with nix tools that previous version of dub built;  ** tools -*** dtools OK ✓ ( 2.095.1 -> 2.103.1 ) +*** dtools OK ✓ ( 2.095.1 -> 2.110.0 )  - https://code.dlang.org/packages/dtools  - https://github.com/dlang/tools    - https://github.com/dlang/tools/tags -    nix-prefetch --unpack https://github.com/dlang/tools/archive/refs/tags/v2.103.1.tar.gz +    nix-prefetch --unpack https://github.com/dlang/tools/archive/refs/tags/v2.110.0.tar.gz    - https://github.com/dlang/tools/issues  - version in nixpkgs diff --git a/nix-overlays/dmd/default.nix b/nix-overlays/dmd/default.nix index b5268b7..8375c13 100644 --- a/nix-overlays/dmd/default.nix +++ b/nix-overlays/dmd/default.nix @@ -1,5 +1 @@ -import ./generic.nix { -  version = "2.109.1"; -  dmdHash = "sha256-3nCDPZnb4eQZmhYYxcH6qOmsP8or0KYuzAa5g/C9xdU="; -  phobosHash = "sha256-73I0k7tCBwe5tl4K6uMs3/nT2JTZ2SppFYzmokS4W5Y="; -} +import ./package.nix diff --git a/nix-overlays/dmd/generic.nix b/nix-overlays/dmd/generic.nix index 22f7fa8..59a781e 100644 --- a/nix-overlays/dmd/generic.nix +++ b/nix-overlays/dmd/generic.nix @@ -1,28 +1,30 @@ -{ version -, dmdHash -, phobosHash +{ +  version, +  dmdHash, +  phobosHash,  }: -{ stdenv -, lib -, fetchFromGitHub -, removeReferencesTo -, makeWrapper -, which -, writeTextFile -, curl -, tzdata -, gdb -#, Foundation -, callPackage -, targetPackages -, fetchpatch -, bash -, installShellFiles -, git -, unzip -, dmdBootstrap ? callPackage ./bootstrap.nix { } -, dmdBin ? "${dmdBootstrap}/bin" +{ +  stdenv, +  lib, +  fetchFromGitHub, +  removeReferencesTo, +  makeWrapper, +  which, +  writeTextFile, +  curl, +  tzdata, +  gdb, +  # Foundation, +  callPackage, +  targetPackages, +  fetchpatch, +  bash, +  installShellFiles, +  git, +  unzip, +  dmdBootstrap ? callPackage ./bootstrap.nix { }, +  dmdBin ? "${dmdBootstrap}/bin",  }:  let @@ -36,11 +38,8 @@ let    };    bits = builtins.toString stdenv.hostPlatform.parsed.cpu.bits; -  osname = -    if stdenv.hostPlatform.isDarwin then -      "osx" -    else -      stdenv.hostPlatform.parsed.kernel.name; +  osname = if stdenv.hostPlatform.isDarwin then "osx" +    else stdenv.hostPlatform.parsed.kernel.name;    pathToDmd = "\${NIX_BUILD_TOP}/dmd/generated/${osname}/release/${bits}/dmd";  in @@ -97,7 +96,9 @@ stdenv.mkDerivation (finalAttrs: {      rm dmd/compiler/test/runnable/gdb4149.d      rm dmd/compiler/test/runnable/gdb4181.d      rm dmd/compiler/test/compilable/ddocYear.d -    rm dmd/compiler/test/fail_compilation/needspkgmod.d +    rm dmd/compiler/test/compilable/sarif_success_test.d +    rm dmd/compiler/test/fail_compilation/sarif_test.d +    rm dmd/compiler/test/fail_compilation/sarifmultiple_test.d      # Disable tests that rely on objdump whitespace until fixed upstream:      #   https://issues.dlang.org/show_bug.cgi?id=23317 @@ -109,9 +110,9 @@ stdenv.mkDerivation (finalAttrs: {      substituteInPlace dmd/compiler/test/dshell/test6952.d --replace-fail "/usr/bin/env bash" "${bash}/bin/bash"    '' + lib.optionalString stdenv.hostPlatform.isLinux ''      substituteInPlace phobos/std/socket.d --replace-fail "assert(ih.addrList[0] == 0x7F_00_00_01);" "" -  '' + lib.optionalString stdenv.hostPlatform.isDarwin '' -    substituteInPlace phobos/std/socket.d --replace-fail "foreach (name; names)" "names = []; foreach (name; names)" -  ''; +  ''; # + lib.optionalString stdenv.hostPlatform.isDarwin '' +  #  substituteInPlace phobos/std/socket.d --replace-fail "foreach (name; names)" "names = []; foreach (name; names)" +  #'';    nativeBuildInputs = [      makeWrapper diff --git a/nix-overlays/dmd/package.nix b/nix-overlays/dmd/package.nix new file mode 100644 index 0000000..3aa1183 --- /dev/null +++ b/nix-overlays/dmd/package.nix @@ -0,0 +1,5 @@ +import ./generic.nix { +  version = "2.111.0"; +  dmdHash = "sha256-2bjsGa9nTny818dLRV6LKkes+Ycq8W+PFjwhGVrD5TM="; +  phobosHash = "sha256-9jySZbODoL8sULhYKj/l4+c/uiG5xY2dO240k9XQtPk="; +} diff --git a/nix-overlays/dtools/default.nix b/nix-overlays/dtools/default.nix index d605e4d..8375c13 100644 --- a/nix-overlays/dtools/default.nix +++ b/nix-overlays/dtools/default.nix @@ -1,51 +1 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch, ldc, curl, gnumake42 }: - -stdenv.mkDerivation rec { -  pname = "dtools"; -  version = "2.103.1"; - -  src = fetchFromGitHub { -    owner = "dlang"; -    repo = "tools"; -    rev = "v${version}"; -    sha256 = "sha256-XM4gUxcarQCOBR8W/o0iWAI54PyLDkH6CsDce22Cnu4="; -    name = "dtools"; -  }; - -  patches = [ -    (fetchpatch { -      # part of https://github.com/dlang/tools/pull/441 -      url = "https://github.com/dlang/tools/commit/6c6a042d1b08e3ec1790bd07a7f69424625ee866.patch"; # Fix LDC arm64 build -      sha256 = "sha256-x6EclTYN1Y5FG57KLhbBK0BZicSYcZoWO7MTVcP4T18="; -    }) -  ]; - -  nativeBuildInputs = [ ldc gnumake42 ]; # fails with make 4.4 -  buildInputs = [ curl ]; - -  makeCmd = '' -    make -f posix.mak all DMD_DIR=dmd DMD=${ldc.out}/bin/ldmd2 CC=${stdenv.cc}/bin/cc -  ''; - -  buildPhase = '' -    $makeCmd -  ''; - -  doCheck = true; - -  checkPhase = '' -      $makeCmd test_rdmd -    ''; - -  installPhase = '' -      $makeCmd INSTALL_DIR=$out install -  ''; - -  meta = with lib; { -    description = "Ancillary tools for the D programming language compiler"; -    homepage = "https://github.com/dlang/tools"; -    license = lib.licenses.boost; -    maintainers = with maintainers; [ ThomasMader ]; -    platforms = lib.platforms.unix; -  }; -} +import ./package.nix diff --git a/nix-overlays/dtools/disabled-tests.diff b/nix-overlays/dtools/disabled-tests.diff new file mode 100644 index 0000000..a22825a --- /dev/null +++ b/nix-overlays/dtools/disabled-tests.diff @@ -0,0 +1,11 @@ +--- a/rdmd_test.d ++++ b/rdmd_test.d +@@ -616,7 +616,7 @@ void runTests(string rdmdApp, string compiler, string model) +         enforce(res.status == 1, res.output); +     } +  +-    version (Posix) ++    version (none) +     { +         import std.conv : to; +         auto makeVersion = execute(["make", "--version"]).output.splitLines()[0]; diff --git a/nix-overlays/dtools/fix-ldc-arm64.diff b/nix-overlays/dtools/fix-ldc-arm64.diff new file mode 100644 index 0000000..66eaa22 --- /dev/null +++ b/nix-overlays/dtools/fix-ldc-arm64.diff @@ -0,0 +1,102 @@ +Adapted from https://github.com/dlang/tools/commit/6c6a042d1b08e3ec1790bd07a7f69424625ee866.patch +--- /dev/null ++++ b/osmodel.mak +@@ -0,0 +1,75 @@ ++#   osmodel.mak ++# ++# Detects and sets the macros: ++# ++#   OS         = one of {osx,linux,freebsd,openbsd,netbsd,dragonflybsd,solaris} ++#   MODEL      = one of { 32, 64 } ++#   MODEL_FLAG = one of { -m32, -m64 } ++#   ARCH       = one of { x86, x86_64, aarch64 } ++# ++# Note: ++#   Keep this file in sync between druntime, phobos, and dmd repositories! ++# Source: https://github.com/dlang/dmd/blob/master/src/osmodel.mak ++ ++ ++ifeq (,$(OS)) ++  uname_S:=$(shell uname -s) ++  ifeq (Darwin,$(uname_S)) ++    OS:=osx ++  endif ++  ifeq (Linux,$(uname_S)) ++    OS:=linux ++  endif ++  ifeq (FreeBSD,$(uname_S)) ++    OS:=freebsd ++  endif ++  ifeq (OpenBSD,$(uname_S)) ++    OS:=openbsd ++  endif ++  ifeq (NetBSD,$(uname_S)) ++    OS:=netbsd ++  endif ++  ifeq (DragonFly,$(uname_S)) ++    OS:=dragonflybsd ++  endif ++  ifeq (Solaris,$(uname_S)) ++    OS:=solaris ++  endif ++  ifeq (SunOS,$(uname_S)) ++    OS:=solaris ++  endif ++  ifeq (,$(OS)) ++    $(error Unrecognized or unsupported OS for uname: $(uname_S)) ++  endif ++endif ++ ++# When running make from XCode it may set environment var OS=MACOS. ++# Adjust it here: ++ifeq (MACOS,$(OS)) ++  OS:=osx ++endif ++ ++ifeq (,$(MODEL)) ++  ifeq ($(OS), solaris) ++    uname_M:=$(shell isainfo -n) ++  else ++    uname_M:=$(shell uname -m) ++  endif ++  ifneq (,$(findstring $(uname_M),x86_64 amd64)) ++    MODEL:=64 ++    ARCH:=x86_64 ++  endif ++  ifneq (,$(findstring $(uname_M),aarch64 arm64)) ++    MODEL:=64 ++    ARCH:=aarch64 ++  endif ++  ifneq (,$(findstring $(uname_M),i386 i586 i686)) ++    MODEL:=32 ++    ARCH:=x86 ++  endif ++  ifeq (,$(MODEL)) ++    $(error Cannot figure 32/64 model and arch from uname -m: $(uname_M)) ++  endif ++endif ++ ++MODEL_FLAG:=-m$(MODEL) +--- a/Makefile ++++ b/Makefile +@@ -9,9 +9,8 @@ DUB=dub + WITH_DOC = no + DOC = ../dlang.org +  +-# Load operating system $(OS) (e.g. linux, osx, ...) and $(MODEL) (e.g. 32, 64) detection Makefile from dmd +-$(shell [ ! -d $(DMD_DIR) ] && git clone --depth=1 https://github.com/dlang/dmd $(DMD_DIR)) +-include $(DMD_DIR)/compiler/src/osmodel.mak ++# Load operating system $(OS) (e.g. linux, osx, ...) and $(MODEL) (e.g. 32, 64) detection Makefile ++include osmodel.mak +  + ifeq (windows,$(OS)) +     DOTEXE:=.exe +@@ -30,7 +29,7 @@ DFLAGS = $(MODEL_FLAG) $(if $(findstring windows,$(OS)),,-fPIC) -preview=dip1000 + DFLAGS += $(WARNINGS) +  + # Default DUB flags (DUB uses a different architecture format) +-DUBFLAGS = --arch=$(subst 32,x86,$(subst 64,x86_64,$(MODEL))) ++DUBFLAGS = --arch=$(ARCH) +  + TOOLS = \ +     $(ROOT)/catdoc$(DOTEXE) \ diff --git a/nix-overlays/dtools/package.nix b/nix-overlays/dtools/package.nix new file mode 100644 index 0000000..2e72b44 --- /dev/null +++ b/nix-overlays/dtools/package.nix @@ -0,0 +1,49 @@ +{ +  lib, +  stdenv, +  fetchFromGitHub, +  ldc, +  curl, +}: + +stdenv.mkDerivation (finalAttrs: { +  pname = "dtools"; +  version = "2.110.0"; + +  src = fetchFromGitHub { +    owner = "dlang"; +    repo = "tools"; +    rev = "v${finalAttrs.version}"; +    hash = "sha256-xMEHnrstL5hAkhp8+/z1I2KZWZ7eztWZnUGLTKCfbBI="; +    name = "dtools"; +  }; + +  patches = [ +    # Disable failing tests +    ./disabled-tests.diff +    # Fix LDC arm64 build +    ./fix-ldc-arm64.diff +  ]; + +  nativeBuildInputs = [ ldc ]; +  buildInputs = [ curl ]; + +  makeFlags = [ +    "CC=${stdenv.cc}/bin/cc" +    "DMD=${ldc.out}/bin/ldmd2" +    "INSTALL_DIR=$(out)" +  ]; + +  enableParallelBuilding = true; + +  doCheck = true; +  checkTarget = "test_rdmd"; + +  meta = with lib; { +    description = "Ancillary tools for the D programming language"; +    homepage = "https://github.com/dlang/tools"; +    license = licenses.boost; +    maintainers = with maintainers; [ jtbx ]; +    platforms = platforms.unix; +  }; +}) diff --git a/nix-overlays/dub/package.nix b/nix-overlays/dub/package.nix index f13adec..4d63f2d 100644 --- a/nix-overlays/dub/package.nix +++ b/nix-overlays/dub/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, curl -, ldc -, dcompiler ? ldc -, libevent -, rsync +{ +  lib, +  stdenv, +  fetchFromGitHub, +  curl, +  ldc, +  dcompiler ? ldc, +  libevent, +  rsync,  }:  assert dcompiler != null;  stdenv.mkDerivation (finalAttrs: {    pname = "dub"; -  version = "1.38.1"; +  version = "1.40.0";    enableParallelBuilding = true; @@ -20,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: {      owner = "dlang";      repo = "dub";      rev = "v${finalAttrs.version}"; -    hash = "sha256-8Lr/0sx4SKwU1aNOxZArta0RXpDM+EWl29ZsPDdPWFo="; +    hash = "sha256-OirchEKf66gis70gCSTOYcrHLyHhCsyt/rTEGT83Vcc=";    };    postPatch = '' @@ -69,6 +70,7 @@ stdenv.mkDerivation (finalAttrs: {      rm -rf test/pr2642-cache-db # added to build v1.34.0      rm -rf test/pr2644-describe-artifact-path # added to build v1.36.0      rm -rf test/pr2647-build-deep # added to build v1.36.0 +    rm -rf test/issue2698-cimportpaths-broken-with-dmd-ldc # added to build v1.40.0      ./test/run-unittest.sh      runHook postCheck diff --git a/nix-overlays/ldc/bootstrap.nix b/nix-overlays/ldc/bootstrap.nix index d81e5a4..f166568 100644 --- a/nix-overlays/ldc/bootstrap.nix +++ b/nix-overlays/ldc/bootstrap.nix @@ -1,16 +1,25 @@ -{ lib, stdenv, fetchurl, curl, tzdata, autoPatchelfHook, fixDarwinDylibNames, libxml2 }: +{ +  lib, +  stdenv, +  fetchurl, +  curl, +  tzdata, +  autoPatchelfHook, +  fixDarwinDylibNames, +  libxml2, +}:  let    inherit (stdenv) hostPlatform;    OS = if hostPlatform.isDarwin then "osx" else hostPlatform.parsed.kernel.name;    ARCH = if hostPlatform.isDarwin && hostPlatform.isAarch64 then "arm64" else hostPlatform.parsed.cpu.name; -  version = "1.25.0"; +  version = "1.41.0";    hashes = { -    # Get these from `nix store prefetch-file https://github.com/ldc-developers/ldc/releases/download/v1.25.0/ldc2-1.25.0-osx-x86_64.tar.xz` etc.. -    osx-x86_64 = "sha256-6iKnbS+oalLKmyS8qYD/wS21b7+O+VgsWG2iT4PrWPU="; -    linux-x86_64 = "sha256-sfg47RdlsIpryc3iZvE17OtLweh3Zw6DeuNJYgpuH+o="; -    linux-aarch64  = "sha256-UDZ43x4flSo+SfsPeE8juZO2Wtk2ZzwySk0ADHnvJBI="; -    osx-arm64  = "sha256-O/x0vy0wwQFaDc4uWSeMhx+chJKqbQb6e5QNYf+7DCw="; +    # Get these from `nix store prefetch-file https://github.com/ldc-developers/ldc/releases/download/v1.41.0/ldc2-1.41.0-osx-x86_64.tar.xz` etc.. +    osx-x86_64 = "sha256-W8/0i2PFakXbqs2wxb3cjqa+htSgx7LHyDGOBH9yEYE="; +    linux-x86_64 = "sha256-SkOUV/D+WeadAv1rV1Sfw8h60PVa2fueQlB7b44yfI8="; +    linux-aarch64 = "sha256-HEuVChPVM3ntT1ZDZsJ+xW1iYeIWhogNcMdIaz6Me6g="; +    osx-arm64 = "sha256-FXJnBC8QsEchBhkxSqcZtPC/iHYB6TscY0qh7LPFRuQ=";    };  in stdenv.mkDerivation {    pname = "ldc-bootstrap"; diff --git a/nix-overlays/ldc/package.nix b/nix-overlays/ldc/package.nix index c20084c..1767785 100644 --- a/nix-overlays/ldc/package.nix +++ b/nix-overlays/ldc/package.nix @@ -1,26 +1,28 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, ninja -, llvm_19 -, curl -, tzdata -, lit -, gdb -, unzip -, darwin -, callPackage -, makeWrapper -, runCommand -, writeText -, targetPackages - -, ldcBootstrap ? callPackage ./bootstrap.nix { } +{ +  lib, +  stdenv, +  fetchFromGitHub, +  fetchpatch, +  callPackage, +  makeWrapper, +  removeReferencesTo, +  runCommand, +  writeText, +  targetPackages, +  cmake, +  ninja, +  llvm_20, +  curl, +  tzdata, +  lit, +  gdb, +  unzip, + +  ldcBootstrap ? callPackage ./bootstrap.nix { },  }:  let -  pathConfig = runCommand "ldc-lib-paths" {} '' +  pathConfig = runCommand "ldc-lib-paths" { } ''      mkdir $out      echo ${tzdata}/share/zoneinfo/ > $out/TZDatabaseDirFile      echo ${curl.out}/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} > $out/LibcurlPathFile @@ -30,13 +32,13 @@ in  stdenv.mkDerivation (finalAttrs: {    pname = "ldc"; -  version = "1.40.0"; +  version = "1.41.0";    src = fetchFromGitHub {      owner = "ldc-developers";      repo = "ldc";      rev = "v${finalAttrs.version}"; -    hash = "sha256-LT85DlAebecPpBUgZP0ayKTVrTUqN6DMJVEWTatLOxY="; +    hash = "sha256-6LcpY3LSFK4KgEiGrFp/LONu5Vr+/+vI04wEEpF3s+s=";      fetchSubmodules = true;    }; @@ -62,9 +64,7 @@ stdenv.mkDerivation (finalAttrs: {    '';    nativeBuildInputs = [ -    cmake ldcBootstrap lit lit.python llvm_19.dev makeWrapper ninja unzip -  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ -    darwin.apple_sdk.frameworks.Foundation +    cmake ldcBootstrap lit lit.python llvm_20.dev makeWrapper ninja unzip    ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [      # https://github.com/NixOS/nixpkgs/pull/36378#issuecomment-385034818      gdb @@ -106,8 +106,7 @@ stdenv.mkDerivation (finalAttrs: {    '';    # https://github.com/ldc-developers/ldc/issues/2497#issuecomment-459633746 -  additionalExceptions = lib.optionalString stdenv.hostPlatform.isDarwin -    "|druntime-test-shared"; +  additionalExceptions = lib.optionalString stdenv.hostPlatform.isDarwin "|druntime-test-shared";    checkPhase = ''      # Build default lib test runners @@ -135,6 +134,12 @@ stdenv.mkDerivation (finalAttrs: {        --set-default CC ${targetPackages.stdenv.cc}/bin/cc    ''; +  preFixup = '' +    find $out/bin -type f -exec ${removeReferencesTo}/bin/remove-references-to -t ${ldcBootstrap} '{}' + +  ''; + +  disallowedReferences = [ ldcBootstrap ]; +    meta = with lib; {      description = "LLVM-based D compiler";      homepage = "https://github.com/ldc-developers/ldc"; @@ -147,34 +152,35 @@ stdenv.mkDerivation (finalAttrs: {    };    passthru.ldcBootstrap = ldcBootstrap; -  passthru.tests = let -    ldc = finalAttrs.finalPackage; -    helloWorld = stdenv.mkDerivation (finalAttrs: { -      name = "ldc-hello-world"; -      src = writeText "hello_world.d" '' -        module hello_world; -        import std.stdio; -        void main() { -          writeln("Hello, world!"); -        } -      ''; -      dontUnpack = true; -      buildInputs = [ ldc ]; -      dFlags = []; -      buildPhase = '' -        ldc2 ${lib.escapeShellArgs finalAttrs.dFlags} -of=test $src -      ''; -      installPhase = '' -        mkdir -p $out/bin -        mv test $out/bin -      ''; -    }); -  in { -    # Without -shared, built binaries should not contain -    # references to the compiler binaries. -    no-references-to-compiler = helloWorld.overrideAttrs { -      disallowedReferences = [ ldc ]; -      dFlags = ["-g"]; +  passthru.tests = +    let +      ldc = finalAttrs.finalPackage; +      helloWorld = stdenv.mkDerivation (finalAttrs: { +        name = "ldc-hello-world"; +        src = writeText "hello_world.d" '' +          module hello_world; +          import std.stdio; +          void main() { +            writeln("Hello, world!"); +          } +        ''; +        dontUnpack = true; +        buildInputs = [ ldc ]; +        dFlags = [ ]; +        buildPhase = '' +          ldc2 ${lib.escapeShellArgs finalAttrs.dFlags} -of=test $src +        ''; +        installPhase = '' +          mkdir -p $out/bin +          mv test $out/bin +        ''; +      }); +    in { +      # Without -shared, built binaries should not contain +      # references to the compiler binaries. +      no-references-to-compiler = helloWorld.overrideAttrs { +        disallowedReferences = [ ldc ]; +        dFlags = ["-g"];      };    };  }) | 
