picocom: 3.1 -> 3.2a (#107379)

* picocom: 3.1 -> 3.2a

Also:
- drop wrapper and patch in location of binaries
- add bash completion support
- start using shell helpers instead of manually copying in man page

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
This commit is contained in:
Peter Hoeg 2020-12-24 07:22:20 +08:00 committed by GitHub
parent 1d364e5138
commit cb66517866
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,36 +1,48 @@
{ stdenv, fetchFromGitHub, makeWrapper, lrzsz, IOKit }: { stdenv
, fetchFromGitHub
assert stdenv.isDarwin -> IOKit != null; , installShellFiles
, lrzsz
with stdenv.lib; , IOKit
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "picocom"; pname = "picocom";
version = "3.1"; # last tagged release is 3.1 but 3.2 is still considered a release
version = "3.2a";
# upstream is quiet as the original author is no longer active since March 2018
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "npat-efault"; owner = "npat-efault";
repo = "picocom"; repo = "picocom";
rev = version; rev = "1acf1ddabaf3576b4023c4f6f09c5a3e4b086fb8";
sha256 = "1vvjydqf0ax47nvdyyl67jafw5b3sfsav00xid6qpgia1gs2r72n"; sha256 = "sha256-cs2bxqZfTbnY5d+VJ257C5hssaFvYup3tBKz68ROnAo=";
}; };
buildInputs = [ makeWrapper ] postPatch = ''
++ optionals stdenv.isDarwin [ IOKit ]; substituteInPlace Makefile \
--replace '.picocom_history' '.cache/picocom_history'
installPhase = '' substituteInPlace picocom.c \
mkdir -p $out/bin $out/share/man/man1 --replace '"rz -vv"' '"${lrzsz}/bin/rz -vv"' \
cp picocom $out/bin --replace '"sz -vv"' '"${lrzsz}/bin/sz -vv"'
cp picocom.1 $out/share/man/man1
wrapProgram $out/bin/picocom \
--prefix PATH ":" "${lrzsz}/bin"
''; '';
meta = { enableParallelBuilding = true;
nativeBuildInputs = [ installShellFiles ];
buildInputs = stdenv.lib.optional stdenv.isDarwin IOKit;
installPhase = ''
install -Dm555 -t $out/bin picocom
installManPage picocom.1
installShellCompletion --bash bash_completion/picocom
'';
meta = with stdenv.lib; {
description = "Minimal dumb-terminal emulation program"; description = "Minimal dumb-terminal emulation program";
homepage = "https://github.com/npat-efault/picocom/"; homepage = "https://github.com/npat-efault/picocom/";
license = stdenv.lib.licenses.gpl2Plus; license = licenses.gpl2Plus;
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }