Merge pull request #31959 from yrashk/gdbgui

gdbgui: init at 0.9.0.1

authored by Jörg Thalheim and committed by GitHub a30fa6d9 4b437f38

+447
+1
lib/maintainers.nix
··· 706 706 ylwghst = "Burim Augustin Berisa <ylwghst@onionmail.info>"; 707 707 yochai = "Yochai <yochai@titat.info>"; 708 708 yorickvp = "Yorick van Pelt <yorickvanpelt@gmail.com>"; 709 + yrashk = "Yurii Rashkovskii <yrashk@gmail.com>"; 709 710 yuriaisaka = "Yuri Aisaka <yuri.aisaka+nix@gmail.com>"; 710 711 yurrriq = "Eric Bailey <eric@ericb.me>"; 711 712 z77z = "Marco Maggesi <maggesi@math.unifi.it>";
+40
pkgs/development/tools/misc/gdbgui/default.nix
··· 1 + { stdenv, python27Packages, gdb, pkgs }: 2 + let 3 + deps = import ./requirements.nix { inherit pkgs; }; 4 + in 5 + python27Packages.buildPythonApplication rec { 6 + name = "${pname}-${version}"; 7 + pname = "gdbgui"; 8 + version = "0.9.0.1"; 9 + 10 + buildInputs = [ gdb ]; 11 + propagatedBuildInputs = builtins.attrValues deps.packages; 12 + 13 + src = python27Packages.fetchPypi { 14 + inherit pname version; 15 + sha256 = "1gjc7dycrc4zafhrd9yib7qnh4agh7cpa6rlw4p5405rlmwmsbj3"; 16 + }; 17 + 18 + postInstall = '' 19 + wrapProgram $out/bin/gdbgui \ 20 + --prefix PATH : ${stdenv.lib.makeBinPath [ gdb ]} 21 + ''; 22 + 23 + # make /etc/protocols accessible to fix socket.getprotobyname('tcp') in sandbox 24 + preCheck = stdenv.lib.optionalString stdenv.isLinux '' 25 + export NIX_REDIRECTS=/etc/protocols=${pkgs.iana-etc}/etc/protocols \ 26 + LD_PRELOAD=${pkgs.libredirect}/lib/libredirect.so 27 + ''; 28 + 29 + postCheck = stdenv.lib.optionalString stdenv.isLinux '' 30 + unset NIX_REDIRECTS LD_PRELOAD 31 + ''; 32 + 33 + meta = with stdenv.lib; { 34 + description = "A browser-based frontend for GDB"; 35 + license = licenses.gpl3; 36 + platforms = platforms.unix; 37 + maintainers = with maintainers; [ yrashk ]; 38 + }; 39 + 40 + }
+404
pkgs/development/tools/misc/gdbgui/requirements.nix
··· 1 + # generated using pypi2nix tool (version: 1.8.1) 2 + # See more at: https://github.com/garbas/pypi2nix 3 + # 4 + # COMMAND: 5 + # pypi2nix -V 2.7 -r requirements.txt 6 + # 7 + 8 + { pkgs ? import <nixpkgs> {} 9 + }: 10 + 11 + let 12 + 13 + inherit (pkgs) makeWrapper; 14 + inherit (pkgs.stdenv.lib) fix' extends inNixShell; 15 + 16 + pythonPackages = 17 + import "${toString pkgs.path}/pkgs/top-level/python-packages.nix" { 18 + inherit pkgs; 19 + inherit (pkgs) stdenv; 20 + python = pkgs.python27Full; 21 + # patching pip so it does not try to remove files when running nix-shell 22 + overrides = 23 + self: super: { 24 + bootstrapped-pip = super.bootstrapped-pip.overrideDerivation (old: { 25 + patchPhase = old.patchPhase + '' 26 + sed -i -e "s|paths_to_remove.remove(auto_confirm)|#paths_to_remove.remove(auto_confirm)|" -e "s|self.uninstalled = paths_to_remove|#self.uninstalled = paths_to_remove|" $out/${pkgs.python35.sitePackages}/pip/req/req_install.py 27 + ''; 28 + }); 29 + }; 30 + }; 31 + 32 + commonBuildInputs = []; 33 + commonDoCheck = false; 34 + 35 + withPackages = pkgs': 36 + let 37 + pkgs = builtins.removeAttrs pkgs' ["__unfix__"]; 38 + interpreter = pythonPackages.buildPythonPackage { 39 + name = "python27Full-interpreter"; 40 + buildInputs = [ makeWrapper ] ++ (builtins.attrValues pkgs); 41 + buildCommand = '' 42 + mkdir -p $out/bin 43 + ln -s ${pythonPackages.python.interpreter} $out/bin/${pythonPackages.python.executable} 44 + for dep in ${builtins.concatStringsSep " " (builtins.attrValues pkgs)}; do 45 + if [ -d "$dep/bin" ]; then 46 + for prog in "$dep/bin/"*; do 47 + if [ -f $prog ]; then 48 + ln -s $prog $out/bin/`basename $prog` 49 + fi 50 + done 51 + fi 52 + done 53 + for prog in "$out/bin/"*; do 54 + wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH" 55 + done 56 + pushd $out/bin 57 + ln -s ${pythonPackages.python.executable} python 58 + ln -s ${pythonPackages.python.executable} python2 59 + popd 60 + ''; 61 + passthru.interpreter = pythonPackages.python; 62 + }; 63 + in { 64 + __old = pythonPackages; 65 + inherit interpreter; 66 + mkDerivation = pythonPackages.buildPythonPackage; 67 + packages = pkgs; 68 + overrideDerivation = drv: f: 69 + pythonPackages.buildPythonPackage (drv.drvAttrs // f drv.drvAttrs // { meta = drv.meta; }); 70 + withPackages = pkgs'': 71 + withPackages (pkgs // pkgs''); 72 + }; 73 + 74 + python = withPackages {}; 75 + 76 + generated = self: { 77 + 78 + "Flask" = python.mkDerivation { 79 + name = "Flask-0.12.2"; 80 + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/eb/12/1c7bd06fcbd08ba544f25bf2c6612e305a70ea51ca0eda8007344ec3f123/Flask-0.12.2.tar.gz"; sha256 = "49f44461237b69ecd901cc7ce66feea0319b9158743dd27a2899962ab214dac1"; }; 81 + doCheck = commonDoCheck; 82 + buildInputs = commonBuildInputs; 83 + propagatedBuildInputs = [ 84 + self."Jinja2" 85 + self."Werkzeug" 86 + self."click" 87 + self."itsdangerous" 88 + ]; 89 + meta = with pkgs.stdenv.lib; { 90 + homepage = "http://github.com/pallets/flask/"; 91 + license = licenses.bsdOriginal; 92 + description = "A microframework based on Werkzeug, Jinja2 and good intentions"; 93 + }; 94 + }; 95 + 96 + 97 + 98 + "Flask-Compress" = python.mkDerivation { 99 + name = "Flask-Compress-1.4.0"; 100 + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/0e/2a/378bd072928f6d92fd8c417d66b00c757dc361c0405a46a0134de6fd323d/Flask-Compress-1.4.0.tar.gz"; sha256 = "468693f4ddd11ac6a41bca4eb5f94b071b763256d54136f77957cfee635badb3"; }; 101 + doCheck = commonDoCheck; 102 + buildInputs = commonBuildInputs; 103 + propagatedBuildInputs = [ 104 + self."Flask" 105 + ]; 106 + meta = with pkgs.stdenv.lib; { 107 + homepage = "https://libwilliam.github.io/flask-compress/"; 108 + license = licenses.mit; 109 + description = "Compress responses in your Flask app with gzip."; 110 + }; 111 + }; 112 + 113 + 114 + 115 + "Flask-SocketIO" = python.mkDerivation { 116 + name = "Flask-SocketIO-2.9.2"; 117 + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/e7/e0/c50a1b47498897b228764667cd006ca7d45374b79a8e5e2fa3e03ba4717c/Flask-SocketIO-2.9.2.tar.gz"; sha256 = "0fb686f9d85f4f34dc6609f62fa96fe15176a6ea7e6179149d319fabc54c543b"; }; 118 + doCheck = commonDoCheck; 119 + buildInputs = commonBuildInputs; 120 + propagatedBuildInputs = [ 121 + self."Flask" 122 + self."python-engineio" 123 + self."python-socketio" 124 + ]; 125 + meta = with pkgs.stdenv.lib; { 126 + homepage = "http://github.com/miguelgrinberg/Flask-SocketIO/"; 127 + license = licenses.mit; 128 + description = "Socket.IO integration for Flask applications"; 129 + }; 130 + }; 131 + 132 + 133 + 134 + "Jinja2" = python.mkDerivation { 135 + name = "Jinja2-2.10"; 136 + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/56/e6/332789f295cf22308386cf5bbd1f4e00ed11484299c5d7383378cf48ba47/Jinja2-2.10.tar.gz"; sha256 = "f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4"; }; 137 + doCheck = commonDoCheck; 138 + buildInputs = commonBuildInputs; 139 + propagatedBuildInputs = [ 140 + self."MarkupSafe" 141 + ]; 142 + meta = with pkgs.stdenv.lib; { 143 + homepage = "http://jinja.pocoo.org/"; 144 + license = licenses.bsdOriginal; 145 + description = "A small but fast and easy to use stand-alone template engine written in pure python."; 146 + }; 147 + }; 148 + 149 + 150 + 151 + "MarkupSafe" = python.mkDerivation { 152 + name = "MarkupSafe-1.0"; 153 + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz"; sha256 = "a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665"; }; 154 + doCheck = commonDoCheck; 155 + buildInputs = commonBuildInputs; 156 + propagatedBuildInputs = [ ]; 157 + meta = with pkgs.stdenv.lib; { 158 + homepage = "http://github.com/pallets/markupsafe"; 159 + license = licenses.bsdOriginal; 160 + description = "Implements a XML/HTML/XHTML Markup safe string for Python"; 161 + }; 162 + }; 163 + 164 + 165 + 166 + "Pygments" = python.mkDerivation { 167 + name = "Pygments-2.2.0"; 168 + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/71/2a/2e4e77803a8bd6408a2903340ac498cb0a2181811af7c9ec92cb70b0308a/Pygments-2.2.0.tar.gz"; sha256 = "dbae1046def0efb574852fab9e90209b23f556367b5a320c0bcb871c77c3e8cc"; }; 169 + doCheck = commonDoCheck; 170 + buildInputs = commonBuildInputs; 171 + propagatedBuildInputs = [ ]; 172 + meta = with pkgs.stdenv.lib; { 173 + homepage = "http://pygments.org/"; 174 + license = licenses.bsdOriginal; 175 + description = "Pygments is a syntax highlighting package written in Python."; 176 + }; 177 + }; 178 + 179 + 180 + 181 + "Werkzeug" = python.mkDerivation { 182 + name = "Werkzeug-0.12.2"; 183 + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/56/41/c095a77eb2dd69bf278dd664a97d3416af04e9ba1a00b8c138f772741d31/Werkzeug-0.12.2.tar.gz"; sha256 = "903a7b87b74635244548b30d30db4c8947fe64c5198f58899ddcd3a13c23bb26"; }; 184 + doCheck = commonDoCheck; 185 + buildInputs = commonBuildInputs; 186 + propagatedBuildInputs = [ ]; 187 + meta = with pkgs.stdenv.lib; { 188 + homepage = "http://werkzeug.pocoo.org/"; 189 + license = licenses.bsdOriginal; 190 + description = "The Swiss Army knife of Python web development"; 191 + }; 192 + }; 193 + 194 + 195 + 196 + "click" = python.mkDerivation { 197 + name = "click-6.7"; 198 + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/95/d9/c3336b6b5711c3ab9d1d3a80f1a3e2afeb9d8c02a7166462f6cc96570897/click-6.7.tar.gz"; sha256 = "f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b"; }; 199 + doCheck = commonDoCheck; 200 + buildInputs = commonBuildInputs; 201 + propagatedBuildInputs = [ ]; 202 + meta = with pkgs.stdenv.lib; { 203 + homepage = "http://github.com/mitsuhiko/click"; 204 + license = licenses.bsdOriginal; 205 + description = "A simple wrapper around optparse for powerful command line utilities."; 206 + }; 207 + }; 208 + 209 + 210 + 211 + "enum-compat" = python.mkDerivation { 212 + name = "enum-compat-0.0.2"; 213 + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/95/6e/26bdcba28b66126f66cf3e4cd03bcd63f7ae330d29ee68b1f6b623550bfa/enum-compat-0.0.2.tar.gz"; sha256 = "939ceff18186a5762ae4db9fa7bfe017edbd03b66526b798dd8245394c8a4192"; }; 214 + doCheck = commonDoCheck; 215 + buildInputs = commonBuildInputs; 216 + propagatedBuildInputs = [ 217 + self."enum34" 218 + ]; 219 + meta = with pkgs.stdenv.lib; { 220 + homepage = "https://github.com/jstasiak/enum-compat"; 221 + license = licenses.mit; 222 + description = "enum/enum34 compatibility package"; 223 + }; 224 + }; 225 + 226 + 227 + 228 + "enum34" = python.mkDerivation { 229 + name = "enum34-1.1.6"; 230 + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz"; sha256 = "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1"; }; 231 + doCheck = commonDoCheck; 232 + buildInputs = commonBuildInputs; 233 + propagatedBuildInputs = [ ]; 234 + meta = with pkgs.stdenv.lib; { 235 + homepage = "https://bitbucket.org/stoneleaf/enum34"; 236 + license = licenses.bsdOriginal; 237 + description = "Python 3.4 Enum backported to 3.3, 3.2, 3.1, 2.7, 2.6, 2.5, and 2.4"; 238 + }; 239 + }; 240 + 241 + 242 + 243 + "eventlet" = python.mkDerivation { 244 + name = "eventlet-0.21.0"; 245 + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/cb/ec/eae487c106a7e38f86ac4cadafb3eec77d29996f64ca0c7015067538069b/eventlet-0.21.0.tar.gz"; sha256 = "08faffab88c1b08bd53ea28bf084a572c89f7e7648bd9d71e6116ac17a51a15d"; }; 246 + doCheck = commonDoCheck; 247 + buildInputs = commonBuildInputs; 248 + propagatedBuildInputs = [ 249 + self."enum-compat" 250 + self."greenlet" 251 + ]; 252 + meta = with pkgs.stdenv.lib; { 253 + homepage = "http://eventlet.net"; 254 + license = licenses.mit; 255 + description = "Highly concurrent networking library"; 256 + }; 257 + }; 258 + 259 + 260 + 261 + "gevent" = python.mkDerivation { 262 + name = "gevent-1.2.2"; 263 + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/1b/92/b111f76e54d2be11375b47b213b56687214f258fd9dae703546d30b837be/gevent-1.2.2.tar.gz"; sha256 = "4791c8ae9c57d6f153354736e1ccab1e2baf6c8d9ae5a77a9ac90f41e2966b2d"; }; 264 + doCheck = commonDoCheck; 265 + buildInputs = commonBuildInputs; 266 + propagatedBuildInputs = [ 267 + self."greenlet" 268 + ]; 269 + meta = with pkgs.stdenv.lib; { 270 + homepage = "http://www.gevent.org/"; 271 + license = licenses.mit; 272 + description = "Coroutine-based network library"; 273 + }; 274 + }; 275 + 276 + 277 + 278 + "greenlet" = python.mkDerivation { 279 + name = "greenlet-0.4.12"; 280 + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/be/76/82af375d98724054b7e273b5d9369346937324f9bcc20980b45b068ef0b0/greenlet-0.4.12.tar.gz"; sha256 = "e4c99c6010a5d153d481fdaf63b8a0782825c0721506d880403a3b9b82ae347e"; }; 281 + doCheck = commonDoCheck; 282 + buildInputs = commonBuildInputs; 283 + propagatedBuildInputs = [ ]; 284 + meta = with pkgs.stdenv.lib; { 285 + homepage = "https://github.com/python-greenlet/greenlet"; 286 + license = licenses.mit; 287 + description = "Lightweight in-process concurrent programming"; 288 + }; 289 + }; 290 + 291 + 292 + 293 + "itsdangerous" = python.mkDerivation { 294 + name = "itsdangerous-0.24"; 295 + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz"; sha256 = "cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519"; }; 296 + doCheck = commonDoCheck; 297 + buildInputs = commonBuildInputs; 298 + propagatedBuildInputs = [ ]; 299 + meta = with pkgs.stdenv.lib; { 300 + homepage = "http://github.com/mitsuhiko/itsdangerous"; 301 + license = licenses.bsdOriginal; 302 + description = "Various helpers to pass trusted data to untrusted environments and back."; 303 + }; 304 + }; 305 + 306 + 307 + 308 + "pygdbmi" = python.mkDerivation { 309 + name = "pygdbmi-0.7.4.4"; 310 + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/bb/1c/8c8cbd0bb5cf513a905e3ca461cfad578e708a74417182f2a00943136f83/pygdbmi-0.7.4.4.tar.gz"; sha256 = "34cd00925ca98aed87decb6a0451fa094cf31386dc457b47a62bcbf8d905a3d3"; }; 311 + doCheck = commonDoCheck; 312 + buildInputs = commonBuildInputs; 313 + propagatedBuildInputs = [ ]; 314 + meta = with pkgs.stdenv.lib; { 315 + homepage = "https://github.com/cs01/pygdbmi"; 316 + license = licenses.mit; 317 + description = "Parse gdb machine interface output with Python"; 318 + }; 319 + }; 320 + 321 + 322 + 323 + "pypugjs" = python.mkDerivation { 324 + name = "pypugjs-4.2.2"; 325 + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/21/bb/d541110bd5a5c1ecd9dab2778dc9a39ca5a5e9962845e9d3e598962ee3ca/pypugjs-4.2.2.tar.gz"; sha256 = "c99a72a78766d9462d94379a6b489f9864ecdeeeeaf8d0f34b2ce04963f6ec8c"; }; 326 + doCheck = commonDoCheck; 327 + buildInputs = commonBuildInputs; 328 + propagatedBuildInputs = [ 329 + self."six" 330 + ]; 331 + meta = with pkgs.stdenv.lib; { 332 + homepage = "http://github.com/matannoam/pypugjs"; 333 + license = licenses.mit; 334 + description = "PugJS syntax template adapter for Django, Jinja2, Mako and Tornado templates - copy of PyJade with the name changed"; 335 + }; 336 + }; 337 + 338 + 339 + 340 + "python-engineio" = python.mkDerivation { 341 + name = "python-engineio-2.0.1"; 342 + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/ae/61/199d5693cb077d12fb82baa9505215e0654e50e3cd4d5f3331029312b55f/python-engineio-2.0.1.tar.gz"; sha256 = "266fca0c4ed4576c873458ef06fdc7ae20942210f5e9c5f9bd039debcc672c30"; }; 343 + doCheck = commonDoCheck; 344 + buildInputs = commonBuildInputs; 345 + propagatedBuildInputs = [ 346 + self."six" 347 + ]; 348 + meta = with pkgs.stdenv.lib; { 349 + homepage = "http://github.com/miguelgrinberg/python-engineio/"; 350 + license = licenses.mit; 351 + description = "Engine.IO server"; 352 + }; 353 + }; 354 + 355 + 356 + 357 + "python-socketio" = python.mkDerivation { 358 + name = "python-socketio-1.8.3"; 359 + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/39/23/b0955fe05bed6d6621754d3b5043e5478cf57646e1e4c1cf55a6fc3f2acb/python-socketio-1.8.3.tar.gz"; sha256 = "822433bcda86924367bccfc64083bae60bd64c89c8fc07f79530458ce5a6dcea"; }; 360 + doCheck = commonDoCheck; 361 + buildInputs = commonBuildInputs; 362 + propagatedBuildInputs = [ 363 + self."python-engineio" 364 + self."six" 365 + ]; 366 + meta = with pkgs.stdenv.lib; { 367 + homepage = "http://github.com/miguelgrinberg/python-socketio/"; 368 + license = licenses.mit; 369 + description = "Socket.IO server"; 370 + }; 371 + }; 372 + 373 + 374 + 375 + "six" = python.mkDerivation { 376 + name = "six-1.11.0"; 377 + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz"; sha256 = "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9"; }; 378 + doCheck = commonDoCheck; 379 + buildInputs = commonBuildInputs; 380 + propagatedBuildInputs = [ ]; 381 + meta = with pkgs.stdenv.lib; { 382 + homepage = "http://pypi.python.org/pypi/six/"; 383 + license = licenses.mit; 384 + description = "Python 2 and 3 compatibility utilities"; 385 + }; 386 + }; 387 + 388 + }; 389 + localOverridesFile = ./requirements_override.nix; 390 + overrides = import localOverridesFile { inherit pkgs python; }; 391 + commonOverrides = [ 392 + 393 + ]; 394 + allOverrides = 395 + (if (builtins.pathExists localOverridesFile) 396 + then [overrides] else [] ) ++ commonOverrides; 397 + 398 + in python.withPackages 399 + (fix' (pkgs.lib.fold 400 + extends 401 + generated 402 + allOverrides 403 + ) 404 + )
+2
pkgs/top-level/all-packages.nix
··· 7257 7257 7258 7258 gede = callPackage ../development/tools/misc/gede { }; 7259 7259 7260 + gdbgui = callPackage ../development/tools/misc/gdbgui { }; 7261 + 7260 7262 pmd = callPackage ../development/tools/analysis/pmd { }; 7261 7263 7262 7264 jdepend = callPackage ../development/tools/analysis/jdepend { };