gnu: Add heimdall.
* gnu/packages/flashing-tools.scm (heimdall): New variable. Co-Authored-By: Danny Milosavljevic <dannym@scratchpost.org>
This commit is contained in:
parent
500aac750e
commit
f282aa530b
|
@ -5,6 +5,7 @@
|
||||||
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||||
;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||||
|
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -22,19 +23,22 @@
|
||||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
(define-module (gnu packages flashing-tools)
|
(define-module (gnu packages flashing-tools)
|
||||||
#:use-module (guix licenses)
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
#:use-module (guix git-download)
|
#:use-module (guix git-download)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
|
#:use-module (guix build-system cmake)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (gnu packages bison)
|
#:use-module (gnu packages bison)
|
||||||
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages flex)
|
#:use-module (gnu packages flex)
|
||||||
#:use-module (gnu packages elf)
|
#:use-module (gnu packages elf)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages libusb)
|
#:use-module (gnu packages libusb)
|
||||||
#:use-module (gnu packages libftdi)
|
#:use-module (gnu packages libftdi)
|
||||||
#:use-module (gnu packages pciutils)
|
#:use-module (gnu packages pciutils)
|
||||||
|
#:use-module (gnu packages qt)
|
||||||
#:use-module (gnu packages autotools)
|
#:use-module (gnu packages autotools)
|
||||||
#:use-module (gnu packages admin))
|
#: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,
|
BIOS/EFI/coreboot/firmware/optionROM images on mainboards,
|
||||||
network/graphics/storage controller cards, and various other
|
network/graphics/storage controller cards, and various other
|
||||||
programmer devices.")
|
programmer devices.")
|
||||||
(license gpl2)))
|
(license license:gpl2)))
|
||||||
|
|
||||||
(define-public 0xffff
|
(define-public 0xffff
|
||||||
(package
|
(package
|
||||||
|
@ -112,7 +116,7 @@ programmer devices.")
|
||||||
for FIASCO images. It supports generating, unpacking, editing and
|
for FIASCO images. It supports generating, unpacking, editing and
|
||||||
flashing of FIASCO images for Maemo devices. Use it with care. It can
|
flashing of FIASCO images for Maemo devices. Use it with care. It can
|
||||||
brick your device.")
|
brick your device.")
|
||||||
(license gpl3+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
(define-public avrdude
|
(define-public avrdude
|
||||||
(package
|
(package
|
||||||
|
@ -140,7 +144,7 @@ brick your device.")
|
||||||
"AVRDUDE is a utility to download/upload/manipulate the ROM and
|
"AVRDUDE is a utility to download/upload/manipulate the ROM and
|
||||||
EEPROM contents of AVR microcontrollers using the in-system programming
|
EEPROM contents of AVR microcontrollers using the in-system programming
|
||||||
technique (ISP).")
|
technique (ISP).")
|
||||||
(license gpl2+)))
|
(license license:gpl2+)))
|
||||||
|
|
||||||
(define-public dfu-programmer
|
(define-public dfu-programmer
|
||||||
(package
|
(package
|
||||||
|
@ -166,7 +170,7 @@ technique (ISP).")
|
||||||
"Dfu-programmer is a multi-platform command-line programmer for
|
"Dfu-programmer is a multi-platform command-line programmer for
|
||||||
Atmel (8051, AVR, XMEGA & AVR32) chips with a USB bootloader supporting
|
Atmel (8051, AVR, XMEGA & AVR32) chips with a USB bootloader supporting
|
||||||
ISP.")
|
ISP.")
|
||||||
(license gpl2+)))
|
(license license:gpl2+)))
|
||||||
|
|
||||||
(define-public dfu-util
|
(define-public dfu-util
|
||||||
(package
|
(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
|
With dfu-util you are able to download firmware to your device or upload
|
||||||
firmware from it.")
|
firmware from it.")
|
||||||
(home-page "http://dfu-util.sourceforge.net/")
|
(home-page "http://dfu-util.sourceforge.net/")
|
||||||
(license gpl2+)))
|
(license license:gpl2+)))
|
||||||
|
|
||||||
(define-public teensy-loader-cli
|
(define-public teensy-loader-cli
|
||||||
;; The repo does not tag versions nor does it use releases, but a commit
|
;; 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
|
You need to add the udev rules to make the Teensy update available for
|
||||||
non-root users.")
|
non-root users.")
|
||||||
(home-page "https://www.pjrc.com/teensy/loader_cli.html")
|
(home-page "https://www.pjrc.com/teensy/loader_cli.html")
|
||||||
(license gpl3))))
|
(license license:gpl3))))
|
||||||
|
|
||||||
(define-public rkflashtool
|
(define-public rkflashtool
|
||||||
(let ((commit "094bd6410cb016e487e2ccb1050c59eeac2e6dd1")
|
(let ((commit "094bd6410cb016e487e2ccb1050c59eeac2e6dd1")
|
||||||
|
@ -278,4 +282,51 @@ non-root users.")
|
||||||
(description "Allows flashing of Rockchip based embedded linux devices.
|
(description "Allows flashing of Rockchip based embedded linux devices.
|
||||||
The list of currently supported devices is: RK2818, RK2918, RK2928, RK3026,
|
The list of currently supported devices is: RK2818, RK2918, RK2928, RK3026,
|
||||||
RK3036, RK3066, RK312X, RK3168, RK3188, RK3288, RK3368.")
|
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)))
|
||||||
|
|
Loading…
Reference in New Issue