From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44869) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1doYAt-0006VQ-VP for guix-patches@gnu.org; Sun, 03 Sep 2017 12:55:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1doYAo-0000PM-Ih for guix-patches@gnu.org; Sun, 03 Sep 2017 12:55:08 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:37980) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1doYAo-0000PD-C5 for guix-patches@gnu.org; Sun, 03 Sep 2017 12:55:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1doYAo-0001jc-2i for guix-patches@gnu.org; Sun, 03 Sep 2017 12:55:02 -0400 Subject: [bug#28285] Add heimdall Resent-Message-ID: Date: Sun, 3 Sep 2017 18:53:06 +0200 From: Julien Lepiller Message-ID: <20170903185259.4c056094@lepiller.eu> In-Reply-To: <87d17cluww.fsf@fastmail.com> References: <20170829235829.7a4f55cd@lepiller.eu> <87d17cluww.fsf@fastmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/RBuqsrDy+THuq8pnFq41TdJ" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 28285@debbugs.gnu.org --MP_/RBuqsrDy+THuq8pnFq41TdJ Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Le Wed, 30 Aug 2017 21:25:51 +0200, Marius Bakke a =C3=A9crit : > Julien Lepiller writes: >=20 > > Hi, > > > > this patch adds heimdall, a tool I just used to flash replicant on > > my smartphone :) =20 >=20 > Cool! >=20 > > * gnu/packages/android.scm (heimdall): New variable. =20 >=20 > I agree with Jonathan that 'flashing-tools.scm' is better suited. >=20 > [...] Ok. >=20 > > + (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")))))))) =20 >=20 > (copy-file ...) has an unspecified return value[0], so please add a #t > at the end of this phase for determinism. Done. >=20 > > + (inputs > > + `(("libusb" ,libusb) > > + ("qt" ,qt) =20 >=20 > 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. >=20 > > + ("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'.") =20 >=20 > `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 \\\"? >=20 > 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? >=20 > [0] https://www.gnu.org/software/guile/manual/guile.html#File-System --MP_/RBuqsrDy+THuq8pnFq41TdJ Content-Type: text/x-patch Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename=0001-gnu-Add-heimdall.patch =46rom 77a0831ce91b61eca537d197e9c15720b3b6cf7e Mon Sep 17 00:00:00 2001 From: Julien Lepiller 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 =C2=A9 2016 Ludovic Court=C3=A8s ;;; Copyright =C2=A9 2016 Efraim Flashner ;;; Copyright =C2=A9 2017 Jonathan Brielmaier +;;; Copyright =C2=A9 2017 Julien Lepiller ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,19 +23,22 @@ ;;; along with GNU Guix. If not, see . =20 (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)) =20 @@ -81,7 +85,7 @@ verifying and erasing flash chips. It is designed to fla= sh BIOS/EFI/coreboot/firmware/optionROM images on mainboards, network/graphics/storage controller cards, and various other programmer devices.") - (license gpl2))) + (license license:gpl2))) =20 (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+))) =20 (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+))) =20 (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+))) =20 (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+))) =20 (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 pr= ograms 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)))) =20 (define-public rkflashtool (let ((commit "094bd6410cb016e487e2ccb1050c59eeac2e6dd1") @@ -278,4 +282,42 @@ non-root users.") (description "Allows flashing of Rockchip based embedded linux devic= es. 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/Heim= dall" + "/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 ROM= s) +onto Samsung mobile devices. Heimdall connects to a mobile device over US= B and +interacts with low-level software running on the device, known as Loke. L= oke +and Heimdall communicate via the custom Samsung-developed protocol typical= ly +referred to as the \"Odin 3 protocol\".") + (license license:expat))) --=20 2.14.1 --MP_/RBuqsrDy+THuq8pnFq41TdJ--