Subject: [bug#45825] [PATCH] gnu: Add efi_analyzer.

From: Vincent Legoll <[email-masked]>
Date: Tue, 12 Jan 2021 23:17:58 +0100

Hello,

On Tue, Jan 12, 2021 at 11:02 PM Tobias Geerinckx-Rice <[email-masked]> wrote:
> >  gnu/packages/engineering.scm | 27 +++++++++++++++++++++++++++
>
> I failed to see any connection to engineering and moved this to
> efi.scm.

I searched a bit (debug.scm, etc.) but failed to find
the *really* obvious one :facepalm: I chose engineering
because another rev-eng tool (radare2) was here.

> Don't forget to add or update your copyright line.

I almost always forgot to do that.

> > +      (source (origin
> > +                (method git-fetch)
> > +                (uri (git-reference
> > +                      (url
> > "https://github.com/xypron/efi_analyzer")
> > +                      (commit commit)))
> > +                (sha256
> > +                 (base32
> > "1izdkzybqyvzpzqz6kx4j7y47j6aa2dsdrychzgs65466x1a4br1"))
>
> I added a newline after ‘source’ to give this 81-character line
> some breathing room.

This one I swear I ran the etc/indent.el script on, was it in
my brain only ?

> > +                (file-name (string-append name "-" version
> > "-checkout"))))
>
> This can be done with the
>
>   (file-name (git-file-name name version))
>
> helper.

Argh, another forgetting, you probably taught me that
a few times already.

> > +      (arguments
> > +       `(#:phases
> > +         (modify-phases %standard-phases
> > +           (delete 'configure))
>
> Not a comment on your patch, but I added a
> ‘support-cross-compilation’ phase here that replaces the
> Makefile's hard-coded ‘gcc’ so you can inspect EFI binaries on
> your cross-compiled ARM box.

I saw that, nice !

> > +         #:make-flags (list "prefix=" (string-append "DESTDIR="
> > (assoc-ref %outputs "out")))))
>
> The other way 'round: set $prefix (or the BSD variant $PREFIX) to
> the destination, and never set DESTDIR unless you're working
> around a bug in a broken build system.
>
> DESTDIR is for distributions/builds using a temporary ‘staging’
> destination directory.  Guix doesn't.

OK, I hesitated between the 2 options, and failed to choose the
right one :-))

> > +    (description
> > +     "The EFI Analyzer can be used to check EFI binaries and to
> > print out header
> > +and section information.")
>
> Slash empty ‘x can y’ (or ‘x allows the user to y’) filler with
> gleeful prejudice.

Just a copy-paste from upstream (should have proof read it, though)

Thanks a lot for your patience in bearing with my half-baked
submissions.

I think I'll owe you a beer (or two).

Tchuss

-- 
Vincent Legoll