From 77ca961d67f7dc1c6de5b5f89f7a55ff703bddde Mon Sep 17 00:00:00 2001
From: Ralph Amissah <ralph.amissah@gmail.com>
Date: Fri, 9 Jun 2023 16:48:04 -0400
Subject: nix overlays introduced and tracked

---
 nix-overlays/dtools/default.nix | 51 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)
 create mode 100644 nix-overlays/dtools/default.nix

(limited to 'nix-overlays/dtools')

diff --git a/nix-overlays/dtools/default.nix b/nix-overlays/dtools/default.nix
new file mode 100644
index 0000000..d605e4d
--- /dev/null
+++ b/nix-overlays/dtools/default.nix
@@ -0,0 +1,51 @@
+{ 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;
+  };
+}
-- 
cgit v1.2.3