summaryrefslogtreecommitdiff
path: root/gnu/packages/embedded.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/embedded.scm')
-rw-r--r--gnu/packages/embedded.scm209
1 files changed, 111 insertions, 98 deletions
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index f9f0e04238..d6f487bd17 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
@@ -36,6 +36,7 @@
#:use-module (guix build-system trivial)
#:use-module ((guix build utils) #:select (alist-replace))
#:use-module (gnu packages)
+ #:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module ((gnu packages base) #:prefix base:)
#:use-module (gnu packages bison)
@@ -458,40 +459,36 @@ languages are C and C++.")
,@(package-arguments gdb)))))
(define-public libjaylink
- ;; No release tarballs available.
- (let ((commit "699b7001d34a79c8e7064503dde1bede786fd7f0")
- (revision "2"))
- (package
- (name "libjaylink")
- (version (string-append "0.1.0-" revision "."
- (string-take commit 7)))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://git.zapb.de/libjaylink.git")
- (commit commit)))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "034872d44myycnzn67v5b8ixrgmg8sk32aqalvm5x7108w2byww1"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("libusb" ,libusb)))
- (home-page "https://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
+ (package
+ (name "libjaylink")
+ (version "0.2.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://repo.or.cz/libjaylink.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0ndyfh51hiqyv2yscpj6qd091w7myxxjid3a6rx8f6k233vy826q"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libusb" ,libusb)))
+ (home-page "https://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
SEGGER J-Link and compatible devices.")
- (license license:gpl2+))))
+ (license license:gpl2+)))
(define-public jimtcl
(package
(name "jimtcl")
- (version "0.79")
+ (version "0.80")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -500,17 +497,26 @@ SEGGER J-Link and compatible devices.")
(file-name (git-file-name name version))
(sha256
(base32
- "1k88hz0v3bi19xdvlp0i9nsx38imzwpjh632w7326zwbv2wldf0h"))))
+ "06rn60cx9sapc175vxvan87b8j5rkhh5gvvz7343xznzwlr0wcgk"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
- ;; Doesn't use autoconf.
(replace 'configure
+ ;; This package doesn't use autoconf.
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(invoke "./configure"
- (string-append "--prefix=" out))))))))
+ (string-append "--prefix=" out)))))
+ (add-before 'check 'delete-failing-tests
+ (lambda _
+ ;; XXX All but 1 TTY tests fail (Inappropriate ioctl for device).
+ (delete-file "tests/tty.test")
+ #t))
+ )))
+ (native-inputs
+ ;; For tests.
+ `(("inetutils" ,inetutils))) ; for hostname
(home-page "http://jim.tcl.tk/index.html")
(synopsis "Small footprint Tcl implementation")
(description "Jim is a small footprint implementation of the Tcl programming
@@ -518,67 +524,71 @@ language.")
(license license:bsd-2)))
(define-public openocd
- (package
- (name "openocd")
- (version "0.10.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/openocd/openocd/"
- version "/openocd-" version ".tar.gz"))
- (sha256
- (base32
- "09p57y3c2spqx4vjjlz1ljm1lcd0j9q8g76ywxqgn3yc34wv18zd"))
- ;; FIXME: Remove after nrf52 patch is merged.
- (patches
- (search-patches "openocd-nrf52.patch"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("hidapi" ,hidapi)
- ("jimtcl" ,jimtcl)
- ("libftdi" ,libftdi)
- ("libjaylink" ,libjaylink)
- ("libusb-compat" ,libusb-compat)))
- (arguments
- '(#:configure-flags
- (append (list "--disable-werror"
- "--enable-sysfsgpio"
- "--disable-internal-jimtcl"
- "--disable-internal-libjaylink")
- (map (lambda (programmer)
- (string-append "--enable-" programmer))
- '("amtjtagaccel" "armjtagew" "buspirate" "ftdi"
- "gw16012" "jlink" "opendous" "osbdm"
- "parport" "aice" "cmsis-dap" "dummy" "jtag_vpi"
- "remote-bitbang" "rlink" "stlink" "ti-icdi" "ulink"
- "usbprog" "vsllink" "usb-blaster-2" "usb_blaster"
- "presto" "openjtag")))
- #:phases
- (modify-phases %standard-phases
- ;; Required because of patched sources.
- (add-before 'configure 'autoreconf
- (lambda _ (invoke "autoreconf" "-vfi") #t))
- (add-after 'autoreconf 'change-udev-group
- (lambda _
- (substitute* "contrib/60-openocd.rules"
- (("plugdev") "dialout"))
- #t))
- (add-after 'install 'install-udev-rules
- (lambda* (#:key outputs #:allow-other-keys)
- (install-file "contrib/60-openocd.rules"
- (string-append
- (assoc-ref outputs "out")
- "/lib/udev/rules.d/"))
- #t)))))
- (home-page "http://openocd.org")
- (synopsis "On-Chip Debugger")
- (description "OpenOCD provides on-chip programming and debugging support
+ (let ((commit "9a877a83a1c8b1f105cdc0de46c5cbc4d9e8799e")
+ (revision "0"))
+ (package
+ (name "openocd")
+ (version (string-append "0.10.0-" revision "."
+ (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.code.sf.net/p/openocd/code")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1q536cp80v2bcy6xwk08f1r2ljyw13jchx3a1z7d3ni3vqql7rc6"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("which" ,base:which)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("hidapi" ,hidapi)
+ ("jimtcl" ,jimtcl)
+ ("libftdi" ,libftdi)
+ ("libjaylink" ,libjaylink)
+ ("libusb-compat" ,libusb-compat)))
+ (arguments
+ '(#:configure-flags
+ (append (list "--disable-werror"
+ "--enable-sysfsgpio"
+ "--disable-internal-jimtcl"
+ "--disable-internal-libjaylink")
+ (map (lambda (programmer)
+ (string-append "--enable-" programmer))
+ '("amtjtagaccel" "armjtagew" "buspirate" "ftdi"
+ "gw16012" "jlink" "opendous" "osbdm"
+ "parport" "aice" "cmsis-dap" "dummy" "jtag_vpi"
+ "remote-bitbang" "rlink" "stlink" "ti-icdi" "ulink"
+ "usbprog" "vsllink" "usb-blaster-2" "usb_blaster"
+ "presto" "openjtag")))
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'bootstrap
+ (lambda _
+ (patch-shebang "bootstrap")
+ (invoke "./bootstrap" "nosubmodule")))
+ (add-after 'autoreconf 'change-udev-group
+ (lambda _
+ (substitute* "contrib/60-openocd.rules"
+ (("plugdev") "dialout"))
+ #t))
+ (add-after 'install 'install-udev-rules
+ (lambda* (#:key outputs #:allow-other-keys)
+ (install-file "contrib/60-openocd.rules"
+ (string-append
+ (assoc-ref outputs "out")
+ "/lib/udev/rules.d/"))
+ #t)))))
+ (home-page "http://openocd.org")
+ (synopsis "On-Chip Debugger")
+ (description "OpenOCD provides on-chip programming and debugging support
with a layered architecture of JTAG interface and TAP support.")
- (license license:gpl2+)))
+ (license license:gpl2+))))
;; The commits for all propeller tools are the stable versions published at
;; https://github.com/propellerinc/propgcc in the release_1_0. According to
@@ -1014,8 +1024,8 @@ the Raspberry Pi chip.")
(home-page "https://github.com/puppeh/vc4-toolchain/"))))
(define-public gcc-vc4
- (let ((commit "165f6d0e11d2e76ee799533bb45bd5c92bf60dc2")
- (xgcc (cross-gcc "vc4-elf" #:xbinutils binutils-vc4)))
+ (let ((commit "0fe4b83897341742f9df65797474cb0feab4b377")
+ (xgcc (cross-gcc "vc4-elf" #:xgcc gcc-6 #:xbinutils binutils-vc4)))
(package (inherit xgcc)
(name "gcc-vc4")
(source (origin
@@ -1029,7 +1039,10 @@ the Raspberry Pi chip.")
"-checkout"))
(sha256
(base32
- "13h30qjcwnlz6lfma1d82nnvfmjnhh7abkagip4vly6vm5fpnvf2"))))
+ "0kvaq4s0assvinmmicwqp07d0wwldcw0fv6f4k13whp3q5909jnr"))
+ (patches
+ (search-patches "gcc-6-fix-buffer-size.patch"
+ "gcc-6-fix-isl-includes.patch"))))
(native-inputs
`(("flex" ,flex)
,@(package-native-inputs xgcc)))
@@ -1366,7 +1379,7 @@ debugging them, and more.")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/john30/ebusd.git")
+ (url "https://github.com/john30/ebusd")
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
@@ -1394,7 +1407,7 @@ debugging them, and more.")
,(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/john30/ebusd-configuration.git")
+ (url "https://github.com/john30/ebusd-configuration")
(commit "666c0f6b9c4d7545eff7f43ab28a1c7baeab7913")))
(file-name "config-checkout")
(sha256