summaryrefslogtreecommitdiffstats
path: root/pkgs/applications/misc/calibre/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/misc/calibre/default.nix')
-rw-r--r--pkgs/applications/misc/calibre/default.nix36
1 files changed, 24 insertions, 12 deletions
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index d838cd4e859f..47d2ee52f813 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -1,4 +1,5 @@
{ lib
+, stdenv
, mkDerivation
, fetchurl
, poppler_utils
@@ -16,7 +17,7 @@
, hyphen
, unrarSupport ? false
, chmlib
-, pythonPackages
+, python3Packages
, libusb1
, libmtp
, xdg_utils
@@ -26,11 +27,11 @@
mkDerivation rec {
pname = "calibre";
- version = "4.23.0";
+ version = "5.10.1";
src = fetchurl {
url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz";
- sha256 = "sha256-Ft5RRzzw4zb5RqVyUaHk9Pu6H4V/F9j8FKoTLn61lRg=";
+ sha256 = "18pnqxdyvgmw12yarxhvsgs4jk6c5hp05gf8khybcd78330954v9";
};
patches = [
@@ -42,9 +43,20 @@ mkDerivation rec {
# the unrar patch is not from debian
] ++ lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch;
+ escaped_pyqt5_dir = builtins.replaceStrings ["/"] ["\\/"] (toString python3Packages.pyqt5);
+ platform_tag =
+ if stdenv.hostPlatform.isDarwin then
+ "WS_MACX"
+ else if stdenv.hostPlatform.isWindows then
+ "WS_WIN"
+ else
+ "WS_X11";
+
prePatch = ''
- sed -i "/pyqt_sip_dir/ s:=.*:= '${pythonPackages.pyqt5}/share/sip/PyQt5':" \
- setup/build_environment.py
+ sed -i "s/\[tool.sip.project\]/[tool.sip.project]\nsip-include-dirs = [\"${escaped_pyqt5_dir}\/share\/sip\/PyQt5\"]/g" \
+ setup/build.py
+ sed -i "s/\[tool.sip.bindings.pictureflow\]/[tool.sip.bindings.pictureflow]\ntags = [\"${platform_tag}\"]/g" \
+ setup/build.py
# Remove unneeded files and libs
rm -rf resources/calibre-portable.* \
@@ -57,8 +69,6 @@ mkDerivation rec {
nativeBuildInputs = [ pkg-config qmake removeReferencesTo ];
- CALIBRE_PY3_PORT = builtins.toString pythonPackages.isPy3k;
-
buildInputs = [
chmlib
fontconfig
@@ -76,7 +86,7 @@ mkDerivation rec {
sqlite
xdg_utils
] ++ (
- with pythonPackages; [
+ with python3Packages; [
apsw
beautifulsoup4
css-parser
@@ -92,11 +102,13 @@ mkDerivation rec {
msgpack
netifaces
pillow
+ pyqt-builder
pyqt5
pyqtwebengine
python
regex
- sip
+ sip_5
+ zeroconf
# the following are distributed with calibre, but we use upstream instead
odfpy
] ++ lib.optional (unrarSupport) unrardll
@@ -114,11 +126,11 @@ 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=${pythonPackages.sip}/bin/sip
+ export SIP_BIN=${python3Packages.sip}/bin/sip
export XDG_DATA_HOME=$out/share
export XDG_UTILS_INSTALL_MODE="user"
- ${pythonPackages.python.interpreter} setup.py install --root=$out \
+ ${python3Packages.python.interpreter} setup.py install --root=$out \
--prefix=$out \
--libdir=$out/lib \
--staging-root=$out \
@@ -147,7 +159,7 @@ mkDerivation rec {
# /nix/store/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-podofo-0.9.6-dev/include/podofo/base/PdfVariant.h
preFixup = ''
remove-references-to -t ${podofo.dev} \
- $out/lib/calibre/calibre/plugins${lib.optionalString pythonPackages.isPy3k "/3"}/podofo.so
+ $out/lib/calibre/calibre/plugins/podofo.so
for program in $out/bin/*; do
wrapProgram $program \