mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-27 17:33:09 +00:00
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
|
||||
, 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 New Issue
Block a user