add heimdall

Julien LepillerSun Sep 03 12:49:21+0200 2017

0785ad9

add heimdall

more/packages/flashing-tools.scm unknown status 1

1+
;;; GNU Guix --- Functional package management for GNU
2+
;;; Copyright ?? 2014 John Darrington <jmd@gnu.org>
3+
;;; Copyright ?? 2014, 2015 Mark H Weaver <mhw@netris.org>
4+
;;; Copyright ?? 2015 Andreas Enge <andreas@enge.fr>
5+
;;; Copyright ?? 2016 Eric Bavier <bavier@member.fsf.org>
6+
;;; Copyright ?? 2015 Ludovic Court??s <ludo@gnu.org>
7+
;;; Copyright ?? 2017 Julien Lepiller <julien@lepiller.eu>
8+
;;;
9+
;;; This file is part of GNU Guix.
10+
;;;
11+
;;; GNU Guix is free software; you can redistribute it and/or modify it
12+
;;; under the terms of the GNU General Public License as published by
13+
;;; the Free Software Foundation; either version 3 of the License, or (at
14+
;;; your option) any later version.
15+
;;;
16+
;;; GNU Guix is distributed in the hope that it will be useful, but
17+
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
18+
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19+
;;; GNU General Public License for more details.
20+
;;;
21+
;;; You should have received a copy of the GNU General Public License
22+
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
23+
24+
(define-module (more packages flashing-tools)
25+
  #:use-module ((guix licenses) #:prefix license:)
26+
  #:use-module (guix packages)
27+
  #:use-module (guix download)
28+
  #:use-module (guix build-system cmake)
29+
  #:use-module (gnu packages)
30+
  #:use-module (gnu packages compression)
31+
  #:use-module (gnu packages libusb)
32+
  #:use-module (gnu packages qt))
33+
34+
(define-public heimdall
35+
  (package
36+
    (name "heimdall")
37+
    (version "1.4.2")
38+
    (source (origin
39+
              (method url-fetch)
40+
              (uri (string-append "https://github.com/Benjamin-Dobell/Heimdall"
41+
                                  "/archive/v" version ".tar.gz"))
42+
              (sha256
43+
               (base32
44+
                "1y7gwg3lipyp2zcysm2vid1qg5nwin9bxbvgzs28lz2rya4fz6sq"))))
45+
    (build-system cmake-build-system)
46+
    (arguments
47+
     `(#:tests? #f; no tests
48+
       #:phases
49+
       (modify-phases %standard-phases
50+
         (replace 'install
51+
           (lambda* (#:key outputs #:allow-other-keys)
52+
             (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
53+
               (mkdir-p bin)
54+
               (copy-file "bin/heimdall" (string-append bin "/heimdall"))
55+
               (copy-file "bin/heimdall-frontend"
56+
                          (string-append bin "/heimdall-frontend"))))))))
57+
    (inputs
58+
     `(("libusb" ,libusb)
59+
       ("qt" ,qtbase)
60+
       ("zlib" ,zlib)))
61+
    (home-page "http://glassechidna.com.au/heimdall/")
62+
    (synopsis "Flash firmware onto Samsung mobile devices")
63+
    (description "Heimdall is a tool suite used to flash firmware (aka ROMs)
64+
onto Samsung mobile devices.  Heimdall connects to a mobile device over USB and
65+
interacts with low-level software running on the device, known as Loke.  Loke
66+
and Heimdall communicate via the custom Samsung-developed protocol typically
67+
referred to as the 'Odin 3 protocol'.")
68+
    (license license:expat)))