diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index b3754fed17963..8f672deb693b5 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 ); diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix index ecce98c9b46af..2e96266fd7372 100644 --- a/pkgs/applications/networking/browsers/qutebrowser/default.nix +++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix @@ -132,5 +132,6 @@ in mkDerivationWith python3Packages.buildPythonApplication rec { description = "Keyboard-focused browser with a minimal GUI"; license = licenses.gpl3Plus; maintainers = with maintainers; [ jagajaga rnhmjoj ebzzry dotlambda ]; + inherit (backendPackage.meta) platforms; }; } diff --git a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix index 3c5256908d882..ce087d49b5fae 100644 --- a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix +++ b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix @@ -240,7 +240,22 @@ qtModule { meta = with lib; { description = "A web engine based on the Chromium web browser"; maintainers = with maintainers; [ matthewbauer ]; - platforms = platforms.unix; + + # qtwebengine-5.15.8: "QtWebEngine can only be built for x86, + # x86-64, ARM, Aarch64, and MIPSel architectures." + platforms = + lib.trivial.pipe lib.systems.doubles.all [ + (map (double: lib.systems.elaborate { system = double; })) + (lib.lists.filter (parsedPlatform: with parsedPlatform; + isUnix && + (isx86_32 || + isx86_64 || + isAarch32 || + isAarch64 || + (isMips && isLittleEndian)))) + (map (plat: plat.system)) + ]; + # This build takes a long time; particularly on slow architectures timeout = 24 * 3600; # we are still stuck with MacOS SDK 10.12 on x86_64-darwin diff --git a/pkgs/development/python-modules/pyqtwebengine/default.nix b/pkgs/development/python-modules/pyqtwebengine/default.nix index f59694876cc49..12021e52271b3 100644 --- a/pkgs/development/python-modules/pyqtwebengine/default.nix +++ b/pkgs/development/python-modules/pyqtwebengine/default.nix @@ -66,6 +66,6 @@ in buildPythonPackage rec { description = "Python bindings for Qt5"; homepage = "http://www.riverbankcomputing.co.uk"; license = licenses.gpl3; - platforms = platforms.mesaPlatforms; + platforms = lib.lists.intersectLists qtwebengine.meta.platforms platforms.mesaPlatforms; }; }