vs-overlay/plugins/kagefunc/default.nix
Simon Bruder eeceb7e2e4 vapoursynthPlugins: allow override of python version
When overriding the python3 dependency of vapoursynth, it should get
propagated to all plugins. Currently, however, this causes
incompatibilities, because `vapoursynth.python3.callPackage` only sets
the `python` attribute, not `python3`. This currently causes build
failures due to different site-packages paths.
2022-05-27 22:27:20 +02:00

57 lines
1.3 KiB
Nix

{ lib, vapoursynthPlugins, buildPythonPackage, fetchFromGitHub, python, vapoursynth }:
let
propagatedBinaryPlugins = with vapoursynthPlugins; [
adaptivegrain
addgrain
bm3d
descale
fmtconv
knlmeanscl
retinex
tcanny
wwxd
];
in
buildPythonPackage rec {
pname = "kagefunc";
version = "0.1.0";
src = fetchFromGitHub {
owner = "Irrational-Encoding-Wizardry";
repo = pname;
rev = version;
sha256 = "sha256-9OpFSVLQspa6+xkCFqD5xeo3akCfwnpwtFuCCsQxAvQ=";
};
patches = [
./skip-opencl-test.diff
];
propagatedBuildInputs = (with vapoursynthPlugins; [
fvsfunc
mvsfunc
vsutil
]) ++ propagatedBinaryPlugins;
format = "other";
installPhase = ''
install -D kagefunc.py $out/${python.sitePackages}/kagefunc.py
'';
checkInputs = [ (vapoursynth.withPlugins propagatedBinaryPlugins) ];
checkPhase = ''
PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
python3 tests.py
'';
pythonImportsCheck = [ "kagefunc" ];
meta = with lib; {
description = "A collection of Vapoursynth functions.";
homepage = "https://github.com/Irrational-Encoding-Wizardry/kagefunc";
license = licenses.mit;
maintainers = with maintainers; [ sbruder ];
platforms = platforms.all;
};
}