1{
2 lib,
3 buildPythonApplication,
4 fetchPypi,
5 gdb,
6 eventlet,
7 flask-compress,
8 flask-socketio,
9 pygdbmi,
10 pygments,
11}:
12
13buildPythonApplication rec {
14 pname = "gdbgui";
15
16 version = "0.15.3.0";
17 format = "setuptools";
18
19 buildInputs = [ gdb ];
20 propagatedBuildInputs = [
21 eventlet
22 flask-compress
23 flask-socketio
24 pygdbmi
25 pygments
26 ];
27
28 src = fetchPypi {
29 inherit pname version;
30 hash = "sha256-/HyFE0JnoN03CDyCQCo/Y9RyH4YOMoeB7khReIb8t7Y=";
31 };
32
33 postPatch = ''
34 echo ${version} > gdbgui/VERSION.txt
35 # relax version requirements
36 sed -i 's/==.*$//' requirements.txt
37 '';
38
39 postInstall = ''
40 wrapProgram $out/bin/gdbgui \
41 --prefix PATH : ${lib.makeBinPath [ gdb ]}
42 '';
43
44 # tests do not work without stdout/stdin
45 doCheck = false;
46
47 meta = with lib; {
48 description = "Browser-based frontend for GDB";
49 mainProgram = "gdbgui";
50 homepage = "https://www.gdbgui.com/";
51 license = licenses.gpl3;
52 platforms = platforms.unix;
53 maintainers = with maintainers; [
54 yrashk
55 dump_stack
56 ];
57 };
58}