Commit | Line | Data |
---|---|---|
4acd5c0f | 1 | ;;; GNU Guix --- Functional package management for GNU |
eff5f452 | 2 | ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> |
4acd5c0f MR |
3 | ;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> |
4 | ;;; | |
5 | ;;; This file is part of GNU Guix. | |
6 | ;;; | |
7 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
8 | ;;; under the terms of the GNU General Public License as published by | |
9 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
10 | ;;; your option) any later version. | |
11 | ;;; | |
12 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
13 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | ;;; GNU General Public License for more details. | |
16 | ;;; | |
17 | ;;; You should have received a copy of the GNU General Public License | |
18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
19 | ||
eff5f452 | 20 | (define-module (gnu packages flashing-tools) |
4acd5c0f MR |
21 | #:use-module (guix licenses) |
22 | #:use-module (guix download) | |
23 | #:use-module (guix packages) | |
24 | #:use-module (gnu packages) | |
25 | #:use-module (guix build-system gnu) | |
26 | #:use-module (gnu packages bison) | |
27 | #:use-module (gnu packages flex) | |
28 | #:use-module (gnu packages elf) | |
eff5f452 | 29 | #:use-module (gnu packages pkg-config) |
4acd5c0f | 30 | #:use-module (gnu packages libusb) |
eff5f452 MR |
31 | #:use-module (gnu packages libftdi) |
32 | #:use-module (gnu packages pciutils) | |
33 | #:use-module (gnu packages admin)) | |
34 | ||
35 | (define-public flashrom | |
36 | (package | |
37 | (name "flashrom") | |
38 | (version "0.9.7") | |
39 | (source (origin | |
40 | (method url-fetch) | |
41 | (uri (string-append | |
42 | "http://download.flashrom.org/releases/flashrom-" | |
43 | version ".tar.bz2")) | |
44 | (sha256 | |
45 | (base32 | |
46 | "1s9pc4yls2s1gcg2ar4q75nym2z5v6lxq36bl6lq26br00nj2mas")) | |
47 | (patches (list (search-patch "flashrom-use-libftdi1.patch"))))) | |
48 | (build-system gnu-build-system) | |
49 | (inputs `(("dmidecode" ,dmidecode) | |
50 | ("pciutils" ,pciutils) | |
51 | ("libusb" ,libusb) | |
52 | ("libftdi" ,libftdi))) | |
53 | (native-inputs `(("pkg-config" ,pkg-config))) | |
54 | (arguments | |
55 | '(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)) | |
56 | #:tests? #f ; no 'check' target | |
57 | #:phases | |
58 | (alist-delete | |
59 | 'configure | |
60 | (alist-cons-before | |
61 | 'build 'patch-exec-paths | |
62 | (lambda* (#:key inputs #:allow-other-keys) | |
63 | (substitute* "dmi.c" | |
64 | (("\"dmidecode\"") | |
65 | (format #f "~S" | |
66 | (string-append (assoc-ref inputs "dmidecode") | |
67 | "/sbin/dmidecode"))))) | |
68 | %standard-phases)))) | |
69 | (home-page "http://flashrom.org/") | |
70 | (synopsis "Identify, read, write, erase, and verify ROM/flash chips") | |
71 | (description | |
72 | "flashrom is a utility for identifying, reading, writing, | |
73 | verifying and erasing flash chips. It is designed to flash | |
74 | BIOS/EFI/coreboot/firmware/optionROM images on mainboards, | |
75 | network/graphics/storage controller cards, and various other | |
76 | programmer devices.") | |
77 | (license gpl2))) | |
4acd5c0f MR |
78 | |
79 | (define-public avrdude | |
80 | (package | |
81 | (name "avrdude") | |
82 | (version "6.1") | |
83 | (source | |
84 | (origin | |
85 | (method url-fetch) | |
86 | (uri (string-append "mirror://savannah/avrdude/avrdude-" | |
87 | version ".tar.gz")) | |
88 | (sha256 | |
89 | (base32 | |
90 | "0frxg0q09nrm95z7ymzddx7ysl77ilfbdix1m81d9jjpiv5bm64y")) | |
91 | (patches (list (search-patch "avrdude-fix-libusb.patch"))))) | |
92 | (build-system gnu-build-system) | |
93 | (inputs | |
94 | `(("libelf" ,libelf) | |
95 | ("libusb" ,libusb) | |
96 | ("libftdi" ,libftdi))) | |
97 | (native-inputs | |
98 | `(("bison" ,bison) | |
99 | ("flex" ,flex))) | |
100 | (home-page "http://www.nongnu.org/avrdude/") | |
101 | (synopsis "AVR downloader and uploader") | |
102 | (description | |
103 | "AVRDUDE is a utility to download/upload/manipulate the ROM and | |
104 | EEPROM contents of AVR microcontrollers using the in-system programming | |
105 | technique (ISP).") | |
106 | (license gpl2+))) | |
2a9a4fb8 MR |
107 | |
108 | (define-public dfu-programmer | |
109 | (package | |
110 | (name "dfu-programmer") | |
111 | (version "0.7.0") | |
112 | (source | |
113 | (origin | |
114 | (method url-fetch) | |
115 | (uri (string-append "mirror://sourceforge/dfu-programmer/dfu-programmer-" | |
116 | version ".tar.gz")) | |
117 | (sha256 | |
118 | (base32 | |
119 | "17lglglk5xrqd2n0impg5bkq4j96qc51cw3kzcghzmzmn6fvg3gf")) | |
120 | (patches (list (search-patch "dfu-programmer-fix-libusb.patch"))))) | |
121 | (build-system gnu-build-system) | |
122 | (inputs | |
123 | `(("libusb" ,libusb))) | |
124 | (home-page "http://dfu-programmer.github.io/") | |
125 | (synopsis "Device firmware update programmer for Atmel chips") | |
126 | (description | |
7c125ce0 AK |
127 | "Dfu-programmer is a multi-platform command-line programmer for |
128 | Atmel (8051, AVR, XMEGA & AVR32) chips with a USB bootloader supporting | |
129 | ISP.") | |
2a9a4fb8 | 130 | (license gpl2+))) |