unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Julien Lepiller <julien@lepiller.eu>
To: 28378@debbugs.gnu.org
Subject: [bug#28378] [PATCH] gnu: Add heimdall.
Date: Wed, 20 Sep 2017 22:09:02 +0200	[thread overview]
Message-ID: <20170920220902.21333ec3@lepiller.eu> (raw)
In-Reply-To: <87shfzylum.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 518 bytes --]

Le Thu, 07 Sep 2017 10:05:53 +0200,
ludo@gnu.org (Ludovic Courtès) a écrit :

> Hi Danny,
> 
> Danny Milosavljevic <dannym@scratchpost.org> skribis:
> 
> > * gnu/packages/android.scm (heimdall): New variable.  
> 
> Could you team up with Julien on <https://bugs.gnu.org/28285> to merge
> the two submissions?
Hi,

here is the result of the merge of the two patches. I'm not sure we need
the static library?

Danny, what do you think of it?

> 
> Thanks in advance!
> 
> Ludo’.
> 
> 
> 


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-heimdall.patch --]
[-- Type: text/x-patch, Size: 6438 bytes --]

From 0cd2378f5aa2626f8118d607a6b3558c212d80ec 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.

Co-Authored-By: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/flashing-tools.scm | 67 ++++++++++++++++++++++++++++++++++++-----
 1 file changed, 59 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm
index 127fc795a..6a600bd0b 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,51 @@ 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
+     `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release")
+       #:tests? #f; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-invocations
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* '("heimdall-frontend/source/aboutform.cpp"
+                            "heimdall-frontend/source/mainwindow.cpp")
+               (("start[(]\"heimdall\"")
+                (string-append "start(\"" (assoc-ref outputs "out")
+                               "/bin/heimdall\"")))
+             #t))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((bin (string-append (assoc-ref outputs "out") "/bin"))
+                   (lib (string-append (assoc-ref outputs "out") "/lib")))
+               (install-file "bin/heimdall" bin)
+               (install-file "bin/heimdall-frontend" bin)
+               (install-file "libpit/libpit.a" lib)
+               #t))))))
+    (inputs
+     `(("libusb" ,libusb)
+       ("qtbase" ,qtbase)
+       ("zlib" ,zlib)))
+    (home-page "http://glassechidna.com.au/heimdall/")
+    (synopsis "Flash firmware onto Samsung mobile devices")
+    (description "@command{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


  reply	other threads:[~2017-09-20 20:11 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-06 22:36 [bug#28378] [PATCH] gnu: Add heimdall Danny Milosavljevic
2017-09-07  8:05 ` Ludovic Courtès
2017-09-20 20:09   ` Julien Lepiller [this message]
2017-09-20 20:34     ` Ludovic Courtès
2017-10-03 19:46       ` bug#28378: " Julien Lepiller
2017-10-04 21:27       ` [bug#28378] " Mekeor Melire
2017-10-04 21:31         ` Mekeor Melire

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=20170920220902.21333ec3@lepiller.eu \
    --to=julien@lepiller.eu \
    --cc=28378@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).