summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Le Vaillant <glv@posteo.net>2020-05-07 16:48:49 +0200
committerGuillaume Le Vaillant <glv@posteo.net>2020-05-07 16:48:49 +0200
commit2bee789a47eb61d17945d6cb87700c9719ebe887 (patch)
tree805d2939cdeb739e06fecf9ab789c006cb13cff5
parentb14aab6710555f2e94d8e846a07f507860879463 (diff)
downloadguix-2bee789a47eb61d17945d6cb87700c9719ebe887.tar.gz
gnu: rtl-sdr: Install udev rules.
* gnu/packages/radio.scm (rtl-sdr)[arguments]: Add '-DINSTALL_UDEV_RULES=ON'
  to configure-flags and add a 'fix-paths' phase to put the udev rules in the
  right place.
  [description]: Indicate how to add the udev rules to the system
  configuration.
-rw-r--r--gnu/packages/radio.scm29
1 files changed, 26 insertions, 3 deletions
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index 229597b7d5..7fc6c4bf2f 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -123,13 +123,36 @@ mathematical operations, and much more.")
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (arguments
-     `(#:configure-flags '("-DDETACH_KERNEL_DRIVER=ON")
-       #:tests? #f)) ; No tests
+     `(#:configure-flags '("-DDETACH_KERNEL_DRIVER=ON"
+                           "-DINSTALL_UDEV_RULES=ON")
+       #:tests? #f ; No tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-paths
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "CMakeLists.txt"
+               (("DESTINATION \"/etc/")
+                (string-append "DESTINATION \""
+                               (assoc-ref outputs "out")
+                               "/etc/")))
+             #t)))))
     (home-page "https://osmocom.org/projects/sdr/wiki/rtl-sdr")
     (synopsis "Software defined radio driver for Realtek RTL2832U")
     (description "DVB-T dongles based on the Realtek RTL2832U can be used as a
 cheap software defined radio, since the chip allows transferring the raw I/Q
-samples to the host.  @code{rtl-sdr} provides drivers for this purpose.")
+samples to the host.  @code{rtl-sdr} provides drivers for this purpose.
+
+To install the rtl-sdr udev rules, you must add this package in the
+configuration of the udev system service. E.g.:
+
+@lisp
+(services
+ (modify-services %desktop-services
+  (udev-service-type config =>
+   (udev-configuration (inherit config)
+    (rules (cons rtl-sdr
+            (udev-configuration-rules config)))))))
+@end lisp")
     (license license:gpl2+)))
 
 (define-public chirp