at 23.11-beta 93 lines 1.9 kB view raw
1{ lib 2, stdenv 3, buildPythonPackage 4, fetchFromGitHub 5 6# build-system 7, cmake 8, nasm 9 10# native dependencies 11, libheif 12, libaom 13, libde265 14, x265 15 16# dependencies 17, pillow 18 19# tests 20, opencv4 21, numpy 22, pympler 23, pytestCheckHook 24}: 25 26buildPythonPackage rec { 27 pname = "pillow-heif"; 28 version = "0.13.0"; 29 format = "setuptools"; 30 31 src = fetchFromGitHub { 32 owner = "bigcat88"; 33 repo = "pillow_heif"; 34 rev = "refs/tags/v${version}"; 35 hash = "sha256-GbOW29rGpLMS7AfShuO6UCzcspdHtFS7hyNKori0otI="; 36 }; 37 38 postPatch = '' 39 sed -i '/addopts/d' pyproject.toml 40 ''; 41 42 nativeBuildInputs = [ 43 cmake 44 nasm 45 ]; 46 47 dontUseCmakeConfigure = true; 48 49 buildInputs = [ 50 libaom 51 libde265 52 libheif 53 x265 54 ]; 55 56 propagatedBuildInputs = [ 57 pillow 58 ]; 59 60 pythonImportsCheck = [ 61 "pillow_heif" 62 ]; 63 64 nativeCheckInputs = [ 65 opencv4 66 numpy 67 pympler 68 pytestCheckHook 69 ]; 70 71 disabledTests = lib.optionals stdenv.isDarwin [ 72 # https://github.com/bigcat88/pillow_heif/issues/89 73 # not reproducible in nixpkgs 74 "test_opencv_crash" 75 ] ++ lib.optionals (stdenv.isLinux && stdenv.isAarch64) [ 76 # RuntimeError: Encoder plugin generated an error: Unsupported bit depth: Bit depth not supported by x265 77 "test_open_heif_compare_non_standard_modes_data" 78 "test_open_save_disable_16bit" 79 "test_save_bgr_16bit_to_10_12_bit" 80 "test_save_bgra_16bit_to_10_12_bit" 81 "test_premultiplied_alpha" 82 "test_hdr_save" 83 "test_I_color_modes_to_10_12_bit" 84 ]; 85 86 meta = { 87 changelog = "https://github.com/bigcat88/pillow_heif/releases/tag/v${version}"; 88 description = "Python library for working with HEIF images and plugin for Pillow"; 89 homepage = "https://github.com/bigcat88/pillow_heif"; 90 license = with lib.licenses; [ bsd3 lgpl3 ]; 91 maintainers = with lib.maintainers; [ dandellion ]; 92 }; 93}