supercollider: re-enable QtWebEngine

Qt WebEngine is a major component of the SuperCollider language,
especially because it powers the user documentation system, which
contains all of the helpfiles for the user's local system that may not
be in the online SuperCollider documentation browser (see
<https://docs.supercollider.online/Browse.html>). WebEngine has
potential security vulnerabilities (see below)---which was why WebEngine
was removed in PR #480196---however, the documentation browser in SC is
not used for anything other than browsing local documentation, which
minimizes the potential harms from WebEngine.

Potential security problems with Qt6 WebEngine can be found at the
following:
  * https://doc.qt.io/qt-6//qtwebengine-security.html
  * (for FreeBSD) https://www.vuxml.org/freebsd/pkg-qt6-webengine.html

Security-conscious users may wish to not use QtWebEngine, and so there
is an included option to disable it with the `useQtWebEngine` option.
This commit is contained in:
Ian Mitchell
2026-06-13 20:00:27 -04:00
parent 3652bf6182
commit 4f5042c837
@@ -16,6 +16,7 @@
libxt,
readline,
useSCEL ? false,
useQtWebEngine ? true,
emacs,
gitUpdater,
supercollider-with-plugins,
@@ -65,6 +66,7 @@ stdenv.mkDerivation rec {
qt6.qtbase
qt6.qtwebsockets
qt6.qtwayland
qt6.qtwebengine
readline
]
++ lib.optional (!stdenv.hostPlatform.isDarwin) alsa-lib;
@@ -74,7 +76,7 @@ stdenv.mkDerivation rec {
cmakeFlags = [
"-DSC_WII=OFF"
"-DSC_EL=${if useSCEL then "ON" else "OFF"}"
(lib.cmakeBool "SC_USE_QTWEBENGINE" false)
(lib.cmakeBool "SC_USE_QTWEBENGINE" useQtWebEngine)
];
passthru = {