diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index dd85156b3ef0..b2c54105946e 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -1,16 +1,20 @@ -{ stdenv, mkDerivation, fetchurl, poppler_utils, pkgconfig, libpng +{ lib, mkDerivation, fetchurl, poppler_utils, pkgconfig, libpng , imagemagick, libjpeg, fontconfig, podofo, qtbase, qmake, icu, sqlite , unrarSupport ? false, chmlib, python2Packages, libusb1, libmtp -, xdg_utils, makeDesktopItem, wrapGAppsHook, removeReferencesTo, qt5 +, xdg_utils, makeDesktopItem, removeReferencesTo }: +let + pypkgs = python2Packages; + +in mkDerivation rec { pname = "calibre"; - version = "3.47.1"; + version = "3.48.0"; src = fetchurl { url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz"; - sha256 = "17lz6rawlv268vv8i5kj59rswsipq3c14066adaz1paw54zr62dk"; + sha256 = "034m89h7j2088p324i1kya33dfldmqyynjxk3w98xiqkz7q2hi82"; }; patches = [ @@ -20,10 +24,10 @@ mkDerivation rec { # - switches the version update from enabled to disabled by default ./no_updates_dialog.patch # the unrar patch is not from debian - ] ++ stdenv.lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch; + ] ++ lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch; prePatch = '' - sed -i "/pyqt_sip_dir/ s:=.*:= '${python2Packages.pyqt5_with_qtwebkit}/share/sip/PyQt5':" \ + sed -i "/pyqt_sip_dir/ s:=.*:= '${pypkgs.pyqt5_with_qtwebkit}/share/sip/PyQt5':" \ setup/build_environment.py # Remove unneeded files and libs @@ -35,17 +39,21 @@ mkDerivation rec { enableParallelBuilding = true; - nativeBuildInputs = [ pkgconfig qmake removeReferencesTo wrapGAppsHook ]; + nativeBuildInputs = [ pkgconfig qmake removeReferencesTo ]; + + CALIBRE_PY3_PORT = builtins.toString pypkgs.isPy3k; buildInputs = [ poppler_utils libpng imagemagick libjpeg fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils - ] ++ (with python2Packages; [ - apsw cssselect css-parser dateutil dnspython html5-parser lxml mechanize netifaces pillow + ] ++ (with pypkgs; [ + apsw cssselect css-parser dateutil dnspython html5-parser lxml netifaces pillow python pyqt5_with_qtwebkit sip - regex msgpack beautifulsoup4 + regex msgpack beautifulsoup4 html2text # the following are distributed with calibre, but we use upstream instead odfpy + ]) ++ lib.optionals (!pypkgs.isPy3k) (with pypkgs; [ + mechanize ]); installPhase = '' @@ -60,8 +68,8 @@ mkDerivation rec { export FC_LIB_DIR=${fontconfig.lib}/lib export PODOFO_INC_DIR=${podofo.dev}/include/podofo export PODOFO_LIB_DIR=${podofo.lib}/lib - export SIP_BIN=${python2Packages.sip}/bin/sip - ${python2Packages.python.interpreter} setup.py install --prefix=$out + export SIP_BIN=${pypkgs.sip}/bin/sip + ${pypkgs.python.interpreter} setup.py install --prefix=$out PYFILES="$out/bin/* $out/lib/calibre/calibre/web/feeds/*.py $out/lib/calibre/calibre/ebooks/metadata/*.py @@ -111,7 +119,7 @@ mkDerivation rec { genericName = "E-book library management"; icon = "@out@/share/calibre/images/library.png"; comment = "Manage, convert, edit, and read e-books"; - mimeType = stdenv.lib.concatStringsSep ";" [ + mimeType = lib.concatStringsSep ";" [ "application/x-mobipocket-subscription" "application/vnd.openxmlformats-officedocument.wordprocessingml.document" "text/html" @@ -174,9 +182,9 @@ mkDerivation rec { extraEntries = "NoDisplay=true"; }; - meta = with stdenv.lib; { + meta = with lib; { description = "Comprehensive e-book software"; - homepage = https://calibre-ebook.com; + homepage = "https://calibre-ebook.com"; license = with licenses; if unrarSupport then unfreeRedistributable else gpl3; maintainers = with maintainers; [ domenkozar pSub AndersonTorres ]; platforms = platforms.linux;