diff --git a/pkgs/by-name/gn/gns3-gui/package.nix b/pkgs/by-name/gn/gns3-gui/package.nix index e147afc1ee32..2d1af2ba0725 100644 --- a/pkgs/by-name/gn/gns3-gui/package.nix +++ b/pkgs/by-name/gn/gns3-gui/package.nix @@ -1,48 +1,51 @@ { fetchFromGitHub, + fetchpatch, gns3-gui, lib, python3Packages, - qt5, + qt6, testers, writableTmpDirAsHomeHook, }: -let - pythonPackages = python3Packages.overrideScope ( - final: prev: { - pyqt5 = prev.pyqt5.override { withWebSockets = true; }; - } - ); -in -pythonPackages.buildPythonApplication rec { +python3Packages.buildPythonApplication rec { pname = "gns3-gui"; - version = "2.2.55"; + version = "2.2.56.1"; pyproject = true; src = fetchFromGitHub { owner = "GNS3"; repo = "gns3-gui"; tag = "v${version}"; - hash = "sha256-6jblQakNpoSQXfy5pU68Aedg661VcwpqQilvqOV15pQ"; + hash = "sha256-HBTBwn7jAW/SXFTfPbO08bDG5NfS3tuic/Z0ib1/Uo8="; }; + patches = [ + # Fix tests after PyQt6 migration + (fetchpatch { + url = "https://github.com/GNS3/gns3-gui/commit/e6e2a1cafbc3ce4be9cca3428e60400f25806cde.patch"; + hash = "sha256-T15OCqm+Te9ZOCg/kFf/fd2DY75LfaLHskAAgGYMloI="; + }) + ]; + pythonRelaxDeps = [ "jsonschema" + "psutil" "sentry-sdk" ]; - nativeBuildInputs = [ qt5.wrapQtAppsHook ]; + nativeBuildInputs = [ qt6.wrapQtAppsHook ]; - buildInputs = [ qt5.qtwayland ]; + buildInputs = [ qt6.qtwayland ]; - build-system = with pythonPackages; [ setuptools ]; + build-system = with python3Packages; [ setuptools ]; - dependencies = with pythonPackages; [ + dependencies = with python3Packages; [ distro jsonschema psutil - pyqt5 + pyqt6 sentry-sdk setuptools sip @@ -55,14 +58,13 @@ pythonPackages.buildPythonApplication rec { makeWrapperArgs+=("''${qtWrapperArgs[@]}") ''; - nativeCheckInputs = with pythonPackages; [ + nativeCheckInputs = with python3Packages; [ pytestCheckHook writableTmpDirAsHomeHook ]; preCheck = '' - export QT_PLUGIN_PATH="${lib.getBin qt5.qtbase}/${qt5.qtbase.qtPluginPrefix}" - export QT_QPA_PLATFORM_PLUGIN_PATH="${lib.getBin qt5.qtbase}/lib/qt-${qt5.qtbase.version}/plugins"; + export QT_PLUGIN_PATH="${lib.getBin qt6.qtbase}/${qt6.qtbase.qtPluginPrefix}" export QT_QPA_PLATFORM=offscreen '';