depot/third_party/nixpkgs/pkgs/development/python-modules/pillow-jpls/default.nix
Default email bcb2f287e1 Project import generated by Copybara.
GitOrigin-RevId: d603719ec6e294f034936c0d0dc06f689d91b6c3
2024-06-20 20:27:18 +05:30

87 lines
1.6 KiB
Nix

{
lib,
buildPythonPackage,
fetchFromGitHub,
pythonOlder,
pytestCheckHook,
cmake,
ninja,
scikit-build-core,
charls,
eigen,
fmt,
numpy,
pillow,
pybind11,
setuptools,
pathspec,
pyproject-metadata,
setuptools-scm,
}:
buildPythonPackage rec {
pname = "pillow-jpls";
version = "1.3.2";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "planetmarshall";
repo = "pillow-jpls";
rev = "refs/tags/v${version}";
hash = "sha256-Rc4/S8BrYoLdn7eHDBaoUt1Qy+h0TMAN5ixCAuRmfPU=";
};
env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
dontUseCmakeConfigure = true;
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail '"conan~=2.0.16",' "" \
--replace-fail '"pybind11~=2.11.1",' '"pybind11",'
'';
build-system = [
cmake
ninja
pybind11
scikit-build-core
setuptools
setuptools-scm
];
buildInputs = [
charls
eigen
fmt
];
dependencies = [
numpy
pillow
pathspec
pyproject-metadata
];
pypaBuildFlags = [
"-C"
"cmake.args='--preset=sysdeps'"
];
nativeCheckInputs = [ pytestCheckHook ];
# Prevent importing from build during test collection:
preCheck = ''rm -rf pillow_jpls'';
pythonImportsCheck = [ "pillow_jpls" ];
meta = with lib; {
description = "JPEG-LS plugin for the Python Pillow library";
homepage = "https://github.com/planetmarshall/pillow-jpls";
changelog = "https://github.com/planetmarshall/pillow-jpls/releases/tag/v${version}";
license = licenses.bsd3;
maintainers = with maintainers; [ bcdarwin ];
};
}