Merge pull request #17608 from cmfwyp/calibre-desktop-entry
calibre: add desktop entry files
This commit is contained in:
commit
cb54b19c4d
|
@ -1,7 +1,7 @@
|
||||||
{ stdenv, fetchurl, python, pyqt5, sip_4_16, poppler_utils, pkgconfig, libpng
|
{ stdenv, fetchurl, python, pyqt5, sip_4_16, poppler_utils, pkgconfig, libpng
|
||||||
, imagemagick, libjpeg, fontconfig, podofo, qtbase, qmakeHook, icu, sqlite
|
, imagemagick, libjpeg, fontconfig, podofo, qtbase, qmakeHook, icu, sqlite
|
||||||
, makeWrapper, unrarSupport ? false, chmlib, pythonPackages, xz, libusb1, libmtp
|
, makeWrapper, unrarSupport ? false, chmlib, pythonPackages, xz, libusb1, libmtp
|
||||||
, xdg_utils
|
, xdg_utils, makeDesktopItem
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
||||||
name = "calibre-${version}";
|
name = "calibre-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://download.calibre-ebook.com/${version}/${name}.tar.xz";
|
url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz";
|
||||||
sha256 = "0npqvfjqj1vwa7nmnsyd4d30z40brydw275ldf1jankrp6dr9dyd";
|
sha256 = "0npqvfjqj1vwa7nmnsyd4d30z40brydw275ldf1jankrp6dr9dyd";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -67,11 +67,88 @@ stdenv.mkDerivation rec {
|
||||||
wrapProgram $a --prefix PYTHONPATH : $PYTHONPATH \
|
wrapProgram $a --prefix PYTHONPATH : $PYTHONPATH \
|
||||||
--prefix PATH : ${poppler_utils.out}/bin
|
--prefix PATH : ${poppler_utils.out}/bin
|
||||||
done
|
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; {
|
meta = with stdenv.lib; {
|
||||||
description = "Comprehensive e-book software";
|
description = "Comprehensive e-book software";
|
||||||
homepage = http://calibre-ebook.com;
|
homepage = https://calibre-ebook.com;
|
||||||
license = with licenses; if unrarSupport then unfreeRedistributable else gpl3;
|
license = with licenses; if unrarSupport then unfreeRedistributable else gpl3;
|
||||||
maintainers = with maintainers; [ viric domenkozar pSub AndersonTorres ];
|
maintainers = with maintainers; [ viric domenkozar pSub AndersonTorres ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
|
Loading…
Reference in New Issue