diff --git a/pkgs/applications/video/deface/default.nix b/pkgs/applications/video/deface/default.nix new file mode 100644 index 000000000000..43c009c9dbb8 --- /dev/null +++ b/pkgs/applications/video/deface/default.nix @@ -0,0 +1,56 @@ +{ lib +, stdenv +, python3 +, fetchFromGitHub +, makeWrapper +, pkgs +}: + +python3.pkgs.buildPythonApplication rec { + pname = "deface"; + version = "1.4.0"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "ORB-HD"; + repo = "deface"; + rev = "v${version}"; + hash = "sha256-tLNTgdnKKmyYHVajz0dHIb7cvC1by5LQ5CFIbMvPEYk="; + }; + + nativeBuildInputs = with python3.pkgs; [ + setuptools-scm + ]; + + propagatedBuildInputs = with python3.pkgs; [ + imageio + imageio-ffmpeg + numpy + onnx + onnxruntime # Nixpkgs onnxruntime is missing CUDA support + opencv4 + scikit-image + tqdm + ]; + + # Native onnxruntime lib used by Python module onnxruntime can't find its other libs without this + makeWrapperArgs = [ + ''--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ pkgs.onnxruntime ]}"'' + ]; + + patchPhase = '' + substituteInPlace pyproject.toml requirements.txt --replace "opencv-python" "opencv" + ''; + + # Let setuptools know deface version + SETUPTOOLS_SCM_PRETEND_VERSION = "v${version}"; + + pythonImportsCheck = [ "deface" "onnx" "onnxruntime" ]; + + meta = with lib; { + description = "Video anonymization by face detection"; + homepage = "https://github.com/ORB-HD/deface"; + license = licenses.mit; + maintainers = with maintainers; [ lurkki ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3e94d75af142..17ea9103368c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -41865,6 +41865,8 @@ with pkgs; ov = callPackage ../tools/text/ov { }; + deface = callPackage ../applications/video/deface { }; + tubekit = callPackage ../applications/networking/cluster/tubekit/wrapper.nix { }; tubekit-unwrapped = callPackage ../applications/networking/cluster/tubekit { };