Merge pull request #278287 from mweinelt/openswitcher

openswitcher: init at 0.9.1
This commit is contained in:
Martin Weinelt 2024-01-10 03:59:30 +01:00 committed by GitHub
commit f14f82e6dc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 157 additions and 0 deletions

View 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 ];
};
}

View 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 ];
};
}

View file

@ -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 { };