buck2: Add shell completions (#354758)

This commit is contained in:
Aleksana
2024-11-11 11:00:00 +08:00
committed by GitHub
2 changed files with 19 additions and 4 deletions
@@ -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;
+1 -1
View File
@@ -8165,7 +8165,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