forked from mirrors/nixpkgs
calibre: add desktop entry files
This commit is contained in:
parent
d9c368a140
commit
2b28811957
|
@ -1,7 +1,7 @@
|
|||
{ stdenv, fetchurl, python, pyqt5, sip_4_16, poppler_utils, pkgconfig, libpng
|
||||
, imagemagick, libjpeg, fontconfig, podofo, qtbase, qmakeHook, icu, sqlite
|
||||
, makeWrapper, unrarSupport ? false, chmlib, pythonPackages, xz, libusb1, libmtp
|
||||
, xdg_utils
|
||||
, xdg_utils, makeDesktopItem
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
|||
name = "calibre-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.calibre-ebook.com/${version}/${name}.tar.xz";
|
||||
url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz";
|
||||
sha256 = "0npqvfjqj1vwa7nmnsyd4d30z40brydw275ldf1jankrp6dr9dyd";
|
||||
};
|
||||
|
||||
|
@ -67,11 +67,88 @@ stdenv.mkDerivation rec {
|
|||
wrapProgram $a --prefix PYTHONPATH : $PYTHONPATH \
|
||||
--prefix PATH : ${poppler_utils.out}/bin
|
||||
done
|
||||
|
||||
# Replace @out@ by the output path.
|
||||
mkdir -p $out/share/applications/
|
||||
cp {$calibreDesktopItem,$ebookEditDesktopItem,$ebookViewerDesktopItem}/share/applications/* $out/share/applications/
|
||||
for entry in $out/share/applications/*.desktop; do
|
||||
substituteAllInPlace $entry
|
||||
done
|
||||
'';
|
||||
|
||||
calibreDesktopItem = makeDesktopItem {
|
||||
name = "calibre";
|
||||
desktopName = "calibre";
|
||||
exec = "@out@/bin/calibre --detach %F";
|
||||
genericName = "E-book library management";
|
||||
icon = "@out@/share/calibre/images/library.png";
|
||||
comment = "Manage, convert, edit, and read e-books";
|
||||
mimeType = stdenv.lib.concatStringsSep ";" [
|
||||
"application/x-mobipocket-subscription"
|
||||
"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
|
||||
"text/html"
|
||||
"application/x-cbc"
|
||||
"application/ereader"
|
||||
"application/oebps-package+xml"
|
||||
"image/vnd.djvu"
|
||||
"application/x-sony-bbeb"
|
||||
"application/vnd.ms-word.document.macroenabled.12"
|
||||
"text/rtf"
|
||||
"text/x-markdown"
|
||||
"application/pdf"
|
||||
"application/x-cbz"
|
||||
"application/x-mobipocket-ebook"
|
||||
"application/x-cbr"
|
||||
"application/x-mobi8-ebook"
|
||||
"text/fb2+xml"
|
||||
"application/vnd.oasis.opendocument.text"
|
||||
"application/epub+zip"
|
||||
"text/plain"
|
||||
"application/xhtml+xml"
|
||||
];
|
||||
categories = "Office";
|
||||
extraEntries = ''
|
||||
Actions=ebook-edit ebook-viewer
|
||||
|
||||
[Desktop Action ebook-edit]
|
||||
Name=Edit E-book
|
||||
Icon=@out@/share/calibre/images/tweak.png
|
||||
Exec=@out@/bin/ebook-edit --detach %F
|
||||
|
||||
[Desktop Action ebook-viewer]
|
||||
Name=E-book Viewer
|
||||
Icon=@out@/share/calibre/images/viewer.png
|
||||
Exec=@out@/bin/ebook-viewer --detach %F
|
||||
'';
|
||||
};
|
||||
|
||||
ebookEditDesktopItem = makeDesktopItem {
|
||||
name = "calibre-edit-ebook";
|
||||
desktopName = "Edit E-book";
|
||||
genericName = "E-book Editor";
|
||||
comment = "Edit e-books";
|
||||
icon = "@out@/share/calibre/images/tweak.png";
|
||||
exec = "@out@/bin/ebook-edit --detach %F";
|
||||
categories = "Office;Publishing";
|
||||
mimeType = "application/epub+zip";
|
||||
extraEntries = "NoDisplay=true";
|
||||
};
|
||||
|
||||
ebookViewerDesktopItem = makeDesktopItem {
|
||||
name = "calibre-ebook-viewer";
|
||||
desktopName = "E-book Viewer";
|
||||
genericName = "E-book Viewer";
|
||||
comment = "Read e-books in all the major formats";
|
||||
icon = "@out@/share/calibre/images/viewer.png";
|
||||
exec = "@out@/bin/ebook-viewer --detach %F";
|
||||
categories = "Office;Viewer";
|
||||
mimeType = "application/epub+zip";
|
||||
extraEntries = "NoDisplay=true";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Comprehensive e-book software";
|
||||
homepage = http://calibre-ebook.com;
|
||||
homepage = https://calibre-ebook.com;
|
||||
license = with licenses; if unrarSupport then unfreeRedistributable else gpl3;
|
||||
maintainers = with maintainers; [ viric domenkozar pSub AndersonTorres ];
|
||||
platforms = platforms.linux;
|
||||
|
|
Loading…
Reference in a new issue