summary refs log tree commit diff
path: root/pkgs/development/tools/misc/gdbgui
diff options
context:
space:
mode:
authorMikhail Klementev <blame@dumpstack.io>2021-01-25 15:36:15 +0000
committerMikhail Klementev <blame@dumpstack.io>2021-01-25 15:36:33 +0000
commit38b140b3e1a7ba55268e4af9c57ae938f0a28289 (patch)
treef8544c1e18a7ba7bacbce8407457d4d51aa653b0 /pkgs/development/tools/misc/gdbgui
parentd745d128b6d02673430481b5239f4ace696415cf (diff)
gdbgui: 0.13.2.1 -> 0.14.0.2
Diffstat (limited to 'pkgs/development/tools/misc/gdbgui')
-rw-r--r--pkgs/development/tools/misc/gdbgui/default.nix47
1 files changed, 43 insertions, 4 deletions
diff --git a/pkgs/development/tools/misc/gdbgui/default.nix b/pkgs/development/tools/misc/gdbgui/default.nix
index c01bb61f4f696..4a694ed87f4fd 100644
--- a/pkgs/development/tools/misc/gdbgui/default.nix
+++ b/pkgs/development/tools/misc/gdbgui/default.nix
@@ -3,6 +3,10 @@
 , fetchPypi
 , gdb
 , flask
+, six
+, bidict
+, python-engineio
+, python-socketio
 , flask-socketio
 , flask-compress
 , pygdbmi
@@ -12,14 +16,48 @@
 , eventlet
 , }:
 
+let
+  # gdbgui only works with the latest previous major version of flask-socketio,
+  # which depends itself on the latest previous major versions of dependencies.
+  python-engineio' = python-engineio.overridePythonAttrs (old: rec {
+    version = "3.14.2";
+    src = fetchPypi {
+      inherit (old) pname;
+      inherit version;
+      sha256 = "119halljynqsgswlhlh750qv56js1p7j52sc0nbwxh8450zmbd7a";
+    };
+    propagatedBuildInputs = [ six ];
+    doCheck = false;
+  });
+  python-socketio' = python-socketio.overridePythonAttrs (old: rec {
+    version = "4.6.1";
+    src = fetchPypi {
+      inherit (old) pname;
+      inherit version;
+      sha256 = "047syhrrxh327p0fnab0d1zy25zijnj3gs1qg3kjpsy1jaj5l7yd";
+    };
+    propagatedBuildInputs = [ bidict python-engineio' ];
+    doCheck = false;
+  });
+  flask-socketio' = flask-socketio.overridePythonAttrs (old: rec {
+    version = "4.3.2";
+    src = fetchPypi {
+      inherit (old) pname;
+      inherit version;
+      sha256 = "0s2xs9kv9cbwy8bcxszhdwlcb9ldv0fj33lwilf5vypj0wsin01p";
+    };
+    propagatedBuildInputs = [ flask python-socketio' ];
+    doCheck = false;
+  });
+in
 buildPythonApplication rec {
   pname = "gdbgui";
-  version = "0.13.2.1";
+  version = "0.14.0.2";
 
   buildInputs = [ gdb ];
   propagatedBuildInputs = [
     flask
-    flask-socketio
+    flask-socketio'
     flask-compress
     pygdbmi
     pygments
@@ -30,13 +68,14 @@ buildPythonApplication rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0zn5wi47m8pn4amx574ryyhqvhynipxzyxbx0878ap6g36vh6l1h";
+    sha256 = "1v6wwsncgnhlg5c7gsmzcp52hfblfnz5kf5pk4d0zybflsxak02d";
   };
 
   postPatch = ''
     echo ${version} > gdbgui/VERSION.txt
     # remove upper version bound
     sed -ie 's!, <.*"!"!' setup.py
+    sed -i 's/greenlet==/greenlet>=/' setup.py
   '';
 
   postInstall = ''
@@ -52,6 +91,6 @@ buildPythonApplication rec {
     homepage = "https://www.gdbgui.com/";
     license = licenses.gpl3;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ yrashk ];
+    maintainers = with maintainers; [ yrashk dump_stack ];
   };
 }