biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / applications / video / vokoscreen / default.nix
blobcb0df69ee2c53e07ddf53574064062ed9e5c0996
1 { lib, fetchFromGitHub, mkDerivation
2 , pkg-config, qtbase, qttools, qmake, qtmultimedia, qtx11extras, alsa-lib, libv4l, libXrandr
3 , ffmpeg
4 }:
6 mkDerivation rec {
8   pname = "vokoscreen";
9   version = "2.5.8-beta";
11   src = fetchFromGitHub {
12     owner   = "vkohaupt";
13     repo    = "vokoscreen";
14     rev     = version;
15     sha256  = "1a85vbsi53mhzva49smqwcs61c51wv3ic410nvb9is9nlsbifwan";
16   };
18   nativeBuildInputs = [ pkg-config qmake ];
19   buildInputs = [
20     alsa-lib
21     libv4l
22     qtbase
23     qtmultimedia
24     qttools
25     qtx11extras
26     libXrandr
27   ];
29   patches = [
30     ./ffmpeg-out-of-box.patch
31   ];
33   # Workaround build failure on -fno-common toolchains:
34   #   ld: alsa_device.o:(.bss+0x8): multiple definition of `rc'; QvkAlsaDevice.o:(.bss+0x8): first defined here
35   env.NIX_CFLAGS_COMPILE = "-fcommon";
37   preConfigure = ''
38     sed -i 's/lrelease-qt5/lrelease/g' vokoscreen.pro
39   '';
41   postConfigure = ''
42     substituteInPlace settings/QvkSettings.cpp --subst-var-by ffmpeg ${ffmpeg}
43   '';
45   meta = with lib; {
46     description = "Simple GUI screencast recorder, using ffmpeg";
47     homepage = "https://linuxecke.volkoh.de/vokoscreen/vokoscreen.html";
48     longDescription = ''
49       vokoscreen is an easy to use screencast creator to record
50       educational videos, live recordings of browser, installation,
51       videoconferences, etc.
52     '';
53     license = licenses.gpl2Plus;
54     maintainers = [ maintainers.league ];
55     platforms = platforms.linux;
56     mainProgram = "vokoscreen";
57   };