diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index b3754fed1796..8f672deb693b 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -104,7 +104,6 @@ mkDerivation rec {
       pillow
       pyqt-builder
       pyqt5
-      pyqtwebengine
       python
       regex
       sip
@@ -114,6 +113,11 @@ mkDerivation rec {
       pycryptodome
       # the following are distributed with calibre, but we use upstream instead
       odfpy
+    ] ++ lib.optionals (lib.lists.any (p: p == stdenv.hostPlatform.system) pyqtwebengine.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.
+      pyqtwebengine
     ] ++ lib.optional (unrarSupport) unrardll
   );