nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 79 lines 1.9 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 setuptools, 12 vips, 13}: 14 15buildPythonPackage rec { 16 pname = "pyvips"; 17 version = "3.1.1"; 18 pyproject = true; 19 20 src = fetchFromGitHub { 21 owner = "libvips"; 22 repo = "pyvips"; 23 tag = "v${version}"; 24 hash = "sha256-BPQFndikPSsKU4HPauTAewab32IumckG/y3lhUUNbMU="; 25 }; 26 27 nativeBuildInputs = [ 28 pkg-config 29 ]; 30 31 buildInputs = [ 32 glib 33 vips 34 ]; 35 36 build-system = [ 37 pkgconfig 38 setuptools 39 ]; 40 41 dependencies = [ cffi ]; 42 43 env = lib.optionalAttrs stdenv.cc.isClang { 44 NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-function-pointer-types"; 45 }; 46 47 nativeCheckInputs = [ pytestCheckHook ]; 48 49 postPatch = '' 50 substituteInPlace pyvips/__init__.py \ 51 --replace 'libvips.so.42' '${lib.getLib vips}/lib/libvips${stdenv.hostPlatform.extensions.sharedLibrary}' \ 52 --replace 'libvips.42.dylib' '${lib.getLib vips}/lib/libvips${stdenv.hostPlatform.extensions.sharedLibrary}' \ 53 --replace 'libgobject-2.0.so.0' '${glib.out}/lib/libgobject-2.0${stdenv.hostPlatform.extensions.sharedLibrary}' \ 54 --replace 'libgobject-2.0.dylib' '${glib.out}/lib/libgobject-2.0${stdenv.hostPlatform.extensions.sharedLibrary}' \ 55 ''; 56 57 disabledTests = [ 58 # flaky due to a race condition 59 # https://github.com/libvips/pyvips/issues/566 60 "test_progress" 61 ]; 62 63 disabledTestPaths = [ 64 "tests/perf" 65 ]; 66 67 pythonImportsCheck = [ "pyvips" ]; 68 69 meta = { 70 description = "Python wrapper for libvips"; 71 homepage = "https://github.com/libvips/pyvips"; 72 changelog = "https://github.com/libvips/pyvips/blob/v${version}/CHANGELOG.rst"; 73 license = lib.licenses.mit; 74 maintainers = with lib.maintainers; [ 75 ccellado 76 anthonyroussel 77 ]; 78 }; 79}