1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
{
buildPythonPackage,
lib,
callPackage,
pyenchant,
scikit-learn,
pypillowfight,
pycountry,
whoosh,
termcolor,
pygobject3,
pyocr,
natsort,
libinsane,
distro,
openpaperwork-core,
openpaperwork-gtk,
psutil,
gtk3,
poppler_gi,
gettext,
which,
shared-mime-info,
libreoffice,
unittestCheckHook,
setuptools-scm,
}:
buildPythonPackage (finalAttrs: {
pname = "paperwork-backend";
inherit (callPackage ./src.nix { }) version src;
pyproject = true;
sourceRoot = "${finalAttrs.src.name}/paperwork-backend";
patches = [
# disables a flaky test https://gitlab.gnome.org/World/OpenPaperwork/paperwork/-/issues/1035#note_1493700
./flaky_test.patch
];
patchFlags = [ "-p2" ];
postPatch = ''
chmod a+w -R ..
patchShebangs ../tools
'';
propagatedBuildInputs = [
distro
gtk3
libinsane
natsort
openpaperwork-core
pyenchant
pycountry
pygobject3
pyocr
pypillowfight
poppler_gi
scikit-learn
termcolor
whoosh
];
nativeBuildInputs = [
gettext
shared-mime-info
which
setuptools-scm
];
preBuild = ''
make l10n_compile
'';
nativeCheckInputs = [
libreoffice
openpaperwork-gtk
psutil
unittestCheckHook
];
preCheck = ''
export HOME=$TMPDIR
'';
meta = {
description = "Backend part of Paperwork (Python API, no UI)";
homepage = "https://openpaper.work";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [
aszlig
symphorien
];
};
})
|