all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ricardo Wurmus <rekado@elephly.net>
To: Theodoros Foradis <theodoros.for@openmailbox.org>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH v2 3/3] gnu: Add openocd.
Date: Fri, 28 Oct 2016 08:14:44 +0200	[thread overview]
Message-ID: <87h97xf19n.fsf@elephly.net> (raw)
In-Reply-To: <20161026210807.27390-4-theodoros.for@openmailbox.org>


Theodoros Foradis <theodoros.for@openmailbox.org> writes:

> +;; We build openocd from git, because the JTAG library libjaylink
> +;; is not included in tarball releases.

Is there a separate release of libjaylink?  Does the git version bundle
libjaylink?  I’d prefer packaging proper releases of libjaylink and
openocd, if that’s the case.

> +(define-public openocd
> +  (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 (string-append "git://git.code.sf.net/p/" name "/code.git"))
> +                      (commit commit)
> +                      (recursive? #t)))
> +                (sha256
> +                 (base32 "0p8rcqhkx3f29j08w33fkp8xnzj4xxa41lzdfq5wd1i4x8s07s0p"))
> +                (file-name (string-append name "-" version "-checkout.tar.xz"))
> +                (patches
> +                 (search-patches "openocd-nrf52.patch"))))
> +      (build-system gnu-build-system)
> +      (arguments
> +       '(#:configure-flags
> +         (append (list "--disable-werror")
> +                 (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"))))
> +           (add-after 'autoreconf 'patch-configure
> +             (lambda _
> +               (substitute* "configure"
> +                 (("SHELL = /bin/sh") (string-append "SHELL = "
> (which "sh"))))

Is this really necessary?  Or can we just pass “SHELL” as a configure
flag to override?

> +               (substitute* "configure"
> +                 (("srcdir/src/jtag/drivers/libjaylink/configure.gnu")
> +                  (string-append "echo -e '#!" (which "sh") "\nexec \"`dirname \"'\\$'0\"`
> +/configure\" --enable-subproject-build \"'\\$'@\"' > \"
> +$srcdir/src/jtag/drivers/libjaylink/configure.gnu\"")))

This isn’t clear to me.  What happens here?  Why is the additional
configure flag needed?  Could you add a comment as to the intent of this
substitution?

> +               #t)))))
> +      (inputs
> +       `(("hidapi" ,hidapi)
> +         ("libftdi" ,libftdi)
> +         ("libusb" ,libusb)
> +         ("libusb-compat" ,libusb-compat)))

Both libusb AND libusb-compat?

> +      (native-inputs
> +       `(("autoconf" ,autoconf)
> +         ("automake" ,automake)
> +         ("libtool" ,libtool)
> +         ("pkg-config" ,pkg-config)))
> +      (home-page "http://openocd.org")
> +      (synopsis "Open On-Chip Debugger")

s/Open//

I know that that’s what OpenOCD stands for, but everything is free
software (or “open source”) in Guix anyway, so we usually don’t mention
“free” or “open”.

> +      (description
> +       "OpenOCD provides on-chip programming and debugging support with a
> +layered architecture of JTAG interface and TAP support.")
> +      (license (list license:gpl2       ;; openocd and git2cl submodule
> +                     license:gpl2+      ;; libjaylink submodule
> +                     license:bsd-2))))) ;; jimctl submodule

Please use a single “;” for margin comments like this.

> diff --git a/gnu/packages/patches/openocd-nrf52.patch b/gnu/packages/patches/openocd-nrf52.patch
> new file mode 100644
> index 0000000..d136735
> --- /dev/null
> +++ b/gnu/packages/patches/openocd-nrf52.patch
> @@ -0,0 +1,843 @@
> +This patch adds support for nRF52 series devices. It is patchset 7 from
> +http://openocd.zylin.com/#/c/3511/ , which has been tested, but not
> +merged yet in master.

Nitpick: please use two spaces between sentences and surround the URL in
<…>, so that the space between URL and comma can be removed.

~~ Ricardo

  parent reply	other threads:[~2016-10-28  6:15 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-25 13:26 [PATCH 0/3] gnu: Add gdb-arm-none-eabi and openocd Theodoros Foradis
2016-10-25 13:26 ` [PATCH 1/3] gnu: Add gdb-arm-none-eabi Theodoros Foradis
2016-10-26 12:57   ` David Craven
2016-10-25 13:26 ` [PATCH 2/3] gnu: Add hidapi Theodoros Foradis
2016-10-26 12:55   ` David Craven
2016-10-26 18:29     ` Theodoros Foradis
2016-10-26 18:50       ` David Craven
2016-10-25 13:26 ` [PATCH 3/3] gnu: Add openocd Theodoros Foradis
2016-10-26 12:49   ` David Craven
2016-10-26 21:08     ` [PATCH v2 0/3] gnu: Add gdb-arm-none-eabi and openocd Theodoros Foradis
2016-10-26 21:08       ` [PATCH v2 1/3] gnu: Add gdb-arm-none-eabi Theodoros Foradis
2016-10-26 21:08       ` [PATCH v2 2/3] gnu: Add hidapi Theodoros Foradis
2016-10-28  6:19         ` Ricardo Wurmus
2016-10-28 15:35           ` Theodoros Foradis
2016-10-26 21:08       ` [PATCH v2 3/3] gnu: Add openocd Theodoros Foradis
2016-10-27  6:24         ` Efraim Flashner
2016-10-28  6:14         ` Ricardo Wurmus [this message]
2016-10-28 17:36           ` Theodoros Foradis
2016-10-28 17:36             ` [PATCH v3 1/3] gnu: Add gdb-arm-none-eabi Theodoros Foradis
2016-10-28 17:36             ` [PATCH v3 2/3] gnu: Add hidapi Theodoros Foradis
2016-11-09 15:45               ` Ludovic Courtès
2016-10-28 17:36             ` [PATCH v3 3/3] gnu: Add openocd Theodoros Foradis
2016-10-30  1:40               ` David Craven
2016-10-30  5:34                 ` Ricardo Wurmus
2016-10-30 13:05                   ` David Craven
2016-10-30 18:18                     ` Ricardo Wurmus
2016-10-30 18:19                       ` David Craven
2016-10-30 18:24                   ` Ricardo Wurmus
2017-02-13 19:44               ` Leo Famulari

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87h97xf19n.fsf@elephly.net \
    --to=rekado@elephly.net \
    --cc=guix-devel@gnu.org \
    --cc=theodoros.for@openmailbox.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.