X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/9721c0b6ef80f10edb3f0bcf5d95033f701554f2..698a34482af6833c334aca8b5f4d1f82f7564ffa:/gnu/packages/flashing-tools.scm diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm index 08073bac79..f993912838 100644 --- a/gnu/packages/flashing-tools.scm +++ b/gnu/packages/flashing-tools.scm @@ -2,11 +2,11 @@ ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2014 Manolis Fragkiskos Ragkousis ;;; Copyright © 2016 Hartmut Goebel -;;; Copyright © 2016 Ludovic Courtès -;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016, 2018 Ludovic Courtès +;;; Copyright © 2016, 2019 Efraim Flashner ;;; Copyright © 2017 Jonathan Brielmaier ;;; Copyright © 2017 Julien Lepiller -;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,6 +31,7 @@ #:use-module (gnu packages) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (gnu packages bison) #:use-module (gnu packages compression) #:use-module (gnu packages flex) @@ -47,15 +48,15 @@ (define-public flashrom (package (name "flashrom") - (version "1.0") + (version "1.2") (source (origin (method url-fetch) (uri (string-append - "https://download.flashrom.org/releases/flashrom-" + "https://download.flashrom.org/releases/flashrom-v" version ".tar.bz2")) (sha256 (base32 - "0r7fkpfc8w51n8ffbhclj4wa3kwrk0ijv1acwpw5myx5bchzl0ip")))) + "0ax4kqnh7kd3z120ypgp73qy1knz47l6qxsqzrfkd97mh5cdky71")))) (build-system gnu-build-system) (inputs `(("dmidecode" ,dmidecode) ("pciutils" ,pciutils) @@ -63,9 +64,10 @@ ("libftdi" ,libftdi))) (native-inputs `(("pkg-config" ,pkg-config))) (arguments - '(#:make-flags (list "CC=gcc" - (string-append "PREFIX=" %output) - "CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no") + '(#:make-flags + (list "CC=gcc" + (string-append "PREFIX=" %output) + "CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no") #:tests? #f ; no 'check' target #:phases (modify-phases %standard-phases @@ -91,25 +93,28 @@ programmer devices.") (define-public 0xffff (package (name "0xffff") - (version "0.7") + (version "0.8") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/pali/0xffff/archive/" - version ".tar.gz")) - (file-name (string-append "0xFFFF" version ".tar.gz" )) - (sha256 - (base32 - "1g4032c81wkk37wvbg1dxcqq6mnd76y9x7f2crmzqi6z4q9jcxmj")))) + (method git-fetch) + (uri (git-reference + (url "https://github.com/pali/0xffff.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1a5b7k96vzirb0m8lqp7ldn77ppz4ngf56wslhsj2c6flcyvns4v")))) (build-system gnu-build-system) (inputs - `(("libusb",libusb-0.1))) ; doesn't work with libusb-compat + `(("libusb" ,libusb-0.1))) ; doesn't work with libusb-compat (arguments '(#:phases (modify-phases %standard-phases - (delete 'configure)) ; no configure - #:make-flags (list (string-append "PREFIX=" %output)) - #:tests? #f)) ; no 'check' target + (delete 'configure)) ; no configure + #:make-flags + (list "CC=gcc" + "BUILD_DATE=GNU Guix" + (string-append "PREFIX=" %output)) + #:tests? #f)) ; no 'check' target (home-page "https://github.com/pali/0xFFFF") (synopsis "Flash FIASCO images on Maemo devices") (description @@ -122,15 +127,14 @@ brick your device.") (define-public avrdude (package (name "avrdude") - (version "6.1") + (version "6.3") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/avrdude/avrdude-" version ".tar.gz")) (sha256 - (base32 - "0frxg0q09nrm95z7ymzddx7ysl77ilfbdix1m81d9jjpiv5bm64y")))) + (base32 "15m1w1qad3dj7r8n5ng1qqcaiyx1gyd6hnc3p2apgjllccdp77qg")))) (build-system gnu-build-system) (inputs `(("libelf" ,libelf) @@ -139,12 +143,12 @@ brick your device.") (native-inputs `(("bison" ,bison) ("flex" ,flex))) - (home-page "http://www.nongnu.org/avrdude/") + (home-page "https://www.nongnu.org/avrdude/") (synopsis "AVR downloader and uploader") (description "AVRDUDE is a utility to download/upload/manipulate the ROM and -EEPROM contents of AVR microcontrollers using the in-system programming -technique (ISP).") +EEPROM contents of AVR microcontrollers using the @acronym{ISP, in-system +programming} technique.") (license license:gpl2+))) (define-public dfu-programmer @@ -207,14 +211,15 @@ firmware from it.") (let ((commit "f289b7a2e5627464044249f0e5742830e052e360")) (package (name "teensy-loader-cli") - (version (string-append "2.1-1." (string-take commit 7))) + (version (git-version "2.1" "1" commit)) (source (origin - (method url-fetch) - (uri (string-append "https://github.com/PaulStoffregen/" - "teensy_loader_cli/archive/" commit ".tar.gz")) - (sha256 (base32 "17wqc2q4fa473cy7f5m2yiyb9nq0qw7xal2kzrxzaikgm9rabsw8")) - (file-name (string-append "teensy-loader-cli-" version ".tar.gz" )) + (method git-fetch) + (uri (git-reference + (url "https://github.com/PaulStoffregen/teensy_loader_cli.git") + (commit commit))) + (sha256 (base32 "0sssim56pwsxp5cp5dlf6mi9h5fx2592m6j1g7abnm0s09b0lpdx")) + (file-name (git-file-name name version)) (modules '((guix build utils))) (snippet `(begin @@ -252,21 +257,21 @@ non-root users.") (license license:gpl3)))) (define-public rkflashtool - (let ((commit "094bd6410cb016e487e2ccb1050c59eeac2e6dd1") + (let ((commit "8966c4e277de8148290554aaaa4146a3a84a3c53") (revision "1")) (package (name "rkflashtool") - (version (string-append "0.0.0-" revision "." (string-take commit 7))) + (version (git-version "5.2" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/linux-rockchip/rkflashtool.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 - "1zkd8zxir3rfg3sy9r20bcnxclnplryn583gqpcr3iad0k3xbah7")))) + "1ndyzg1zlgg20dd8js9kfqm5kq19k005vddkvf65qj20w0pcyahn")))) (build-system gnu-build-system) (arguments '(#:phases @@ -290,17 +295,18 @@ RK3036, RK3066, RK312X, RK3168, RK3188, RK3288, RK3368.") (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")) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/BenjaminDobell/Heimdall.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1y7gwg3lipyp2zcysm2vid1qg5nwin9bxbvgzs28lz2rya4fz6sq")))) + "1ygn4snvcmi98rgldgxf5hwm7zzi1zcsihfvm6awf9s6mpcjzbqz")))) (build-system cmake-build-system) (arguments - `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release") - #:tests? #f; no tests + `(#:build-type "Release" + #:tests? #f ; no tests #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-invocations @@ -323,7 +329,7 @@ RK3036, RK3066, RK312X, RK3168, RK3188, RK3288, RK3368.") `(("libusb" ,libusb) ("qtbase" ,qtbase) ("zlib" ,zlib))) - (home-page "http://glassechidna.com.au/heimdall/") + (home-page "https://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 @@ -335,16 +341,16 @@ referred to as the \"Odin 3 protocol\".") (define-public ifdtool (package (name "ifdtool") - (version "4.7") + (version "4.9") (source (origin (method git-fetch) (uri (git-reference - (url "https://review.coreboot.org/p/coreboot") + (url "https://github.com/coreboot/coreboot.git") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 - "0nw555i0fm5kljha9h47bk70ykbwv8ddfk6qhz6kfqb79vzhy4h2")))) + "0jidj29jh6p65d17k304wlzhxvp4p3c2namgcdwg2sxq8jfr0zlm")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -353,15 +359,15 @@ referred to as the \"Odin 3 protocol\".") (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases - (add-after 'unpack 'chdir - (lambda _ - (chdir "util/ifdtool") - #t)) - (delete 'configure) - (delete 'check)))) + (add-after 'unpack 'chdir + (lambda _ + (chdir "util/ifdtool") + #t)) + (delete 'configure)) ; no configure script + #:tests? #f)) ; no test suite (home-page "https://github.com/corna/me_cleaner/") (synopsis "Intel Firmware Descriptor dumper") - (description "This package provides @ifdtool}, a program to + (description "This package provides @command{ifdtool}, a program to dump Intel Firmware Descriptor data of an image file.") (license license:gpl2))) @@ -396,9 +402,77 @@ dump Intel Firmware Descriptor data of an image file.") (delete 'configure) (delete 'check)))) (home-page "https://github.com/zamaudio/intelmetool") - (synopsis "Intel ME tools") + (synopsis "Intel Management Engine tools") (description "This package provides tools for working with Intel Management Engine (ME). You need to @code{sudo rmmod mei_me} and @code{sudo rmmod mei} before using this tool. Also pass @code{iomem=relaxed} to the Linux kernel command line.") - (license license:gpl2))) + (license license:gpl2) + + ;; This is obviously an Intel thing, plus it requires . + (supported-systems '("x86_64-linux" "i686-linux")))) + +(define-public me-cleaner + (package + (name "me-cleaner") + (version "1.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/corna/me_cleaner.git") + (commit (string-append "v" version)))) + (sha256 + (base32 + "1bdj2clm13ir441vn7sv860xsc5gh71ja5lc2wn0gggnff0adxj4")) + (file-name (git-file-name name version)))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-documentation + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (man (string-append out "/share/man/man1"))) + (install-file "man/me_cleaner.1" man) + #t)))))) + (home-page "https://github.com/corna/me_cleaner") + (synopsis "Intel ME cleaner") + (description "This package provides tools for disabling Intel +ME as far as possible (it only edits ME firmware image files).") + (license license:gpl3+) + + ;; This is an Intel thing. + (supported-systems '("x86_64-linux" "i686-linux")))) + +(define-public uefitool + (package + (name "uefitool") + (version "0.27.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/LongSoft/UEFITool.git") + (commit version))) + (sha256 + (base32 + "1i1p823qld927p4f1wcphqcnivb9mq7fi5xmzibxc3g9zzgnyc2h")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda _ + (invoke "qmake" "-makefile"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (install-file "UEFITool" (string-append (assoc-ref outputs "out") + "/bin")) + #t))))) + (inputs + `(("qtbase" ,qtbase))) + (home-page "https://github.com/LongSoft/UEFITool/") + (synopsis "UEFI image editor") + (description "@code{uefitool} is a graphical image file editor for +Unifinished Extensible Firmware Interface (UEFI) images.") + (license license:bsd-2)))