From a10a0c0ab49203f51ede4b92efa5f4a69344ad66 Mon Sep 17 00:00:00 2001 From: Ethan Carter Edwards Date: Thu, 30 Jan 2025 10:53:33 -0500 Subject: [PATCH] gdb-dashboard: init at 0.17.3 Signed-off-by: Ethan Carter Edwards --- pkgs/by-name/gd/gdb-dashboard/package.nix | 50 +++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 pkgs/by-name/gd/gdb-dashboard/package.nix diff --git a/pkgs/by-name/gd/gdb-dashboard/package.nix b/pkgs/by-name/gd/gdb-dashboard/package.nix new file mode 100644 index 0000000000000..9a966398efcf4 --- /dev/null +++ b/pkgs/by-name/gd/gdb-dashboard/package.nix @@ -0,0 +1,50 @@ +{ + lib, + stdenv, + fetchFromGitHub, + gdb, + makeWrapper, + python3Packages, +}: + +stdenv.mkDerivation (finalAttrs: { + name = "gdb-dashboard"; + version = "0.17.3"; + + src = fetchFromGitHub { + owner = "cyrus-and"; + repo = "gdb-dashboard"; + tag = "v${finalAttrs.version}"; + hash = "sha256-x3XcAJdj2Q8s+ZkIBHpGZvCroedPzBmqt5W9Hc1FL7s="; + }; + + nativeBuildInputs = [ makeWrapper ]; + + propagatedBuildInputs = [ python3Packages.pygments ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/gdb-dashboard + cp -r .gdbinit $out/share/gdb-dashboard/gdbinit + makeWrapper ${gdb}/bin/gdb $out/bin/gdb-dashboard \ + --add-flags "-q -x $out/share/gdb-dashboard/gdbinit" + + p=$(toPythonPath ${python3Packages.pygments}) + sed -i "/import os/a import os; import sys; sys.path[0:0] = '$p'.split(':')" \ + $out/share/gdb-dashboard/gdbinit + + runHook postInstall + ''; + + # there are no tests as this is a wrapper + + meta = { + description = "Modular visual interface for GDB in Python"; + homepage = "https://github.com/cyrus-and/gdb-dashboard"; + downloadPage = "https://github.com/cyrus-and/gdb-dashboard"; + changelog = "https://github.com/cyrus-and/gdb-dashboard/releases/tag/${finalAttrs.version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ ethancedwards8 ]; + }; +})