about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorxbreak <xbreak@users.noreply.github.com>2019-06-17 16:23:52 +0200
committerDmitry Kalinkin <dmitry.kalinkin@gmail.com>2019-06-17 10:23:52 -0400
commit2b51328002dd38ff706cecd3855cd502d08c76a1 (patch)
tree7fa46cbb7f3df7e11bb32de48c92838b09021248 /pkgs
parent10a25e9b52e11da86ea3c1a29e33d871424feb91 (diff)
waf: Added support for optional extra tools (#63042)
The list of tools `withTools` are included as extra tools when building
waf.

Example:

    mywaf = callPackage ../development/tools/build-managers/waf {
      python = python3;
      withTools = [ "doxygen" ];
    };
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/tools/build-managers/waf/default.nix12
1 files changed, 9 insertions, 3 deletions
diff --git a/pkgs/development/tools/build-managers/waf/default.nix b/pkgs/development/tools/build-managers/waf/default.nix
index f9dc33a36e0e1..c3346ad7e9930 100644
--- a/pkgs/development/tools/build-managers/waf/default.nix
+++ b/pkgs/development/tools/build-managers/waf/default.nix
@@ -1,5 +1,11 @@
-{ stdenv, fetchFromGitLab, fetchpatch, python, ensureNewerSourcesForZipFilesHook }:
-
+{ stdenv, fetchFromGitLab, fetchpatch, python, ensureNewerSourcesForZipFilesHook
+# optional list of extra waf tools, e.g. `[ "doxygen" "pytest" ]`
+, withTools ? null
+}:
+let
+  wafToolsArg = with stdenv.lib.strings;
+    optionalString (!isNull withTools) " --tools=\"${concatStringsSep "," withTools}\"";
+in
 stdenv.mkDerivation rec {
   name = "waf-${version}";
   version = "2.0.15";
@@ -24,7 +30,7 @@ stdenv.mkDerivation rec {
     python waf-light configure
   '';
   buildPhase = ''
-    python waf-light build
+    python waf-light build${wafToolsArg}
   '';
   installPhase = ''
     install waf $out