diff --git a/pkgs/development/tools/misc/rocgdb/default.nix b/pkgs/development/tools/misc/rocgdb/default.nix new file mode 100644 index 000000000000..f9dd1d169176 --- /dev/null +++ b/pkgs/development/tools/misc/rocgdb/default.nix @@ -0,0 +1,57 @@ +{ lib +, stdenv +, fetchFromGitHub +, rocmUpdateScript +, pkg-config +, texinfo +, bison +, flex +, zlib +, elfutils +, gmp +, ncurses +, expat +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "rocgdb"; + version = "5.4.1"; + + src = fetchFromGitHub { + owner = "ROCm-Developer-Tools"; + repo = "ROCgdb"; + rev = "rocm-${finalAttrs.version}"; + hash = "sha256-DORPvfon32+rIk+YcO9LlUefNvvC7trmiTswg9MMuIs="; + }; + + nativeBuildInputs = [ + pkg-config + texinfo # For makeinfo + bison + flex + ]; + + buildInputs = [ + zlib + elfutils + gmp + ncurses + expat + ]; + + # `-Wno-format-nonliteral` doesn't work + NIX_CFLAGS_COMPILE = "-Wno-error=format-security"; + + passthru.updateScript = rocmUpdateScript { + name = finalAttrs.pname; + owner = finalAttrs.src.owner; + repo = finalAttrs.src.repo; + }; + + meta = with lib; { + description = "ROCm source-level debugger for Linux, based on GDB"; + homepage = "https://github.com/ROCm-Developer-Tools/ROCgdb"; + license = with licenses; [ gpl2 gpl3 bsd3 ]; + maintainers = teams.rocm.members; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b235ecc44f7b..71abf4d7ab9d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15376,6 +15376,11 @@ with pkgs; stdenv = rocmClangStdenv; }; + # Best just use GCC here + rocgdb = callPackage ../development/tools/misc/rocgdb { + elfutils = elfutils.override { enableDebuginfod = true; }; + }; + rocdbgapi = callPackage ../development/libraries/rocdbgapi { stdenv = rocmClangStdenv; };