mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-03 12:23:02 +00:00
fish: make python an optional dependency
Python is still used for tests, but does not become part of the closure. In addition, nowadays fish only ever uses Python via __fish_anypython, so using sed or propagating python isn't necessary anymore.
This commit is contained in:
parent
bab18ef959
commit
0ffab925ca
@ -19,6 +19,9 @@
|
||||
, fishPlugins
|
||||
, procps
|
||||
|
||||
# used to generate autocompletions from manpages and for configuration editing in the browser
|
||||
, usePython ? true
|
||||
|
||||
, runCommand
|
||||
, writeText
|
||||
, nixosTests
|
||||
@ -200,12 +203,10 @@ let
|
||||
'';
|
||||
|
||||
# Required binaries during execution
|
||||
# Python: Autocompletion generated from manpages and config editing
|
||||
propagatedBuildInputs = [
|
||||
coreutils
|
||||
gnugrep
|
||||
gnused
|
||||
python3
|
||||
groff
|
||||
gettext
|
||||
] ++ lib.optional (!stdenv.isDarwin) man-db;
|
||||
@ -237,14 +238,13 @@ let
|
||||
"$out/share/fish/functions/__fish_print_help.fish"
|
||||
sed -e "s|clear;|${getBin ncurses}/bin/clear;|" \
|
||||
-i "$out/share/fish/functions/fish_default_key_bindings.fish"
|
||||
sed -e "s|python3|${getBin python3}/bin/python3|" \
|
||||
-i $out/share/fish/functions/{__fish_config_interactive.fish,fish_config.fish,fish_update_completions.fish}
|
||||
sed -i "s|/usr/local/sbin /sbin /usr/sbin||" \
|
||||
$out/share/fish/completions/{sudo.fish,doas.fish}
|
||||
sed -e "s| awk | ${gawk}/bin/awk |" \
|
||||
-i $out/share/fish/functions/{__fish_print_packages.fish,__fish_print_addresses.fish,__fish_describe_command.fish,__fish_complete_man.fish,__fish_complete_convert_options.fish} \
|
||||
$out/share/fish/completions/{cwebp,adb,ezjail-admin,grunt,helm,heroku,lsusb,make,p4,psql,rmmod,vim-addons}.fish
|
||||
|
||||
'' + optionalString usePython ''
|
||||
cat > $out/share/fish/functions/__fish_anypython.fish <<EOF
|
||||
function __fish_anypython
|
||||
echo ${python3.interpreter}
|
||||
|
Loading…
Reference in New Issue
Block a user