3
0
Fork 0
forked from mirrors/nixpkgs

Merge pull request #54349 from ar1a/pb-capture

Pb cli and capture initialization
This commit is contained in:
Graham Christensen 2019-01-20 14:57:30 -05:00 committed by GitHub
commit 44cd0a3655
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 117 additions and 0 deletions

View file

@ -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 "$@"

View file

@ -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

View file

@ -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 ];
};
}

View file

@ -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 "$@"

View file

@ -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 ];
};
}

View file

@ -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 {