[PATCH 0/8] gnu: libftdi: Update to 1.5; other improvements.

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Simon South
Owner
unassigned
Submitted by
Simon South
Severity
normal

Debbugs page

Simon South wrote 2 years ago
(address . guix-patches@gnu.org)
cover.1694100583.git.simon@simonsouth.net
This patch series updates and improves the package for libftdi, a library for
communicating with USB-to-serial adapter ICs from FTDI.

The patches

- Refresh gently the formatting of the package;

- Disable the building of example programs, which aren't installed anyway;

- Enable the building of libftdi's ftdi_eeprom utility, its bindings for C++
and Python, and its API documentation; and

- Update libftdi to its latest version, 1.5.

I've kept the package in its own module as moving it to embedded.scm, where it
probably belongs, triggers the circular-dependency problem described in issue
65716.[0]

I've tested this on AArch64 and x86-64 with an FT232H module and everything
appears fine. All of libftdi's 14 dependents continue to build with the
exception of arachne-pnr, an existing failure.[1]



---

Simon South (8):
gnu: libftdi: Update package style.
gnu: libftdi: Do not build example programs.
gnu: libftdi: Install libraries to /lib instead of /lib64.
gnu: libftdi: Build ftdi_eeprom.
gnu: libftdi: Build C++ bindings.
gnu: libftdi: Build Python bindings.
gnu: libftdi: Update to 1.5.
gnu: libftdi: Build API documentation.

gnu/local.mk | 1 +
gnu/packages/libftdi.scm | 77 ++++++++++++++++---
.../libftdi-fix-paths-when-FTDIPP-set.patch | 39 ++++++++++
3 files changed, 106 insertions(+), 11 deletions(-)
create mode 100644 gnu/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch


base-commit: 811f4fc509a57ff14b1dd03d76fea66085e3f5e1
--
2.40.1
Simon South wrote 2 years ago
[PATCH 1/8] gnu: libftdi: Update package style.
(address . 65807@debbugs.gnu.org)
5a534789eab223f4d1f5a8c8b4b275c0f175f095.1694100583.git.simon@simonsouth.net
* gnu/packages/libftdi.scm: Re-order #:use-module statements.
(libftdi): Wrap long lines; reformat gently.
[license]: Use "license:" prefix.
---
gnu/packages/libftdi.scm | 19 +++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)

Toggle diff (47 lines)
diff --git a/gnu/packages/libftdi.scm b/gnu/packages/libftdi.scm
index e39e0b3d71..4cfa1d3424 100644
--- a/gnu/packages/libftdi.scm
+++ b/gnu/packages/libftdi.scm
@@ -18,12 +18,12 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages libftdi)
- #:use-module (guix licenses)
+ #:use-module (guix build-system cmake)
#:use-module (guix download)
+ #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (gnu packages)
- #:use-module (gnu packages libusb)
- #:use-module (guix build-system cmake))
+ #:use-module (gnu packages libusb))
(define-public libftdi
(package
@@ -32,18 +32,17 @@ (define-public libftdi
(source (origin
(method url-fetch)
(uri (string-append
- "http://www.intra2net.com/en/developer/libftdi/download/libftdi1-"
- version ".tar.bz2"))
+ "http://www.intra2net.com/en/developer/libftdi/download/"
+ "libftdi1-" version ".tar.bz2"))
(sha256
(base32
"0x0vncf6i92slgrn0h7ghkskqbglbs534220qa84d0qg114zndpc"))))
(build-system cmake-build-system)
(propagated-inputs
- (list libusb)) ; required by libftdi1.pc
+ (list libusb)) ; required by libftdi1.pc
(home-page "https://www.intra2net.com/en/developer/libftdi/")
(synopsis "FTDI USB driver with bitbang mode")
(description
- "libFTDI is a library to talk to FTDI chips: FT232BM,
-FT245BM, FT2232C, FT2232D, FT245R and FT232H including the popular
-bitbangmode.")
- (license lgpl2.1)))
+ "libFTDI is a library to talk to FTDI chips: FT232BM, FT245BM, FT2232C,
+FT2232D, FT245R and FT232H including the popular bitbangmode.")
+ (license license:lgpl2.1)))
--
2.40.1
Simon South wrote 2 years ago
[PATCH 2/8] gnu: libftdi: Do not build example programs.
(address . 65807@debbugs.gnu.org)
be1ea40dd1e080c8d59de5863cc4bb27c812b6a5.1694100583.git.simon@simonsouth.net
* gnu/packages/libftdi.scm (libftdi)[arguments]: Add with "-DEXAMPLES"
configure flag.
---
gnu/packages/libftdi.scm | 3 +++
1 file changed, 3 insertions(+)

Toggle diff (23 lines)
diff --git a/gnu/packages/libftdi.scm b/gnu/packages/libftdi.scm
index 4cfa1d3424..ae7cbe62f2 100644
--- a/gnu/packages/libftdi.scm
+++ b/gnu/packages/libftdi.scm
@@ -20,6 +20,7 @@
(define-module (gnu packages libftdi)
#:use-module (guix build-system cmake)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (gnu packages)
@@ -38,6 +39,8 @@ (define-public libftdi
(base32
"0x0vncf6i92slgrn0h7ghkskqbglbs534220qa84d0qg114zndpc"))))
(build-system cmake-build-system)
+ (arguments
+ (list #:configure-flags #~(list "-DEXAMPLES=OFF")))
(propagated-inputs
(list libusb)) ; required by libftdi1.pc
(home-page "https://www.intra2net.com/en/developer/libftdi/")
--
2.40.1
Simon South wrote 2 years ago
[PATCH 3/8] gnu: libftdi: Install libraries to /lib instead of /lib64.
(address . 65807@debbugs.gnu.org)
6398cc8bde36ccfb023e1317347edaa862b656ed.1694100583.git.simon@simonsouth.net
* gnu/packages/libftdi.scm (libftdi)[arguments]<#:configure-flags>: Add
"-DLIB_SUFFIX".
---
gnu/packages/libftdi.scm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

Toggle diff (18 lines)
diff --git a/gnu/packages/libftdi.scm b/gnu/packages/libftdi.scm
index ae7cbe62f2..f38346d8b2 100644
--- a/gnu/packages/libftdi.scm
+++ b/gnu/packages/libftdi.scm
@@ -40,7 +40,10 @@ (define-public libftdi
"0x0vncf6i92slgrn0h7ghkskqbglbs534220qa84d0qg114zndpc"))))
(build-system cmake-build-system)
(arguments
- (list #:configure-flags #~(list "-DEXAMPLES=OFF")))
+ (list
+ #:configure-flags
+ #~(list "-DEXAMPLES=OFF"
+ "-DLIB_SUFFIX=''"))) ; place libraries in /lib, not /lib64
(propagated-inputs
(list libusb)) ; required by libftdi1.pc
(home-page "https://www.intra2net.com/en/developer/libftdi/")
--
2.40.1
Simon South wrote 2 years ago
[PATCH 4/8] gnu: libftdi: Build ftdi_eeprom.
(address . 65807@debbugs.gnu.org)
0822dc36d28ded911b8d53e83a0c4032ba5e766b.1694100583.git.simon@simonsouth.net
* gnu/packages/libftdi.scm (libftdi)[arguments]<#:configure-flags>: Add
"-DCMAKE_INSTALL_DOCDIR".
[native-inputs]: Add with pkg-config.
[inputs]: Add with libconfuse.
[license]: Add GPL version 2.
---
gnu/packages/libftdi.scm | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)

Toggle diff (40 lines)
diff --git a/gnu/packages/libftdi.scm b/gnu/packages/libftdi.scm
index f38346d8b2..c5461bcf87 100644
--- a/gnu/packages/libftdi.scm
+++ b/gnu/packages/libftdi.scm
@@ -24,7 +24,9 @@ (define-module (gnu packages libftdi)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (gnu packages)
- #:use-module (gnu packages libusb))
+ #:use-module (gnu packages libusb)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages textutils))
(define-public libftdi
(package
@@ -42,8 +44,14 @@ (define-public libftdi
(arguments
(list
#:configure-flags
- #~(list "-DEXAMPLES=OFF"
+ #~(list (string-append "-DCMAKE_INSTALL_DOCDIR="
+ #$output "/share/doc/" #$name "-" #$version)
+ "-DEXAMPLES=OFF"
"-DLIB_SUFFIX=''"))) ; place libraries in /lib, not /lib64
+ (native-inputs
+ (list pkg-config))
+ (inputs
+ (list libconfuse))
(propagated-inputs
(list libusb)) ; required by libftdi1.pc
(home-page "https://www.intra2net.com/en/developer/libftdi/")
@@ -51,4 +59,5 @@ (define-public libftdi
(description
"libFTDI is a library to talk to FTDI chips: FT232BM, FT245BM, FT2232C,
FT2232D, FT245R and FT232H including the popular bitbangmode.")
- (license license:lgpl2.1)))
+ (license (list license:gpl2 ; ftdi_eeprom
+ license:lgpl2.1)))) ; main library
--
2.40.1
Simon South wrote 2 years ago
[PATCH 5/8] gnu: libftdi: Build C++ bindings.
(address . 65807@debbugs.gnu.org)
bf7375a72deeb252716d3ac1b3091e0742ca8ed2.1694100583.git.simon@simonsouth.net
Enabling the C++ bindings allows the test suite to be run, although this fails
without access to the host's USB interface.

* gnu/packages/libftdi.scm (libftdi)[arguments]: Add #:test-target, #:tests?.
(inputs): Add boost.
---
gnu/packages/libftdi.scm | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

Toggle diff (37 lines)
diff --git a/gnu/packages/libftdi.scm b/gnu/packages/libftdi.scm
index c5461bcf87..b5f481e9ba 100644
--- a/gnu/packages/libftdi.scm
+++ b/gnu/packages/libftdi.scm
@@ -24,6 +24,7 @@ (define-module (gnu packages libftdi)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (gnu packages)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages libusb)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages textutils))
@@ -47,11 +48,13 @@ (define-public libftdi
#~(list (string-append "-DCMAKE_INSTALL_DOCDIR="
#$output "/share/doc/" #$name "-" #$version)
"-DEXAMPLES=OFF"
- "-DLIB_SUFFIX=''"))) ; place libraries in /lib, not /lib64
+ "-DLIB_SUFFIX=''") ; place libraries in /lib, not /lib64
+ #:test-target "check"
+ #:tests? #f)) ; tests fail without access to USB
(native-inputs
(list pkg-config))
(inputs
- (list libconfuse))
+ (list boost libconfuse))
(propagated-inputs
(list libusb)) ; required by libftdi1.pc
(home-page "https://www.intra2net.com/en/developer/libftdi/")
@@ -59,5 +62,5 @@ (define-public libftdi
(description
"libFTDI is a library to talk to FTDI chips: FT232BM, FT245BM, FT2232C,
FT2232D, FT245R and FT232H including the popular bitbangmode.")
- (license (list license:gpl2 ; ftdi_eeprom
+ (license (list license:gpl2 ; ftdi_eeprom, C++ bindings
license:lgpl2.1)))) ; main library
--
2.40.1
Simon South wrote 2 years ago
[PATCH 6/8] gnu: libftdi: Build Python bindings.
(address . 65807@debbugs.gnu.org)
659b947425e7f82f19f4a04f5d7986ad77dbfd63.1694100583.git.simon@simonsouth.net
* gnu/packages/libftdi.scm (libftdi)[outputs]: Add "python".
[arguments]<#:phases>: Add with "install-python-binding" phase.
[native-inputs]: Add python, swig.
---
gnu/packages/libftdi.scm | 24 +++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)

Toggle diff (70 lines)
diff --git a/gnu/packages/libftdi.scm b/gnu/packages/libftdi.scm
index b5f481e9ba..d9ebd4a2df 100644
--- a/gnu/packages/libftdi.scm
+++ b/gnu/packages/libftdi.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2023 Simon South <simon@simonsouth.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -18,15 +19,19 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages libftdi)
+ #:use-module (guix build utils)
#:use-module (guix build-system cmake)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
+ #:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages boost)
#:use-module (gnu packages libusb)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages swig)
#:use-module (gnu packages textutils))
(define-public libftdi
@@ -42,6 +47,7 @@ (define-public libftdi
(base32
"0x0vncf6i92slgrn0h7ghkskqbglbs534220qa84d0qg114zndpc"))))
(build-system cmake-build-system)
+ (outputs '("out" "python"))
(arguments
(list
#:configure-flags
@@ -49,10 +55,26 @@ (define-public libftdi
#$output "/share/doc/" #$name "-" #$version)
"-DEXAMPLES=OFF"
"-DLIB_SUFFIX=''") ; place libraries in /lib, not /lib64
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'install-python-binding
+ (lambda _
+ (let* ((python-version
+ #$(version-major+minor (package-version python)))
+ (python-lib-path
+ (string-append "/lib/python" python-version)))
+ (mkdir-p (string-append #$output:python "/lib"))
+ (mkdir-p (string-append #$output:python "/share/libftdi"))
+ (rename-file (string-append #$output python-lib-path)
+ (string-append #$output:python python-lib-path))
+ (rename-file (string-append #$output
+ "/share/libftdi/examples")
+ (string-append #$output:python
+ "/share/libftdi/examples"))))))
#:test-target "check"
#:tests? #f)) ; tests fail without access to USB
(native-inputs
- (list pkg-config))
+ (list pkg-config python swig))
(inputs
(list boost libconfuse))
(propagated-inputs
--
2.40.1
Simon South wrote 2 years ago
[PATCH 8/8] gnu: libftdi: Build API documentation.
(address . 65807@debbugs.gnu.org)
08486d261a51ddd5b64110e9ef2802fdf0b31f46.1694100583.git.simon@simonsouth.net
* gnu/packages/libftdi.scm (libftdi)[outputs]: Add "doc" output.
[arguments]<#:configure-flags>: Add "-DDOCUMENTATION".
<#:phases>: Add "install-documentation" phase.
[native-inputs]: Add doxygen, graphviz.
---
gnu/packages/libftdi.scm | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)

Toggle diff (53 lines)
diff --git a/gnu/packages/libftdi.scm b/gnu/packages/libftdi.scm
index ae3e6cf660..f4998cd84e 100644
--- a/gnu/packages/libftdi.scm
+++ b/gnu/packages/libftdi.scm
@@ -28,6 +28,8 @@ (define-module (gnu packages libftdi)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages documentation)
+ #:use-module (gnu packages graphviz)
#:use-module (gnu packages libusb)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@@ -49,12 +51,13 @@ (define-public libftdi
(patches
(search-patches "libftdi-fix-paths-when-FTDIPP-set.patch"))))
(build-system cmake-build-system)
- (outputs '("out" "python"))
+ (outputs '("out" "doc" "python"))
(arguments
(list
#:configure-flags
#~(list (string-append "-DCMAKE_INSTALL_DOCDIR="
#$output "/share/doc/" #$name "-" #$version)
+ "-DDOCUMENTATION=ON"
"-DEXAMPLES=OFF"
"-DFTDIPP=ON"
"-DLIB_SUFFIX=''" ; place libraries in /lib, not /lib64
@@ -74,11 +77,20 @@ (define-public libftdi
(rename-file (string-append #$output
"/share/libftdi/examples")
(string-append #$output:python
- "/share/libftdi/examples"))))))
+ "/share/libftdi/examples")))))
+ (add-after 'install-python-binding 'install-documentation
+ (lambda _
+ (let ((share (string-append #$output:doc "/share")))
+ (copy-recursively "doc/man"
+ (string-append share "/man"))
+ (copy-recursively "doc/html"
+ (string-append share "/doc/"
+ #$name "-" #$version
+ "/html"))))))
#:test-target "check"
#:tests? #f)) ; tests fail without access to USB
(native-inputs
- (list pkg-config python swig))
+ (list doxygen graphviz pkg-config python swig))
(inputs
(list boost libconfuse))
(propagated-inputs
--
2.40.1
Simon South wrote 2 years ago
[PATCH 7/8] gnu: libftdi: Update to 1.5.
(address . 65807@debbugs.gnu.org)
40a4075d34a5a29b74c6bd9cb9d36698e5d24eeb.1694100583.git.simon@simonsouth.net
* gnu/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/libftdi.scm (libftdi): Update to 1.5.
[source]: Apply patch.
[arguments]<#:configure-flags>: Add "-DFTDIPP", "-DPYTHON_BINDINGS".
---
gnu/local.mk | 1 +
gnu/packages/libftdi.scm | 10 +++--
.../libftdi-fix-paths-when-FTDIPP-set.patch | 39 +++++++++++++++++++
3 files changed, 47 insertions(+), 3 deletions(-)
create mode 100644 gnu/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch

Toggle diff (94 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 54aec9316a..1f1f9450ab 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1445,6 +1445,7 @@ dist_patch_DATA = \
%D%/packages/patches/json-c-0.12-CVE-2020-12762.patch \
%D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \
%D%/packages/patches/julia-Use-MPFR-4.2.patch \
+ %D%/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch \
%D%/packages/patches/libgeotiff-fix-tests-with-proj-9.1.1.patch \
%D%/packages/patches/libobjc2-unbundle-robin-map.patch \
%D%/packages/patches/librime-fix-build-with-gcc10.patch \
diff --git a/gnu/packages/libftdi.scm b/gnu/packages/libftdi.scm
index d9ebd4a2df..ae3e6cf660 100644
--- a/gnu/packages/libftdi.scm
+++ b/gnu/packages/libftdi.scm
@@ -37,7 +37,7 @@ (define-module (gnu packages libftdi)
(define-public libftdi
(package
(name "libftdi")
- (version "1.4")
+ (version "1.5")
(source (origin
(method url-fetch)
(uri (string-append
@@ -45,7 +45,9 @@ (define-public libftdi
"libftdi1-" version ".tar.bz2"))
(sha256
(base32
- "0x0vncf6i92slgrn0h7ghkskqbglbs534220qa84d0qg114zndpc"))))
+ "0jdh5r499wbz83vmpskczq5m3cfc1mcv8xqisj5i95k1r3lr2w3w"))
+ (patches
+ (search-patches "libftdi-fix-paths-when-FTDIPP-set.patch"))))
(build-system cmake-build-system)
(outputs '("out" "python"))
(arguments
@@ -54,7 +56,9 @@ (define-public libftdi
#~(list (string-append "-DCMAKE_INSTALL_DOCDIR="
#$output "/share/doc/" #$name "-" #$version)
"-DEXAMPLES=OFF"
- "-DLIB_SUFFIX=''") ; place libraries in /lib, not /lib64
+ "-DFTDIPP=ON"
+ "-DLIB_SUFFIX=''" ; place libraries in /lib, not /lib64
+ "-DPYTHON_BINDINGS=ON")
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-python-binding
diff --git a/gnu/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch b/gnu/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch
new file mode 100644
index 0000000000..0a81cceb26
--- /dev/null
+++ b/gnu/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch
@@ -0,0 +1,39 @@
+commit cdb28383402d248dbc6062f4391b038375c52385
+Author: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Fri Jul 17 21:25:03 2020 +0200
+
+ CMakeLists.txt: fix paths when FTDIPP is set
+
+ Use the same project name (i.e. libftdi1 and not libftdipp1) when FTDIPP
+ is enabled as suggested by Aurelien Jarno in
+ http://developer.intra2net.com/mailarchive/html/libftdi/2020/msg00044.html
+
+ Without this change, the libftdi1.pc config file defines the include
+ path as /usr/local/include/libftdipp1 while the ftdi.h file is actually
+ installed in /usr/local/include/libftdi1
+
+ This is an issue for example for libsigrok which will fail on:
+
+ In file included from src/hardware/asix-sigma/protocol.c:27:
+ src/hardware/asix-sigma/protocol.h:28:10: fatal error: ftdi.h: No such file or directory
+ 28 | #include <ftdi.h>
+ | ^~~~~~~~
+
+ Fixes:
+ - http://autobuild.buildroot.org/results/1427f44e36752c337791597fab47a1889552a2fe
+
+ Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5aecafc..3b0b87c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -136,7 +136,7 @@ endif ()
+
+ add_subdirectory(src)
+ if ( FTDIPP )
+- project(libftdipp1 C CXX)
++ project(libftdi1 C CXX)
+ add_subdirectory(ftdipp)
+ endif ()
+ if ( PYTHON_BINDINGS )
--
2.40.1
Simon South wrote 2 years ago
[PATCH v2 0/9] gnu: libftdi: Update to 1.5; other improvements.
(address . 65807@debbugs.gnu.org)
cover.1694104141.git.simon@simonsouth.net
Here's a v2 of this patch series that adds a commit updating the package's
source URL to use HTTPS instead of HTTP, silencing a warning from guix lint.
(There's always something...)

Everything else is unchanged. Here's the original cover letter:

This patch series updates and improves the package for libftdi, a library for
communicating with USB-to-serial adapter ICs from FTDI.

The patches

- Refresh gently the formatting of the package;

- Disable the building of example programs, which aren't installed anyway;

- Enable the building of libftdi's ftdi_eeprom utility, its bindings for C++
and Python, and its API documentation; and

- Update libftdi to its latest version, 1.5.

I've kept the package in its own module as moving it to embedded.scm, where it
probably belongs, triggers the circular-dependency problem described in issue
65716.[0]

I've tested this on AArch64 and x86-64 with an FT232H module and everything
appears fine. All of libftdi's 14 dependents continue to build with the
exception of arachne-pnr, an existing failure.[1]



---

Simon South (9):
gnu: libftdi: Update package style.
gnu: libftdi: Use HTTPS for package source.
gnu: libftdi: Do not build example programs.
gnu: libftdi: Install libraries to /lib instead of /lib64.
gnu: libftdi: Build ftdi_eeprom.
gnu: libftdi: Build C++ bindings.
gnu: libftdi: Build Python bindings.
gnu: libftdi: Update to 1.5.
gnu: libftdi: Build API documentation.

gnu/local.mk | 1 +
gnu/packages/libftdi.scm | 77 ++++++++++++++++---
.../libftdi-fix-paths-when-FTDIPP-set.patch | 39 ++++++++++
3 files changed, 106 insertions(+), 11 deletions(-)
create mode 100644 gnu/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch


base-commit: 811f4fc509a57ff14b1dd03d76fea66085e3f5e1
--
2.40.1
Simon South wrote 2 years ago
[PATCH v2 1/9] gnu: libftdi: Update package style.
(address . 65807@debbugs.gnu.org)
5a534789eab223f4d1f5a8c8b4b275c0f175f095.1694104141.git.simon@simonsouth.net
* gnu/packages/libftdi.scm: Re-order #:use-module statements.
(libftdi): Wrap long lines; reformat gently.
[license]: Use "license:" prefix.
---
gnu/packages/libftdi.scm | 19 +++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)

Toggle diff (47 lines)
diff --git a/gnu/packages/libftdi.scm b/gnu/packages/libftdi.scm
index e39e0b3d71..4cfa1d3424 100644
--- a/gnu/packages/libftdi.scm
+++ b/gnu/packages/libftdi.scm
@@ -18,12 +18,12 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages libftdi)
- #:use-module (guix licenses)
+ #:use-module (guix build-system cmake)
#:use-module (guix download)
+ #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (gnu packages)
- #:use-module (gnu packages libusb)
- #:use-module (guix build-system cmake))
+ #:use-module (gnu packages libusb))
(define-public libftdi
(package
@@ -32,18 +32,17 @@ (define-public libftdi
(source (origin
(method url-fetch)
(uri (string-append
- "http://www.intra2net.com/en/developer/libftdi/download/libftdi1-"
- version ".tar.bz2"))
+ "http://www.intra2net.com/en/developer/libftdi/download/"
+ "libftdi1-" version ".tar.bz2"))
(sha256
(base32
"0x0vncf6i92slgrn0h7ghkskqbglbs534220qa84d0qg114zndpc"))))
(build-system cmake-build-system)
(propagated-inputs
- (list libusb)) ; required by libftdi1.pc
+ (list libusb)) ; required by libftdi1.pc
(home-page "https://www.intra2net.com/en/developer/libftdi/")
(synopsis "FTDI USB driver with bitbang mode")
(description
- "libFTDI is a library to talk to FTDI chips: FT232BM,
-FT245BM, FT2232C, FT2232D, FT245R and FT232H including the popular
-bitbangmode.")
- (license lgpl2.1)))
+ "libFTDI is a library to talk to FTDI chips: FT232BM, FT245BM, FT2232C,
+FT2232D, FT245R and FT232H including the popular bitbangmode.")
+ (license license:lgpl2.1)))
--
2.40.1
Simon South wrote 2 years ago
[PATCH v2 2/9] gnu: libftdi: Use HTTPS for package source.
(address . 65807@debbugs.gnu.org)
bca0fe70f31fde2c1b06fb60b9707c600af8bba0.1694104141.git.simon@simonsouth.net
* gnu/packages/libftdi.scm (libftdi)[source]: Use HTTPS.
---
gnu/packages/libftdi.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/libftdi.scm b/gnu/packages/libftdi.scm
index 4cfa1d3424..b881aa5cc2 100644
--- a/gnu/packages/libftdi.scm
+++ b/gnu/packages/libftdi.scm
@@ -32,7 +32,7 @@ (define-public libftdi
(source (origin
(method url-fetch)
(uri (string-append
- "http://www.intra2net.com/en/developer/libftdi/download/"
+ "https://www.intra2net.com/en/developer/libftdi/download/"
"libftdi1-" version ".tar.bz2"))
(sha256
(base32
--
2.40.1
Simon South wrote 2 years ago
[PATCH v2 3/9] gnu: libftdi: Do not build example programs.
(address . 65807@debbugs.gnu.org)
5cfc5123f570e6c833b94e6f1ca4a6690bbcfa5c.1694104141.git.simon@simonsouth.net
* gnu/packages/libftdi.scm (libftdi)[arguments]: Add with "-DEXAMPLES"
configure flag.
---
gnu/packages/libftdi.scm | 3 +++
1 file changed, 3 insertions(+)

Toggle diff (23 lines)
diff --git a/gnu/packages/libftdi.scm b/gnu/packages/libftdi.scm
index b881aa5cc2..74df12a354 100644
--- a/gnu/packages/libftdi.scm
+++ b/gnu/packages/libftdi.scm
@@ -20,6 +20,7 @@
(define-module (gnu packages libftdi)
#:use-module (guix build-system cmake)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (gnu packages)
@@ -38,6 +39,8 @@ (define-public libftdi
(base32
"0x0vncf6i92slgrn0h7ghkskqbglbs534220qa84d0qg114zndpc"))))
(build-system cmake-build-system)
+ (arguments
+ (list #:configure-flags #~(list "-DEXAMPLES=OFF")))
(propagated-inputs
(list libusb)) ; required by libftdi1.pc
(home-page "https://www.intra2net.com/en/developer/libftdi/")
--
2.40.1
Simon South wrote 2 years ago
[PATCH v2 4/9] gnu: libftdi: Install libraries to /lib instead of /lib64.
(address . 65807@debbugs.gnu.org)
1a9db527c5b5c0c533e0700d38ec2a792c37c9c9.1694104141.git.simon@simonsouth.net
* gnu/packages/libftdi.scm (libftdi)[arguments]<#:configure-flags>: Add
"-DLIB_SUFFIX".
---
gnu/packages/libftdi.scm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

Toggle diff (18 lines)
diff --git a/gnu/packages/libftdi.scm b/gnu/packages/libftdi.scm
index 74df12a354..1e97793a93 100644
--- a/gnu/packages/libftdi.scm
+++ b/gnu/packages/libftdi.scm
@@ -40,7 +40,10 @@ (define-public libftdi
"0x0vncf6i92slgrn0h7ghkskqbglbs534220qa84d0qg114zndpc"))))
(build-system cmake-build-system)
(arguments
- (list #:configure-flags #~(list "-DEXAMPLES=OFF")))
+ (list
+ #:configure-flags
+ #~(list "-DEXAMPLES=OFF"
+ "-DLIB_SUFFIX=''"))) ; place libraries in /lib, not /lib64
(propagated-inputs
(list libusb)) ; required by libftdi1.pc
(home-page "https://www.intra2net.com/en/developer/libftdi/")
--
2.40.1
Simon South wrote 2 years ago
[PATCH v2 6/9] gnu: libftdi: Build C++ bindings.
(address . 65807@debbugs.gnu.org)
02903df5d05c34a8f0164a0024dcdc3441d9d53a.1694104141.git.simon@simonsouth.net
Enabling the C++ bindings allows the test suite to be run, although this fails
without access to the host's USB interface.

* gnu/packages/libftdi.scm (libftdi)[arguments]: Add #:test-target, #:tests?.
(inputs): Add boost.
---
gnu/packages/libftdi.scm | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

Toggle diff (37 lines)
diff --git a/gnu/packages/libftdi.scm b/gnu/packages/libftdi.scm
index b3fb717905..0a996b05e7 100644
--- a/gnu/packages/libftdi.scm
+++ b/gnu/packages/libftdi.scm
@@ -24,6 +24,7 @@ (define-module (gnu packages libftdi)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (gnu packages)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages libusb)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages textutils))
@@ -47,11 +48,13 @@ (define-public libftdi
#~(list (string-append "-DCMAKE_INSTALL_DOCDIR="
#$output "/share/doc/" #$name "-" #$version)
"-DEXAMPLES=OFF"
- "-DLIB_SUFFIX=''"))) ; place libraries in /lib, not /lib64
+ "-DLIB_SUFFIX=''") ; place libraries in /lib, not /lib64
+ #:test-target "check"
+ #:tests? #f)) ; tests fail without access to USB
(native-inputs
(list pkg-config))
(inputs
- (list libconfuse))
+ (list boost libconfuse))
(propagated-inputs
(list libusb)) ; required by libftdi1.pc
(home-page "https://www.intra2net.com/en/developer/libftdi/")
@@ -59,5 +62,5 @@ (define-public libftdi
(description
"libFTDI is a library to talk to FTDI chips: FT232BM, FT245BM, FT2232C,
FT2232D, FT245R and FT232H including the popular bitbangmode.")
- (license (list license:gpl2 ; ftdi_eeprom
+ (license (list license:gpl2 ; ftdi_eeprom, C++ bindings
license:lgpl2.1)))) ; main library
--
2.40.1
Simon South wrote 2 years ago
[PATCH v2 7/9] gnu: libftdi: Build Python bindings.
(address . 65807@debbugs.gnu.org)
4d91581c587d44c5c1c6feb63289adaa49dbb865.1694104141.git.simon@simonsouth.net
* gnu/packages/libftdi.scm (libftdi)[outputs]: Add "python".
[arguments]<#:phases>: Add with "install-python-binding" phase.
[native-inputs]: Add python, swig.
---
gnu/packages/libftdi.scm | 24 +++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)

Toggle diff (70 lines)
diff --git a/gnu/packages/libftdi.scm b/gnu/packages/libftdi.scm
index 0a996b05e7..773b0ec73e 100644
--- a/gnu/packages/libftdi.scm
+++ b/gnu/packages/libftdi.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2023 Simon South <simon@simonsouth.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -18,15 +19,19 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages libftdi)
+ #:use-module (guix build utils)
#:use-module (guix build-system cmake)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
+ #:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages boost)
#:use-module (gnu packages libusb)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages swig)
#:use-module (gnu packages textutils))
(define-public libftdi
@@ -42,6 +47,7 @@ (define-public libftdi
(base32
"0x0vncf6i92slgrn0h7ghkskqbglbs534220qa84d0qg114zndpc"))))
(build-system cmake-build-system)
+ (outputs '("out" "python"))
(arguments
(list
#:configure-flags
@@ -49,10 +55,26 @@ (define-public libftdi
#$output "/share/doc/" #$name "-" #$version)
"-DEXAMPLES=OFF"
"-DLIB_SUFFIX=''") ; place libraries in /lib, not /lib64
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'install-python-binding
+ (lambda _
+ (let* ((python-version
+ #$(version-major+minor (package-version python)))
+ (python-lib-path
+ (string-append "/lib/python" python-version)))
+ (mkdir-p (string-append #$output:python "/lib"))
+ (mkdir-p (string-append #$output:python "/share/libftdi"))
+ (rename-file (string-append #$output python-lib-path)
+ (string-append #$output:python python-lib-path))
+ (rename-file (string-append #$output
+ "/share/libftdi/examples")
+ (string-append #$output:python
+ "/share/libftdi/examples"))))))
#:test-target "check"
#:tests? #f)) ; tests fail without access to USB
(native-inputs
- (list pkg-config))
+ (list pkg-config python swig))
(inputs
(list boost libconfuse))
(propagated-inputs
--
2.40.1
Simon South wrote 2 years ago
[PATCH v2 9/9] gnu: libftdi: Build API documentation.
(address . 65807@debbugs.gnu.org)
a04fae5cfd156b83fa5aee76b591f22ec4df0a15.1694104141.git.simon@simonsouth.net
* gnu/packages/libftdi.scm (libftdi)[outputs]: Add "doc" output.
[arguments]<#:configure-flags>: Add "-DDOCUMENTATION".
<#:phases>: Add "install-documentation" phase.
[native-inputs]: Add doxygen, graphviz.
---
gnu/packages/libftdi.scm | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)

Toggle diff (53 lines)
diff --git a/gnu/packages/libftdi.scm b/gnu/packages/libftdi.scm
index bdfc635379..02efcbbbc0 100644
--- a/gnu/packages/libftdi.scm
+++ b/gnu/packages/libftdi.scm
@@ -28,6 +28,8 @@ (define-module (gnu packages libftdi)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages documentation)
+ #:use-module (gnu packages graphviz)
#:use-module (gnu packages libusb)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@@ -49,12 +51,13 @@ (define-public libftdi
(patches
(search-patches "libftdi-fix-paths-when-FTDIPP-set.patch"))))
(build-system cmake-build-system)
- (outputs '("out" "python"))
+ (outputs '("out" "doc" "python"))
(arguments
(list
#:configure-flags
#~(list (string-append "-DCMAKE_INSTALL_DOCDIR="
#$output "/share/doc/" #$name "-" #$version)
+ "-DDOCUMENTATION=ON"
"-DEXAMPLES=OFF"
"-DFTDIPP=ON"
"-DLIB_SUFFIX=''" ; place libraries in /lib, not /lib64
@@ -74,11 +77,20 @@ (define-public libftdi
(rename-file (string-append #$output
"/share/libftdi/examples")
(string-append #$output:python
- "/share/libftdi/examples"))))))
+ "/share/libftdi/examples")))))
+ (add-after 'install-python-binding 'install-documentation
+ (lambda _
+ (let ((share (string-append #$output:doc "/share")))
+ (copy-recursively "doc/man"
+ (string-append share "/man"))
+ (copy-recursively "doc/html"
+ (string-append share "/doc/"
+ #$name "-" #$version
+ "/html"))))))
#:test-target "check"
#:tests? #f)) ; tests fail without access to USB
(native-inputs
- (list pkg-config python swig))
+ (list doxygen graphviz pkg-config python swig))
(inputs
(list boost libconfuse))
(propagated-inputs
--
2.40.1
Simon South wrote 2 years ago
[PATCH v2 8/9] gnu: libftdi: Update to 1.5.
(address . 65807@debbugs.gnu.org)
3c421142b509727b270471e8435819708945d75b.1694104141.git.simon@simonsouth.net
* gnu/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/libftdi.scm (libftdi): Update to 1.5.
[source]: Apply patch.
[arguments]<#:configure-flags>: Add "-DFTDIPP", "-DPYTHON_BINDINGS".
---
gnu/local.mk | 1 +
gnu/packages/libftdi.scm | 10 +++--
.../libftdi-fix-paths-when-FTDIPP-set.patch | 39 +++++++++++++++++++
3 files changed, 47 insertions(+), 3 deletions(-)
create mode 100644 gnu/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch

Toggle diff (94 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 54aec9316a..1f1f9450ab 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1445,6 +1445,7 @@ dist_patch_DATA = \
%D%/packages/patches/json-c-0.12-CVE-2020-12762.patch \
%D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \
%D%/packages/patches/julia-Use-MPFR-4.2.patch \
+ %D%/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch \
%D%/packages/patches/libgeotiff-fix-tests-with-proj-9.1.1.patch \
%D%/packages/patches/libobjc2-unbundle-robin-map.patch \
%D%/packages/patches/librime-fix-build-with-gcc10.patch \
diff --git a/gnu/packages/libftdi.scm b/gnu/packages/libftdi.scm
index 773b0ec73e..bdfc635379 100644
--- a/gnu/packages/libftdi.scm
+++ b/gnu/packages/libftdi.scm
@@ -37,7 +37,7 @@ (define-module (gnu packages libftdi)
(define-public libftdi
(package
(name "libftdi")
- (version "1.4")
+ (version "1.5")
(source (origin
(method url-fetch)
(uri (string-append
@@ -45,7 +45,9 @@ (define-public libftdi
"libftdi1-" version ".tar.bz2"))
(sha256
(base32
- "0x0vncf6i92slgrn0h7ghkskqbglbs534220qa84d0qg114zndpc"))))
+ "0jdh5r499wbz83vmpskczq5m3cfc1mcv8xqisj5i95k1r3lr2w3w"))
+ (patches
+ (search-patches "libftdi-fix-paths-when-FTDIPP-set.patch"))))
(build-system cmake-build-system)
(outputs '("out" "python"))
(arguments
@@ -54,7 +56,9 @@ (define-public libftdi
#~(list (string-append "-DCMAKE_INSTALL_DOCDIR="
#$output "/share/doc/" #$name "-" #$version)
"-DEXAMPLES=OFF"
- "-DLIB_SUFFIX=''") ; place libraries in /lib, not /lib64
+ "-DFTDIPP=ON"
+ "-DLIB_SUFFIX=''" ; place libraries in /lib, not /lib64
+ "-DPYTHON_BINDINGS=ON")
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-python-binding
diff --git a/gnu/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch b/gnu/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch
new file mode 100644
index 0000000000..0a81cceb26
--- /dev/null
+++ b/gnu/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch
@@ -0,0 +1,39 @@
+commit cdb28383402d248dbc6062f4391b038375c52385
+Author: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Fri Jul 17 21:25:03 2020 +0200
+
+ CMakeLists.txt: fix paths when FTDIPP is set
+
+ Use the same project name (i.e. libftdi1 and not libftdipp1) when FTDIPP
+ is enabled as suggested by Aurelien Jarno in
+ http://developer.intra2net.com/mailarchive/html/libftdi/2020/msg00044.html
+
+ Without this change, the libftdi1.pc config file defines the include
+ path as /usr/local/include/libftdipp1 while the ftdi.h file is actually
+ installed in /usr/local/include/libftdi1
+
+ This is an issue for example for libsigrok which will fail on:
+
+ In file included from src/hardware/asix-sigma/protocol.c:27:
+ src/hardware/asix-sigma/protocol.h:28:10: fatal error: ftdi.h: No such file or directory
+ 28 | #include <ftdi.h>
+ | ^~~~~~~~
+
+ Fixes:
+ - http://autobuild.buildroot.org/results/1427f44e36752c337791597fab47a1889552a2fe
+
+ Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5aecafc..3b0b87c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -136,7 +136,7 @@ endif ()
+
+ add_subdirectory(src)
+ if ( FTDIPP )
+- project(libftdipp1 C CXX)
++ project(libftdi1 C CXX)
+ add_subdirectory(ftdipp)
+ endif ()
+ if ( PYTHON_BINDINGS )
--
2.40.1
Simon South wrote 2 years ago
[PATCH v2 5/9] gnu: libftdi: Build ftdi_eeprom.
(address . 65807@debbugs.gnu.org)
6ad461d3ae01e565de0df8986a099cf935824dc7.1694104141.git.simon@simonsouth.net
* gnu/packages/libftdi.scm (libftdi)[arguments]<#:configure-flags>: Add
"-DCMAKE_INSTALL_DOCDIR".
[native-inputs]: Add with pkg-config.
[inputs]: Add with libconfuse.
[license]: Add GPL version 2.
---
gnu/packages/libftdi.scm | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)

Toggle diff (40 lines)
diff --git a/gnu/packages/libftdi.scm b/gnu/packages/libftdi.scm
index 1e97793a93..b3fb717905 100644
--- a/gnu/packages/libftdi.scm
+++ b/gnu/packages/libftdi.scm
@@ -24,7 +24,9 @@ (define-module (gnu packages libftdi)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (gnu packages)
- #:use-module (gnu packages libusb))
+ #:use-module (gnu packages libusb)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages textutils))
(define-public libftdi
(package
@@ -42,8 +44,14 @@ (define-public libftdi
(arguments
(list
#:configure-flags
- #~(list "-DEXAMPLES=OFF"
+ #~(list (string-append "-DCMAKE_INSTALL_DOCDIR="
+ #$output "/share/doc/" #$name "-" #$version)
+ "-DEXAMPLES=OFF"
"-DLIB_SUFFIX=''"))) ; place libraries in /lib, not /lib64
+ (native-inputs
+ (list pkg-config))
+ (inputs
+ (list libconfuse))
(propagated-inputs
(list libusb)) ; required by libftdi1.pc
(home-page "https://www.intra2net.com/en/developer/libftdi/")
@@ -51,4 +59,5 @@ (define-public libftdi
(description
"libFTDI is a library to talk to FTDI chips: FT232BM, FT245BM, FT2232C,
FT2232D, FT245R and FT232H including the popular bitbangmode.")
- (license license:lgpl2.1)))
+ (license (list license:gpl2 ; ftdi_eeprom
+ license:lgpl2.1)))) ; main library
--
2.40.1
Ludovic Courtès wrote 1 years ago
Re: bug#65807: [PATCH 0/8] gnu: libftdi: Update to 1.5; other improvements.
(name . Simon South)(address . simon@simonsouth.net)(address . 65807-done@debbugs.gnu.org)
87y1h8306x.fsf_-_@gnu.org
Hello,

Simon South <simon@simonsouth.net> skribis:

Toggle quote (10 lines)
> gnu: libftdi: Update package style.
> gnu: libftdi: Use HTTPS for package source.
> gnu: libftdi: Do not build example programs.
> gnu: libftdi: Install libraries to /lib instead of /lib64.
> gnu: libftdi: Build ftdi_eeprom.
> gnu: libftdi: Build C++ bindings.
> gnu: libftdi: Build Python bindings.
> gnu: libftdi: Update to 1.5.
> gnu: libftdi: Build API documentation.

Applied, thanks!

Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 65807@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 65807
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help