Skip to content

Commit

Permalink
Merge pull request #54349 from ar1a/pb-capture
Browse files Browse the repository at this point in the history
Pb cli and capture initialization
  • Loading branch information
grahamc authored Jan 20, 2019
2 parents ee9a235 + 2fa2d55 commit 44cd0a3
Show file tree
Hide file tree
Showing 6 changed files with 117 additions and 0 deletions.
10 changes: 10 additions & 0 deletions pkgs/tools/misc/capture/0001-eval-fix.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
diff --git a/src/capture.sh b/src/capture.sh
index a32b018..82d1f15 100755
--- a/src/capture.sh
+++ b/src/capture.sh
@@ -103,4 +103,4 @@ capture () {


# remove this line if you want to source this file instead
-eval " ${0##*/}" "$@"
+capture "$@"
22 changes: 22 additions & 0 deletions pkgs/tools/misc/capture/0002-sane-defaults.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
diff --git a/src/capture.sh b/src/capture.sh
index a32b018..42f3936 100755
--- a/src/capture.sh
+++ b/src/capture.sh
@@ -9,7 +9,7 @@ set -e
#

scale="-1:-1"
-fps="15"
+fps="30"
raw_video="-vf fps=$fps -c:v utvideo -f nut"
raw_video_container=".nut"

@@ -18,7 +18,7 @@ raw_video_container=".nut"
# https://stackoverflow.com/questions/41372045/vp9-encoding-limited-to-4-threads
webm_video="-pix_fmt yuv420p -c:v libvpx-vp9 -crf 25 -b:v 0 -f webm -tile-columns 6 -frame-parallel 1 -threads 8"

-tmpdir="/var/tmp"
+tmpdir="/tmp"


# capture_raw ./foo.nut
31 changes: 31 additions & 0 deletions pkgs/tools/misc/capture/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{ stdenv, pkgs, slop, ffmpeg, fetchFromGitHub, makeWrapper}:

stdenv.mkDerivation rec {
name = "capture-${version}";
version = "1.0";

src = fetchFromGitHub {
owner = "buhman";
repo = "capture";
rev = "4be986f17462b8d520559429c74da6bf3a436259";
sha256 = "172y06vs993x5v78zwl81xma1gkvjq1ad9rvmf3a217fyxsz4nhh";
};

buildInputs = [ makeWrapper ];

patches = [ ./0001-eval-fix.patch ./0002-sane-defaults.patch ];

installPhase = ''
install -Dm755 src/capture.sh $out/bin/capture
patchShebangs $out/bin/capture
wrapProgram $out/bin/capture \
--prefix PATH : '${stdenv.lib.makeBinPath [ slop ffmpeg ]}'
'';

meta = with stdenv.lib; {
description = "A no bullshit screen capture tool";
homepage = "https://github.com/buhman/capture";
maintainers = [ maintainers.ar1a ];
};
}
10 changes: 10 additions & 0 deletions pkgs/tools/misc/pb_cli/0001-eval-fix.patch
Original file line number Diff line number Diff line change
@@ -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 "$@"
40 changes: 40 additions & 0 deletions pkgs/tools/misc/pb_cli/default.nix
Original file line number Diff line number Diff line change
@@ -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 ];
};
}
4 changes: 4 additions & 0 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -18724,6 +18724,10 @@ in

packet = callPackage ../development/tools/packet { };

pb_cli = callPackage ../tools/misc/pb_cli {};

capture = callPackage ../tools/misc/capture {};

pbrt = callPackage ../applications/graphics/pbrt { };

pcsxr = callPackage ../misc/emulators/pcsxr {
Expand Down

0 comments on commit 44cd0a3

Please sign in to comment.