about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorFabian Affolter <fabian@affolter-engineering.ch>2024-05-19 10:21:15 +0200
committerGitHub <noreply@github.com>2024-05-19 10:21:15 +0200
commitbbc47fda07f92835283fc52905fe0591ef9130b5 (patch)
tree10701af631b30b6c2d055a40065db57a589a47d8 /pkgs
parent0c42b4708e4526e47cc8682476bd3d715e65932b (diff)
parentdcab6ab9b3e779aa3f8c80c04edb3a3f842b0bc6 (diff)
Merge pull request #312733 from fabaff/moviepy-refactor
python312Packages.moviepy: refactor 
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/python-modules/moviepy/default.nix106
1 files changed, 70 insertions, 36 deletions
diff --git a/pkgs/development/python-modules/moviepy/default.nix b/pkgs/development/python-modules/moviepy/default.nix
index 65f35e85a0f1c..01b6a7086ab88 100644
--- a/pkgs/development/python-modules/moviepy/default.nix
+++ b/pkgs/development/python-modules/moviepy/default.nix
@@ -1,62 +1,96 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, pythonOlder
-, numpy
-, decorator
-, imageio
-, imageio-ffmpeg
-, proglog
-, requests
-, tqdm
-  # Advanced image processing (triples size of output)
-, advancedProcessing ? false
-, scikit-image
-, scikit-learn
-, scipy
-, matplotlib
-, youtube-dl
+{
+  lib,
+  buildPythonPackage,
+  decorator,
+  fetchFromGitHub,
+  imageio,
+  imageio-ffmpeg,
+  matplotlib,
+  numpy,
+  proglog,
+  pytestCheckHook,
+  pythonOlder,
+  requests,
+  scikit-image,
+  scikit-learn,
+  scipy,
+  setuptools,
+  tqdm,
+  youtube-dl,
 }:
 
 buildPythonPackage rec {
   pname = "moviepy";
   version = "1.0.3";
-  format = "setuptools";
+  pyproject = true;
 
-  disabled = pythonOlder "3.5";
+  disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "2884e35d1788077db3ff89e763c5ba7bfddbd7ae9108c9bc809e7ba58fa433f5";
+  src = fetchFromGitHub {
+    owner = "Zulko";
+    repo = "moviepy";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-l7AwzAKSaEV+pPbltKgwllK6X54oruU2w0AvoCsrESE=";
   };
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "decorator>=4.0.2,<5.0" "decorator>=4.0.2,<6.0"
+      --replace-fail "decorator>=4.0.2,<5.0" "decorator>=4.0.2,<6.0"
   '';
 
-  # No tests, require network connection
-  doCheck = false;
+  build-system = [ setuptools ];
 
-  propagatedBuildInputs = [
-    numpy
+  dependencies = [
     decorator
     imageio
     imageio-ffmpeg
-    tqdm
-    requests
+    numpy
     proglog
-  ] ++ lib.optionals advancedProcessing [
-    scikit-image
-    scikit-learn
-    scipy
-    matplotlib
-    youtube-dl
+    requests
+    tqdm
+  ];
+
+  passthru.optional-dependencies = {
+    optionals = [
+      matplotlib
+      scikit-image
+      scikit-learn
+      scipy
+      youtube-dl
+    ];
+  };
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+
+  pythonImportsCheck = [ "moviepy" ];
+
+  disabledTests = [
+    "test_cuts1"
+    "test_issue"
+    "test_PR"
+    "test_setup"
+    "test_subtitles"
+    "test_sys_write_flush"
+  ];
+
+  disabledTestPaths = [
+    "tests/test_compositing.py"
+    "tests/test_fx.py"
+    "tests/test_ImageSequenceClip.py"
+    "tests/test_resourcerelease.py"
+    "tests/test_resourcereleasedemo.py"
+    "tests/test_TextClip.py"
+    "tests/test_VideoClip.py"
+    "tests/test_Videos.py"
+    "tests/test_videotools.py"
   ];
 
   meta = with lib; {
     description = "Video editing with Python";
     homepage = "https://zulko.github.io/moviepy/";
+    changelog = "https://github.com/Zulko/moviepy/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
   };