Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / pillow-simd / default.nix
blobca0d947d37b1cf13a94f891b35ea459a9b9ede87
1 { lib, stdenv, buildPythonPackage, fetchFromGitHub, isPyPy, isPy3k
2 , olefile, freetype, libjpeg, zlib, libtiff, libwebp, libxcrypt, tcl, lcms2
3 , libxcb, tk, libX11, openjpeg, libimagequant, pyroma, numpy, defusedxml
4 , pytestCheckHook, setuptools
5 }@args:
7 import ../pillow/generic.nix (rec {
8   pname = "Pillow-SIMD";
9   # check for release version on https://pypi.org/project/Pillow-SIMD/#history
10   # does not match the latest pillow release version!
11   version = "9.0.0.post1";
12   format = "setuptools";
14   disabled = !isPy3k;
16   src = fetchFromGitHub {
17     owner = "uploadcare";
18     repo = "pillow-simd";
19     rev = "v${version}";
20     hash = "sha256-qTZYhgHjVMXqoYl3mG1xVrFaWrPidSY8HlyFQizV27Y=";
21   };
23   meta = with lib; {
24     broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin;
25     homepage = "https://python-pillow.github.io/pillow-perf/";
26     description = "The friendly PIL fork - SIMD version";
27     longDescription = ''
28       Pillow-SIMD is "following" Pillow. Pillow-SIMD versions are 100% compatible drop-in replacements for Pillow of the same version.
30       SIMD stands for "single instruction, multiple data" and its essence is in performing the same operation on multiple data points simultaneously by using multiple processing elements. Common CPU SIMD instruction sets are MMX, SSE-SSE4, AVX, AVX2, AVX512, NEON.
32       Currently, Pillow-SIMD can be compiled with SSE4 (default) or AVX2 support.
33     '';
34     license = "http://www.pythonware.com/products/pil/license.htm";
35     maintainers = with maintainers; [ ];
36   };
37 } // args )