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.2.0";
17
18 buildInputs = [ gdb ];
19 propagatedBuildInputs = [
20 eventlet
21 flask-compress
22 flask-socketio
23 pygdbmi
24 pygments
25 ];
26
27 src = fetchPypi {
28 inherit pname version;
29 hash = "sha256-vmMlRmjFqhs3Vf+IU9IDtJzt4dZ0yIOmXIVOx5chZPA=";
30 };
31
32 postPatch = ''
33 echo ${version} > gdbgui/VERSION.txt
34 # relax version requirements
35 sed -i 's/==.*$//' requirements.txt
36 '';
37
38 postInstall = ''
39 wrapProgram $out/bin/gdbgui \
40 --prefix PATH : ${lib.makeBinPath [ gdb ]}
41 '';
42
43 # tests do not work without stdout/stdin
44 doCheck = false;
45
46 meta = with lib; {
47 description = "Browser-based frontend for GDB";
48 mainProgram = "gdbgui";
49 homepage = "https://www.gdbgui.com/";
50 license = licenses.gpl3;
51 platforms = platforms.unix;
52 maintainers = with maintainers; [
53 yrashk
54 dump_stack
55 ];
56 };
57}