lol
1{
2 lib,
3 rustPlatform,
4 fetchFromGitHub,
5 installShellFiles,
6 perl,
7 stdenv,
8}:
9
10rustPlatform.buildRustPackage rec {
11 pname = "teip";
12 version = "2.3.2";
13
14 src = fetchFromGitHub {
15 owner = "greymd";
16 repo = "teip";
17 rev = "v${version}";
18 hash = "sha256-Lr4nlAM2mEKwF3HXso/6FQEKoQK43xxLMgOU7j7orYg=";
19 };
20
21 cargoHash = "sha256-FFv/Msx6fXRJuRH8hjhBgc7XCg5EKWantNKQHwXpa4o=";
22
23 nativeBuildInputs = [ installShellFiles ];
24
25 nativeCheckInputs = [ perl ];
26
27 # tests are locale sensitive
28 preCheck = ''
29 export LANG=${if stdenv.hostPlatform.isDarwin then "en_US.UTF-8" else "C.UTF-8"}
30 '';
31
32 postInstall = ''
33 installManPage man/teip.1
34 installShellCompletion \
35 --bash completion/bash/teip \
36 --fish completion/fish/teip.fish \
37 --zsh completion/zsh/_teip
38 '';
39
40 meta = {
41 description = "Tool to bypass a partial range of standard input to any command";
42 mainProgram = "teip";
43 homepage = "https://github.com/greymd/teip";
44 changelog = "https://github.com/greymd/teip/releases/tag/v${version}";
45 license = lib.licenses.mit;
46 maintainers = with lib.maintainers; [ figsoda ];
47 };
48}