nixpkgs/pkgs/applications/video/recapp/default.nix
2023-11-27 02:17:53 +01:00

83 lines
1.4 KiB
Nix

{ lib
, python3
, fetchFromGitHub
, appstream-glib
, desktop-file-utils
, gettext
, glib
, gobject-introspection
, gtk3
, gst_all_1
, libnotify
, librsvg
, meson
, ninja
, pkg-config
, slop
, wrapGAppsHook
}:
python3.pkgs.buildPythonApplication rec {
pname = "recapp";
version = "1.1.1";
format = "other";
src = fetchFromGitHub {
owner = "amikha1lov";
repo = "RecApp";
rev = "v${version}";
sha256 = "08bpfcqgw0lj6j7y5b2i18kffawlzp6pfk4wdpmk29vwmgk9s9yc";
};
postPatch = ''
patchShebangs build-aux/meson
'';
nativeBuildInputs = [
appstream-glib
desktop-file-utils
gettext
glib
gtk3
meson
ninja
pkg-config
wrapGAppsHook
gobject-introspection
];
buildInputs = [
libnotify
librsvg
gtk3
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-ugly
];
propagatedBuildInputs = with python3.pkgs; [
pulsectl
pydbus
pygobject3
];
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=(
"''${gappsWrapperArgs[@]}"
"--prefix" "PATH" ":" "${lib.makeBinPath [ gst_all_1.gstreamer.dev slop ]}"
)
'';
meta = with lib; {
description = "User friendly Open Source screencaster for Linux written in GTK";
homepage = "https://github.com/amikha1lov/RecApp";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ dotlambda ];
mainProgram = "recapp";
};
}