Merge pull request #278287 from mweinelt/openswitcher
openswitcher: init at 0.9.1
This commit is contained in:
commit
f14f82e6dc
3 changed files with 157 additions and 0 deletions
80
pkgs/by-name/op/openswitcher/package.nix
Normal file
80
pkgs/by-name/op/openswitcher/package.nix
Normal file
|
@ -0,0 +1,80 @@
|
|||
{ lib
|
||||
, python3Packages
|
||||
, fetchFromSourcehut
|
||||
, desktop-file-utils
|
||||
, gobject-introspection
|
||||
, gtk3
|
||||
, libhandy
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, scdoc
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "openswitcher";
|
||||
version = "0.9.1";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~martijnbraam";
|
||||
repo = "pyatem";
|
||||
rev = version;
|
||||
hash = "sha256-264XqBl+1qsAc5vOxJabbkubY+F72xo06WWishVEQOI=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"man"
|
||||
];
|
||||
|
||||
depsBuildBuild = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
desktop-file-utils
|
||||
gobject-introspection
|
||||
gtk3
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
scdoc
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
libhandy
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
# for switcher-control, bmd-setup
|
||||
paho-mqtt
|
||||
pyatem
|
||||
pygobject3
|
||||
# for atemswitch
|
||||
requests
|
||||
# for openswitcher-proxy
|
||||
toml
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
install -Dm644 -t $out/lib/udev/rules.d/ $src/100-blackmagicdesign.rules
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Blackmagic Design mixer control application";
|
||||
downloadPage = "https://git.sr.ht/~martijnbraam/pyatem";
|
||||
homepage = "https://openswitcher.org/";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ hexa ];
|
||||
};
|
||||
}
|
75
pkgs/development/python-modules/pyatem/default.nix
Normal file
75
pkgs/development/python-modules/pyatem/default.nix
Normal file
|
@ -0,0 +1,75 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, buildPythonPackage
|
||||
, fetchFromSourcehut
|
||||
|
||||
# build-system
|
||||
, setuptools
|
||||
|
||||
# dependencies
|
||||
, pyusb
|
||||
, tqdm
|
||||
, zeroconf
|
||||
|
||||
# tests
|
||||
, pillow
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyatem";
|
||||
version = "0.9.0"; # check latest version in setup.py
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~martijnbraam";
|
||||
repo = "pyatem";
|
||||
rev = version;
|
||||
hash = "sha256-ntwUhgC8Cgrim+kU3B3ckgPDmPe+aEHDP4wsB45KbJg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
pyusb
|
||||
tqdm
|
||||
zeroconf
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pillow
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
TESTDIR=$(mktemp -d)
|
||||
cp -r pyatem/{test_*.py,fixtures} $TESTDIR/
|
||||
pushd $TESTDIR
|
||||
'';
|
||||
|
||||
disabledTests = lib.optionals (stdenv.isLinux && stdenv.isAarch64) [
|
||||
# colorspace mapping has weird, but constant offsets on aarch64-linux
|
||||
"test_blueramp"
|
||||
"test_greenramp"
|
||||
"test_hues"
|
||||
"test_primaries"
|
||||
"test_redramp"
|
||||
];
|
||||
|
||||
postCheck = ''
|
||||
popd
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [
|
||||
"pyatem"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Library for controlling Blackmagic Design ATEM video mixers";
|
||||
homepage = "https://git.sr.ht/~martijnbraam/pyatem";
|
||||
license = licenses.lgpl3Only;
|
||||
maintainers = with maintainers; [ hexa ];
|
||||
};
|
||||
}
|
|
@ -9362,6 +9362,8 @@ self: super: with self; {
|
|||
|
||||
pyatag = callPackage ../development/python-modules/pyatag { };
|
||||
|
||||
pyatem = callPackage ../development/python-modules/pyatem { };
|
||||
|
||||
pyatome = callPackage ../development/python-modules/pyatome { };
|
||||
|
||||
pycketcasts = callPackage ../development/python-modules/pycketcasts { };
|
||||
|
|
Loading…
Reference in a new issue