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