diff mbox series

[bug#61442] gnu: Add ddd

Message ID 20230212004023.2459-1-atai@atai.org
State New
Headers show
Series [bug#61442] gnu: Add ddd | expand

Commit Message

Andy Tai Feb. 12, 2023, 12:40 a.m. UTC
* gnu/packages/debug.scm (ddd): New variable
---
 gnu/packages/debug.scm | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

Comments

Nicolas Goaziou Feb. 18, 2023, 11:33 a.m. UTC | #1
Hello,

Andy Tai <atai@atai.org> writes:

> * gnu/packages/debug.scm (ddd): New variable

Thank you. Some comments follow.

> +    (build-system gnu-build-system)
> +    (inputs (list motif ncurses gdb))
> +    (native-inputs (list pkg-config xorg-server-for-tests))

Nitpick: Could you move these 2 lines after arguments?

> +    (arguments
> +     (list #:tests? #f ;Those are manual

If I understand correctly, you're running tests in the `pre-check'
phase. Then this is not the correct way to proceed.

First you need to remove this keyword, and use (replace 'check ...)
instead of (add-before 'check 'pre-check ...)

> +           ;; avoid "friend declaration specifies default arguments and isn’t a definition" errors.

Nitpick: ;; Avoid ...

and proper filling.

> +           #:configure-flags #~(list "CXXFLAGS=-fpermissive")
> +           #:phases #~(modify-phases %standard-phases
> +                        (add-before 'check 'pre-check
> +                          (lambda* (#:key native-inputs inputs
> +                                    #:allow-other-keys)

Here you need to add "tests?" key, then wrap the function body within

    (when tests? ...)
> +                            (setenv "HOME" "/tmp")
> +                            (let ((xvfb (search-input-file (or native-inputs
> +                                                               inputs)
> +                                                           "bin/Xvfb"))
> +                                  (display ":1"))
> +                              (setenv "DISPLAY" display)
> +                              (system (string-append xvfb " " display " &"))))))))

Should this be (invoke xvfb ":1 &") ?

> +    (synopsis "graphical front end for the command-line debugger GDB")

graphical -> Graphical.

> +    (description
> +     "GNU Data Display Debugger (GNU DDD) is a graphical user interface ]

Spurious "]" character.

Could you send an updated patch?

Regards,
diff mbox series

Patch

diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index 22b3cd862d..e91d798a3b 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -11,6 +11,7 @@ 
 ;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
 ;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
 ;;; Copyright © 2022 Matthew James Kraai <kraai@ftbfs.org>
+;;; Copyright © 2023 Andy Tai <atai@atai.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -53,6 +54,7 @@  (define-module (gnu packages debug)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages lesstif)  ; motif
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -70,6 +72,7 @@  (define-module (gnu packages debug)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages virtualization)
   #:use-module (gnu packages xdisorg)
+  #:use-module (gnu packages xorg)
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
@@ -860,6 +863,44 @@  (define-public seer-gdb
     ;; Note: Some icons in src/resources are creative commons 3.0 and/or 4.0.
     (license license:gpl3+)))
 
+(define-public ddd
+  (package
+    (name "ddd")
+    (version "3.3.12")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/ddd/ddd-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0p5nx387857w3v2jbgvps2p6mlm0chajcdw5sfrddcglsxkwvmis"))))
+    (build-system gnu-build-system)
+    (inputs (list motif ncurses gdb))
+    (native-inputs (list pkg-config xorg-server-for-tests))
+    (arguments
+     (list #:tests? #f ;Those are manual
+           ;; avoid "friend declaration specifies default arguments and isn’t a definition" errors.
+           #:configure-flags #~(list "CXXFLAGS=-fpermissive")
+           #:phases #~(modify-phases %standard-phases
+                        (add-before 'check 'pre-check
+                          (lambda* (#:key native-inputs inputs
+                                    #:allow-other-keys)
+                            (setenv "HOME" "/tmp")
+                            (let ((xvfb (search-input-file (or native-inputs
+                                                               inputs)
+                                                           "bin/Xvfb"))
+                                  (display ":1"))
+                              (setenv "DISPLAY" display)
+                              (system (string-append xvfb " " display " &"))))))))
+    (synopsis "graphical front end for the command-line debugger GDB")
+    (description
+     "GNU Data Display Debugger (GNU DDD) is a graphical user interface ]
+(using the Motif toolkit) for command-line debuggers such as GDB,
+DBX, JDB, HP Wildebeest Debugger, XDB, the Perl debugger, the Bash
+debugger, the Python debugger, and the GNU Make debugger.")
+    (home-page "https://www.gnu.org/software/ddd/")
+    (license license:gpl3+)))
+
+
 (define-public delve
   (package
     (name "delve")