tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
paperwork: 1.3.1 -> 2.0
Symphorien Gibol
5 years ago
74b9066a
f269e315
+352
-152
10 changed files
expand all
collapse all
unified
split
pkgs
applications
office
paperwork
backend.nix
default.nix
openpaperwork-core.nix
openpaperwork-gtk.nix
paperwork-backend.nix
paperwork-gtk.nix
paperwork-shell.nix
src.nix
top-level
all-packages.nix
python-packages.nix
-48
pkgs/applications/office/paperwork/backend.nix
···
1
1
-
{ buildPythonPackage, lib, fetchFromGitLab
2
2
-
3
3
-
, isPy3k, isPyPy
4
4
-
5
5
-
, pyenchant, simplebayes, pillow, pycountry, whoosh, termcolor
6
6
-
, python-Levenshtein, pygobject3, pyocr, natsort, libinsane
7
7
-
, distro
8
8
-
9
9
-
, pkgs
10
10
-
}:
11
11
-
12
12
-
buildPythonPackage rec {
13
13
-
pname = "paperwork-backend";
14
14
-
version = "1.3.1";
15
15
-
16
16
-
src = fetchFromGitLab {
17
17
-
domain = "gitlab.gnome.org";
18
18
-
repo = "paperwork";
19
19
-
group = "World";
20
20
-
owner = "OpenPaperwork";
21
21
-
rev = version;
22
22
-
sha256 = "1219yz8z4r1yn6miq8zc2z1m1lnhf3dmkhwfw23n05bg842nvg65";
23
23
-
};
24
24
-
25
25
-
sourceRoot = "source/paperwork-backend";
26
26
-
27
27
-
# Python 2.x is not supported.
28
28
-
disabled = !isPy3k && !isPyPy;
29
29
-
30
30
-
patchPhase = ''
31
31
-
echo 'version = "${version}"' > paperwork_backend/_version.py
32
32
-
'';
33
33
-
34
34
-
preCheck = "\"$out/bin/paperwork-shell\" chkdeps paperwork_backend";
35
35
-
36
36
-
propagatedBuildInputs = [
37
37
-
pyenchant simplebayes pillow pycountry whoosh termcolor
38
38
-
python-Levenshtein libinsane pygobject3 pyocr natsort
39
39
-
pkgs.poppler_gi pkgs.gtk3 distro
40
40
-
];
41
41
-
42
42
-
meta = {
43
43
-
description = "Backend part of Paperwork (Python API, no UI)";
44
44
-
homepage = "https://openpaper.work/";
45
45
-
license = lib.licenses.gpl3Plus;
46
46
-
maintainers = with lib.maintainers; [ aszlig symphorien ];
47
47
-
};
48
48
-
}
-102
pkgs/applications/office/paperwork/default.nix
···
1
1
-
{ lib
2
2
-
, python3Packages
3
3
-
, gtk3
4
4
-
, cairo
5
5
-
, aspellDicts
6
6
-
, buildEnv
7
7
-
, gnome3
8
8
-
, librsvg
9
9
-
, xvfb_run
10
10
-
, dbus
11
11
-
, libnotify
12
12
-
, wrapGAppsHook
13
13
-
}:
14
14
-
15
15
-
python3Packages.buildPythonApplication rec {
16
16
-
inherit (python3Packages.paperwork-backend) version src;
17
17
-
pname = "paperwork";
18
18
-
19
19
-
sourceRoot = "source/paperwork-gtk";
20
20
-
21
21
-
# Patch out a few paths that assume that we're using the FHS:
22
22
-
postPatch = ''
23
23
-
themeDir="$(echo "${gnome3.adwaita-icon-theme}/share/icons/"*)"
24
24
-
sed -i -e "s,/usr/share/icons/gnome,$themeDir," src/paperwork/deps.py
25
25
-
26
26
-
sed -i -e 's,sys\.prefix,"",g' \
27
27
-
src/paperwork/frontend/aboutdialog/__init__.py \
28
28
-
src/paperwork/frontend/mainwindow/__init__.py \
29
29
-
setup.py
30
30
-
31
31
-
sed -i -e '/^UI_FILES_DIRS = \[/,/^\]$/ {
32
32
-
c UI_FILES_DIRS = ["'"$out/share/paperwork"'"]
33
33
-
}' src/paperwork/frontend/util/__init__.py
34
34
-
35
35
-
sed -i -e '/^LOCALE_PATHS = \[/,/^\]$/ {
36
36
-
c LOCALE_PATHS = ["'"$out/share"'"]
37
37
-
}' src/paperwork/paperwork.py
38
38
-
39
39
-
sed -i -e 's/"icon"/"icon-name"/g' \
40
40
-
src/paperwork/frontend/mainwindow/mainwindow.glade
41
41
-
42
42
-
sed -i -e 's/"logo"/"logo-icon-name"/g' \
43
43
-
src/paperwork/frontend/aboutdialog/aboutdialog.glade
44
44
-
45
45
-
cat - ../AUTHORS.py > src/paperwork/_version.py <<EOF
46
46
-
# -*- coding: utf-8 -*-
47
47
-
version = "${version}"
48
48
-
authors_code=""
49
49
-
EOF
50
50
-
'';
51
51
-
52
52
-
ASPELL_CONF = "dict-dir ${buildEnv {
53
53
-
name = "aspell-all-dicts";
54
54
-
paths = lib.collect lib.isDerivation aspellDicts;
55
55
-
}}/lib/aspell";
56
56
-
57
57
-
postInstall = ''
58
58
-
# paperwork-shell needs to be re-wrapped with access to paperwork
59
59
-
cp ${python3Packages.paperwork-backend}/bin/.paperwork-shell-wrapped $out/bin/paperwork-shell
60
60
-
# install desktop files and icons
61
61
-
XDG_DATA_HOME=$out/share $out/bin/paperwork-shell install
62
62
-
'';
63
63
-
64
64
-
checkInputs = [ xvfb_run dbus.daemon ] ++ (with python3Packages; [ paperwork-backend ]);
65
65
-
66
66
-
nativeBuildInputs = [
67
67
-
wrapGAppsHook
68
68
-
];
69
69
-
70
70
-
buildInputs = [
71
71
-
gnome3.adwaita-icon-theme
72
72
-
libnotify
73
73
-
librsvg
74
74
-
];
75
75
-
76
76
-
# A few parts of chkdeps need to have a display and a dbus session, so we not
77
77
-
# only need to run a virtual X server + dbus but also have a large enough
78
78
-
# resolution, because the Cairo test tries to draw a 200x200 window.
79
79
-
preCheck = ''
80
80
-
xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
81
81
-
--config-file=${dbus.daemon}/share/dbus-1/session.conf \
82
82
-
paperwork-shell chkdeps paperwork
83
83
-
'';
84
84
-
85
85
-
propagatedBuildInputs = with python3Packages; [
86
86
-
paperwork-backend
87
87
-
pypillowfight
88
88
-
gtk3
89
89
-
cairo
90
90
-
pyxdg
91
91
-
dateutil
92
92
-
setuptools
93
93
-
];
94
94
-
95
95
-
meta = {
96
96
-
description = "A personal document manager for scanned documents";
97
97
-
homepage = "https://openpaper.work/";
98
98
-
license = lib.licenses.gpl3Plus;
99
99
-
maintainers = with lib.maintainers; [ aszlig symphorien ];
100
100
-
platforms = lib.platforms.linux;
101
101
-
};
102
102
-
}
+42
pkgs/applications/office/paperwork/openpaperwork-core.nix
···
1
1
+
{ buildPythonPackage, lib, fetchFromGitLab
2
2
+
3
3
+
, isPy3k, isPyPy
4
4
+
5
5
+
, distro, setuptools
6
6
+
7
7
+
, pkgs
8
8
+
}:
9
9
+
10
10
+
buildPythonPackage rec {
11
11
+
pname = "openpaperwork-core";
12
12
+
inherit (import ./src.nix { inherit fetchFromGitLab; }) version src;
13
13
+
14
14
+
sourceRoot = "source/openpaperwork-core";
15
15
+
16
16
+
# Python 2.x is not supported.
17
17
+
disabled = !isPy3k && !isPyPy;
18
18
+
19
19
+
patchPhase = ''
20
20
+
echo 'version = "${version}"' > src/openpaperwork_core/_version.py
21
21
+
chmod a+w -R ..
22
22
+
patchShebangs ../tools
23
23
+
'';
24
24
+
25
25
+
propagatedBuildInputs = [
26
26
+
distro
27
27
+
setuptools
28
28
+
];
29
29
+
30
30
+
nativeBuildInputs = [ pkgs.gettext pkgs.which ];
31
31
+
32
32
+
preBuild = ''
33
33
+
make l10n_compile
34
34
+
'';
35
35
+
36
36
+
meta = {
37
37
+
description = "Backend part of Paperwork (Python API, no UI)";
38
38
+
homepage = "https://openpaper.work/";
39
39
+
license = lib.licenses.gpl3Plus;
40
40
+
maintainers = with lib.maintainers; [ aszlig symphorien ];
41
41
+
};
42
42
+
}
+52
pkgs/applications/office/paperwork/openpaperwork-gtk.nix
···
1
1
+
{ buildPythonPackage
2
2
+
, lib
3
3
+
, fetchFromGitLab
4
4
+
5
5
+
, isPy3k
6
6
+
, isPyPy
7
7
+
8
8
+
, openpaperwork-core
9
9
+
, pillow
10
10
+
, pygobject3
11
11
+
, distro
12
12
+
13
13
+
, pkgs
14
14
+
}:
15
15
+
16
16
+
buildPythonPackage rec {
17
17
+
pname = "openpaperwork-gtk";
18
18
+
inherit (import ./src.nix { inherit fetchFromGitLab; }) version src;
19
19
+
20
20
+
sourceRoot = "source/openpaperwork-gtk";
21
21
+
22
22
+
# Python 2.x is not supported.
23
23
+
disabled = !isPy3k && !isPyPy;
24
24
+
25
25
+
patchPhase = ''
26
26
+
echo 'version = "${version}"' > src/openpaperwork_gtk/_version.py
27
27
+
chmod a+w -R ..
28
28
+
patchShebangs ../tools
29
29
+
'';
30
30
+
31
31
+
nativeBuildInputs = [ pkgs.gettext pkgs.which ];
32
32
+
preBuild = ''
33
33
+
make l10n_compile
34
34
+
'';
35
35
+
36
36
+
propagatedBuildInputs = [
37
37
+
pillow
38
38
+
pygobject3
39
39
+
pkgs.poppler_gi
40
40
+
pkgs.gtk3
41
41
+
distro
42
42
+
pkgs.pango
43
43
+
openpaperwork-core
44
44
+
];
45
45
+
46
46
+
meta = {
47
47
+
description = "Reusable GTK components of Paperwork";
48
48
+
homepage = "https://openpaper.work/";
49
49
+
license = lib.licenses.gpl3Plus;
50
50
+
maintainers = with lib.maintainers; [ aszlig symphorien ];
51
51
+
};
52
52
+
}
+77
pkgs/applications/office/paperwork/paperwork-backend.nix
···
1
1
+
{ buildPythonPackage
2
2
+
, lib
3
3
+
, fetchFromGitLab
4
4
+
5
5
+
, isPy3k
6
6
+
, isPyPy
7
7
+
8
8
+
, pyenchant
9
9
+
, simplebayes
10
10
+
, pypillowfight
11
11
+
, pycountry
12
12
+
, whoosh
13
13
+
, termcolor
14
14
+
, python-Levenshtein
15
15
+
, pygobject3
16
16
+
, pyocr
17
17
+
, natsort
18
18
+
, libinsane
19
19
+
, distro
20
20
+
, openpaperwork-core
21
21
+
, openpaperwork-gtk
22
22
+
, psutil
23
23
+
24
24
+
, pkgs
25
25
+
}:
26
26
+
27
27
+
buildPythonPackage rec {
28
28
+
pname = "paperwork-backend";
29
29
+
inherit (import ./src.nix { inherit fetchFromGitLab; }) version src;
30
30
+
31
31
+
sourceRoot = "source/paperwork-backend";
32
32
+
33
33
+
# Python 2.x is not supported.
34
34
+
disabled = !isPy3k && !isPyPy;
35
35
+
36
36
+
patchPhase = ''
37
37
+
echo 'version = "${version}"' > src/paperwork_backend/_version.py
38
38
+
chmod a+w -R ..
39
39
+
patchShebangs ../tools
40
40
+
'';
41
41
+
42
42
+
propagatedBuildInputs = [
43
43
+
pyenchant
44
44
+
simplebayes
45
45
+
pypillowfight
46
46
+
pycountry
47
47
+
whoosh
48
48
+
termcolor
49
49
+
python-Levenshtein
50
50
+
libinsane
51
51
+
pygobject3
52
52
+
pyocr
53
53
+
natsort
54
54
+
pkgs.poppler_gi
55
55
+
pkgs.gtk3
56
56
+
distro
57
57
+
openpaperwork-core
58
58
+
];
59
59
+
60
60
+
preCheck = ''
61
61
+
export HOME=$(mktemp -d)
62
62
+
'';
63
63
+
64
64
+
nativeBuildInputs = [ pkgs.gettext pkgs.which ];
65
65
+
preBuild = ''
66
66
+
make l10n_compile
67
67
+
'';
68
68
+
69
69
+
checkInputs = [ openpaperwork-gtk psutil ];
70
70
+
71
71
+
meta = {
72
72
+
description = "Backend part of Paperwork (Python API, no UI)";
73
73
+
homepage = "https://openpaper.work/";
74
74
+
license = lib.licenses.gpl3Plus;
75
75
+
maintainers = with lib.maintainers; [ aszlig symphorien ];
76
76
+
};
77
77
+
}
+105
pkgs/applications/office/paperwork/paperwork-gtk.nix
···
1
1
+
{ lib
2
2
+
, python3Packages
3
3
+
, gtk3
4
4
+
, cairo
5
5
+
, aspellDicts
6
6
+
, buildEnv
7
7
+
, gnome3
8
8
+
, librsvg
9
9
+
, xvfb_run
10
10
+
, dbus
11
11
+
, libnotify
12
12
+
, wrapGAppsHook
13
13
+
, fetchFromGitLab
14
14
+
, which
15
15
+
, gettext
16
16
+
, gobject-introspection
17
17
+
}:
18
18
+
19
19
+
python3Packages.buildPythonApplication rec {
20
20
+
inherit (import ./src.nix { inherit fetchFromGitLab; }) version src;
21
21
+
pname = "paperwork";
22
22
+
23
23
+
sourceRoot = "source/paperwork-gtk";
24
24
+
25
25
+
# Patch out a few paths that assume that we're using the FHS:
26
26
+
postPatch = ''
27
27
+
chmod a+w -R ..
28
28
+
patchShebangs ../tools
29
29
+
30
30
+
export HOME=$(mktemp -d)
31
31
+
32
32
+
cat - ../AUTHORS.py > src/paperwork_gtk/_version.py <<EOF
33
33
+
# -*- coding: utf-8 -*-
34
34
+
version = "${version}"
35
35
+
authors_code=""
36
36
+
EOF
37
37
+
'';
38
38
+
39
39
+
preBuild = ''
40
40
+
make l10n_compile
41
41
+
'';
42
42
+
43
43
+
ASPELL_CONF = "dict-dir ${buildEnv {
44
44
+
name = "aspell-all-dicts";
45
45
+
paths = lib.collect lib.isDerivation aspellDicts;
46
46
+
}}/lib/aspell";
47
47
+
48
48
+
postInstall = ''
49
49
+
# paperwork-shell needs to be re-wrapped with access to paperwork
50
50
+
cp ${python3Packages.paperwork-shell}/bin/.paperwork-cli-wrapped $out/bin/paperwork-cli
51
51
+
# install desktop files and icons
52
52
+
XDG_DATA_HOME=$out/share $out/bin/paperwork-gtk install --user
53
53
+
'';
54
54
+
55
55
+
checkInputs = [ xvfb_run dbus.daemon ];
56
56
+
57
57
+
nativeBuildInputs = [
58
58
+
wrapGAppsHook
59
59
+
gobject-introspection
60
60
+
(lib.getBin gettext)
61
61
+
which
62
62
+
];
63
63
+
64
64
+
buildInputs = [
65
65
+
gnome3.adwaita-icon-theme
66
66
+
libnotify
67
67
+
librsvg
68
68
+
gtk3
69
69
+
cairo
70
70
+
];
71
71
+
72
72
+
dontWrapGApps = true;
73
73
+
74
74
+
preFixup = ''
75
75
+
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
76
76
+
'';
77
77
+
78
78
+
# A few parts of chkdeps need to have a display and a dbus session, so we not
79
79
+
# only need to run a virtual X server + dbus but also have a large enough
80
80
+
# resolution, because the Cairo test tries to draw a 200x200 window.
81
81
+
preCheck = ''
82
82
+
xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
83
83
+
--config-file=${dbus.daemon}/share/dbus-1/session.conf \
84
84
+
$out/bin/paperwork-gtk chkdeps
85
85
+
'';
86
86
+
87
87
+
propagatedBuildInputs = with python3Packages; [
88
88
+
paperwork-backend
89
89
+
paperwork-shell
90
90
+
openpaperwork-gtk
91
91
+
openpaperwork-core
92
92
+
pypillowfight
93
93
+
pyxdg
94
94
+
dateutil
95
95
+
setuptools
96
96
+
];
97
97
+
98
98
+
meta = {
99
99
+
description = "A personal document manager for scanned documents";
100
100
+
homepage = "https://openpaper.work/";
101
101
+
license = lib.licenses.gpl3Plus;
102
102
+
maintainers = with lib.maintainers; [ aszlig symphorien ];
103
103
+
platforms = lib.platforms.linux;
104
104
+
};
105
105
+
}
+59
pkgs/applications/office/paperwork/paperwork-shell.nix
···
1
1
+
{ buildPythonPackage
2
2
+
, lib
3
3
+
, fetchFromGitLab
4
4
+
5
5
+
, isPy3k
6
6
+
, isPyPy
7
7
+
8
8
+
, openpaperwork-core
9
9
+
, openpaperwork-gtk
10
10
+
, paperwork-backend
11
11
+
, fabulous
12
12
+
, getkey
13
13
+
14
14
+
, pkgs
15
15
+
}:
16
16
+
17
17
+
buildPythonPackage rec {
18
18
+
pname = "paperwork-shell";
19
19
+
inherit (import ./src.nix { inherit fetchFromGitLab; }) version src;
20
20
+
21
21
+
sourceRoot = "source/paperwork-shell";
22
22
+
23
23
+
# Python 2.x is not supported.
24
24
+
disabled = !isPy3k && !isPyPy;
25
25
+
26
26
+
patchPhase = ''
27
27
+
echo 'version = "${version}"' > src/paperwork_shell/_version.py
28
28
+
chmod a+w -R ..
29
29
+
patchShebangs ../tools
30
30
+
'';
31
31
+
32
32
+
propagatedBuildInputs = [
33
33
+
openpaperwork-core
34
34
+
paperwork-backend
35
35
+
fabulous
36
36
+
getkey
37
37
+
];
38
38
+
39
39
+
checkInputs = [
40
40
+
openpaperwork-gtk
41
41
+
];
42
42
+
43
43
+
nativeBuildInputs = [ pkgs.gettext pkgs.which ];
44
44
+
preBuild = ''
45
45
+
make l10n_compile
46
46
+
'';
47
47
+
48
48
+
preCheck = ''
49
49
+
export HOME=$(mktemp -d)
50
50
+
"$out/bin/paperwork-cli" chkdeps
51
51
+
'';
52
52
+
53
53
+
meta = {
54
54
+
description = "CLI for Paperwork";
55
55
+
homepage = "https://openpaper.work/";
56
56
+
license = lib.licenses.gpl3Plus;
57
57
+
maintainers = with lib.maintainers; [ aszlig symphorien ];
58
58
+
};
59
59
+
}
+12
pkgs/applications/office/paperwork/src.nix
···
1
1
+
{fetchFromGitLab}:
2
2
+
rec {
3
3
+
version = "2.0";
4
4
+
src = fetchFromGitLab {
5
5
+
domain = "gitlab.gnome.org";
6
6
+
repo = "paperwork";
7
7
+
group = "World";
8
8
+
owner = "OpenPaperwork";
9
9
+
rev = version;
10
10
+
sha256 = "0879wvl3hk74kwnaa64q6prfg2kjaa7nrzahaw2zcipdpf5h2mkm";
11
11
+
};
12
12
+
}
+1
-1
pkgs/top-level/all-packages.nix
···
6143
6143
6144
6144
paperless = callPackage ../applications/office/paperless { };
6145
6145
6146
6146
-
paperwork = callPackage ../applications/office/paperwork { };
6146
6146
+
paperwork = callPackage ../applications/office/paperwork/paperwork-gtk.nix { };
6147
6147
6148
6148
papertrail = callPackage ../tools/text/papertrail { };
6149
6149
+4
-1
pkgs/top-level/python-packages.nix
···
4306
4306
4307
4307
paperspace = callPackage ../development/python-modules/paperspace { };
4308
4308
4309
4309
-
paperwork-backend = callPackage ../applications/office/paperwork/backend.nix { };
4309
4309
+
openpaperwork-core = callPackage ../applications/office/paperwork/openpaperwork-core.nix { };
4310
4310
+
openpaperwork-gtk = callPackage ../applications/office/paperwork/openpaperwork-gtk.nix { };
4311
4311
+
paperwork-backend = callPackage ../applications/office/paperwork/paperwork-backend.nix { };
4312
4312
+
paperwork-shell = callPackage ../applications/office/paperwork/paperwork-shell.nix { };
4310
4313
4311
4314
papis = callPackage ../development/python-modules/papis { };
4312
4315