Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 setuptools,
7
8 defusedxml,
9 pillow,
10 fonttools,
11
12 pytestCheckHook,
13 pytest-cov-stub,
14 qrcode,
15 camelot,
16 uharfbuzz,
17 lxml,
18}:
19
20buildPythonPackage rec {
21 pname = "fpdf2";
22 version = "2.8.3";
23 pyproject = true;
24
25 src = fetchFromGitHub {
26 owner = "py-pdf";
27 repo = "fpdf2";
28 tag = version;
29 hash = "sha256-uLaVRseakLg7Q9QO4F6BM7vQIFeA44ry8cqDfas8oMA=";
30 };
31
32 nativeBuildInputs = [ setuptools ];
33
34 propagatedBuildInputs = [
35 defusedxml
36 pillow
37 fonttools
38 ];
39
40 nativeCheckInputs = [
41 pytestCheckHook
42 pytest-cov-stub
43 qrcode
44 camelot
45 uharfbuzz
46 lxml
47 ];
48
49 disabledTestPaths = [
50 "test/table/test_table_extraction.py" # tabula-py not packaged yet
51 "test/signing/test_sign.py" # endesive not packaged yet
52 ];
53
54 disabledTests = [
55 "test_png_url" # tries to download file
56 "test_page_background" # tries to download file
57 "test_share_images_cache" # uses timing functions
58 "test_bidi_character" # tries to download file
59 "test_bidi_conformance" # tries to download file
60 "test_insert_jpg_jpxdecode" # JPEG2000 is broken
61 ];
62
63 meta = {
64 homepage = "https://github.com/py-pdf/fpdf2";
65 description = "Simple PDF generation for Python";
66 changelog = "https://github.com/py-pdf/fpdf2/blob/${src.tag}/CHANGELOG.md";
67 license = lib.licenses.lgpl3Only;
68 maintainers = with lib.maintainers; [ jfvillablanca ];
69 };
70}