[PATCH] gnu: libjaylink: Update to 699b700. openocd: Update to 0.10.0

  • Done
  • quality assurance status badge
Details
5 participants
  • Leo Famulari
  • Ludovic Courtès
  • Marius Bakke
  • Theodoros Foradis
  • Theodoros Foradis
Owner
unassigned
Submitted by
Theodoros Foradis
Severity
normal
T
T
Theodoros Foradis wrote on 13 Jul 2017 11:59
(address . guix-patches@gnu.org)(name . Theodoros Foradis)(address . theodoros.for@openmailbox.org)
20170713095923.4115-1-theodoros.for@openmailbox.org
* gnu/packages/embedded.scm (libjaylink): Update to commit 699b700.
* gnu/packages/embedded.scm (openocd): Update to 0.10.0.
[arguments] <configure-flags>: Add "--enable-sysfsgpio" flag.
Remove "--enable-oocd_trace" flag.
[arguments] <phases>: Add phase "change-udev-group".
Add phase "install-udev-rules".
* gnu/packages/patches/openocd-nrf52.patch: Modify to apply on 0.10.0.
---
gnu/packages/embedded.scm | 119 ++++++++++++++++---------------
gnu/packages/patches/openocd-nrf52.patch | 64 +++++++----------
2 files changed, 87 insertions(+), 96 deletions(-)

Toggle diff (257 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index e509647ea..b9aa52cba 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016 Theodoros Foradis <theodoros.for@openmailbox.org>
+;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros.for@openmailbox.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;;
;;; This file is part of GNU Guix.
@@ -290,8 +290,8 @@ languages are C and C++.")
(define-public libjaylink
;; No release tarballs available.
- (let ((commit "faa2a433fdd3de211728f3da5921133214af9dd3")
- (revision "1"))
+ (let ((commit "699b7001d34a79c8e7064503dde1bede786fd7f0")
+ (revision "2"))
(package
(name "libjaylink")
(version (string-append "0.1.0-" revision "."
@@ -304,7 +304,7 @@ languages are C and C++.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "02crr56csz8whq3q4mrmdzzgwp5b0qvxm0fb18drclc3zj44yxl2"))))
+ "034872d44myycnzn67v5b8ixrgmg8sk32aqalvm5x7108w2byww1"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@@ -355,59 +355,66 @@ language.")
(license license:bsd-2)))
(define-public openocd
- ;; FIXME: Use tarball release after nrf52 patch is merged.
- (let ((commit "674141e8a7a6413cb803d90c2a20150260015f81")
- (revision "1"))
- (package
- (name "openocd")
- (version (string-append "0.9.0-" revision "."
- (string-take commit 7)))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "git://git.code.sf.net/p/openocd/code.git")
- (commit commit)))
- (sha256
- (base32
- "1i86jp0wawq78d73z8hp7q1pn7lmlvhjjr19f7299h4w40a5jf8j"))
- (file-name (string-append name "-" version "-checkout"))
- (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"
- "--disable-internal-jimtcl"
- "--disable-internal-libjaylink")
- (map (lambda (programmer)
- (string-append "--enable-" programmer))
- '("amtjtagaccel" "armjtagew" "buspirate" "ftdi"
- "gw16012" "jlink" "oocd_trace" "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
- (add-before 'configure 'autoreconf
- (lambda _
- (zero? (system* "autoreconf" "-vfi")))))))
- (home-page "http://openocd.org")
- (synopsis "On-Chip Debugger")
- (description "OpenOCD provides on-chip programming and debugging support
+ (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
+ (add-before 'configure 'autoreconf
+ (lambda _
+ (zero? (system* "autoreconf" "-vfi"))))
+ (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/")))))))
+ (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 latest versions as published
;; here: https://github.com/dbetz/propeller-gcc
diff --git a/gnu/packages/patches/openocd-nrf52.patch b/gnu/packages/patches/openocd-nrf52.patch
index 792575df7..0ec4348cb 100644
--- a/gnu/packages/patches/openocd-nrf52.patch
+++ b/gnu/packages/patches/openocd-nrf52.patch
@@ -21,19 +21,19 @@ Signed-off-by: Michael Dietz <mjdietzx@gmail.com>
---
diff --git a/src/flash/nor/Makefile.am b/src/flash/nor/Makefile.am
-index c167e8f..b6a2be3 100644
+index 727e4f2..839667c 100644
--- a/src/flash/nor/Makefile.am
+++ b/src/flash/nor/Makefile.am
-@@ -37,6 +37,7 @@ NOR_DRIVERS = \
- niietcm4.c \
- non_cfi.c \
- nrf51.c \
-+ nrf52.c \
- numicro.c \
- ocl.c \
- pic32mx.c \
+@@ -36,6 +36,7 @@ NOR_DRIVERS = \
+ %D%/niietcm4.c \
+ %D%/non_cfi.c \
+ %D%/nrf51.c \
++ %D%/nrf52.c \
+ %D%/numicro.c \
+ %D%/ocl.c \
+ %D%/pic32mx.c \
diff --git a/src/flash/nor/drivers.c b/src/flash/nor/drivers.c
-index 56a5cb2..3e071bd 100644
+index 56a5cb2..071273e 100644
--- a/src/flash/nor/drivers.c
+++ b/src/flash/nor/drivers.c
@@ -48,6 +48,7 @@ extern struct flash_driver mdr_flash;
@@ -48,7 +48,7 @@ index 56a5cb2..3e071bd 100644
&mrvlqspi_flash,
&niietcm4_flash,
&nrf51_flash,
-+ &nrf52_flash,
++ &nrf52_flash,
&numicro_flash,
&ocl_flash,
&pic32mx_flash,
@@ -792,47 +792,31 @@ index 0000000..7f2bd35
+ .protect_check = nrf52_protect_check,
+};
diff --git a/tcl/target/nrf52.cfg b/tcl/target/nrf52.cfg
-index c1cbf1a..a2567ff 100644
+index c1cbf1a..41a22ff 100644
--- a/tcl/target/nrf52.cfg
+++ b/tcl/target/nrf52.cfg
-@@ -5,15 +5,22 @@
- source [find target/swj-dp.tcl]
+@@ -10,6 +10,13 @@ if { [info exists CHIPNAME] } {
+ set _CHIPNAME nrf52
+ }
- if { [info exists CHIPNAME] } {
-- set _CHIPNAME $CHIPNAME
-+ set _CHIPNAME $CHIPNAME
- } else {
-- set _CHIPNAME nrf52
-+ set _CHIPNAME nrf52
-+}
-+
+# Work-area is a space in RAM used for flash programming, by default use 16kB.
+if { [info exists WORKAREASIZE] } {
-+ set _WORKAREASIZE $WORKAREASIZE
++ set _WORKAREASIZE $WORKAREASIZE
+} else {
-+ set _WORKAREASIZE 0x4000
- }
-
++ set _WORKAREASIZE 0x4000
++}
++
if { [info exists CPUTAPID] } {
-- set _CPUTAPID $CPUTAPID
-+ set _CPUTAPID $CPUTAPID
+ set _CPUTAPID $CPUTAPID
} else {
-- set _CPUTAPID 0x2ba01477
-+ set _CPUTAPID 0x2ba01477
- }
-
- swj_newdap $_CHIPNAME cpu -expected-id $_CPUTAPID
-@@ -21,8 +28,15 @@ swj_newdap $_CHIPNAME cpu -expected-id $_CPUTAPID
- set _TARGETNAME $_CHIPNAME.cpu
+@@ -22,7 +29,15 @@ set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME cortex_m -chain-position $_TARGETNAME
--adapter_khz 10000
+ adapter_khz 10000
+$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0
--if { ![using_hla] } {
-- cortex_m reset_config sysresetreq
-+if {![using_hla]} {
-+ cortex_m reset_config sysresetreq
+ if { ![using_hla] } {
+ cortex_m reset_config sysresetreq
}
+
+flash bank $_CHIPNAME.flash nrf52 0x00000000 0 1 1 $_TARGETNAME
--
2.13.2
L
L
Leo Famulari wrote on 23 Jul 2017 02:12
(name . Theodoros Foradis)(address . theodoros.for@openmailbox.org)(address . 27683@debbugs.gnu.org)
20170723001221.GB24840@jasmine.lan
On Thu, Jul 13, 2017 at 12:59:23PM +0300, Theodoros Foradis wrote:

Hi Theodoros,

Toggle quote (8 lines)
> * gnu/packages/embedded.scm (libjaylink): Update to commit 699b700.
> * gnu/packages/embedded.scm (openocd): Update to 0.10.0.
> [arguments] <configure-flags>: Add "--enable-sysfsgpio" flag.
> Remove "--enable-oocd_trace" flag.
> [arguments] <phases>: Add phase "change-udev-group".
> Add phase "install-udev-rules".
> * gnu/packages/patches/openocd-nrf52.patch: Modify to apply on 0.10.0.

Thanks for this patch and sorry for the slow response.

Overall the changes look good to me, but can you clarify if they need to
be applied in the same commit like this?
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAllz6eUACgkQJkb6MLrK
fwjhFg/9GUhjGhOnBCD8YZpCySM4dK41hP5aqGk6xGR+K/s0U8Yj2ybeFoy5Yhlv
lVSyzEquJ/ptfuao4YX4nPUjvTqssDoK2/DsbZSjhbLzLMWYYaSpj9fCcC9PXuMx
tMTcknMzj6FuRlB+RlWcD+Txcqe1w7YYV4X3vLy3YpnmAkss/CZhG1zSKHNqq2mG
T481VsN627t/GZw3ZVQdFy4bhh7IltW2QT5d1/4M34xhBJCLdaakJA+IAcTGpQbO
fCP1UDgTlm7MOUkxHnUH+aB/cIOi1YAd64RQ9HTZ2irMSr2AlUwpV/kgBOESmNP+
4f9WzOctr/zd5qp263YG6KhjPxx4jzFurP3xDD5Ocl6wUTKHRdJEll5wa5A9GbL7
MeZYp0C26gij7H5b/nW/GOL9jjdY7NRSJ08MREnmMffXKLPgciHNl6F3WFSme2pY
DfhyNf0NMODYVm35PG9v1dvgSWX1oCTgqKM8lI3dlHpJ+aaSY6GLkkYPtDWwdRzf
ZTB8HpD0HDQZmA88iQoQd/lhv+yjwvB4dGkmDZ8xFx4cVYrWI69M5CCOcLqooG80
93/EoMtLljFRo2b7sScFeTE6oPcHSKuw/MA7JXn00AdKuMTFOKclUSEr065sloiY
nHjdyWzttPUeqwaLALoD+pg2ZORVCKKv7N75t3Hxj/Mi2vRSEk4=
=yxvn
-----END PGP SIGNATURE-----


T
T
Theodoros Foradis wrote on 25 Jul 2017 17:48
(address . 27683@debbugs.gnu.org)(name . Theodoros Foradis)(address . theodoros.for@openmailbox.org)
871sp4a56d.fsf@openmailbox.org
Hello Leo,

Toggle quote (3 lines)
> Overall the changes look good to me, but can you clarify if they need to
> be applied in the same commit like this?

I remember reading somewhere (irc or mailing list probably), that a
package should not break between commits (to be able to bisect). That
would be the case with openocd, if libjaylink is updated before openocd.

If this concern is not valid, I can split the commit in two and resubmit
the patches.

Regards,
--
Theodoros Foradis
M
M
Marius Bakke wrote on 25 Jul 2017 22:52
Re: [bug#27683] [PATCH] gnu: libjaylink: Update to 699b700. openocd: Update to 0.10.0
87fudkjl22.fsf@fastmail.com
Theodoros Foradis <theodoros.for@openmailbox.org> writes:

Toggle quote (12 lines)
> Hello Leo,
>
>> Overall the changes look good to me, but can you clarify if they need to
>> be applied in the same commit like this?
>
> I remember reading somewhere (irc or mailing list probably), that a
> package should not break between commits (to be able to bisect). That
> would be the case with openocd, if libjaylink is updated before openocd.
>
> If this concern is not valid, I can split the commit in two and resubmit
> the patches.

There are certain cases where updating together make a lot of sense,
such as the gstreamer- or qt-family packages. But for mostly-unrelated
programs it's better to have the patches in bite-sized chunks.

I agree that they should be updated separately. We often break packages
in commits, wittingly or not ;-)
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAll3r6YACgkQoqBt8qM6
VPrciggAiEbJqsjQ1Rtnx5FzTbNUyKDSG+sLvs5aK7020DlGYdF4cnTtWU9gsJBX
xecg8D1okuq5ZzrxDjALmGTz/tYNqMi9FevOGFGlGDwAuEnzFzS57xdLc+RvaKdg
DQi9XwZfp85Ao1UgaxdLWIWYjQ8GnzHUN28x0qkuda6gDxc1o44I+a1T2onGQSs8
9w8BE0FscCAiXJnvKdVAL8CQYtk3vJNeP7nofboQuwHdsAPk7OKkvfLkEh3khHKJ
uvJhMk6QqP+d8U+d4nSgtiJRAVelDv2/67qpwwyXE4Tj5g8sXcru1/6OFeMQybos
UCFHkW6H0gD1B1Y7l4qYtLEwlQx4WA==
=GWSW
-----END PGP SIGNATURE-----

T
T
Theodoros Foradis wrote on 29 Jul 2017 20:31
[PATCH v2 1/2] gnu: libjaylink: Update to commit 699b700.
(address . 27683@debbugs.gnu.org)
20170729183116.7940-1-theodoros.for@openmailbox.org
* gnu/packages/embedded.scm (libjaylink): Update to commit 699b700.
---
gnu/packages/embedded.scm | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

Toggle diff (34 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index e509647ea..6ccbef659 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016 Theodoros Foradis <theodoros.for@openmailbox.org>
+;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros.for@openmailbox.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;;
;;; This file is part of GNU Guix.
@@ -290,8 +290,8 @@ languages are C and C++.")
(define-public libjaylink
;; No release tarballs available.
- (let ((commit "faa2a433fdd3de211728f3da5921133214af9dd3")
- (revision "1"))
+ (let ((commit "699b7001d34a79c8e7064503dde1bede786fd7f0")
+ (revision "2"))
(package
(name "libjaylink")
(version (string-append "0.1.0-" revision "."
@@ -304,7 +304,7 @@ languages are C and C++.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "02crr56csz8whq3q4mrmdzzgwp5b0qvxm0fb18drclc3zj44yxl2"))))
+ "034872d44myycnzn67v5b8ixrgmg8sk32aqalvm5x7108w2byww1"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
--
2.13.2
T
T
Theodoros Foradis wrote on 29 Jul 2017 20:31
[PATCH v2 2/2] gnu: openocd: Update to 0.10.0
(address . 27683@debbugs.gnu.org)
20170729183116.7940-2-theodoros.for@openmailbox.org
* gnu/packages/embedded.scm (openocd): Update to 0.10.0.
[arguments] <configure-flags>: Add "--enable-sysfsgpio" flag.
Remove "--enable-oocd_trace" flag.
[arguments] <phases>: Add phase "change-udev-group".
Add phase "install-udev-rules".
* gnu/packages/patches/openocd-nrf52.patch: Modify to apply on 0.10.0.
---
gnu/packages/embedded.scm | 111 ++++++++++++++++---------------
gnu/packages/patches/openocd-nrf52.patch | 64 +++++++-----------
2 files changed, 83 insertions(+), 92 deletions(-)

Toggle diff (229 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 6ccbef659..b9aa52cba 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -355,59 +355,66 @@ language.")
(license license:bsd-2)))
(define-public openocd
- ;; FIXME: Use tarball release after nrf52 patch is merged.
- (let ((commit "674141e8a7a6413cb803d90c2a20150260015f81")
- (revision "1"))
- (package
- (name "openocd")
- (version (string-append "0.9.0-" revision "."
- (string-take commit 7)))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "git://git.code.sf.net/p/openocd/code.git")
- (commit commit)))
- (sha256
- (base32
- "1i86jp0wawq78d73z8hp7q1pn7lmlvhjjr19f7299h4w40a5jf8j"))
- (file-name (string-append name "-" version "-checkout"))
- (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"
- "--disable-internal-jimtcl"
- "--disable-internal-libjaylink")
- (map (lambda (programmer)
- (string-append "--enable-" programmer))
- '("amtjtagaccel" "armjtagew" "buspirate" "ftdi"
- "gw16012" "jlink" "oocd_trace" "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
- (add-before 'configure 'autoreconf
- (lambda _
- (zero? (system* "autoreconf" "-vfi")))))))
- (home-page "http://openocd.org")
- (synopsis "On-Chip Debugger")
- (description "OpenOCD provides on-chip programming and debugging support
+ (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
+ (add-before 'configure 'autoreconf
+ (lambda _
+ (zero? (system* "autoreconf" "-vfi"))))
+ (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/")))))))
+ (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 latest versions as published
;; here: https://github.com/dbetz/propeller-gcc
diff --git a/gnu/packages/patches/openocd-nrf52.patch b/gnu/packages/patches/openocd-nrf52.patch
index 792575df7..0ec4348cb 100644
--- a/gnu/packages/patches/openocd-nrf52.patch
+++ b/gnu/packages/patches/openocd-nrf52.patch
@@ -21,19 +21,19 @@ Signed-off-by: Michael Dietz <mjdietzx@gmail.com>
---
diff --git a/src/flash/nor/Makefile.am b/src/flash/nor/Makefile.am
-index c167e8f..b6a2be3 100644
+index 727e4f2..839667c 100644
--- a/src/flash/nor/Makefile.am
+++ b/src/flash/nor/Makefile.am
-@@ -37,6 +37,7 @@ NOR_DRIVERS = \
- niietcm4.c \
- non_cfi.c \
- nrf51.c \
-+ nrf52.c \
- numicro.c \
- ocl.c \
- pic32mx.c \
+@@ -36,6 +36,7 @@ NOR_DRIVERS = \
+ %D%/niietcm4.c \
+ %D%/non_cfi.c \
+ %D%/nrf51.c \
++ %D%/nrf52.c \
+ %D%/numicro.c \
+ %D%/ocl.c \
+ %D%/pic32mx.c \
diff --git a/src/flash/nor/drivers.c b/src/flash/nor/drivers.c
-index 56a5cb2..3e071bd 100644
+index 56a5cb2..071273e 100644
--- a/src/flash/nor/drivers.c
+++ b/src/flash/nor/drivers.c
@@ -48,6 +48,7 @@ extern struct flash_driver mdr_flash;
@@ -48,7 +48,7 @@ index 56a5cb2..3e071bd 100644
&mrvlqspi_flash,
&niietcm4_flash,
&nrf51_flash,
-+ &nrf52_flash,
++ &nrf52_flash,
&numicro_flash,
&ocl_flash,
&pic32mx_flash,
@@ -792,47 +792,31 @@ index 0000000..7f2bd35
+ .protect_check = nrf52_protect_check,
+};
diff --git a/tcl/target/nrf52.cfg b/tcl/target/nrf52.cfg
-index c1cbf1a..a2567ff 100644
+index c1cbf1a..41a22ff 100644
--- a/tcl/target/nrf52.cfg
+++ b/tcl/target/nrf52.cfg
-@@ -5,15 +5,22 @@
- source [find target/swj-dp.tcl]
+@@ -10,6 +10,13 @@ if { [info exists CHIPNAME] } {
+ set _CHIPNAME nrf52
+ }
- if { [info exists CHIPNAME] } {
-- set _CHIPNAME $CHIPNAME
-+ set _CHIPNAME $CHIPNAME
- } else {
-- set _CHIPNAME nrf52
-+ set _CHIPNAME nrf52
-+}
-+
+# Work-area is a space in RAM used for flash programming, by default use 16kB.
+if { [info exists WORKAREASIZE] } {
-+ set _WORKAREASIZE $WORKAREASIZE
++ set _WORKAREASIZE $WORKAREASIZE
+} else {
-+ set _WORKAREASIZE 0x4000
- }
-
++ set _WORKAREASIZE 0x4000
++}
++
if { [info exists CPUTAPID] } {
-- set _CPUTAPID $CPUTAPID
-+ set _CPUTAPID $CPUTAPID
+ set _CPUTAPID $CPUTAPID
} else {
-- set _CPUTAPID 0x2ba01477
-+ set _CPUTAPID 0x2ba01477
- }
-
- swj_newdap $_CHIPNAME cpu -expected-id $_CPUTAPID
-@@ -21,8 +28,15 @@ swj_newdap $_CHIPNAME cpu -expected-id $_CPUTAPID
- set _TARGETNAME $_CHIPNAME.cpu
+@@ -22,7 +29,15 @@ set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME cortex_m -chain-position $_TARGETNAME
--adapter_khz 10000
+ adapter_khz 10000
+$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0
--if { ![using_hla] } {
-- cortex_m reset_config sysresetreq
-+if {![using_hla]} {
-+ cortex_m reset_config sysresetreq
+ if { ![using_hla] } {
+ cortex_m reset_config sysresetreq
}
+
+flash bank $_CHIPNAME.flash nrf52 0x00000000 0 1 1 $_TARGETNAME
--
2.13.2
T
T
Theodoros Foradis wrote on 26 Sep 2017 20:42
Re: [bug#27683] [PATCH] gnu: libjaylink: Update to 699b700. openocd: Update to 0.10.0
(name . Leo Famulari)(address . leo@famulari.name)(address . 27683@debbugs.gnu.org)
87wp4lgv3v.fsf@foradis.org
Hello,

Toggle quote (3 lines)
> Overall the changes look good to me, but can you clarify if they need to
> be applied in the same commit like this?

It has been some time since I submitted version 2 of the patch,
splitting it in two.

I revisited the patch and it wouldn't apply on master, so I reply with
the rebased patch that applies on current master.

Regards,
--
Theodoros Foradis
T
T
Theodoros Foradis wrote on 26 Sep 2017 20:46
[PATCH v3 1/2] gnu: libjaylink: Update to commit 699b700.
(address . 27683@debbugs.gnu.org)(name . Theodoros Foradis)(address . theodoros@foradis.org)
20170926184643.21794-1-theodoros@foradis.org
* gnu/packages/embedded.scm (libjaylink): Update to commit 699b700.
---
gnu/packages/embedded.scm | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

Toggle diff (34 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 2a298dca9..f99b17614 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016 Theodoros Foradis <theodoros.for@openmailbox.org>
+;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;;
;;; This file is part of GNU Guix.
@@ -290,8 +290,8 @@ languages are C and C++.")
(define-public libjaylink
;; No release tarballs available.
- (let ((commit "faa2a433fdd3de211728f3da5921133214af9dd3")
- (revision "1"))
+ (let ((commit "699b7001d34a79c8e7064503dde1bede786fd7f0")
+ (revision "2"))
(package
(name "libjaylink")
(version (string-append "0.1.0-" revision "."
@@ -304,7 +304,7 @@ languages are C and C++.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "02crr56csz8whq3q4mrmdzzgwp5b0qvxm0fb18drclc3zj44yxl2"))))
+ "034872d44myycnzn67v5b8ixrgmg8sk32aqalvm5x7108w2byww1"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
--
2.14.1
T
T
Theodoros Foradis wrote on 26 Sep 2017 20:46
[PATCH v3 2/2] gnu: openocd: Update to 0.10.0
(address . 27683@debbugs.gnu.org)(name . Theodoros Foradis)(address . theodoros@foradis.org)
20170926184643.21794-2-theodoros@foradis.org
* gnu/packages/embedded.scm (openocd): Update to 0.10.0.
[arguments] <configure-flags>: Add "--enable-sysfsgpio" flag.
Remove "--enable-oocd_trace" flag.
[arguments] <phases>: Add phase "change-udev-group".
Add phase "install-udev-rules".
* gnu/packages/patches/openocd-nrf52.patch: Modify to apply on 0.10.0.
---
gnu/packages/embedded.scm | 111 ++++++++++++++++---------------
gnu/packages/patches/openocd-nrf52.patch | 64 +++++++-----------
2 files changed, 83 insertions(+), 92 deletions(-)

Toggle diff (229 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index f99b17614..91c600353 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -355,59 +355,66 @@ language.")
(license license:bsd-2)))
(define-public openocd
- ;; FIXME: Use tarball release after nrf52 patch is merged.
- (let ((commit "674141e8a7a6413cb803d90c2a20150260015f81")
- (revision "1"))
- (package
- (name "openocd")
- (version (string-append "0.9.0-" revision "."
- (string-take commit 7)))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://git.code.sf.net/p/openocd/code.git")
- (commit commit)))
- (sha256
- (base32
- "1i86jp0wawq78d73z8hp7q1pn7lmlvhjjr19f7299h4w40a5jf8j"))
- (file-name (string-append name "-" version "-checkout"))
- (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"
- "--disable-internal-jimtcl"
- "--disable-internal-libjaylink")
- (map (lambda (programmer)
- (string-append "--enable-" programmer))
- '("amtjtagaccel" "armjtagew" "buspirate" "ftdi"
- "gw16012" "jlink" "oocd_trace" "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
- (add-after 'unpack 'autoreconf
- (lambda _
- (zero? (system* "autoreconf" "-vfi")))))))
- (home-page "http://openocd.org")
- (synopsis "On-Chip Debugger")
- (description "OpenOCD provides on-chip programming and debugging support
+ (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
+ (add-before 'configure 'autoreconf
+ (lambda _
+ (zero? (system* "autoreconf" "-vfi"))))
+ (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/")))))))
+ (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 latest versions as published
;; here: https://github.com/dbetz/propeller-gcc
diff --git a/gnu/packages/patches/openocd-nrf52.patch b/gnu/packages/patches/openocd-nrf52.patch
index 792575df7..0ec4348cb 100644
--- a/gnu/packages/patches/openocd-nrf52.patch
+++ b/gnu/packages/patches/openocd-nrf52.patch
@@ -21,19 +21,19 @@ Signed-off-by: Michael Dietz <mjdietzx@gmail.com>
---
diff --git a/src/flash/nor/Makefile.am b/src/flash/nor/Makefile.am
-index c167e8f..b6a2be3 100644
+index 727e4f2..839667c 100644
--- a/src/flash/nor/Makefile.am
+++ b/src/flash/nor/Makefile.am
-@@ -37,6 +37,7 @@ NOR_DRIVERS = \
- niietcm4.c \
- non_cfi.c \
- nrf51.c \
-+ nrf52.c \
- numicro.c \
- ocl.c \
- pic32mx.c \
+@@ -36,6 +36,7 @@ NOR_DRIVERS = \
+ %D%/niietcm4.c \
+ %D%/non_cfi.c \
+ %D%/nrf51.c \
++ %D%/nrf52.c \
+ %D%/numicro.c \
+ %D%/ocl.c \
+ %D%/pic32mx.c \
diff --git a/src/flash/nor/drivers.c b/src/flash/nor/drivers.c
-index 56a5cb2..3e071bd 100644
+index 56a5cb2..071273e 100644
--- a/src/flash/nor/drivers.c
+++ b/src/flash/nor/drivers.c
@@ -48,6 +48,7 @@ extern struct flash_driver mdr_flash;
@@ -48,7 +48,7 @@ index 56a5cb2..3e071bd 100644
&mrvlqspi_flash,
&niietcm4_flash,
&nrf51_flash,
-+ &nrf52_flash,
++ &nrf52_flash,
&numicro_flash,
&ocl_flash,
&pic32mx_flash,
@@ -792,47 +792,31 @@ index 0000000..7f2bd35
+ .protect_check = nrf52_protect_check,
+};
diff --git a/tcl/target/nrf52.cfg b/tcl/target/nrf52.cfg
-index c1cbf1a..a2567ff 100644
+index c1cbf1a..41a22ff 100644
--- a/tcl/target/nrf52.cfg
+++ b/tcl/target/nrf52.cfg
-@@ -5,15 +5,22 @@
- source [find target/swj-dp.tcl]
+@@ -10,6 +10,13 @@ if { [info exists CHIPNAME] } {
+ set _CHIPNAME nrf52
+ }
- if { [info exists CHIPNAME] } {
-- set _CHIPNAME $CHIPNAME
-+ set _CHIPNAME $CHIPNAME
- } else {
-- set _CHIPNAME nrf52
-+ set _CHIPNAME nrf52
-+}
-+
+# Work-area is a space in RAM used for flash programming, by default use 16kB.
+if { [info exists WORKAREASIZE] } {
-+ set _WORKAREASIZE $WORKAREASIZE
++ set _WORKAREASIZE $WORKAREASIZE
+} else {
-+ set _WORKAREASIZE 0x4000
- }
-
++ set _WORKAREASIZE 0x4000
++}
++
if { [info exists CPUTAPID] } {
-- set _CPUTAPID $CPUTAPID
-+ set _CPUTAPID $CPUTAPID
+ set _CPUTAPID $CPUTAPID
} else {
-- set _CPUTAPID 0x2ba01477
-+ set _CPUTAPID 0x2ba01477
- }
-
- swj_newdap $_CHIPNAME cpu -expected-id $_CPUTAPID
-@@ -21,8 +28,15 @@ swj_newdap $_CHIPNAME cpu -expected-id $_CPUTAPID
- set _TARGETNAME $_CHIPNAME.cpu
+@@ -22,7 +29,15 @@ set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME cortex_m -chain-position $_TARGETNAME
--adapter_khz 10000
+ adapter_khz 10000
+$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0
--if { ![using_hla] } {
-- cortex_m reset_config sysresetreq
-+if {![using_hla]} {
-+ cortex_m reset_config sysresetreq
+ if { ![using_hla] } {
+ cortex_m reset_config sysresetreq
}
+
+flash bank $_CHIPNAME.flash nrf52 0x00000000 0 1 1 $_TARGETNAME
--
2.14.1
L
L
Ludovic Courtès wrote on 28 Sep 2017 14:24
Re: [bug#27683] [PATCH] gnu: libjaylink: Update to 699b700. openocd: Update to 0.10.0
(name . Theodoros Foradis)(address . theodoros@foradis.org)
874lrnt3it.fsf@gnu.org
Hi Theodoros,

Theodoros Foradis <theodoros@foradis.org> skribis:

Toggle quote (9 lines)
>> Overall the changes look good to me, but can you clarify if they need to
>> be applied in the same commit like this?
>
> It has been some time since I submitted version 2 of the patch,
> splitting it in two.
>
> I revisited the patch and it wouldn't apply on master, so I reply with
> the rebased patch that applies on current master.

I went ahead and applied both. Sorry that it took so long!

Thank you,
Ludo’.
Closed
?