Loading pkgs/development/python-modules/manim/default.nix +28 −28 Original line number Diff line number Diff line Loading @@ -2,26 +2,26 @@ lib, buildPythonPackage, fetchFromGitHub, texliveInfraOnly, # build-system poetry-core, pytest-xdist, pytestCheckHook, pythonOlder, # buildInputs cairo, ffmpeg, texliveInfraOnly, # dependencies av, beautifulsoup4, click, cloup, decorator, isosurfaces, jupyterlab, manimpango, mapbox-earcut, moderngl, moderngl-window, networkx, notebook, numpy, pillow, pycairo, Loading @@ -36,6 +36,17 @@ tqdm, typing-extensions, watchdog, # optional-dependencies jupyterlab, notebook, # tests ffmpeg, pytest-cov-stub, pytest-xdist, pytestCheckHook, versionCheckHook, }: let Loading Loading @@ -175,41 +186,26 @@ in buildPythonPackage rec { pname = "manim"; pyproject = true; version = "0.18.1"; disabled = pythonOlder "3.9"; version = "0.19.0"; src = fetchFromGitHub { owner = "ManimCommunity"; repo = "manim"; tag = "v${version}"; hash = "sha256-o+Wl3NMK6yopcsRVFtZuUE9c1GABa5d8rbQNHDJ4OiQ="; hash = "sha256-eQgp/GwKsfQA1ZgqfB3HF2ThEgH3Fbn9uAtcko9pkjs="; }; build-system = [ poetry-core ]; pythonRelaxDeps = [ "cloup" "isosurfaces" "pillow" "skia-pathops" "watchdog" ]; patches = [ ./pytest-report-header.patch ]; postPatch = '' substituteInPlace pyproject.toml \ --replace "--no-cov-on-fail --cov=manim --cov-report xml --cov-report term" "" substituteInPlace manim/_config/default.cfg \ --replace "ffmpeg_executable = ffmpeg" "ffmpeg_executable = ${lib.getExe ffmpeg}" ''; buildInputs = [ cairo ]; dependencies = [ av beautifulsoup4 click cloup decorator Loading Loading @@ -257,16 +253,19 @@ buildPythonPackage rec { nativeCheckInputs = [ ffmpeg manim-tinytex pytest-cov-stub pytest-xdist pytestCheckHook versionCheckHook ]; versionCheckProgramArg = [ "--version" ]; # about 55 of ~600 tests failing mostly due to demand for display disabledTests = import ./failing_tests.nix; pythonImportsCheck = [ "manim" ]; meta = with lib; { meta = { description = "Animation engine for explanatory math videos - Community version"; longDescription = '' Manim is an animation engine for explanatory math videos. It's used to Loading @@ -274,8 +273,9 @@ buildPythonPackage rec { 3Blue1Brown on YouTube. This is the community maintained version of manim. ''; changelog = "https://docs.manim.community/en/latest/changelog/${version}-changelog.html"; homepage = "https://github.com/ManimCommunity/manim"; license = licenses.mit; license = lib.licenses.mit; maintainers = [ ]; }; } pkgs/development/python-modules/manim/pytest-report-header.patch +27 −13 Original line number Diff line number Diff line diff --git a/conftest.py b/conftest.py index dacb730a..149c6702 100644 --- a/conftest.py +++ b/conftest.py @@ -33,17 +33,3 @@ def temp_media_dir(tmpdir, monkeypatch, request): with tempconfig({"media_dir": str(tmpdir)}): assert config.media_dir == str(tmpdir) yield tmpdir - - diff --git a/tests/conftest.py b/tests/conftest.py index 4de34bbb..07b4bea6 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -4,31 +4,11 @@ import logging import sys from pathlib import Path -import cairo -import moderngl import pytest import manim -def pytest_report_header(config): - try: - ctx = moderngl.create_standalone_context() - info = ctx.info - ctx.release() - except Exception as e: - raise Exception("Error while creating moderngl context") from e - - return ( - f"\nCairo Version: {cairo.cairo_version()}", - "\nOpenGL information", Loading @@ -20,3 +29,8 @@ index dacb730a..149c6702 100644 - f"renderer: {info['GL_RENDERER'].strip()}", - f"version: {info['GL_VERSION'].strip()}\n", - ) - - def pytest_addoption(parser): parser.addoption( "--skip_slow", Loading
pkgs/development/python-modules/manim/default.nix +28 −28 Original line number Diff line number Diff line Loading @@ -2,26 +2,26 @@ lib, buildPythonPackage, fetchFromGitHub, texliveInfraOnly, # build-system poetry-core, pytest-xdist, pytestCheckHook, pythonOlder, # buildInputs cairo, ffmpeg, texliveInfraOnly, # dependencies av, beautifulsoup4, click, cloup, decorator, isosurfaces, jupyterlab, manimpango, mapbox-earcut, moderngl, moderngl-window, networkx, notebook, numpy, pillow, pycairo, Loading @@ -36,6 +36,17 @@ tqdm, typing-extensions, watchdog, # optional-dependencies jupyterlab, notebook, # tests ffmpeg, pytest-cov-stub, pytest-xdist, pytestCheckHook, versionCheckHook, }: let Loading Loading @@ -175,41 +186,26 @@ in buildPythonPackage rec { pname = "manim"; pyproject = true; version = "0.18.1"; disabled = pythonOlder "3.9"; version = "0.19.0"; src = fetchFromGitHub { owner = "ManimCommunity"; repo = "manim"; tag = "v${version}"; hash = "sha256-o+Wl3NMK6yopcsRVFtZuUE9c1GABa5d8rbQNHDJ4OiQ="; hash = "sha256-eQgp/GwKsfQA1ZgqfB3HF2ThEgH3Fbn9uAtcko9pkjs="; }; build-system = [ poetry-core ]; pythonRelaxDeps = [ "cloup" "isosurfaces" "pillow" "skia-pathops" "watchdog" ]; patches = [ ./pytest-report-header.patch ]; postPatch = '' substituteInPlace pyproject.toml \ --replace "--no-cov-on-fail --cov=manim --cov-report xml --cov-report term" "" substituteInPlace manim/_config/default.cfg \ --replace "ffmpeg_executable = ffmpeg" "ffmpeg_executable = ${lib.getExe ffmpeg}" ''; buildInputs = [ cairo ]; dependencies = [ av beautifulsoup4 click cloup decorator Loading Loading @@ -257,16 +253,19 @@ buildPythonPackage rec { nativeCheckInputs = [ ffmpeg manim-tinytex pytest-cov-stub pytest-xdist pytestCheckHook versionCheckHook ]; versionCheckProgramArg = [ "--version" ]; # about 55 of ~600 tests failing mostly due to demand for display disabledTests = import ./failing_tests.nix; pythonImportsCheck = [ "manim" ]; meta = with lib; { meta = { description = "Animation engine for explanatory math videos - Community version"; longDescription = '' Manim is an animation engine for explanatory math videos. It's used to Loading @@ -274,8 +273,9 @@ buildPythonPackage rec { 3Blue1Brown on YouTube. This is the community maintained version of manim. ''; changelog = "https://docs.manim.community/en/latest/changelog/${version}-changelog.html"; homepage = "https://github.com/ManimCommunity/manim"; license = licenses.mit; license = lib.licenses.mit; maintainers = [ ]; }; }
pkgs/development/python-modules/manim/pytest-report-header.patch +27 −13 Original line number Diff line number Diff line diff --git a/conftest.py b/conftest.py index dacb730a..149c6702 100644 --- a/conftest.py +++ b/conftest.py @@ -33,17 +33,3 @@ def temp_media_dir(tmpdir, monkeypatch, request): with tempconfig({"media_dir": str(tmpdir)}): assert config.media_dir == str(tmpdir) yield tmpdir - - diff --git a/tests/conftest.py b/tests/conftest.py index 4de34bbb..07b4bea6 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -4,31 +4,11 @@ import logging import sys from pathlib import Path -import cairo -import moderngl import pytest import manim -def pytest_report_header(config): - try: - ctx = moderngl.create_standalone_context() - info = ctx.info - ctx.release() - except Exception as e: - raise Exception("Error while creating moderngl context") from e - - return ( - f"\nCairo Version: {cairo.cairo_version()}", - "\nOpenGL information", Loading @@ -20,3 +29,8 @@ index dacb730a..149c6702 100644 - f"renderer: {info['GL_RENDERER'].strip()}", - f"version: {info['GL_VERSION'].strip()}\n", - ) - - def pytest_addoption(parser): parser.addoption( "--skip_slow",