From 982ff0b08e25e028da30697ad378e1722b363c91 Mon Sep 17 00:00:00 2001 From: Claudio Bley Date: Sat, 9 Nov 2024 09:33:24 +0100 Subject: [PATCH 1/2] buck2: Install completions for bash and zsh --- .../tools/build-managers/buck2/default.nix | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/build-managers/buck2/default.nix b/pkgs/development/tools/build-managers/buck2/default.nix index 4e92900f1287..b40748d76278 100644 --- a/pkgs/development/tools/build-managers/buck2/default.nix +++ b/pkgs/development/tools/build-managers/buck2/default.nix @@ -1,5 +1,11 @@ -{ fetchurl, lib, stdenv, zstd -, testers, buck2 # for passthru.tests +{ + fetchurl, + lib, + stdenv, + zstd, + installShellFiles, + testers, + buck2, # for passthru.tests }: # NOTE (aseipp): buck2 uses a precompiled binary build for good reason — the @@ -74,7 +80,10 @@ in stdenv.mkDerivation { version = "unstable-${version}"; # TODO (aseipp): kill 'unstable' once a non-prerelease is made inherit src; - nativeBuildInputs = [ zstd ]; + nativeBuildInputs = [ + installShellFiles + zstd + ]; doCheck = true; dontConfigure = true; @@ -87,6 +96,12 @@ in stdenv.mkDerivation { mkdir -p $out/bin install -D buck2 $out/bin/buck2 ''; + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd buck2 \ + --bash <( $out/bin/buck2 completion bash ) \ + --fish <( $out/bin/buck2 completion fish ) \ + --zsh <( $out/bin/buck2 completion zsh ) + ''; passthru = { prelude = prelude-src; From da9757048d7dea2c24a7aa3c9baca1bd298908b2 Mon Sep 17 00:00:00 2001 From: Claudio Bley Date: Sat, 9 Nov 2024 13:44:10 +0100 Subject: [PATCH 2/2] buck2: Use stdenvNoCC --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7fd4ee0f3815..2f6e075ce6ad 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16939,7 +16939,7 @@ with pkgs; python3 = python311; }; - buck2 = callPackage ../development/tools/build-managers/buck2 { }; + buck2 = callPackage ../development/tools/build-managers/buck2 { stdenv = stdenvNoCC; }; build2 = callPackage ../development/tools/build-managers/build2 { # Break cycle by using self-contained toolchain for bootstrapping