unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#28378] [PATCH] gnu: Add heimdall.
@ 2017-09-06 22:36 Danny Milosavljevic
  2017-09-07  8:05 ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Danny Milosavljevic @ 2017-09-06 22:36 UTC (permalink / raw)
  To: 28378

* gnu/packages/android.scm (heimdall): New variable.
---
 gnu/packages/android.scm | 53 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index be3f50add..20bd21bdf 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -22,13 +22,18 @@
 
 (define-module (gnu packages android)
   #:use-module (guix packages)
+  #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (gnu packages)
+  #:use-module (gnu packages compression)
   #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages libusb)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages tls))
@@ -399,3 +404,51 @@ parts of the development workflow.  Repo is not meant to replace Git, only to
 make it easier to work with Git.  The repo command is an executable Python
 script that you can put anywhere in your path.")
     (license license:asl2.0)))
+
+(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 "heimdall-" version ".tar.gz"))
+       (sha256
+        (base32 "1y7gwg3lipyp2zcysm2vid1qg5nwin9bxbvgzs28lz2rya4fz6sq"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release")
+       #:tests? #f ; No tests exist.
+       #: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* ((out (assoc-ref outputs "out"))
+                    (out-bin (string-append out "/bin"))
+                    (out-lib (string-append out "/lib")))
+               (mkdir-p out-bin)
+               (mkdir-p out-lib)
+               (install-file "../build/bin/heimdall" out-bin)
+               (install-file "../build/bin/heimdall-frontend" out-bin)
+               (install-file "../build/libpit/libpit.a" out-lib)
+               #t))))))
+    (inputs
+     `(("libusb" ,libusb)
+       ("qtbase" ,qtbase)
+       ("zlib" ,zlib)))
+    (home-page "http://glassechidna.com.au/heimdall/")
+    (synopsis "Samsung Flashing Tool")
+    (description
+     "@command{heimdall} can be used to flash firmware onto Samsung mobile
+devices.")
+    (license license:expat)))

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#28378] [PATCH] gnu: Add heimdall.
  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
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2017-09-07  8:05 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 28378

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?

Thanks in advance!

Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#28378] [PATCH] gnu: Add heimdall.
  2017-09-07  8:05 ` Ludovic Courtès
@ 2017-09-20 20:09   ` Julien Lepiller
  2017-09-20 20:34     ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Julien Lepiller @ 2017-09-20 20:09 UTC (permalink / raw)
  To: 28378

[-- 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


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#28378] [PATCH] gnu: Add heimdall.
  2017-09-20 20:09   ` Julien Lepiller
@ 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
  0 siblings, 2 replies; 7+ messages in thread
From: Ludovic Courtès @ 2017-09-20 20:34 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 28378

Hi Julien,

Julien Lepiller <julien@lepiller.eu> skribis:

> 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>

It LGTM.  I don’t see why libpit.a is needed, but I’ll let you decide.  :-)

> +    (build-system cmake-build-system)
> +    (arguments
> +     `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release")

Why not keep the default “RelWithDebInfo”?

Thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#28378: [PATCH] gnu: Add heimdall.
  2017-09-20 20:34     ` Ludovic Courtès
@ 2017-10-03 19:46       ` Julien Lepiller
  2017-10-04 21:27       ` [bug#28378] " Mekeor Melire
  1 sibling, 0 replies; 7+ messages in thread
From: Julien Lepiller @ 2017-10-03 19:46 UTC (permalink / raw)
  To: 28378-done

Le Wed, 20 Sep 2017 22:34:23 +0200,
ludo@gnu.org (Ludovic Courtès) a écrit :

> Hi Julien,
> 
> Julien Lepiller <julien@lepiller.eu> skribis:
> 
> > 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>  
> 
> It LGTM.  I don’t see why libpit.a is needed, but I’ll let you
> decide.  :-)
> 
> > +    (build-system cmake-build-system)
> > +    (arguments
> > +     `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release")  
> 
> Why not keep the default “RelWithDebInfo”?
That's what was documented in this package.

Pushed as f282aa530b91c8fecb910bc0a3323fcbd4d39ffb.

> 
> Thanks!
> 
> Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#28378] [PATCH] gnu: Add heimdall.
  2017-09-20 20:34     ` Ludovic Courtès
  2017-10-03 19:46       ` bug#28378: " Julien Lepiller
@ 2017-10-04 21:27       ` Mekeor Melire
  2017-10-04 21:31         ` Mekeor Melire
  1 sibling, 1 reply; 7+ messages in thread
From: Mekeor Melire @ 2017-10-04 21:27 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 28378


Ludovic Courtès <ludo@gnu.org> writes:

> Julien Lepiller <julien@lepiller.eu> skribis:
[…]
>> * gnu/packages/flashing-tools.scm (heimdall): New variable.
[…]
>> +    (build-system cmake-build-system)
>> +    (arguments
>> +     `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release")
>
> Why not keep the default “RelWithDebInfo”?

BUMP. This seems to be the only last remark on this nice new package
definition.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#28378] [PATCH] gnu: Add heimdall.
  2017-10-04 21:27       ` [bug#28378] " Mekeor Melire
@ 2017-10-04 21:31         ` Mekeor Melire
  0 siblings, 0 replies; 7+ messages in thread
From: Mekeor Melire @ 2017-10-04 21:31 UTC (permalink / raw)
  To: 28378


Sorry, I just saw that it's already pushed to master now. Thank you very
much for your effort!

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-10-04 21:32 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
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

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).