about summary refs log tree commit diff
path: root/pkgs/development/rocm-modules/6/rocgdb/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/rocm-modules/6/rocgdb/default.nix')
-rw-r--r--pkgs/development/rocm-modules/6/rocgdb/default.nix52
1 files changed, 49 insertions, 3 deletions
diff --git a/pkgs/development/rocm-modules/6/rocgdb/default.nix b/pkgs/development/rocm-modules/6/rocgdb/default.nix
index 919b3e70f6e06..2112c6cf02105 100644
--- a/pkgs/development/rocm-modules/6/rocgdb/default.nix
+++ b/pkgs/development/rocm-modules/6/rocgdb/default.nix
@@ -6,11 +6,16 @@
 , texinfo
 , bison
 , flex
+, glibc
 , zlib
-, elfutils
 , gmp
+, mpfr
 , ncurses
 , expat
+, rocdbgapi
+, python3
+, babeltrace
+, sourceHighlight
 }:
 
 stdenv.mkDerivation (finalAttrs: {
@@ -33,12 +38,53 @@ stdenv.mkDerivation (finalAttrs: {
 
   buildInputs = [
     zlib
-    elfutils
     gmp
+    mpfr
     ncurses
     expat
+    rocdbgapi
+    python3
+    babeltrace
+    sourceHighlight
   ];
 
+  configureFlags = [
+    # Ensure we build the amdgpu traget
+    "--enable-targets=${stdenv.targetPlatform.config},amdgcn-amd-amdhsa"
+    "--with-amd-dbgapi=yes"
+
+    "--with-iconv-path=${glibc.bin}"
+    "--enable-tui"
+    "--with-babeltrace"
+    "--with-python=python3"
+    "--with-system-zlib"
+    "--enable-64-bit-bfd"
+    "--with-gmp=${gmp.dev}"
+    "--with-mpfr=${mpfr.dev}"
+    "--with-expat"
+    "--with-libexpat-prefix=${expat.dev}"
+
+    # So the installed binary is called "rocgdb" instead on plain "gdb"
+    "--program-prefix=roc"
+
+    # Disable building many components not used or incompatible with the amdgcn target
+    "--disable-sim"
+    "--disable-gdbserver"
+    "--disable-ld"
+    "--disable-gas"
+    "--disable-gdbserver"
+    "--disable-sim"
+    "--disable-gdbtk"
+    "--disable-gprofng"
+    "--disable-shared"
+  ];
+
+  # The source directory for ROCgdb (based on upstream GDB) contains multiple project
+  # of GNU’s toolchain (binutils and onther), we only need to install the GDB part.
+  installPhase = ''
+    make install-gdb
+  '';
+
   # `-Wno-format-nonliteral` doesn't work
   env.NIX_CFLAGS_COMPILE = "-Wno-error=format-security";
 
@@ -51,7 +97,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = with lib; {
     description = "ROCm source-level debugger for Linux, based on GDB";
     homepage = "https://github.com/ROCm/ROCgdb";
-    license = with licenses; [ gpl2 gpl3 bsd3 ];
+    license = licenses.gpl3Plus;
     maintainers = teams.rocm.members;
     platforms = platforms.linux;
     broken = versionAtLeast finalAttrs.version "7.0.0";