diff --git a/pkgs/tools/misc/pb_cli/0001-eval-fix.patch b/pkgs/tools/misc/pb_cli/0001-eval-fix.patch new file mode 100644 index 00000000000..7188cf37297 --- /dev/null +++ b/pkgs/tools/misc/pb_cli/0001-eval-fix.patch @@ -0,0 +1,10 @@ +diff --git a/src/pb.sh b/src/pb.sh +index be1e472..eb9e6f9 100755 +--- a/src/pb.sh ++++ b/src/pb.sh +@@ -61,4 +61,4 @@ pb () { + esac + } + +-eval " ${0##*/}" "$@" ++pb "$@" diff --git a/pkgs/tools/misc/pb_cli/default.nix b/pkgs/tools/misc/pb_cli/default.nix new file mode 100644 index 00000000000..6fab44891c5 --- /dev/null +++ b/pkgs/tools/misc/pb_cli/default.nix @@ -0,0 +1,40 @@ +{ screenshots ? true, video ? false, clipboard ? true +, stdenv, pkgs, jq, curl, fetchFromGitHub, makeWrapper, maim ? null, xclip ? null, capture ? null }: + +assert screenshots -> maim != null; +assert video -> capture != null; +assert clipboard -> xclip != null; + +stdenv.mkDerivation rec { + name = "pb_cli-${version}"; + version = "1.0"; + + src = fetchFromGitHub { + owner = "ptpb"; + repo = "pb_cli"; + rev = "5242382b3d6b5c0ddaf6e4843a69746b40866e57"; + sha256 = "0543x3377apinhxnsfq82zlp5sm8g1bf6hmsvvcwra5rsshv2ybk"; + }; + + patches = [ ./0001-eval-fix.patch ]; + + buildInputs = [ makeWrapper ]; + + liveDeps = [ jq curl ] ++ stdenv.lib.optional screenshots maim + ++ stdenv.lib.optional video capture + ++ stdenv.lib.optional clipboard xclip; + + installPhase = '' + install -Dm755 src/pb.sh $out/bin/pb + + patchShebangs $out/bin/pb + wrapProgram $out/bin/pb \ + --prefix PATH : '${stdenv.lib.makeBinPath liveDeps}' + ''; + + meta = with stdenv.lib; { + description = "A no bullshit ptpb client"; + homepage = "https://github.com/ptpb/pb_cli"; + maintainers = [ maintainers.ar1a ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6a0c3b98a17..17d53150a0d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18711,6 +18711,8 @@ in packet = callPackage ../development/tools/packet { }; + pb_cli = callPackage ../tools/misc/pb_cli {}; + pbrt = callPackage ../applications/graphics/pbrt { }; pcsxr = callPackage ../misc/emulators/pcsxr {