mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-16 23:03:40 +01:00
Merge pull request #72886 from JohnAZoidberg/manim
manim: init at 0.1.10
This commit is contained in:
commit
f10e240b86
3 changed files with 94 additions and 0 deletions
64
pkgs/applications/video/manim/default.nix
Normal file
64
pkgs/applications/video/manim/default.nix
Normal file
|
@ -0,0 +1,64 @@
|
|||
{ lib, buildPythonApplication, fetchFromGitHub, pythonOlder, file, fetchpatch
|
||||
, cairo, ffmpeg, sox, xdg_utils, texlive
|
||||
, colour, numpy, pillow, progressbar, scipy, tqdm, opencv , pycairo, pydub
|
||||
, pbr, fetchPypi
|
||||
}:
|
||||
buildPythonApplication rec {
|
||||
pname = "manim";
|
||||
version = "0.1.10";
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "manimlib";
|
||||
inherit version;
|
||||
sha256 = "0vg9b3rwypq5zir74pi0pmj47yqlcg7hrvscwrpjzjbqq2yihn49";
|
||||
};
|
||||
|
||||
patches = [ ./remove-dependency-constraints.patch ];
|
||||
|
||||
nativeBuildInputs = [ pbr ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
colour
|
||||
numpy
|
||||
pillow
|
||||
progressbar
|
||||
scipy
|
||||
tqdm
|
||||
opencv
|
||||
pycairo
|
||||
pydub
|
||||
|
||||
cairo sox ffmpeg xdg_utils
|
||||
];
|
||||
|
||||
# Test with texlive to see whether it works but don't propagate
|
||||
# because it's huge and optional
|
||||
# TODO: Use smaller TexLive distribution
|
||||
# Doesn't need everything but it's hard to figure out what it needs
|
||||
checkInputs = [ cairo sox ffmpeg xdg_utils texlive.combined.scheme-full ];
|
||||
|
||||
# Simple test and complex test with LaTeX
|
||||
checkPhase = ''
|
||||
for scene in SquareToCircle OpeningManimExample
|
||||
do
|
||||
python3 manim.py example_scenes.py $scene -l
|
||||
tail -n 20 files/Tex/*.log # Print potential LaTeX erorrs
|
||||
${file}/bin/file videos/example_scenes/480p15/$scene.mp4 \
|
||||
| tee | grep -F "ISO Media, MP4 Base Media v1 [IS0 14496-12:2003]"
|
||||
done
|
||||
'';
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
meta = {
|
||||
description = "Animation engine for explanatory math videos";
|
||||
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.
|
||||
'';
|
||||
homepage = https://github.com/3b1b/manim;
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ johnazoidberg ];
|
||||
};
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
diff --git i/requirements.txt w/requirements.txt
|
||||
index 556122ad..11fd49d5 100644
|
||||
--- i/requirements.txt
|
||||
+++ w/requirements.txt
|
||||
@@ -1,11 +1,10 @@
|
||||
-argparse==1.4.0
|
||||
-colour==0.1.5
|
||||
-numpy==1.15.0
|
||||
-Pillow==5.2.0
|
||||
-progressbar==2.5
|
||||
-scipy==1.1.0
|
||||
-tqdm==4.24.0
|
||||
-opencv-python==3.4.2.17
|
||||
-pycairo==1.17.1; sys_platform == 'linux'
|
||||
-pycairo>=1.18.0; sys_platform == 'win32'
|
||||
-pydub==0.23.0
|
||||
+colour
|
||||
+numpy
|
||||
+Pillow
|
||||
+progressbar
|
||||
+scipy
|
||||
+tqdm
|
||||
+pycairo
|
||||
+pycairo>=1.18.1; sys_platform == 'win32'
|
||||
+pydub
|
||||
+pyreadline==2.1; sys_platform == 'win32'
|
|
@ -19286,6 +19286,10 @@ in
|
|||
|
||||
m32edit = callPackage ../applications/audio/midas/m32edit.nix {};
|
||||
|
||||
manim = python37Packages.callPackage ../applications/video/manim {
|
||||
opencv = python37Packages.opencv3;
|
||||
};
|
||||
|
||||
manuskript = libsForQt5.callPackage ../applications/editors/manuskript { };
|
||||
|
||||
manul = callPackage ../development/tools/manul { };
|
||||
|
|
Loading…
Reference in a new issue