From: Julien Lepiller <julien@lepiller.eu>
To: 28285@debbugs.gnu.org
Subject: [bug#28285] Add heimdall
Date: Sun, 3 Sep 2017 18:53:06 +0200 [thread overview]
Message-ID: <20170903185259.4c056094@lepiller.eu> (raw)
In-Reply-To: <87d17cluww.fsf@fastmail.com>
[-- Attachment #1: Type: text/plain, Size: 2385 bytes --]
Le Wed, 30 Aug 2017 21:25:51 +0200,
Marius Bakke <mbakke@fastmail.com> a écrit :
> Julien Lepiller <julien@lepiller.eu> 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.
>
> [...]
Ok.
>
> > + (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.
Done.
>
> > + (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.
only qtbase is needed it seems. Done.
>
> > + ("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.
It doesn't. I'm not sure what you mean with escaped double quotes. \"
or \\\"?
>
> LGTM with these cosmetic changes.
I had to change the import of licenses and license field of all
packages because heimdall depends on zlib, which is also a license
name. Should I mention that in the commit message too? Should it be in
a separate commit?
>
> [0] https://www.gnu.org/software/guile/manual/guile.html#File-System
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-heimdall.patch --]
[-- Type: text/x-patch, Size: 5857 bytes --]
From 77a0831ce91b61eca537d197e9c15720b3b6cf7e Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Tue, 29 Aug 2017 23:54:16 +0200
Subject: [PATCH] gnu: Add heimdall.
* gnu/packages/flashing-tools.scm (heimdall): New variable.
---
gnu/packages/flashing-tools.scm | 58 +++++++++++++++++++++++++++++++++++------
1 file changed, 50 insertions(+), 8 deletions(-)
diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm
index 127fc795a..ac19696ca 100644
--- a/gnu/packages/flashing-tools.scm
+++ b/gnu/packages/flashing-tools.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de>
+;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,19 +23,22 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages flashing-tools)
- #:use-module (guix licenses)
+ #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (gnu packages)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages flex)
#:use-module (gnu packages elf)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages libusb)
#:use-module (gnu packages libftdi)
#:use-module (gnu packages pciutils)
+ #:use-module (gnu packages qt)
#:use-module (gnu packages autotools)
#:use-module (gnu packages admin))
@@ -81,7 +85,7 @@ verifying and erasing flash chips. It is designed to flash
BIOS/EFI/coreboot/firmware/optionROM images on mainboards,
network/graphics/storage controller cards, and various other
programmer devices.")
- (license gpl2)))
+ (license license:gpl2)))
(define-public 0xffff
(package
@@ -112,7 +116,7 @@ programmer devices.")
for FIASCO images. It supports generating, unpacking, editing and
flashing of FIASCO images for Maemo devices. Use it with care. It can
brick your device.")
- (license gpl3+)))
+ (license license:gpl3+)))
(define-public avrdude
(package
@@ -140,7 +144,7 @@ brick your device.")
"AVRDUDE is a utility to download/upload/manipulate the ROM and
EEPROM contents of AVR microcontrollers using the in-system programming
technique (ISP).")
- (license gpl2+)))
+ (license license:gpl2+)))
(define-public dfu-programmer
(package
@@ -166,7 +170,7 @@ technique (ISP).")
"Dfu-programmer is a multi-platform command-line programmer for
Atmel (8051, AVR, XMEGA & AVR32) chips with a USB bootloader supporting
ISP.")
- (license gpl2+)))
+ (license license:gpl2+)))
(define-public dfu-util
(package
@@ -193,7 +197,7 @@ ranges from small devices like micro-controller boards up to mobile phones.
With dfu-util you are able to download firmware to your device or upload
firmware from it.")
(home-page "http://dfu-util.sourceforge.net/")
- (license gpl2+)))
+ (license license:gpl2+)))
(define-public teensy-loader-cli
;; The repo does not tag versions nor does it use releases, but a commit
@@ -244,7 +248,7 @@ HalfKay bootloader is running, so you can upload new programs and run them.
You need to add the udev rules to make the Teensy update available for
non-root users.")
(home-page "https://www.pjrc.com/teensy/loader_cli.html")
- (license gpl3))))
+ (license license:gpl3))))
(define-public rkflashtool
(let ((commit "094bd6410cb016e487e2ccb1050c59eeac2e6dd1")
@@ -278,4 +282,42 @@ non-root users.")
(description "Allows flashing of Rockchip based embedded linux devices.
The list of currently supported devices is: RK2818, RK2918, RK2928, RK3026,
RK3036, RK3066, RK312X, RK3168, RK3188, RK3288, RK3368.")
- (license bsd-2))))
+ (license license:bsd-2))))
+
+(define-public heimdall
+ (package
+ (name "heimdall")
+ (version "1.4.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/Benjamin-Dobell/Heimdall"
+ "/archive/v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1y7gwg3lipyp2zcysm2vid1qg5nwin9bxbvgzs28lz2rya4fz6sq"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f; no tests
+ #:phases
+ (modify-phases %standard-phases
+ (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"))
+ #t))))))
+ (inputs
+ `(("libusb" ,libusb)
+ ("qtbase" ,qtbase)
+ ("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\".")
+ (license license:expat)))
--
2.14.1
next prev parent reply other threads:[~2017-09-03 16:55 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-29 21:58 [bug#28285] Add heimdall Julien Lepiller
2017-08-30 8:13 ` Jonathan Brielmaier
2017-08-30 19:25 ` Marius Bakke
2017-09-03 16:53 ` Julien Lepiller [this message]
2017-09-04 14:22 ` Ludovic Courtès
2017-09-08 12:41 ` Danny Milosavljevic
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170903185259.4c056094@lepiller.eu \
--to=julien@lepiller.eu \
--cc=28285@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).