Subject: Re: [bug#28285] Add heimdall

From: Marius Bakke <[email-masked]>
Date: Wed, 30 Aug 2017 21:25:51 +0200

Julien Lepiller <[email-masked]> writes:

> Hi,
>
> this patch adds heimdall, a tool I just used to flash replicant on my
> smartphone :)

Cool!

> * gnu/packages/android.scm (heimdall): New variable.

I agree with Jonathan that 'flashing-tools.scm' is better suited.

[...]

> +         (replace 'install
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
> +               (mkdir-p bin)
> +               (copy-file "bin/heimdall" (string-append bin "/heimdall"))
> +               (copy-file "bin/heimdall-frontend"
> +                          (string-append bin "/heimdall-frontend"))))))))

(copy-file ...) has an unspecified return value[0], so please add a #t
at the end of this phase for determinism.

> +    (inputs
> +     `(("libusb" ,libusb)
> +       ("qt" ,qt)

Can you try to use the modular qt packages here (qtbase and friends),
instead of the 'qt' monolith?  The latter is not well maintained and
will be removed eventually.

> +       ("zlib" ,zlib)))
> +    (home-page "http://glassechidna.com.au/heimdall/")
> +    (synopsis "Flash firmware onto Samsung mobile devices")
> +    (description "Heimdall is a tool suite used to flash firmware (aka ROMs)
> +onto Samsung mobile devices.  Heimdall connects to a mobile device over USB and
> +interacts with low-level software running on the device, known as Loke.  Loke
> +and Heimdall communicate via the custom Samsung-developed protocol typically
> +referred to as the 'Odin 3 protocol'.")

`guix lint` should complain about the single quotes, no?  Escaped double
quotes are okay, though.

LGTM with these cosmetic changes.

[0] https://www.gnu.org/software/guile/manual/guile.html#File-System