Name: pyatem Summary: Library and control application for Blackmagic Design ATEM video switchers # Per LICENSE file: # - GTK app is GPL-3.0-only # - Python library is LGPL-3.0-only and contains some Public Domain code # - udev rules are unclear, arguably they are part of the lib and hence LGPL License: GPL-3.0-only AND LGPL-3.0-only AND LicenseRef-Fedora-Public-Domain Version: 0.13.0 Release: 1%{?dist} URL: https://openswitcher.org Source0: https://git.sr.ht/~martijnbraam/%{name}/archive/%{version}.tar.gz BuildRequires: gcc BuildRequires: meson BuildRequires: scdoc BuildRequires: python3-devel BuildRequires: python3-pyusb BuildRequires: pkgconfig(libhandy-1) BuildRequires: systemd-rpm-macros %description Library implementing the ATEM video switcher protocol and a GTK3 application. # -- Python lib %package -n python3-%{name} Summary: Python library for controlling Blackmagic Design ATEM video mixers License: LGPL-3.0-only AND LicenseRef-Fedora-Public-Domain Recommends: %{name}-udev = %{version}-%{release} %description -n python3-%{name} PyATEM is a Python library implementing the ATEM video switcher protocol. # -- udev rules %package udev Summary: Unprivileged device access rules for %{name} License: LGPL-3.0-only BuildArch: noarch %description udev This package contains udev rules which allow %{name} to access relevant devices when ran by an unprivileged user. # -- GTK GUI %package -n openswitcher Summary: Control application for Blackmagic Design ATEM video switchers License: GPL-3.0-only Requires: hicolor-icon-theme Requires: python3-%{name} = %{version}-%{release} BuildArch: noarch %description -n openswitcher Open Switcher is a control application for the Blackmagic Design ATEM video switchers. These are normally controlled with the propriatary Windows or OS X application over a network connection. Open Switcher is a re-implementation that aims to be as close to the supported features of ATEM Software Control as possible. Getting to 100% compatabilty would be quite hard since it exposes quite a lot of extra functionalities for specific models of mixers which would be technically difficult to implement or hard to do due to lack of access to the more expensive hardware. # -- subpackages end %prep %autosetup %meson %generate_buildrequires %pyproject_buildrequires %build %pyproject_wheel %meson_build %install %pyproject_install %pyproject_save_files %{name} %meson_install %find_lang openswitcher --with-man install -m 755 -d %{buildroot}%{_udevrulesdir} install -m 644 ./100-blackmagicdesign.rules %{buildroot}%{_udevrulesdir} %files -n python3-%{name} -f %{pyproject_files} %license LICENSE-lgpl3.txt %files udev %{_udevrulesdir}/100-blackmagicdesign.rules %files -n openswitcher -f openswitcher.lang %license LICENSE-gpl3.txt %{_bindir}/atemswitch %{_bindir}/bmd-setup %{_bindir}/openswitcher-proxy %{_bindir}/switcher-control %{_datadir}/applications/nl.brixit.Setup.desktop %{_datadir}/applications/nl.brixit.Switcher.desktop %{_datadir}/glib-2.0/schemas/nl.brixit.Switcher.gschema.xml %{_datadir}/icons/hicolor/scalable/apps/nl.brixit.Setup.svg %{_datadir}/icons/hicolor/scalable/apps/nl.brixit.Switcher.svg %{_datadir}/switcher/ %{_metainfodir}/nl.brixit.Setup.appdata.xml %{_metainfodir}/nl.brixit.Switcher.appdata.xml %{_mandir}/man1/atemswitch.1* %{_mandir}/man1/bmd-setup.1* %{_mandir}/man1/openswitcher-proxy.1* %{_mandir}/man1/switcher-control.1* %changelog * Thu May 07 2026 Artur Frenszek-Iwicki - 0.13.0-1 - Initial packaging