diff --git a/default.nix b/default.nix index 2b78de4..7ed51fe 100644 --- a/default.nix +++ b/default.nix @@ -52,6 +52,7 @@ in nnedi3_rpow2 = callPythonPackage ./plugins/nnedi3_rpow2 { }; vsutil = callPythonPackage ./plugins/vsutil { }; + havsfunc = callPythonPackage ./plugins/havsfunc { }; mvsfunc = callPythonPackage ./plugins/mvsfunc { }; }; diff --git a/plugins/havsfunc/default.nix b/plugins/havsfunc/default.nix new file mode 100644 index 0000000..07df36a --- /dev/null +++ b/plugins/havsfunc/default.nix @@ -0,0 +1,59 @@ +{ lib, buildPythonPackage, fetchFromGitHub, vapoursynthPlugins, python3, vapoursynth }: + +buildPythonPackage rec { + pname = "havsfunc"; + version = "r33"; + + src = fetchFromGitHub { + owner = "HomeOfVapourSynthEvolution"; + repo = pname; + rev = version; + sha256 = "14132gcy0zw348c40y2i8c7n3i1ygcnv9xrf83jp6m3b9v557z7p"; + }; + + propagatedBuildInputs = with vapoursynthPlugins; [ + addgrain + adjust + bm3d + cas + ctmf + dctfilter + deblock + dfttest + eedi2 + eedi3m + fft3dfilter + fluxsmooth + fmtconv + fmtconv + hqdn3d + knlmeanscl + mvsfunc + mvtools + nnedi3 + nnedi3cl + sangnom + ttempsmooth + znedi3 + ]; + + format = "other"; + + installPhase = '' + install -D havsfunc.py $out/${python3.sitePackages}/havsfunc.py + ''; + + checkInputs = [ (vapoursynth.withPlugins propagatedBuildInputs) ]; + checkPhase = '' + PYTHONPATH=$out/${python3.sitePackages}:$PYTHONPATH + ''; + pythonImportsCheck = [ "havsfunc" ]; + + meta = with lib; { + description = "Holy’s ported AviSynth functions for VapourSynth"; + homepage = "https://github.com/HomeOfVapourSynthEvolution/havsfunc"; + license = licenses.unfree; # no license + maintainers = with maintainers; [ sbruder ]; + platforms = platforms.all; + }; +}