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
97
98
99
100
101
102
|
{
stdenv,
lib,
fetchFromGitHub,
glib,
gobject-introspection,
intltool,
shared-mime-info,
gtk3,
wrapGAppsHook3,
libarchive,
libxml2,
xapp,
xapp-symbolic-icons,
meson,
pkg-config,
cairo,
libsecret,
poppler,
libspectre,
libgxps,
webkitgtk_4_1,
mathjax,
ninja,
djvulibre,
backends ? [
"pdf"
"ps" # "dvi" "t1lib"
"djvu"
"tiff"
"pixbuf"
"comics"
"xps"
"epub"
],
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xreader";
version = "4.6.5";
src = fetchFromGitHub {
owner = "linuxmint";
repo = "xreader";
rev = finalAttrs.version;
hash = "sha256-wycQmScxuSlo6Ln6piSBF7kmzvi6FnTm/ES/Ds+/h8I=";
};
nativeBuildInputs = [
shared-mime-info
wrapGAppsHook3
meson
ninja
pkg-config
gobject-introspection
intltool
];
mesonFlags = [
# FIXME: `MathJax.js` is only available in MathJax 2.7.x.
"-Dmathjax-directory=${mathjax}"
"-Dintrospection=true"
]
++ (map (x: "-D${x}=true") backends);
buildInputs = [
glib
gtk3
xapp
cairo
libarchive
libxml2
libsecret
poppler
libspectre
libgxps
webkitgtk_4_1
mathjax
djvulibre
];
postInstall = ''
substituteInPlace $out/share/thumbnailers/xreader.thumbnailer \
--replace-fail "TryExec=xreader-thumbnailer" "TryExec=$out/bin/xreader-thumbnailer" \
--replace-fail "Exec=xreader-thumbnailer" "Exec=$out/bin/xreader-thumbnailer"
'';
preFixup = ''
gappsWrapperArgs+=(
--prefix XDG_DATA_DIRS : "${lib.makeSearchPath "share" [ xapp-symbolic-icons ]}"
)
'';
meta = {
description = "Document viewer capable of displaying multiple and single page
document formats like PDF and Postscript";
homepage = "https://github.com/linuxmint/xreader";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
teams = [ lib.teams.cinnamon ];
};
})
|