2021-02-05 17:12:51 +00:00
|
|
|
{ lib, fetchFromGitHub, mkDerivation
|
2021-06-28 23:13:55 +00:00
|
|
|
, pkg-config, qtbase, qttools, qmake, qtmultimedia, qtx11extras, alsa-lib, libv4l, libXrandr
|
2020-09-25 04:45:31 +00:00
|
|
|
, ffmpeg
|
2020-04-24 23:36:52 +00:00
|
|
|
}:
|
|
|
|
|
|
|
|
mkDerivation rec {
|
|
|
|
|
|
|
|
pname = "vokoscreen";
|
|
|
|
version = "2.5.8-beta";
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "vkohaupt";
|
|
|
|
repo = "vokoscreen";
|
|
|
|
rev = version;
|
|
|
|
sha256 = "1a85vbsi53mhzva49smqwcs61c51wv3ic410nvb9is9nlsbifwan";
|
|
|
|
};
|
|
|
|
|
2021-02-05 17:12:51 +00:00
|
|
|
nativeBuildInputs = [ pkg-config qmake ];
|
2020-04-24 23:36:52 +00:00
|
|
|
buildInputs = [
|
2021-06-28 23:13:55 +00:00
|
|
|
alsa-lib
|
2020-04-24 23:36:52 +00:00
|
|
|
libv4l
|
|
|
|
qtbase
|
|
|
|
qtmultimedia
|
|
|
|
qttools
|
|
|
|
qtx11extras
|
|
|
|
libXrandr
|
|
|
|
];
|
|
|
|
|
|
|
|
patches = [
|
|
|
|
./ffmpeg-out-of-box.patch
|
|
|
|
];
|
|
|
|
|
2022-06-16 17:23:12 +00:00
|
|
|
# Workaround build failure on -fno-common toolchains:
|
|
|
|
# ld: alsa_device.o:(.bss+0x8): multiple definition of `rc'; QvkAlsaDevice.o:(.bss+0x8): first defined here
|
|
|
|
NIX_CFLAGS_COMPILE = "-fcommon";
|
|
|
|
|
2020-04-24 23:36:52 +00:00
|
|
|
preConfigure = ''
|
|
|
|
sed -i 's/lrelease-qt5/lrelease/g' vokoscreen.pro
|
|
|
|
'';
|
|
|
|
|
|
|
|
postConfigure = ''
|
2020-09-25 04:45:31 +00:00
|
|
|
substituteInPlace settings/QvkSettings.cpp --subst-var-by ffmpeg ${ffmpeg}
|
2020-04-24 23:36:52 +00:00
|
|
|
'';
|
|
|
|
|
2021-01-15 22:18:51 +00:00
|
|
|
meta = with lib; {
|
2020-04-24 23:36:52 +00:00
|
|
|
description = "Simple GUI screencast recorder, using ffmpeg";
|
|
|
|
homepage = "https://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;
|
|
|
|
};
|
|
|
|
}
|