at 24.11-pre 1.7 kB view raw
1{ 2 stdenv, 3 buildPythonPackage, 4 pythonOlder, 5 fetchFromGitHub, 6 pytestCheckHook, 7 glib, 8 vips, 9 cffi, 10 pkgconfig, # from pythonPackages 11 pkg-config, # from pkgs 12 lib, 13}: 14 15buildPythonPackage rec { 16 pname = "pyvips"; 17 version = "2.2.1"; 18 format = "setuptools"; 19 20 disabled = pythonOlder "3.7"; 21 22 src = fetchFromGitHub { 23 owner = "libvips"; 24 repo = "pyvips"; 25 rev = "v${version}"; 26 hash = "sha256-9S7h3bkm+QP78cpemYS7l3c8t+wXsJ5MUAP2T50R/Mc="; 27 }; 28 29 nativeBuildInputs = [ 30 pkgconfig 31 pkg-config 32 ]; 33 34 buildInputs = [ 35 glib 36 vips 37 ]; 38 39 propagatedBuildInputs = [ cffi ]; 40 41 env = lib.optionalAttrs stdenv.cc.isClang { 42 NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-function-pointer-types"; 43 }; 44 45 nativeCheckInputs = [ pytestCheckHook ]; 46 47 postPatch = '' 48 substituteInPlace pyvips/__init__.py \ 49 --replace 'libvips.so.42' '${lib.getLib vips}/lib/libvips${stdenv.hostPlatform.extensions.sharedLibrary}' \ 50 --replace 'libvips.42.dylib' '${lib.getLib vips}/lib/libvips${stdenv.hostPlatform.extensions.sharedLibrary}' \ 51 --replace 'libgobject-2.0.so.0' '${glib.out}/lib/libgobject-2.0${stdenv.hostPlatform.extensions.sharedLibrary}' \ 52 --replace 'libgobject-2.0.dylib' '${glib.out}/lib/libgobject-2.0${stdenv.hostPlatform.extensions.sharedLibrary}' \ 53 ''; 54 55 pythonImportsCheck = [ "pyvips" ]; 56 57 meta = with lib; { 58 description = "A python wrapper for libvips"; 59 homepage = "https://github.com/libvips/pyvips"; 60 changelog = "https://github.com/libvips/pyvips/blob/v${version}/CHANGELOG.rst"; 61 license = licenses.mit; 62 maintainers = with maintainers; [ 63 ccellado 64 anthonyroussel 65 ]; 66 }; 67}