guix-more/more/packages/flashing-tools.scm

flashing-tools.scm

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