1{
2 python3Packages,
3 fetchFromGitHub,
4 copyDesktopItems,
5 makeDesktopItem,
6 gobject-introspection,
7 v4l-utils,
8 wrapGAppsHook3,
9 lib,
10}:
11
12python3Packages.buildPythonApplication {
13 pname = "camset";
14 version = "0-unstable-2023-05-20";
15 pyproject = true;
16
17 src = fetchFromGitHub {
18 owner = "azeam";
19 repo = "camset";
20 rev = "b813ba9b1d29f2d46fad268df67bf3615a324f3e";
21 hash = "sha256-vTF3MJQi9fZZDlbEj5800H22GGWOte3+KZCpSnsSTaQ=";
22 };
23
24 build-system = with python3Packages; [ setuptools ];
25
26 nativeBuildInputs = [
27 gobject-introspection
28 wrapGAppsHook3
29 copyDesktopItems
30 ];
31
32 dependencies = with python3Packages; [
33 pygobject3
34 opencv-python
35 ];
36
37 dontWrapGApps = true;
38
39 preFixup = ''
40 makeWrapperArgs+=(
41 "''${gappsWrapperArgs[@]}"
42 --prefix PATH : ${lib.makeBinPath [ v4l-utils ]}
43 )
44 '';
45
46 desktopItems = [
47 (makeDesktopItem {
48 name = "camset";
49 exec = "camset";
50 icon = "camera";
51 comment = "Adjust webcam settings";
52 desktopName = "Camset";
53 categories = [
54 "Utility"
55 "Video"
56 ];
57 type = "Application";
58 })
59 ];
60
61 meta = {
62 description = "GUI for Video4Linux adjustments of webcams";
63 homepage = "https://github.com/azeam/camset";
64 license = lib.licenses.gpl3Only;
65 maintainers = with lib.maintainers; [ averdow ];
66 };
67}