1{
2 buildPythonPackage,
3 lib,
4 callPackage,
5
6 isPy3k,
7 isPyPy,
8
9 openpaperwork-core,
10 openpaperwork-gtk,
11 paperwork-backend,
12 fabulous,
13 rich,
14 getkey,
15 psutil,
16 shared-mime-info,
17 setuptools-scm,
18
19 pkgs,
20}:
21
22buildPythonPackage rec {
23 pname = "paperwork-shell";
24 inherit (callPackage ./src.nix { }) version src;
25 format = "pyproject";
26
27 sourceRoot = "${src.name}/paperwork-shell";
28
29 # Python 2.x is not supported.
30 disabled = !isPy3k && !isPyPy;
31
32 patchPhase = ''
33 chmod a+w -R ..
34 patchShebangs ../tools
35 '';
36 propagatedBuildInputs = [
37 openpaperwork-core
38 paperwork-backend
39 fabulous
40 getkey
41 psutil
42 rich
43 ];
44
45 nativeCheckInputs = [
46 shared-mime-info
47 openpaperwork-gtk
48 ];
49
50 nativeBuildInputs = [
51 pkgs.gettext
52 pkgs.which
53 setuptools-scm
54 ];
55
56 preBuild = ''
57 make l10n_compile
58 '';
59
60 preCheck = ''
61 export HOME=$(mktemp -d)
62 "$out/bin/paperwork-cli" chkdeps
63 '';
64
65 meta = {
66 description = "CLI for Paperwork";
67 homepage = "https://openpaper.work/";
68 license = lib.licenses.gpl3Plus;
69 maintainers = with lib.maintainers; [
70 aszlig
71 symphorien
72 ];
73 };
74}