diff options
Diffstat (limited to 'pkgs/applications/video/manim')
-rw-r--r-- | pkgs/applications/video/manim/default.nix | 147 | ||||
-rw-r--r-- | pkgs/applications/video/manim/failing_tests.nix | 92 | ||||
-rw-r--r-- | pkgs/applications/video/manim/pytest-report-header.patch | 22 |
3 files changed, 0 insertions, 261 deletions
diff --git a/pkgs/applications/video/manim/default.nix b/pkgs/applications/video/manim/default.nix deleted file mode 100644 index b341a7ffee89a..0000000000000 --- a/pkgs/applications/video/manim/default.nix +++ /dev/null @@ -1,147 +0,0 @@ -{ lib -, fetchFromGitHub - -, cairo -, ffmpeg -, texliveInfraOnly - -, python3 -}: - -let - # According to ManimCommunity documentation manim uses tex-packages packaged - # in a custom distribution called "manim-latex", - # - # https://community.chocolatey.org/packages/manim-latex#files - # - # which includes another cutom distribution called tinytex, for which the - # package list can be found at - # - # https://github.com/yihui/tinytex/blob/master/tools/pkgs-custom.txt - # - # these two combined add up to: - manim-tinytex = texliveInfraOnly.withPackages (ps: with ps; [ - - # tinytex - amsfonts amsmath atbegshi atveryend auxhook babel bibtex - bigintcalc bitset booktabs cm dehyph dvipdfmx dvips ec epstopdf-pkg etex - etexcmds etoolbox euenc everyshi fancyvrb filehook firstaid float fontspec - framed geometry gettitlestring glyphlist graphics graphics-cfg graphics-def - grffile helvetic hycolor hyperref hyph-utf8 iftex inconsolata infwarerr - intcalc knuth-lib kvdefinekeys kvoptions kvsetkeys l3backend l3kernel - l3packages latex latex-amsmath-dev latex-bin latex-fonts latex-tools-dev - latexconfig latexmk letltxmacro lm lm-math ltxcmds lua-alt-getopt luahbtex - lualatex-math lualibs luaotfload luatex mdwtools metafont mfware natbib - pdfescape pdftex pdftexcmds plain psnfss refcount rerunfilecheck stringenc - tex tex-ini-files times tipa tools unicode-data unicode-math uniquecounter - url xcolor xetex xetexconfig xkeyval xunicode zapfding - - # manim-latex - standalone everysel preview doublestroke ms setspace rsfs relsize ragged2e - fundus-calligra microtype wasysym physics dvisvgm jknapltx wasy cm-super - babel-english gnu-freefont mathastext cbfonts-fd - ]); - - python = python3; - -in python.pkgs.buildPythonApplication rec { - pname = "manim"; - pyproject = true; - version = "0.18.1"; - disabled = python3.pythonOlder "3.9"; - - src = fetchFromGitHub { - owner = "ManimCommunity"; - repo = "manim"; - rev = "refs/tags/v${version}"; - hash = "sha256-o+Wl3NMK6yopcsRVFtZuUE9c1GABa5d8rbQNHDJ4OiQ="; - }; - - nativeBuildInputs = with python.pkgs; [ - poetry-core - pythonRelaxDepsHook - ]; - - 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" "" - ''; - - buildInputs = [ cairo ]; - - propagatedBuildInputs = with python.pkgs; [ - click - click-default-group - cloup - colour - grpcio - grpcio-tools - importlib-metadata - isosurfaces - jupyterlab - manimpango - mapbox-earcut - moderngl - moderngl-window - networkx - numpy - pillow - pycairo - pydub - pygments - pysrt - rich - scipy - screeninfo - skia-pathops - srt - svgelements - tqdm - watchdog - ]; - - makeWrapperArgs = [ - "--prefix" "PATH" ":" (lib.makeBinPath [ - ffmpeg - manim-tinytex - ]) - ]; - - nativeCheckInputs = [ - ffmpeg - manim-tinytex - ] ++ (with python.pkgs; [ - pytest-xdist - pytestCheckHook - ]); - - # about 55 of ~600 tests failing mostly due to demand for display - disabledTests = import ./failing_tests.nix; - - pythonImportsCheck = [ "manim" ]; - - meta = with lib; { - description = "Animation engine for explanatory math videos - Community version"; - longDescription = '' - Manim is an animation engine for explanatory math videos. It's used to - create precise animations programmatically, as seen in the videos of - 3Blue1Brown on YouTube. This is the community maintained version of - manim. - ''; - homepage = "https://github.com/ManimCommunity/manim"; - license = licenses.mit; - maintainers = with maintainers; [ friedelino ]; - }; -} diff --git a/pkgs/applications/video/manim/failing_tests.nix b/pkgs/applications/video/manim/failing_tests.nix deleted file mode 100644 index ac788c25be20c..0000000000000 --- a/pkgs/applications/video/manim/failing_tests.nix +++ /dev/null @@ -1,92 +0,0 @@ -[ - # reason for failure: tests try to open display - "test_background_color" - "test_scene_add_remove" - "test_Circle" - "test_wait_skip" - "test_basic_scene_with_default_values" - "test_dry_run_with_png_format" - "test_dry_run_with_png_format_skipped_animations" - "test_FixedMobjects3D" - "test_basic_scene_l_flag" - "test_n_flag" - "test_s_flag_opengl_renderer" - "test_s_flag_no_animations" - "test_image_output_for_static_scene" - "test_no_image_output_with_interactive_embed" - "test_no_default_image_output_with_non_static_scene" - "test_image_output_for_static_scene_with_write_to_movie" - "test_s_flag" - "test_r_flag" - "test_play_skip" - "test_write_to_movie_disables_window" - "test_a_flag" - "test_pixel_coords_to_space_coords" - "test_t_values" - "test_custom_folders" - "test_t_values[15]" - "test_t_values[30]" - "test_t_values[60]" - "test_dash_as_filename" - "test_images_are_created_when_png_format_set_for_opengl" - "test_t_values_with_skip_animations" - "test_static_wait_detection" - "test_non_static_wait_detection" - "test_frozen_frame" - "test_gif_format_output" - "test_animate_with_changed_custom_attribute" - "test_images_are_zero_padded_when_zero_pad_set_for_opengl" - "test_mp4_format_output" - "test_videos_not_created_when_png_format_set" - "test_images_are_created_when_png_format_set" - "test_images_are_zero_padded_when_zero_pad_set" - "test_webm_format_output" - "test_default_format_output_for_transparent_flag" - "test_mov_can_be_set_as_output_format" - "test_force_window_opengl_render_with_format" - "test_get_frame_with_preview_disabled" - "test_get_frame_with_preview_enabled" - - # reason for failure: tests try to reach network - "test_logging_to_file" - "test_plugin_function_like" - "test_plugin_no_all" - "test_plugin_with_all" - - # 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: 18525 / 1639680 (1.13%) - # E Max absolute difference: 255 - # E Max relative difference: 255. - "test_Text2Color" - "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" - - # mismatching expecation on the new commandline - "test_manim_new_command" - - # This tests checks if the manim executable is a python script. In our case it is not. - # It is a wrapper shell script instead. - "test_manim_checkhealth_subcommand" -] diff --git a/pkgs/applications/video/manim/pytest-report-header.patch b/pkgs/applications/video/manim/pytest-report-header.patch deleted file mode 100644 index 7aa87d373e508..0000000000000 --- a/pkgs/applications/video/manim/pytest-report-header.patch +++ /dev/null @@ -1,22 +0,0 @@ -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 -- -- --def pytest_report_header(config): -- ctx = moderngl.create_standalone_context() -- info = ctx.info -- ctx.release() -- return ( -- f"\nCairo Version: {cairo.cairo_version()}", -- "\nOpenGL information", -- "------------------", -- f"vendor: {info['GL_VENDOR'].strip()}", -- f"renderer: {info['GL_RENDERER'].strip()}", -- f"version: {info['GL_VERSION'].strip()}\n", -- ) |