From 1cdd25c9cdd78dcb9d0ae97c6fbc919045a3d191 Mon Sep 17 00:00:00 2001 From: qubitnano <146656568+qubitnano@users.noreply.github.com> Date: Sat, 19 Oct 2024 17:59:55 -0400 Subject: [PATCH 1/3] calibre: 7.16.0 -> 7.20.0 --- pkgs/applications/misc/calibre/default.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index b5e8c469b408..9285a2bacd51 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -3,6 +3,7 @@ , fetchurl , cmake , fetchpatch +, ffmpeg , fontconfig , hunspell , hyphen @@ -14,6 +15,7 @@ , libstemmer , libuchardet , libusb1 +, piper-tts , pkg-config , podofo , poppler_utils @@ -33,11 +35,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "calibre"; - version = "7.16.0"; + version = "7.20.0"; src = fetchurl { url = "https://download.calibre-ebook.com/${finalAttrs.version}/calibre-${finalAttrs.version}.tar.xz"; - hash = "sha256-EWQfaoTwO9BdZQgJQrxfj6b8tmtukvlW5hFo/USjNhU="; + hash = "sha256-BhJEJsQKk/kJxycm/1mbtlrSaeFQPvWGGB9DUMidgII="; }; patches = [ @@ -50,7 +52,7 @@ stdenv.mkDerivation (finalAttrs: { (fetchpatch { name = "0007-Hardening-Qt-code.patch"; url = "https://raw.githubusercontent.com/debian-calibre/calibre/debian/${finalAttrs.version}+ds-1/debian/patches/hardening/0007-Hardening-Qt-code.patch"; - hash = "sha256-a6yyG0RUsQJBBNxeJsTtQSBV2lxdzz1hnTob88O+SKg="; + hash = "sha256-8tOxFCmZal+JxOz6LeuUr+TgX7IaxC9Ow73bMgFJPt8="; }) ] ++ lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch; @@ -75,6 +77,7 @@ stdenv.mkDerivation (finalAttrs: { ]; buildInputs = [ + ffmpeg fontconfig hunspell hyphen @@ -86,6 +89,7 @@ stdenv.mkDerivation (finalAttrs: { libstemmer libuchardet libusb1 + piper-tts podofo poppler_utils qtbase @@ -148,6 +152,7 @@ stdenv.mkDerivation (finalAttrs: { export PODOFO_LIB_DIR=${podofo.lib}/lib export XDG_DATA_HOME=$out/share export XDG_UTILS_INSTALL_MODE="user" + export PIPER_TTS_DIR=${piper-tts}/bin python setup.py install --root=$out \ --prefix=$out \ From eaaca55ee2cf64f83f7c6a5a35e22990e804b177 Mon Sep 17 00:00:00 2001 From: qubitnano <146656568+qubitnano@users.noreply.github.com> Date: Sat, 19 Oct 2024 20:19:24 -0400 Subject: [PATCH 2/3] calibre: migrate to by-name --- .../ca}/calibre/dont_build_unrar_plugin.patch | 0 .../default.nix => by-name/ca/calibre/package.nix} | 13 +++++-------- pkgs/top-level/all-packages.nix | 2 +- 3 files changed, 6 insertions(+), 9 deletions(-) rename pkgs/{applications/misc => by-name/ca}/calibre/dont_build_unrar_plugin.patch (100%) rename pkgs/{applications/misc/calibre/default.nix => by-name/ca/calibre/package.nix} (98%) diff --git a/pkgs/applications/misc/calibre/dont_build_unrar_plugin.patch b/pkgs/by-name/ca/calibre/dont_build_unrar_plugin.patch similarity index 100% rename from pkgs/applications/misc/calibre/dont_build_unrar_plugin.patch rename to pkgs/by-name/ca/calibre/dont_build_unrar_plugin.patch diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/by-name/ca/calibre/package.nix similarity index 98% rename from pkgs/applications/misc/calibre/default.nix rename to pkgs/by-name/ca/calibre/package.nix index 9285a2bacd51..41479111b2ae 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/by-name/ca/calibre/package.nix @@ -20,12 +20,9 @@ , podofo , poppler_utils , python3Packages -, qmake -, qtbase -, qtwayland +, qt6 , speechd-minimal , sqlite -, wrapQtAppsHook , xdg-utils , wrapGAppsHook3 , popplerSupport ? true @@ -71,9 +68,9 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake pkg-config - qmake + qt6.qmake + qt6.wrapQtAppsHook wrapGAppsHook3 - wrapQtAppsHook ]; buildInputs = [ @@ -92,8 +89,8 @@ stdenv.mkDerivation (finalAttrs: { piper-tts podofo poppler_utils - qtbase - qtwayland + qt6.qtbase + qt6.qtwayland sqlite (python3Packages.python.withPackages (ps: with ps; [ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a80d2fc17fa1..72d2ea9f345a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -28365,7 +28365,7 @@ with pkgs; calculix = callPackage ../applications/science/math/calculix { }; - calibre = qt6Packages.callPackage ../applications/misc/calibre { + calibre = callPackage ../by-name/ca/calibre/package.nix { podofo = podofo010; }; From 74af7e5c2279f0fc368f6677dcf6f87668ab1dcf Mon Sep 17 00:00:00 2001 From: qubitnano <146656568+qubitnano@users.noreply.github.com> Date: Sat, 19 Oct 2024 20:20:42 -0400 Subject: [PATCH 3/3] calibre: format with nixfmt-rfc-style --- pkgs/by-name/ca/calibre/package.nix | 92 +++++++++++++++-------------- 1 file changed, 48 insertions(+), 44 deletions(-) diff --git a/pkgs/by-name/ca/calibre/package.nix b/pkgs/by-name/ca/calibre/package.nix index 41479111b2ae..d0b604fd2f1c 100644 --- a/pkgs/by-name/ca/calibre/package.nix +++ b/pkgs/by-name/ca/calibre/package.nix @@ -1,33 +1,34 @@ -{ lib -, stdenv -, fetchurl -, cmake -, fetchpatch -, ffmpeg -, fontconfig -, hunspell -, hyphen -, icu -, imagemagick -, libjpeg -, libmtp -, libpng -, libstemmer -, libuchardet -, libusb1 -, piper-tts -, pkg-config -, podofo -, poppler_utils -, python3Packages -, qt6 -, speechd-minimal -, sqlite -, xdg-utils -, wrapGAppsHook3 -, popplerSupport ? true -, speechSupport ? true -, unrarSupport ? false +{ + lib, + stdenv, + fetchurl, + cmake, + fetchpatch, + ffmpeg, + fontconfig, + hunspell, + hyphen, + icu, + imagemagick, + libjpeg, + libmtp, + libpng, + libstemmer, + libuchardet, + libusb1, + piper-tts, + pkg-config, + podofo, + poppler_utils, + python3Packages, + qt6, + speechd-minimal, + sqlite, + xdg-utils, + wrapGAppsHook3, + popplerSupport ? true, + speechSupport ? true, + unrarSupport ? false, }: stdenv.mkDerivation (finalAttrs: { @@ -51,8 +52,7 @@ stdenv.mkDerivation (finalAttrs: { url = "https://raw.githubusercontent.com/debian-calibre/calibre/debian/${finalAttrs.version}+ds-1/debian/patches/hardening/0007-Hardening-Qt-code.patch"; hash = "sha256-8tOxFCmZal+JxOz6LeuUr+TgX7IaxC9Ow73bMgFJPt8="; }) - ] - ++ lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch; + ] ++ lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch; prePatch = '' sed -i "s@\[tool.sip.project\]@[tool.sip.project]\nsip-include-dirs = [\"${python3Packages.pyqt6}/${python3Packages.python.sitePackages}/PyQt6/bindings\"]@g" \ @@ -92,8 +92,10 @@ stdenv.mkDerivation (finalAttrs: { qt6.qtbase qt6.qtwayland sqlite - (python3Packages.python.withPackages - (ps: with ps; [ + (python3Packages.python.withPackages ( + ps: + with ps; + [ (apsw.overrideAttrs (oldAttrs: { setupPyBuildFlags = [ "--enable=load_extension" ]; })) @@ -125,13 +127,17 @@ stdenv.mkDerivation (finalAttrs: { xxhash # the following are distributed with calibre, but we use upstream instead odfpy - ] ++ lib.optionals (lib.lists.any (p: p == stdenv.hostPlatform.system) pyqt6-webengine.meta.platforms) [ - # much of calibre's functionality is usable without a web - # browser, so we enable building on platforms which qtwebengine - # does not support by simply omitting qtwebengine. - pyqt6-webengine - ] ++ lib.optional (unrarSupport) unrardll) - ) + ] + ++ + lib.optionals (lib.lists.any (p: p == stdenv.hostPlatform.system) pyqt6-webengine.meta.platforms) + [ + # much of calibre's functionality is usable without a web + # browser, so we enable building on platforms which qtwebengine + # does not support by simply omitting qtwebengine. + pyqt6-webengine + ] + ++ lib.optional (unrarSupport) unrardll + )) xdg-utils ] ++ lib.optional (speechSupport) speechd-minimal; @@ -221,9 +227,7 @@ stdenv.mkDerivation (finalAttrs: { free and open source and great for both casual users and computer experts. ''; changelog = "https://github.com/kovidgoyal/calibre/releases/tag/v${finalAttrs.version}"; - license = if unrarSupport - then lib.licenses.unfreeRedistributable - else lib.licenses.gpl3Plus; + license = if unrarSupport then lib.licenses.unfreeRedistributable else lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ pSub ]; platforms = lib.platforms.unix; broken = stdenv.hostPlatform.isDarwin;