gns3-gui,gns3-server: 2.2.55 -> 2.2.56.1 (#487038)

This commit is contained in:
Anthony
2026-02-05 20:37:30 +00:00
committed by GitHub
2 changed files with 49 additions and 29 deletions
+28 -22
View File
@@ -1,48 +1,52 @@
{
fetchFromGitHub,
fetchpatch,
gns3-gui,
gns3-server,
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,20 +59,22 @@ 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
'';
passthru.tests.version = testers.testVersion {
package = gns3-gui;
command = "${lib.getExe gns3-gui} --version";
passthru = {
tests.version = testers.testVersion {
package = gns3-gui;
command = "${lib.getExe gns3-gui} --version";
};
inherit (gns3-server.passthru) updateScript;
};
meta = {
+21 -7
View File
@@ -9,18 +9,19 @@
testers,
util-linux,
writableTmpDirAsHomeHook,
writeScript,
}:
python3Packages.buildPythonApplication rec {
pname = "gns3-server";
version = "2.2.56";
version = "2.2.56.1";
pyproject = true;
src = fetchFromGitHub {
owner = "GNS3";
repo = "gns3-server";
tag = "v${version}";
hash = "sha256-akA6P/ONPioce4pJbg4wAzSvb7aSYGM8NfCs7q9svic=";
hash = "sha256-1eYUJtrOfe1DXzxJbT1HQ6oiiiS+xHRG/wg9gOs0uTU=";
};
# GNS3 2.3.26 requires a static BusyBox for the Docker integration
@@ -29,10 +30,12 @@ python3Packages.buildPythonApplication rec {
'';
pythonRelaxDeps = [
"aiofiles"
"aiohttp"
"aiohttp-cors"
"jsonschema"
"platformdirs"
"psutil"
"sentry-sdk"
];
@@ -82,12 +85,23 @@ python3Packages.buildPythonApplication rec {
"tests/controller/test_project.py"
];
passthru.tests = {
inherit (nixosTests) gns3-server;
version = testers.testVersion {
package = gns3-server;
command = "${lib.getExe gns3-server} --version";
passthru = {
tests = {
inherit (nixosTests) gns3-server;
version = testers.testVersion {
package = gns3-server;
command = "${lib.getExe gns3-server} --version";
};
};
updateScript = writeScript "update-gns3" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p nix-update
set -eu -o pipefail
nix-update gns3-gui --version-regex '^v(2\.[\d\.]+)$' --commit
nix-update gns3-server --version-regex '^v(2\.[\d\.]+)$' --commit
'';
};
meta = {