nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ lib, stdenv, fetchFromGitLab, python3, ensureNewerSourcesForZipFilesHook
2# optional list of extra waf tools, e.g. `[ "doxygen" "pytest" ]`
3, withTools ? null
4}:
5let
6 wafToolsArg = with lib.strings;
7 optionalString (withTools != null) " --tools=\"${concatStringsSep "," withTools}\"";
8in
9stdenv.mkDerivation rec {
10 pname = "waf";
11 version = "2.0.25";
12
13 src = fetchFromGitLab {
14 owner = "ita1024";
15 repo = "waf";
16 rev = "${pname}-${version}";
17 sha256 = "sha256-wqZEAfGRHhcd7Xm2pQ0FTjZGfuPafRrZAUdpc7ACoEA=";
18 };
19
20 nativeBuildInputs = [ python3 ensureNewerSourcesForZipFilesHook ];
21
22 # waf bin has #!/usr/bin/env python
23 buildInputs = [ python3 ];
24
25 configurePhase = ''
26 python waf-light configure
27 '';
28 buildPhase = ''
29 python waf-light build${wafToolsArg}
30 '';
31 installPhase = ''
32 install -D waf $out/bin/waf
33 '';
34
35 strictDeps = true;
36
37 meta = with lib; {
38 description = "Meta build system";
39 homepage = "https://waf.io";
40 license = licenses.bsd3;
41 platforms = platforms.all;
42 maintainers = with maintainers; [ vrthra ];
43 };
44}