about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/networking/gns3/server.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/gns3/server.nix')
-rw-r--r--nixpkgs/pkgs/applications/networking/gns3/server.nix28
1 files changed, 15 insertions, 13 deletions
diff --git a/nixpkgs/pkgs/applications/networking/gns3/server.nix b/nixpkgs/pkgs/applications/networking/gns3/server.nix
index e7c548c67d08..200153b15e03 100644
--- a/nixpkgs/pkgs/applications/networking/gns3/server.nix
+++ b/nixpkgs/pkgs/applications/networking/gns3/server.nix
@@ -1,13 +1,12 @@
-{ stable
-, branch
+{ channel
 , version
-, sha256Hash
-, mkOverride
+, hash
 }:
 
 { lib
 , python3
 , fetchFromGitHub
+, pkgsStatic
 }:
 
 python3.pkgs.buildPythonApplication {
@@ -15,28 +14,30 @@ python3.pkgs.buildPythonApplication {
   inherit version;
 
   src = fetchFromGitHub {
+    inherit hash;
     owner = "GNS3";
     repo = "gns3-server";
     rev = "refs/tags/v${version}";
-    sha256 = sha256Hash;
   };
 
-  pythonRelaxDeps = [
-    "aiofiles"
-    "jsonschema"
-    "psutil"
-    "sentry-sdk"
-  ];
+  # GNS3 2.3.26 requires a static BusyBox for the Docker integration
+  prePatch = ''
+    cp ${pkgsStatic.busybox}/bin/busybox gns3server/compute/docker/resources/bin/busybox
+  '';
 
   nativeBuildInputs = with python3.pkgs; [
     pythonRelaxDepsHook
   ];
 
+  pythonRelaxDeps = [
+    "jsonschema"
+  ];
+
   propagatedBuildInputs = with python3.pkgs; [
     aiofiles
     aiohttp
     aiohttp-cors
-    async_generator
+    async-generator
     distro
     importlib-resources
     jinja2
@@ -47,6 +48,7 @@ python3.pkgs.buildPythonApplication {
     py-cpuinfo
     sentry-sdk
     setuptools
+    truststore
     yarl
     zipstream
   ];
@@ -59,7 +61,7 @@ python3.pkgs.buildPythonApplication {
   '';
 
   meta = with lib; {
-    description = "Graphical Network Simulator 3 server (${branch} release)";
+    description = "Graphical Network Simulator 3 server (${channel} release)";
     longDescription = ''
       The GNS3 server manages emulators such as Dynamips, VirtualBox or
       Qemu/KVM. Clients like the GNS3 GUI control the server using a HTTP REST