diff --git a/pkgs/tools/misc/lesspipe/default.nix b/pkgs/tools/misc/lesspipe/default.nix index 46324f912c52..d5352ec26dcd 100644 --- a/pkgs/tools/misc/lesspipe/default.nix +++ b/pkgs/tools/misc/lesspipe/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, perl }: +{ stdenv, fetchFromGitHub, substituteAll, perl, file, ncurses }: stdenv.mkDerivation rec { name = "lesspipe-${version}"; @@ -14,6 +14,14 @@ stdenv.mkDerivation rec { sha256 = "0vb7bpap8vy003ha10hc7hxl17y47sgdnrjpihgqxkn8k0bfqbbq"; }; + patches = [ + (substituteAll { + src = ./fix-paths.patch; + file = "${file}/bin/file"; + tput = "${ncurses}/bin/tput"; + }) + ]; + meta = with stdenv.lib; { description = "A preprocessor for less"; longDescription = '' diff --git a/pkgs/tools/misc/lesspipe/fix-paths.patch b/pkgs/tools/misc/lesspipe/fix-paths.patch new file mode 100644 index 000000000000..1bffcf53c827 --- /dev/null +++ b/pkgs/tools/misc/lesspipe/fix-paths.patch @@ -0,0 +1,22 @@ +--- a/lesspipe.sh.in ++++ b/lesspipe.sh.in +@@ -48,8 +48,8 @@ if [[ "$LESS_ADVANCED_PREPROCESSOR" = '' ]]; then + fi + + filecmd() { +- file -L -s "$@" +- file -L -s -i "$@" 2> /dev/null | sed -n 's/.*charset=/;/p' | tr a-z A-Z ++ @file@ -L -s "$@" ++ @file@ -L -s -i "$@" 2> /dev/null | sed -n 's/.*charset=/;/p' | tr a-z A-Z + } + + sep=: # file name separator +@@ -546,7 +546,7 @@ isfinal() { + + # color requires -r or -R when calling less + typeset COLOR +- if [[ $(tput colors) -ge 8 && ("$LESS" = *-*r* || "$LESS" = *-*R*) ]]; then ++ if [[ $(@tput@ colors) -ge 8 && ("$LESS" = *-*r* || "$LESS" = *-*R*) ]]; then + COLOR="--color=always" + fi +