summaryrefslogtreecommitdiff
path: root/gnu/packages/libftdi.scm
diff options
context:
space:
mode:
authorCayetano Santos <csantosb@inventati.org>2025-10-09 14:46:03 +0200
committerDanny Milosavljevic <dannym@friendly-machines.com>2025-10-14 23:52:06 +0200
commitf869bedc9df7741829393f183c548ca5fc7c85bb (patch)
treed526e7996550cc5ac09fa9d4f89525688d548f61 /gnu/packages/libftdi.scm
parent6193291222f06b85ab961b4352fb16fc1bf4009c (diff)
gnu: libftdi: Add udev rules.
* gnu/packages/libftdi.scm (libftdi)[arguments]<#:phases>: Add install-udev-rules. [description]: Add instructions. Change-Id: I173e01ac3b2e03382167d47601e8efb3de76f9a5 Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
Diffstat (limited to 'gnu/packages/libftdi.scm')
-rw-r--r--gnu/packages/libftdi.scm17
1 files changed, 16 insertions, 1 deletions
diff --git a/gnu/packages/libftdi.scm b/gnu/packages/libftdi.scm
index 25db26793de..279618144d5 100644
--- a/gnu/packages/libftdi.scm
+++ b/gnu/packages/libftdi.scm
@@ -78,6 +78,12 @@
"/share/libftdi/examples")
(string-append #$output:python
"/share/libftdi/examples")))))
+ (add-after 'install-python-binding 'install-udev-rules
+ (lambda _
+ (install-file
+ (string-append
+ "../libftdi1-" #$version "/packages/99-libftdi.rules")
+ (string-append #$output "/lib/udev/rules.d/"))))
(add-after 'install-python-binding 'install-documentation
(lambda _
(let ((share (string-append #$output:doc "/share")))
@@ -98,6 +104,15 @@
(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.")
+FT2232D, FT245R and FT232H including the popular bitbangmode.
+To use @code{libftdi} without root privileges it is necessary to install the
+necessary udev rules. This can be done by extending @code{udev-service-type}
+in the @code{operating-system} configuration file with this package, as in:
+@lisp
+(udev-rules-service 'libftdi libftdi #:groups '(\"plugdev\")
+@end lisp
+Additionally, the @samp{plugdev} group should be registered in the
+@code{supplementary-groups} field of your @code{user-account}
+declaration. Refer to @samp{info \"(guix) Base Services\"} for examples.")
(license (list license:gpl2 ; ftdi_eeprom, C++ bindings
license:lgpl2.1)))) ; main library