Unverified Commit fd281bd6 authored by Mauricio Collares's avatar Mauricio Collares Committed by GitHub
Browse files

Merge pull request #275577 from soispha/master

manim-slides: Init at v5.1.3
parents 75a18a64 7a3ed2fe
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -64,8 +64,10 @@ in python.pkgs.buildPythonApplication rec {

  pythonRelaxDeps = [
    "cloup"
    "isosurfaces"
    "pillow"
    "skia-pathops"
    "watchdog"
  ];

  patches = [
+15 −0
Original line number Diff line number Diff line
@@ -64,6 +64,21 @@
  "test_PointCloudDot"
  "test_Torus"

  # test_ImplicitFunction[/test_implicit_graph] failing with:
  # E           AssertionError:
  # E           Not equal to tolerance rtol=1e-07, atol=1.01
  # E           Frame no -1. You can use --show_diff to visually show the difference.
  # E           Mismatched elements: 1185[/633] / 1639680[/1639680] (0.0723[/0.0386]%)
  # E           Max absolute difference: 125[/121]
  # E           Max relative difference: 6.5[/1]
  #
  # These started failing after relaxing the “watchdog” and “isosurfaces” dependencies,
  # likely due to a tolerance difference.  They should, however, start working again when [1] is
  # included in a Manim release.
  # [1]: https://github.com/ManimCommunity/manim/pull/3376
  "test_ImplicitFunction"
  "test_implicit_graph"

  # failing with:
  # TypeError: __init__() got an unexpected keyword argument 'msg' - maybe you meant pytest.mark.skipif?
  "test_force_window_opengl_render_with_movies"
+96 −0
Original line number Diff line number Diff line
{ lib
, buildPythonPackage
, fetchFromGitHub
, pythonOlder

, manim
, ffmpeg

, av
, click
, click-default-group
, jinja2
, lxml
, numpy
, opencv4
, pillow
, pydantic
, pydantic-extra-types
, python-pptx
, qtpy
, requests
, rich
, rtoml
, tqdm
, pyqt6

  # Optional dependencies
, ipython

  # Hooks
, pdm-backend
, pythonRelaxDepsHook

  # As Module or application?
, withGui ? false
}:
buildPythonPackage rec {
  pname = "manim-slides";
  format = "pyproject";
  version = "5.1.3";

  disabled = pythonOlder "3.9";

  src = fetchFromGitHub {
    owner = "jeertmans";
    repo = "manim-slides";
    rev = "refs/tags/v${version}";
    hash = "sha256-WZR95swapT2Fbu6mbuHLjMu3Okq/wKFabzN7xpZw0/g=";
  };

  nativeBuildInputs = [ pdm-backend pythonRelaxDepsHook ];

  pythonRemoveDeps = [ "opencv-python" ];

  pythonRelaxDeps = [ "rtoml" "qtpy" ];

  propagatedBuildInputs = [
    av
    click
    click-default-group
    jinja2
    lxml
    numpy
    opencv4
    pillow
    pydantic
    pydantic-extra-types
    python-pptx
    qtpy
    requests
    rich
    rtoml
    tqdm

    # avconv is a potential alternative
    ffmpeg
    # This could also be manimgl, but that is not (yet) packaged
    manim
  ]
  ++ lib.lists.optional (!withGui)
    ipython
  ++ lib.lists.optional withGui
    # dependency of qtpy (could also be pyqt5)
    pyqt6;

  pythonImportsCheck = [ "manim_slides" ];

  meta = with lib; {
    changelog = "https://github.com/jeertmans/manim-slides/blob/${src.rev}/CHANGELOG.md";
    description = "Tool for live presentations using manim";
    homepage = "https://github.com/jeertmans/manim-slides";
    license = licenses.mit;
    mainProgram = "manim-slides";
    maintainers = with maintainers; [ soispha ];
  };
}
+6 −0
Original line number Diff line number Diff line
@@ -31597,6 +31597,12 @@ with pkgs;
  manim = callPackage ../applications/video/manim { };
  manim-slides = python3Packages.toPythonApplication (
    python3Packages.manim-slides.override {
      withGui = true;
    }
  );
  manuskript = libsForQt5.callPackage ../applications/editors/manuskript { };
  mindforger = libsForQt5.callPackage ../applications/editors/mindforger { };
+2 −0
Original line number Diff line number Diff line
@@ -7048,6 +7048,8 @@ self: super: with self; {
    inherit (pkgs.darwin.apple_sdk.frameworks) AppKit;
  };
  manim-slides = callPackage ../development/python-modules/manim-slides { };
  manifest-ml = callPackage ../development/python-modules/manifest-ml { };
  manifestoo = callPackage ../development/python-modules/manifestoo { };