From c1c7d2894d2da7b38e9a09e0bdaea46c66a0b7e5 Mon Sep 17 00:00:00 2001 From: Christopher League Date: Fri, 27 Jan 2017 11:47:06 -0500 Subject: vokoscreen: init at 2.5.0 vokoscreen is an easy to use screencast creator to record educational videos, live recordings of browser, installation, videoconferences, etc. It uses Qt5 and ffmpeg. --- pkgs/applications/video/vokoscreen/default.nix | 48 ++++++++++++++++++++++ .../video/vokoscreen/ffmpeg-out-of-box.patch | 31 ++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 pkgs/applications/video/vokoscreen/default.nix create mode 100644 pkgs/applications/video/vokoscreen/ffmpeg-out-of-box.patch (limited to 'pkgs/applications/video') diff --git a/pkgs/applications/video/vokoscreen/default.nix b/pkgs/applications/video/vokoscreen/default.nix new file mode 100644 index 00000000000..7a9ea5f9095 --- /dev/null +++ b/pkgs/applications/video/vokoscreen/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchgit +, pkgconfig, qt5, alsaLib, libv4l, xorg +, ffmpeg +}: + +stdenv.mkDerivation { + name = "vokoscreen-2.5.0"; + src = fetchgit { + url = "https://github.com/vkohaupt/vokoscreen.git"; + rev = "8325c8658d6e777d34d2e6b8c8bc03f8da9b3d2f"; + sha256 = "1hvw7xz1mj16ishbaip73wddbmgibsz0pad4y586zbarpynss25z"; + }; + + buildInputs = [ + alsaLib.dev + libv4l.dev + pkgconfig + qt5.full + qt5.qmakeHook + qt5.qtx11extras + xorg.libXrandr.dev + ]; + + patches = [ + ./ffmpeg-out-of-box.patch + ]; + + preConfigure = '' + sed -i 's/lrelease-qt5/lrelease/g' vokoscreen.pro + ''; + + postConfigure = '' + substituteInPlace settings/QvkSettings.cpp --subst-var-by ffmpeg ${ffmpeg} + ''; + + meta = with stdenv.lib; { + description = "Simple GUI screencast recorder, using ffmpeg"; + homepage = "http://linuxecke.volkoh.de/vokoscreen/vokoscreen.html"; + longDescription = '' + vokoscreen is an easy to use screencast creator to record + educational videos, live recordings of browser, installation, + videoconferences, etc. + ''; + license = licenses.gpl2Plus; + maintainers = [maintainers.league]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/video/vokoscreen/ffmpeg-out-of-box.patch b/pkgs/applications/video/vokoscreen/ffmpeg-out-of-box.patch new file mode 100644 index 00000000000..8f696f26301 --- /dev/null +++ b/pkgs/applications/video/vokoscreen/ffmpeg-out-of-box.patch @@ -0,0 +1,31 @@ +diff --git a/settings/QvkSettings.cpp b/settings/QvkSettings.cpp +index bbf2abf..187efad 100644 +--- a/settings/QvkSettings.cpp ++++ b/settings/QvkSettings.cpp +@@ -56,17 +56,8 @@ void QvkSettings::readAll() + GIFPlayer = settings.value( "GIFplayer" ).toString(); + Minimized = settings.value( "Minimized", 0 ).toUInt(); + Countdown = settings.value( "Countdown", 0 ).toUInt(); +- QFile file; +- if ( file.exists( qApp->applicationDirPath().append( "/bin/ffmpeg" ) ) == true ) +- { +- vokoscreenWithLibs = true; +- Recorder = qApp->applicationDirPath().append( "/bin/ffmpeg" ); +- } +- else +- { +- vokoscreenWithLibs = false; +- Recorder = settings.value( "Recorder", "ffmpeg" ).toString(); +- } ++ vokoscreenWithLibs = true; ++ Recorder = settings.value( "Recorder", "@ffmpeg@/bin/ffmpeg" ).toString(); + settings.endGroup(); + + settings.beginGroup( "Videooptions" ); +@@ -398,4 +389,4 @@ double QvkSettings::getShowClickTime() + int QvkSettings::getShowKeyOnOff() + { + return showKeyOnOff; +-} +\ No newline at end of file ++} -- cgit 1.4.1