nixpkgs/pkgs/tools/text/teip/default.nix
stuebinm ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00

53 lines
1.2 KiB
Nix

{ lib
, rustPlatform
, fetchFromGitHub
, installShellFiles
, perl
, stdenv
}:
rustPlatform.buildRustPackage rec {
pname = "teip";
version = "2.3.0";
src = fetchFromGitHub {
owner = "greymd";
repo = "teip";
rev = "v${version}";
hash = "sha256-09IKAM1ha40CvF5hdQIlUab7EBBFourC70LAagrs5+4=";
};
cargoHash = "sha256-cBFczgvLja6upuPnXphG2d9Rf1ZpNAVh16NHAHfXxHg=";
nativeBuildInputs = [ installShellFiles ];
nativeCheckInputs = [ perl ];
# Cargo.lock is outdated
preConfigure = ''
cargo update --offline
'';
# tests are locale sensitive
preCheck = ''
export LANG=${if stdenv.isDarwin then "en_US.UTF-8" else "C.UTF-8"}
'';
postInstall = ''
installManPage man/teip.1
installShellCompletion \
--bash completion/bash/teip \
--fish completion/fish/teip.fish \
--zsh completion/zsh/_teip
'';
meta = with lib; {
description = "A tool to bypass a partial range of standard input to any command";
mainProgram = "teip";
homepage = "https://github.com/greymd/teip";
changelog = "https://github.com/greymd/teip/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ figsoda ];
};
}