diff options
Diffstat (limited to 'nixpkgs/pkgs/development/tools/build-managers')
-rw-r--r-- | nixpkgs/pkgs/development/tools/build-managers/apache-maven/build-package.nix | 11 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix | 4 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix | 11 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix | 4 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/tools/build-managers/mill/default.nix | 4 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/tools/build-managers/waf/default.nix | 76 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/tools/build-managers/waf/hook.nix | 24 | ||||
-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.nix | 10 |
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 |