diff options
Diffstat (limited to 'gnu/packages/embedded.scm')
-rw-r--r-- | gnu/packages/embedded.scm | 52 |
1 files changed, 43 insertions, 9 deletions
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index 0174224616..f20d1e17c7 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,6 +28,7 @@ #:use-module (guix svn-download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (guix build utils) @@ -319,12 +321,6 @@ languages are C and C++.") ("pkg-config" ,pkg-config))) (inputs `(("libusb" ,libusb))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'autoreconf - (lambda _ - (zero? (system* "autoreconf" "-vfi"))))))) (home-page "http://repo.or.cz/w/libjaylink.git") (synopsis "Library to interface Segger J-Link devices") (description "libjaylink is a shared library written in C to access @@ -402,9 +398,9 @@ language.") "presto" "openjtag"))) #:phases (modify-phases %standard-phases + ;; Required because of patched sources. (add-before 'configure 'autoreconf - (lambda _ - (zero? (system* "autoreconf" "-vfi")))) + (lambda _ (invoke "autoreconf" "-vfi") #t)) (add-after 'autoreconf 'change-udev-group (lambda _ (substitute* "contrib/60-openocd.rules" @@ -415,7 +411,8 @@ language.") (install-file "contrib/60-openocd.rules" (string-append (assoc-ref outputs "out") - "/lib/udev/rules.d/"))))))) + "/lib/udev/rules.d/")) + #t))))) (home-page "http://openocd.org") (synopsis "On-Chip Debugger") (description "OpenOCD provides on-chip programming and debugging support @@ -1104,3 +1101,40 @@ and displaying decoded target responses. @end enumerate") (home-page "https://www.freecalypso.org/") (license license:public-domain))) + +(define-public stlink + (package + (name "stlink") + (version "1.5.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/texane/stlink/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "01z1cz1a5xbbhd163qrqcgp4bi1k145pb80jmwdz50g7sfzmy570")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ;no tests + #:configure-flags + (let* ((out (assoc-ref %outputs "out")) + (etc (in-vicinity out "etc")) + (modprobe (in-vicinity etc "modprobe.d")) + (udev-rules (in-vicinity etc "udev/rules.d"))) + (list (string-append "-DSTLINK_UDEV_RULES_DIR=" udev-rules) + (string-append "-DSTLINK_MODPROBED_DIR=" modprobe))))) + (inputs + `(("libusb" ,libusb))) + (synopsis "Programmer for STM32 Discovery boards") + (description "This package provides a firmware programmer for the STM32 +Discovery boards. It supports two versions of the chip: ST-LINK/V1 (on +STM32VL discovery kits) and ST-LINK/V2 (on STM32L discovery and later kits). +Two different transport layers are used: ST-LINK/V1 uses SCSI passthru +commands over USB, and ST-LINK/V2 and ST-LINK/V2-1 (seen on Nucleo boards) use +raw USB commands.") + (home-page "https://github.com/texane/stlink") + ;; The flashloaders/stm32l0x.s and flashloaders/stm32lx.s source files are + ;; licensed under the GPLv2+. + (license (list license:bsd-3 license:gpl2+)))) |