Skip to content

Commit

Permalink
Merge pull request NixOS#278287 from mweinelt/openswitcher
Browse files Browse the repository at this point in the history
openswitcher: init at 0.9.1
  • Loading branch information
mweinelt authored Jan 10, 2024
2 parents 584a67d + 22adbca commit f14f82e
Show file tree
Hide file tree
Showing 3 changed files with 157 additions and 0 deletions.
80 changes: 80 additions & 0 deletions pkgs/by-name/op/openswitcher/package.nix
Original file line number Diff line number Diff line change
@@ -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 changes: 75 additions & 0 deletions pkgs/development/python-modules/pyatem/default.nix
Original file line number Diff line number Diff line change
@@ -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 ];
};
}
2 changes: 2 additions & 0 deletions pkgs/top-level/python-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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 { };
Expand Down

0 comments on commit f14f82e

Please sign in to comment.