;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2014 Manolis Fragkiskos Ragkousis ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages flashing-tools) #:use-module (guix licenses) #:use-module (guix download) #:use-module (guix packages) #:use-module (gnu packages) #:use-module (guix build-system gnu) #:use-module (gnu packages bison) #:use-module (gnu packages flex) #:use-module (gnu packages elf) #:use-module (gnu packages pkg-config) #:use-module (gnu packages libusb) #:use-module (gnu packages libftdi) #:use-module (gnu packages pciutils) #:use-module (gnu packages admin)) (define-public flashrom (package (name "flashrom") (version "0.9.7") (source (origin (method url-fetch) (uri (string-append "http://download.flashrom.org/releases/flashrom-" version ".tar.bz2")) (sha256 (base32 "1s9pc4yls2s1gcg2ar4q75nym2z5v6lxq36bl6lq26br00nj2mas")) (patches (list (search-patch "flashrom-use-libftdi1.patch"))))) (build-system gnu-build-system) (inputs `(("dmidecode" ,dmidecode) ("pciutils" ,pciutils) ("libusb" ,libusb) ("libftdi" ,libftdi))) (native-inputs `(("pkg-config" ,pkg-config))) (arguments '(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)) #:tests? #f ; no 'check' target #:phases (alist-delete 'configure (alist-cons-before 'build 'patch-exec-paths (lambda* (#:key inputs #:allow-other-keys) (substitute* "dmi.c" (("\"dmidecode\"") (format #f "~S" (string-append (assoc-ref inputs "dmidecode") "/sbin/dmidecode"))))) %standard-phases)))) (home-page "http://flashrom.org/") (synopsis "Identify, read, write, erase, and verify ROM/flash chips") (description "flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips. It is designed to flash BIOS/EFI/coreboot/firmware/optionROM images on mainboards, network/graphics/storage controller cards, and various other programmer devices.") (license gpl2))) (define-public avrdude (package (name "avrdude") (version "6.1") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/avrdude/avrdude-" version ".tar.gz")) (sha256 (base32 "0frxg0q09nrm95z7ymzddx7ysl77ilfbdix1m81d9jjpiv5bm64y")) (patches (list (search-patch "avrdude-fix-libusb.patch"))))) (build-system gnu-build-system) (inputs `(("libelf" ,libelf) ("libusb" ,libusb) ("libftdi" ,libftdi))) (native-inputs `(("bison" ,bison) ("flex" ,flex))) (home-page "http://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).") (license gpl2+))) (define-public dfu-programmer (package (name "dfu-programmer") (version "0.7.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/dfu-programmer/dfu-programmer-" version ".tar.gz")) (sha256 (base32 "17lglglk5xrqd2n0impg5bkq4j96qc51cw3kzcghzmzmn6fvg3gf")) (patches (list (search-patch "dfu-programmer-fix-libusb.patch"))))) (build-system gnu-build-system) (inputs `(("libusb" ,libusb))) (home-page "http://dfu-programmer.github.io/") (synopsis "Device firmware update programmer for Atmel chips") (description "Dfu-programmer is a multi-platform command-line programmer for Atmel (8051, AVR, XMEGA & AVR32) chips with a USB bootloader supporting ISP") (license gpl2+))) ust accordingly. * tests/guix-refresh.sh: "guix refresh -t test idutils" and similar return zero; adjust accordingly. Ludovic Courtès 2023-04-21tests: Fix checks for expected failures....Addresses <https://issues.guix.gnu.org/62406>. With 'set -e', a return status inverted with '!' does not cause the shell to exit immediately. Instead use '&& false' to indicate an expected failure. * tests/guix-archive.sh, tests/guix-build-branch.sh, tests/guix-build.sh, tests/guix-daemon.sh, tests/guix-download.sh, tests/guix-environment-container.sh, tests/guix-environment.sh, tests/guix-gc.sh, tests/guix-git-authenticate.sh, tests/guix-graph.sh, tests/guix-hash.sh, tests/guix-home.sh, tests/guix-pack-relocatable.sh, tests/guix-pack.sh, tests/guix-package-aliases.sh, tests/guix-package-net.sh, tests/guix-package.sh, tests/guix-refresh.sh, tests/guix-shell.sh, tests/guix-style.sh, tests/guix-system.sh: Replace uses of '! ...' with '... && false' or `test ! ...` as appropriate. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Eric Bavier 2023-01-25tests: Do not try to create "$HOME/.config"....Previously this test would fail when HOME=/homeless-shelter and said directory cannot be created. * tests/guix-refresh.sh: Pass '--keyring' together with '-u'. Ludovic Courtès 2023-01-08refresh: Add CLI tests....* guix/import/test.scm, tests/guix-refresh.sh: New files. * Makefile.am (MODULES, SH_TESTS): Add them. Ludovic Courtès