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