btrbk: add mainProgram
[NixPkgs.git] / pkgs / by-name / du / dub / package.nix
blobc6782b49070ebd18a67a133d3d06a72d956cc3dd
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , curl
5 , ldc
6 , libevent
7 , rsync
8 }:
10 stdenv.mkDerivation (finalAttrs: {
11   pname = "dub";
12   version = "1.38.1";
14   enableParallelBuilding = true;
16   src = fetchFromGitHub {
17     owner = "dlang";
18     repo = "dub";
19     rev = "v${finalAttrs.version}";
20     hash = "sha256-8Lr/0sx4SKwU1aNOxZArta0RXpDM+EWl29ZsPDdPWFo=";
21   };
23   postPatch = ''
24     patchShebangs test
25   '';
27   nativeBuildInputs = [ ldc libevent rsync ];
28   buildInputs = [ curl ];
30   buildPhase = ''
31     runHook preBuild
33     export DMD=${ldc}/bin/ldmd2
34     ldc2 -run ./build.d
36     runHook postBuild
37   '';
39   doCheck = !stdenv.hostPlatform.isDarwin;
41   checkPhase = ''
42     runHook preCheck
44     export DUB=$NIX_BUILD_TOP/source/bin/dub
45     export PATH=$PATH:$NIX_BUILD_TOP/source/bin/
46     export DC=${lib.getExe ldc}
47     export HOME=$TMP
49     rm -rf test/issue502-root-import
50     rm test/issue674-concurrent-dub.sh
51     rm test/issue672-upgrade-optional.sh
52     rm test/issue990-download-optional-selected.sh
53     rm test/issue877-auto-fetch-package-on-run.sh
54     rm test/issue1037-better-dependency-messages.sh
55     rm test/issue1416-maven-repo-pkg-supplier.sh
56     rm test/issue1180-local-cache-broken.sh
57     rm test/issue1574-addcommand.sh
58     rm test/issue1524-maven-upgrade-dependency-tree.sh
59     rm test/issue1773-lint.sh
61     rm test/ddox.sh
62     rm test/fetchzip.sh
63     rm test/feat663-search.sh
64     rm -rf test/git-dependency
65     rm test/interactive-remove.sh
66     rm test/timeout.sh
67     rm test/version-spec.sh
68     rm test/0-init-multi.sh
69     rm test/0-init-multi-json.sh
70     rm test/4-describe-data-1-list.sh
71     rm test/4-describe-data-3-zero-delim.sh
72     rm test/4-describe-import-paths.sh
73     rm test/4-describe-string-import-paths.sh
74     rm test/4-describe-json.sh
75     rm test/5-convert-stdout.sh
76     rm test/issue1003-check-empty-ld-flags.sh
77     rm test/issue103-single-file-package.sh
78     rm test/issue1040-run-with-ver.sh
79     rm test/issue1091-bogus-rebuild.sh
80     rm test/issue1194-warn-wrong-subconfig.sh
81     rm test/issue1277.sh
82     rm test/issue1372-ignore-files-in-hidden-dirs.sh
83     rm test/issue1447-build-settings-vars.sh
84     rm test/issue1531-toolchain-requirements.sh
85     rm test/issue346-redundant-flags.sh
86     rm test/issue361-optional-deps.sh
87     rm test/issue564-invalid-upgrade-dependency.sh
88     rm test/issue586-subpack-dep.sh
89     rm test/issue616-describe-vs-generate-commands.sh
90     rm test/issue686-multiple-march.sh
91     rm test/issue813-fixed-dependency.sh
92     rm test/issue813-pure-sub-dependency.sh
93     rm test/issue820-extra-fields-after-convert.sh
94     rm test/issue923-subpackage-deps.sh
95     rm test/single-file-sdl-default-name.sh
96     rm test/subpackage-common-with-sourcefile-globbing.sh
97     rm test/issue934-path-dep.sh
98     rm -r test/issue2258-dynLib-exe-dep # requires files below
99     rm -r test/1-dynLib-simple
100     rm -r test/1-exec-simple-package-json
101     rm -r test/1-exec-simple
102     rm -r test/1-staticLib-simple
103     rm -r test/2-dynLib-dep
104     rm -r test/2-staticLib-dep
105     rm -r test/2-dynLib-with-staticLib-dep
106     rm -r test/2-sourceLib-dep/
107     rm -r test/3-copyFiles
108     rm -r test/custom-source-main-bug487
109     rm -r test/custom-unittest
110     rm -r test/issue1262-version-inheritance-diamond
111     rm -r test/issue1003-check-empty-ld-flags
112     rm -r test/ignore-hidden-1
113     rm -r test/ignore-hidden-2
114     rm -r test/issue1427-betterC
115     rm -r test/issue130-unicode-*
116     rm -r test/issue1262-version-inheritance
117     rm -r test/issue1372-ignore-files-in-hidden-dirs
118     rm -r test/issue1350-transitive-none-deps
119     rm -r test/issue1775
120     rm -r test/issue1447-build-settings-vars
121     rm -r test/issue1408-inherit-linker-files
122     rm -r test/issue1551-var-escaping
123     rm -r test/issue754-path-selection-fail
124     rm -r test/issue1788-incomplete-string-import-override
125     rm -r test/subpackage-ref
126     rm -r test/issue777-bogus-path-dependency
127     rm -r test/issue959-path-based-subpack-dep
128     rm -r test/issue97-targettype-none-nodeps
129     rm -r test/issue97-targettype-none-onerecipe
130     rm -r test/path-subpackage-ref
131     rm -r test/sdl-package-simple
132     rm -r test/dpath-variable # requires execution of dpath-variable.sh
133     rm -r test/use-c-sources
134     rm -r test/pr2642-cache-db
135     rm -r test/pr2644-describe-artifact-path
136     rm -r test/pr2647-build-deep
138     ./test/run-unittest.sh
140     runHook postCheck
141   '';
143   installPhase = ''
144     runHook preInstall
146     install -Dm755 bin/dub $out/bin/dub
148     runHook postInstall
149   '';
151   meta = with lib; {
152     description = "Package and build manager for D programs and libraries";
153     homepage = "https://code.dlang.org/";
154     license = licenses.mit;
155     mainProgram = "dub";
156     maintainers = with maintainers; [ jtbx ];
157     platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
158   };