lesspipe: fix paths via patch and substitution

This commit is contained in:
snaar 2018-07-24 01:23:17 -04:00
parent c6bc77d30e
commit 93207805b8
2 changed files with 31 additions and 6 deletions

View File

@ -1,12 +1,11 @@
{ stdenv, lib, fetchFromGitHub, makeWrapper, perl, file, ncurses }:
{ stdenv, fetchFromGitHub, substituteAll, perl, file, ncurses }:
stdenv.mkDerivation rec {
name = "lesspipe-${version}";
version = "1.82";
buildInputs = [ makeWrapper perl ];
buildInputs = [ perl ];
preConfigure = "patchShebangs .";
preFixupPhases = ["wrapWithDepsPhase"];
src = fetchFromGitHub {
owner = "wofr06";
@ -15,9 +14,13 @@ stdenv.mkDerivation rec {
sha256 = "0vb7bpap8vy003ha10hc7hxl17y47sgdnrjpihgqxkn8k0bfqbbq";
};
wrapWithDepsPhase = ''
wrapProgram $out/bin/lesspipe.sh --prefix PATH ":" ${lib.makeBinPath [ file ncurses ]}
'';
patches = [
(substituteAll {
src = ./fix-paths.patch;
file = "${file}/bin/file";
tput = "${ncurses}/bin/tput";
})
];
meta = with stdenv.lib; {
description = "A preprocessor for less";

View File

@ -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