1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 ldc,
6 curl,
7}:
8
9stdenv.mkDerivation (finalAttrs: {
10 pname = "dtools";
11 version = "2.110.0";
12
13 src = fetchFromGitHub {
14 owner = "dlang";
15 repo = "tools";
16 rev = "v${finalAttrs.version}";
17 hash = "sha256-xMEHnrstL5hAkhp8+/z1I2KZWZ7eztWZnUGLTKCfbBI=";
18 name = "dtools";
19 };
20
21 patches = [
22 # Disable failing tests
23 ./disabled-tests.diff
24 # Fix LDC arm64 build
25 ./fix-ldc-arm64.diff
26 ];
27
28 nativeBuildInputs = [ ldc ];
29 buildInputs = [ curl ];
30
31 makeFlags = [
32 "CC=${stdenv.cc}/bin/cc"
33 "DMD=${ldc.out}/bin/ldmd2"
34 "INSTALL_DIR=$(out)"
35 ];
36
37 enableParallelBuilding = true;
38
39 doCheck = true;
40 checkTarget = "test_rdmd";
41
42 meta = with lib; {
43 description = "Ancillary tools for the D programming language";
44 homepage = "https://github.com/dlang/tools";
45 license = licenses.boost;
46 maintainers = with maintainers; [ jtbx ];
47 platforms = platforms.unix;
48 };
49})