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
|
, fishPlugins
|
||||||
, procps
|
, procps
|
||||||
|
|
||||||
|
# used to generate autocompletions from manpages and for configuration editing in the browser
|
||||||
|
, usePython ? true
|
||||||
|
|
||||||
, runCommand
|
, runCommand
|
||||||
, writeText
|
, writeText
|
||||||
, nixosTests
|
, nixosTests
|
||||||
@ -200,12 +203,10 @@ let
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
# Required binaries during execution
|
# Required binaries during execution
|
||||||
# Python: Autocompletion generated from manpages and config editing
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
coreutils
|
coreutils
|
||||||
gnugrep
|
gnugrep
|
||||||
gnused
|
gnused
|
||||||
python3
|
|
||||||
groff
|
groff
|
||||||
gettext
|
gettext
|
||||||
] ++ lib.optional (!stdenv.isDarwin) man-db;
|
] ++ lib.optional (!stdenv.isDarwin) man-db;
|
||||||
@ -237,14 +238,13 @@ let
|
|||||||
"$out/share/fish/functions/__fish_print_help.fish"
|
"$out/share/fish/functions/__fish_print_help.fish"
|
||||||
sed -e "s|clear;|${getBin ncurses}/bin/clear;|" \
|
sed -e "s|clear;|${getBin ncurses}/bin/clear;|" \
|
||||||
-i "$out/share/fish/functions/fish_default_key_bindings.fish"
|
-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||" \
|
sed -i "s|/usr/local/sbin /sbin /usr/sbin||" \
|
||||||
$out/share/fish/completions/{sudo.fish,doas.fish}
|
$out/share/fish/completions/{sudo.fish,doas.fish}
|
||||||
sed -e "s| awk | ${gawk}/bin/awk |" \
|
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} \
|
-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
|
$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
|
cat > $out/share/fish/functions/__fish_anypython.fish <<EOF
|
||||||
function __fish_anypython
|
function __fish_anypython
|
||||||
echo ${python3.interpreter}
|
echo ${python3.interpreter}
|
||||||
|
Loading…
Reference in New Issue
Block a user