From 2fa2d55bed1593e434f39ebc4d91fc0c82d46551 Mon Sep 17 00:00:00 2001 From: Aria Edmonds Date: Sun, 20 Jan 2019 12:31:41 +1100 Subject: [PATCH] capture: init at 1.0 --- pkgs/tools/misc/capture/0001-eval-fix.patch | 10 ++++++ .../misc/capture/0002-sane-defaults.patch | 22 +++++++++++++ pkgs/tools/misc/capture/default.nix | 31 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 4 files changed, 65 insertions(+) create mode 100644 pkgs/tools/misc/capture/0001-eval-fix.patch create mode 100644 pkgs/tools/misc/capture/0002-sane-defaults.patch create mode 100644 pkgs/tools/misc/capture/default.nix diff --git a/pkgs/tools/misc/capture/0001-eval-fix.patch b/pkgs/tools/misc/capture/0001-eval-fix.patch new file mode 100644 index 00000000000..4b5bdc6a0bc --- /dev/null +++ b/pkgs/tools/misc/capture/0001-eval-fix.patch @@ -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 "$@" diff --git a/pkgs/tools/misc/capture/0002-sane-defaults.patch b/pkgs/tools/misc/capture/0002-sane-defaults.patch new file mode 100644 index 00000000000..1bd49ae41e3 --- /dev/null +++ b/pkgs/tools/misc/capture/0002-sane-defaults.patch @@ -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 diff --git a/pkgs/tools/misc/capture/default.nix b/pkgs/tools/misc/capture/default.nix new file mode 100644 index 00000000000..49c238b0bd0 --- /dev/null +++ b/pkgs/tools/misc/capture/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 17d53150a0d..d331fb88beb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18713,6 +18713,8 @@ in pb_cli = callPackage ../tools/misc/pb_cli {}; + capture = callPackage ../tools/misc/capture {}; + pbrt = callPackage ../applications/graphics/pbrt { }; pcsxr = callPackage ../misc/emulators/pcsxr {