diff options
author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | 2024-05-01 18:01:22 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-01 18:01:22 +0000 |
commit | 67f8ba4a30028468182899667963ca1ad074224d (patch) | |
tree | a98f430f6bde3e78136139d40e784197ede6d45b /pkgs/applications/video | |
parent | 2b32fd65a31d54e9858734ad488df2a6434b4e8a (diff) | |
parent | 6b39739b77c4ab3f39ee3276677ce94af3e2b39c (diff) |
Merge master into staging-next
Diffstat (limited to 'pkgs/applications/video')
-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 | ||||
-rw-r--r-- | pkgs/applications/video/mpv/scripts/default.nix | 2 | ||||
-rw-r--r-- | pkgs/applications/video/mpv/scripts/mpv-slicing.nix | 32 | ||||
-rw-r--r-- | pkgs/applications/video/mpv/scripts/videoclip.nix | 40 | ||||
-rw-r--r-- | pkgs/applications/video/vdr/softhddevice/default.nix | 4 |
7 files changed, 76 insertions, 263 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", -- ) diff --git a/pkgs/applications/video/mpv/scripts/default.nix b/pkgs/applications/video/mpv/scripts/default.nix index 85cbd8233426a..8b740d1ded325 100644 --- a/pkgs/applications/video/mpv/scripts/default.nix +++ b/pkgs/applications/video/mpv/scripts/default.nix @@ -77,6 +77,7 @@ let mpv-cheatsheet = callPackage ./mpv-cheatsheet.nix { }; mpv-osc-modern = callPackage ./mpv-osc-modern.nix { }; mpv-playlistmanager = callPackage ./mpv-playlistmanager.nix { }; + mpv-slicing = callPackage ./mpv-slicing.nix { }; mpv-webm = callPackage ./mpv-webm.nix { }; mpvacious = callPackage ./mpvacious.nix { }; quack = callPackage ./quack.nix { }; @@ -88,6 +89,7 @@ let thumbfast = callPackage ./thumbfast.nix { }; thumbnail = callPackage ./thumbnail.nix { }; uosc = callPackage ./uosc.nix { }; + videoclip = callPackage ./videoclip.nix { }; visualizer = callPackage ./visualizer.nix { }; vr-reversal = callPackage ./vr-reversal.nix { }; webtorrent-mpv-hook = callPackage ./webtorrent-mpv-hook.nix { }; diff --git a/pkgs/applications/video/mpv/scripts/mpv-slicing.nix b/pkgs/applications/video/mpv/scripts/mpv-slicing.nix new file mode 100644 index 0000000000000..2266c8321cb85 --- /dev/null +++ b/pkgs/applications/video/mpv/scripts/mpv-slicing.nix @@ -0,0 +1,32 @@ +{ + lib, + buildLua, + fetchFromGitHub, + ffmpeg, +}: + +buildLua { + pname = "mpv-slicing"; + version = "0-unstable-2017-11-25"; + + src = fetchFromGitHub { + owner = "Kagami"; + repo = "mpv_slicing"; + rev = "d09c11227704c8d5bdaa2c799ef64dce881c63a7"; + hash = "sha256-MKoM0f74/XoctiHQVOB3LzFWtJXpsREfQh5icaebCJo="; + }; + + postPatch = '' + substituteInPlace slicing.lua \ + --replace-fail ffmpeg ${lib.getExe ffmpeg} + ''; + + passthru.scriptName = "slicing.lua"; + + meta = { + description = "A lua script to cut fragments of the video in uncompressed RGB format"; + homepage = "https://github.com/Kagami/mpv_slicing"; + license = lib.licenses.cc0; + maintainers = with lib.maintainers; [ tomasajt ]; + }; +} diff --git a/pkgs/applications/video/mpv/scripts/videoclip.nix b/pkgs/applications/video/mpv/scripts/videoclip.nix new file mode 100644 index 0000000000000..fff5b788b0286 --- /dev/null +++ b/pkgs/applications/video/mpv/scripts/videoclip.nix @@ -0,0 +1,40 @@ +{ lib +, fetchFromGitHub +, curl +, xclip +, wl-clipboard +, stdenv +, buildLua +, unstableGitUpdater +}: +buildLua { + pname = "videoclip"; + version = "0-unstable-2024-03-08"; + + src = fetchFromGitHub { + owner = "Ajatt-Tools"; + repo = "videoclip"; + rev = "0e3f2245b03e888c14c093a50261e0f54ecdf8e8"; + hash = "sha256-Sg6LHU9OVmVx3cTs8Y0WL8wACb5BlVyeBRccoX+7BXY="; + }; + + patchPhase = '' + substituteInPlace platform.lua \ + --replace \'curl\' \'${lib.getExe curl}\' \ + '' + lib.optionalString stdenv.isLinux '' + --replace xclip ${lib.getExe xclip} \ + --replace wl-copy ${lib.getExe' wl-clipboard "wl-copy"} + ''; + + scriptPath = "."; + passthru.scriptName = "videoclip"; + passthru.updateScript = unstableGitUpdater { }; + + meta = with lib; { + description = "Easily create videoclips with mpv"; + homepage = "https://github.com/Ajatt-Tools/videoclip"; + license = licenses.gpl3Plus; + platforms = platforms.all; + maintainers = with maintainers; [ BatteredBunny ]; + }; +} diff --git a/pkgs/applications/video/vdr/softhddevice/default.nix b/pkgs/applications/video/vdr/softhddevice/default.nix index 23c6433f9ebbd..caccdc6ed39a8 100644 --- a/pkgs/applications/video/vdr/softhddevice/default.nix +++ b/pkgs/applications/video/vdr/softhddevice/default.nix @@ -14,12 +14,12 @@ }: stdenv.mkDerivation rec { pname = "vdr-softhddevice"; - version = "2.1.2"; + version = "2.2.0"; src = fetchFromGitHub { owner = "ua0lnj"; repo = "vdr-plugin-softhddevice"; - sha256 = "sha256-y6b0nOf597uxS9zDh0NQOwLN81nk4U7lHK2CalyVi8s="; + sha256 = "sha256-1yCDNfUdQLgJ0WWyx0q3Hi0yxb6zxaK7wMzLD9jXweI="; rev = "v${version}"; }; |