Subject: [bug#64552] [PATCH] gnu: Add dhex.

From: Maxim Cournoyer <[email-masked]>
Date: Tue, 05 Sep 2023 10:59:16 -0400

Hello,

flabbergasted <[email-masked]> writes:

> * gnu/packages/hexedit.scm (dhex): New variable.
> ---
>  gnu/packages/hexedit.scm | 46 ++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 46 insertions(+)
>
> diff --git a/gnu/packages/hexedit.scm b/gnu/packages/hexedit.scm
> index 79c14a2..002f6d0 100644
> --- a/gnu/packages/hexedit.scm
> +++ b/gnu/packages/hexedit.scm
> @@ -29,6 +29,8 @@ (define-module (gnu packages hexedit)
>    #:use-module (gnu packages ncurses)
>    #:use-module (guix download)
>    #:use-module (guix git-download)
> +  #:use-module (guix gexp)
> +  #:use-module (guix utils)
>    #:use-module (guix build-system gnu))
>  
>  (define-public hexedit
> @@ -69,6 +71,50 @@ (define-public hexedit
>      (home-page "http://rigaux.org/hexedit.html")
>      (license license:gpl2+)))
>  
> +(define-public dhex
> +  (package
> +    (name "dhex")
> +    (version "0.69")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "https://www.dettus.net/dhex/" name "_"
> +                                  version ".tar.gz"))
> +              (sha256
> +               (base32
> +                "06y4lrp29f2fh303ijk1xhspa1d4x4dm6hnyw3dd8szi3k6hnwsj"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     (list
> +      #:tests? #f ;no tests provided
> +      #:make-flags
> +      #~(list (string-append "CC=" #$(cc-for-target)))
> +      #:phases
> +      #~(modify-phases %standard-phases
> +          (delete 'configure) ;no configure script
> +          (replace 'install ;multiple issues with provided 'make install'
> +            (lambda _
> +              (let ((bin (string-append #$output "/bin"))
> +                    (man1 (string-append #$output
> +                                         "/share/man/man1"))
> +                    (man5 (string-append #$output
> +                                         "/share/man/man5")))
> +                (mkdir-p bin)
> +                (install-file "dhex" bin)
> +                (mkdir-p man1)
> +                (install-file "dhex.1" man1)
> +                (mkdir-p man5)
> +                (install-file "dhexrc.5" man5)
> +                (install-file "dhex_markers.5" man5)
> +                (install-file "dhex_searchlog.5" man5)))))))

install-file takes care of calling 'mkdir' for you, so you can simplify
the above.

> +    (inputs (list ncurses))
> +    (home-page "https://www.dettus.net/dhex/")
> +    (synopsis "View, edit, and diff files in hexadecimal")
> +    (description
> +     "Dhex is hex editor which includes a diff mode, which can be used to
> +easily and conveniently compare two binary files.  It is based on ncurses
> +and is themeable.")
> +    (license license:gpl2)))

This should be gpl2+, given the text reads:

--8<---------------cut here---------------start------------->8---
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
--8<---------------cut here---------------end--------------->8---

Could you please send a v2 with the above corrections?

-- 
Thanks,
Maxim