1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 charls,
6 cython,
7 numpy,
8 pillow,
9 setuptools,
10 pytestCheckHook,
11}:
12
13buildPythonPackage rec {
14 pname = "pyjpegls";
15 version = "1.5.1";
16 pyproject = true;
17
18 src = fetchFromGitHub {
19 owner = "pydicom";
20 repo = "pyjpegls";
21 tag = "v${version}";
22 hash = "sha256-ha/nYvfzgoZDpVolMKMG9ZXqojy6x/2oPcvbWDvdKk4=";
23 };
24
25 # replace vendored 'charls' submodule with Nixpkgs's:
26 postPatch = ''
27 rmdir lib/charls
28 cp -ar ${charls.src} lib/charls
29 '';
30
31 pythonRelaxDeps = [ "numpy" ];
32
33 build-system = [
34 cython
35 numpy
36 setuptools
37 ];
38
39 dependencies = [
40 numpy
41 pillow
42 ];
43
44 pythonImportsCheck = [ "jpeg_ls" ];
45
46 nativeCheckInputs = [ pytestCheckHook ];
47
48 meta = {
49 description = "JPEG-LS for Python via CharLS C++ Library";
50 homepage = "https://github.com/pydicom/pyjpegls";
51 changelog = "https://github.com/pydicom/pyjpegls/releases/tag/v${src.tag}";
52 license = lib.licenses.mit;
53 maintainers = with lib.maintainers; [ bcdarwin ];
54 };
55}