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