1{ 2 lib, 3 python3Packages, 4 fetchFromGitHub, 5 buildPythonPackage, 6 mozjpeg, 7 pytestCheckHook, 8 setuptools, 9 cmake, 10 nix-update-script, 11 cffi, 12}: 13buildPythonPackage rec { 14 pname = "mozjpeg_lossless_optimization"; 15 version = "1.3.1"; 16 pyproject = true; 17 18 src = fetchFromGitHub { 19 owner = "wanadev"; 20 repo = "mozjpeg-lossless-optimization"; 21 # https://github.com/NixOS/nixpkgs/issues/26302 22 tag = "v${version}"; 23 hash = "sha256-HAOmD87oazwlGx1O+tAV5qzSn4EHbzeYQ5e8kmegwbo="; 24 fetchSubmodules = true; 25 }; 26 27 # This package needs cmake, but it is not the default builder 28 dontUseCmakeConfigure = true; 29 30 buildInputs = [ mozjpeg ]; 31 nativeBuildInputs = [ cmake ]; 32 propagatedBuildInputs = [ cffi ]; 33 34 # https://github.com/NixOS/nixpkgs/issues/255262 35 preCheck = '' 36 rm -r mozjpeg_lossless_optimization 37 ''; 38 39 build-system = [ setuptools ]; 40 nativeCheckInputs = [ pytestCheckHook ]; 41 42 passthru = { 43 updateScript = nix-update-script { }; 44 }; 45 46 meta = { 47 description = "Python library to optimize JPEGs losslessly using MozJPEG"; 48 homepage = "https://github.com/wanadev/mozjpeg-lossless-optimization"; 49 changelog = "https://github.com/wanadev/mozjpeg-lossless-optimization/releases/tag/${src.tag}"; 50 license = lib.licenses.bsd3; 51 maintainers = [ lib.maintainers.adfaure ]; 52 }; 53}