about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/tools/build-managers
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/tools/build-managers')
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/apache-maven/build-package.nix11
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix11
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/mill/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/waf/default.nix76
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/waf/hook.nix24
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/waf/setup-hook.sh (renamed from nixpkgs/pkgs/development/tools/build-managers/wafHook/setup-hook.sh)28
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/wafHook/default.nix10
9 files changed, 116 insertions, 56 deletions
diff --git a/nixpkgs/pkgs/development/tools/build-managers/apache-maven/build-package.nix b/nixpkgs/pkgs/development/tools/build-managers/apache-maven/build-package.nix
index fd0457789ade..2026d6829371 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/apache-maven/build-package.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/apache-maven/build-package.nix
@@ -4,6 +4,7 @@
 }:
 
 { src
+, sourceRoot ? null
 , patches ? [ ]
 , pname
 , version
@@ -19,23 +20,31 @@
 let
   fetchedMavenDeps = stdenv.mkDerivation ({
     name = "${pname}-${version}-maven-deps";
-    inherit src patches;
+    inherit src sourceRoot patches;
 
     nativeBuildInputs = [
       maven
     ];
 
     buildPhase = ''
+      runHook preBuild
+
       mvn package -Dmaven.repo.local=$out/.m2 ${mvnParameters}
+
+      runHook postBuild
     '';
 
     # keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside
     installPhase = ''
+      runHook preInstall
+
       find $out -type f \( \
         -name \*.lastUpdated \
         -o -name resolver-status.properties \
         -o -name _remote.repositories \) \
         -delete
+
+      runHook postInstall
     '';
 
     # don't do any fixup
diff --git a/nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix b/nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix
index c912818285aa..5ed41717f3da 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix
@@ -10,11 +10,11 @@ assert jdk != null;
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "apache-maven";
-  version = "3.9.3";
+  version = "3.9.4";
 
   src = fetchurl {
     url = "mirror://apache/maven/maven-3/${finalAttrs.version}/binaries/${finalAttrs.pname}-${finalAttrs.version}-bin.tar.gz";
-    hash = "sha256-4eE6wMQvO2TZAMV//GUuzvaCuCVdfTVO+7tPYlGdpPE=";
+    hash = "sha256-/2a3DIMKONMx1E9sJaN7WCRx3vmhYck5ArrHvqMJgxk=";
   };
 
   sourceRoot = ".";
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
index c731a1d2e723..1692058dcac8 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
@@ -5,22 +5,27 @@
 
 buildGoModule rec {
   pname = "bazel-remote";
-  version = "2.4.1";
+  version = "2.4.3";
 
   src = fetchFromGitHub {
     owner = "buchgr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-7zAeGJyMfMdrVDCuTWU3zikXjM/ydjnGj6Ctjckd32c=";
+    hash = "sha256-yvdsRc5KZAwzekktSu9tR9R2vvAMi+4JVkvy+ANFkQ8=";
   };
 
-  vendorHash = "sha256-SxGBfWcV10L6xC5XPIfv/HJWQy5g3AoV8z4/ae23DEc=";
+  vendorHash = "sha256-0rmqsUMwk5ytAZc94JzvZTuh0WAmQwBEWSE96yNALE0=";
+
+  subPackages = [ "." ];
 
   doCheck = false;
 
+  ldflags = [ "-s" "-w" "-X main.gitCommit=${version}" ];
+
   meta = with lib; {
     homepage = "https://github.com/buchgr/bazel-remote";
     description = "A remote HTTP/1.1 cache for Bazel";
+    changelog = "https://github.com/buchgr/bazel-remote/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = lib.teams.bazel.members;
     platforms = platforms.darwin ++ platforms.linux;
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
index 61b2cbb415d8..8c46b2456ee3 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "bazel-buildtools";
-  version = "6.3.2";
+  version = "6.3.3";
 
   src = fetchFromGitHub {
     owner = "bazelbuild";
     repo = "buildtools";
     rev = "v${version}";
-    hash = "sha256-K0MJQYzWkryrO7jjx16UMq7CGRasWF40WUWRtroW6ME=";
+    hash = "sha256-eGX1W3Nc26aw31dWm1hvcUzFh1efL4Vd86dK6Hs2BJc=";
   };
 
   vendorHash = "sha256-DigTREfI6I48wxRpGp/bfH1NbUZ4E1B5UTQXpI0LY1A=";
diff --git a/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix b/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix
index ff38657334da..59ceeb8761a6 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mill";
-  version = "0.11.1";
+  version = "0.11.2";
 
   src = fetchurl {
     url = "https://github.com/com-lihaoyi/mill/releases/download/${version}/${version}-assembly";
-    hash = "sha256-qG+Ddn0BHUZX1VX5hO84exgRz8YuUgYF/fH6MmgkrXE";
+    hash = "sha256-7RYMj/vfyzBQhZUpWzEaZYN27ZhYCRyKhQUhlH8tE0U=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/build-managers/waf/default.nix b/nixpkgs/pkgs/development/tools/build-managers/waf/default.nix
index 218783fd4926..58d3a7d86f42 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/waf/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/waf/default.nix
@@ -1,44 +1,72 @@
-{ lib, stdenv, fetchFromGitLab, python3, ensureNewerSourcesForZipFilesHook
+{ lib
+, stdenv
+, fetchFromGitLab
+, ensureNewerSourcesForZipFilesHook
+, python3
 # optional list of extra waf tools, e.g. `[ "doxygen" "pytest" ]`
-, withTools ? null
+, extraTools ? []
 }:
-let
-  wafToolsArg = with lib.strings;
-    optionalString (withTools != null) " --tools=\"${concatStringsSep "," withTools}\"";
-in
-stdenv.mkDerivation rec {
+
+stdenv.mkDerivation (finalAttrs: {
   pname = "waf";
-  version = "2.0.25";
+  version = "2.0.26";
 
   src = fetchFromGitLab {
     owner = "ita1024";
     repo = "waf";
-    rev = "${pname}-${version}";
-    sha256 = "sha256-wqZEAfGRHhcd7Xm2pQ0FTjZGfuPafRrZAUdpc7ACoEA=";
+    rev = "waf-${finalAttrs.version}";
+    hash = "sha256-AXDMWlwivJ0Xot6iwuIIlbV2Anz6ieghyOI9jA4yrko=";
   };
 
-  nativeBuildInputs = [ python3 ensureNewerSourcesForZipFilesHook ];
+  nativeBuildInputs = [
+    ensureNewerSourcesForZipFilesHook
+    python3
+  ];
+
+  buildInputs = [
+    # waf executable uses `#!/usr/bin/env python`
+    python3
+  ];
 
-  # waf bin has #!/usr/bin/env python
-  buildInputs = [ python3 ];
+  strictDeps = true;
 
   configurePhase = ''
+    runHook preConfigure
+
     python waf-light configure
+
+    runHook postConfigure
   '';
-  buildPhase = ''
-    python waf-light build${wafToolsArg}
+
+  buildPhase = let
+    extraToolsList =
+      lib.optionalString (extraTools != [])
+        "--tools=\"${lib.concatStringsSep "," extraTools}\"";
+  in
+  ''
+    runHook preBuild
+
+    python waf-light build ${extraToolsList}
+
+    runHook postBuild
   '';
+
   installPhase = ''
+    runHook preInstall
+
     install -D waf $out/bin/waf
-  '';
 
-  strictDeps = true;
+    runHook postInstall
+  '';
 
-  meta = with lib; {
-    description = "Meta build system";
-    homepage    = "https://waf.io";
-    license     = licenses.bsd3;
-    platforms   = platforms.all;
-    maintainers = with maintainers; [ vrthra ];
+  meta = {
+    homepage = "https://waf.io";
+    description = "The meta build system";
+    changelog  = "https://gitlab.com/ita1024/waf/blob/${finalAttrs.version}/ChangeLog";
+    license = lib.licenses.bsd3;
+    mainProgram = "waf";
+    maintainers = with lib.maintainers; [ AndersonTorres vrthra ];
+    inherit (python3.meta) platforms;
+    sourceProvenance = [ lib.sourceTypes.fromSource ];
   };
-}
+})
diff --git a/nixpkgs/pkgs/development/tools/build-managers/waf/hook.nix b/nixpkgs/pkgs/development/tools/build-managers/waf/hook.nix
new file mode 100644
index 000000000000..7282ed9ebf97
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/build-managers/waf/hook.nix
@@ -0,0 +1,24 @@
+{ lib
+, stdenv
+, pkgs
+, makeSetupHook
+, waf
+}:
+
+makeSetupHook {
+  name = "waf-setup-hook";
+
+  substitutions = {
+    # Sometimes the upstream provides its own waf file; in order to honor it,
+    # waf is not inserted into propagatedBuildInputs, rather it is inserted
+    # directly
+    inherit waf;
+    crossFlags = lib.optionalString (stdenv.hostPlatform.system != stdenv.targetPlatform.system)
+      ''--cross-compile "--cross-execute=${stdenv.targetPlatform.emulator pkgs}"'';
+  };
+
+  meta = {
+    description = "A setup hook for using Waf in Nixpkgs";
+    inherit (waf.meta) maintainers platforms broken;
+  };
+} ./setup-hook.sh
diff --git a/nixpkgs/pkgs/development/tools/build-managers/wafHook/setup-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/waf/setup-hook.sh
index 4d95c28de1f1..2593b0a9d808 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/wafHook/setup-hook.sh
+++ b/nixpkgs/pkgs/development/tools/build-managers/waf/setup-hook.sh
@@ -1,3 +1,5 @@
+# shellcheck shell=bash disable=SC2206
+
 wafConfigurePhase() {
     runHook preConfigure
 
@@ -7,7 +9,7 @@ wafConfigurePhase() {
     fi
 
     if [ -z "${dontAddPrefix:-}" ] && [ -n "$prefix" ]; then
-        wafConfigureFlags="${prefixKey:---prefix=}$prefix $wafConfigureFlags"
+        local prefixFlag="${prefixKey:---prefix=}$prefix"
     fi
 
     if [ -n "${PKG_CONFIG}" ]; then
@@ -15,13 +17,15 @@ wafConfigurePhase() {
     fi
 
     local flagsArray=(
-        "${flagsArray[@]}"
+        $prefixFlag
         $wafConfigureFlags "${wafConfigureFlagsArray[@]}"
         ${configureTargets:-configure}
     )
+
     if [ -z "${dontAddWafCrossFlags:-}" ]; then
         flagsArray+=(@crossFlags@)
     fi
+
     echoCmd 'configure flags' "${flagsArray[@]}"
     python "$wafPath" "${flagsArray[@]}"
 
@@ -38,15 +42,11 @@ wafConfigurePhase() {
     runHook postConfigure
 }
 
-if [ -z "${dontUseWafConfigure-}" -a -z "${configurePhase-}" ]; then
-    configurePhase=wafConfigurePhase
-fi
-
 wafBuildPhase () {
     runHook preBuild
 
     # set to empty if unset
-    : ${wafFlags=}
+    : "${wafFlags=}"
 
     local flagsArray=(
       ${enableParallelBuilding:+-j ${NIX_BUILD_CORES}}
@@ -61,10 +61,6 @@ wafBuildPhase () {
     runHook postBuild
 }
 
-if [ -z "${dontUseWafBuild-}" -a -z "${buildPhase-}" ]; then
-    buildPhase=wafBuildPhase
-fi
-
 wafInstallPhase() {
     runHook preInstall
 
@@ -85,6 +81,14 @@ wafInstallPhase() {
     runHook postInstall
 }
 
-if [ -z "${dontUseWafInstall-}" -a -z "${installPhase-}" ]; then
+if [ -z "${dontUseWafConfigure-}" ] && [ -z "${configurePhase-}" ]; then
+    configurePhase=wafConfigurePhase
+fi
+
+if [ -z "${dontUseWafBuild-}" ] && [ -z "${buildPhase-}" ]; then
+    buildPhase=wafBuildPhase
+fi
+
+if [ -z "${dontUseWafInstall-}" ] && [ -z "${installPhase-}" ]; then
     installPhase=wafInstallPhase
 fi
diff --git a/nixpkgs/pkgs/development/tools/build-managers/wafHook/default.nix b/nixpkgs/pkgs/development/tools/build-managers/wafHook/default.nix
deleted file mode 100644
index f0f3a683aab0..000000000000
--- a/nixpkgs/pkgs/development/tools/build-managers/wafHook/default.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ lib, stdenv, pkgs, makeSetupHook, waf }:
-
-makeSetupHook {
-  name = "waf-hook";
-  substitutions = {
-    inherit waf;
-    crossFlags = lib.optionalString (stdenv.hostPlatform.system != stdenv.targetPlatform.system)
-      ''--cross-compile "--cross-execute=${stdenv.targetPlatform.emulator pkgs}"'';
-  };
-} ./setup-hook.sh