nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 python3Packages,
4 fetchFromSourcehut,
5 desktop-file-utils,
6 gobject-introspection,
7 gtk3,
8 libhandy,
9 meson,
10 ninja,
11 pkg-config,
12 scdoc,
13 wrapGAppsHook3,
14 udevCheckHook,
15}:
16
17python3Packages.buildPythonApplication rec {
18 pname = "openswitcher";
19 version = "0.13.0";
20 pyproject = false;
21
22 src = fetchFromSourcehut {
23 owner = "~martijnbraam";
24 repo = "pyatem";
25 rev = version;
26 hash = "sha256-eEn09e+ZED4DGEWTUou9CRgazngHIXZv51CLhX9YuBI=";
27 };
28
29 outputs = [
30 "out"
31 "man"
32 ];
33
34 depsBuildBuild = [
35 pkg-config
36 ];
37
38 nativeBuildInputs = [
39 desktop-file-utils
40 gobject-introspection
41 gtk3
42 meson
43 ninja
44 pkg-config
45 scdoc
46 wrapGAppsHook3
47 udevCheckHook
48 ];
49
50 dontWrapGApps = true;
51
52 buildInputs = [
53 gtk3
54 libhandy
55 ];
56
57 propagatedBuildInputs = with python3Packages; [
58 # for switcher-control, bmd-setup
59 paho-mqtt
60 pyatem
61 pygobject3
62 # for atemswitch
63 requests
64 # for openswitcher-proxy
65 toml
66 ];
67
68 postInstall = ''
69 install -Dm644 -t $out/lib/udev/rules.d/ $src/100-blackmagicdesign.rules
70 '';
71
72 preFixup = ''
73 makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
74 '';
75
76 meta = {
77 description = "Blackmagic Design mixer control application";
78 downloadPage = "https://git.sr.ht/~martijnbraam/pyatem";
79 homepage = "https://openswitcher.org/";
80 license = lib.licenses.gpl3Only;
81 maintainers = with lib.maintainers; [ hexa ];
82 mainProgram = "switcher-control";
83 };
84}