summary refs log tree commit diff
path: root/gnu/packages/radio.scm
diff options
context:
space:
mode:
authorGuillaume Le Vaillant <glv@posteo.net>2023-09-30 12:02:07 +0200
committerGuillaume Le Vaillant <glv@posteo.net>2023-10-03 09:50:32 +0200
commite7889236004be69838d2b9a6a08648971ca0351b (patch)
tree44709a00e4372417b578a8055e2bb7ded569b5f7 /gnu/packages/radio.scm
parent18ee78a9996a97413ed65c1bbb0b0618f9b4ed1d (diff)
downloadguix-e7889236004be69838d2b9a6a08648971ca0351b.tar.gz
gnu: gr-osmosdr: Add support for BladeRF and IQ balance correction.
* gnu/packages/radio.scm (gr-osmosdr)[inputs]: Add bladerf and gr-iqbal.
  [arguments]: Add 'fix-gnuradio-iqbalance-detection' phase. Use gexp.
Diffstat (limited to 'gnu/packages/radio.scm')
-rw-r--r--gnu/packages/radio.scm27
1 files changed, 18 insertions, 9 deletions
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index 58b6ca33dc..d840299b01 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -966,10 +966,12 @@ environment.")
       (inputs
        (list airspy
              airspyhf
+             bladerf
              boost
              fftwf
              gmp
              gnuradio
+             gr-iqbal
              hackrf
              libsndfile
              log4cpp
@@ -981,15 +983,22 @@ environment.")
              spdlog
              volk))
       (arguments
-       `(#:modules ((guix build cmake-build-system)
-                    ((guix build python-build-system) #:prefix python:)
-                    (guix build utils))
-         #:imported-modules (,@%cmake-build-system-modules
-                             (guix build python-build-system))
-         #:phases
-         (modify-phases %standard-phases
-           (add-after 'install 'wrap-python
-             (assoc-ref python:%standard-phases 'wrap)))))
+       (list #:modules '((guix build cmake-build-system)
+                         ((guix build python-build-system) #:prefix python:)
+                         (guix build utils))
+             #:imported-modules `(,@%cmake-build-system-modules
+                                  (guix build python-build-system))
+             #:phases
+             #~(modify-phases %standard-phases
+                 (add-after 'unpack 'fix-gnuradio-iqbalance-detection
+                   (lambda _
+                     (substitute* "CMakeLists.txt"
+                       (("find_package\\(gnuradio-iqbalance PATHS \\$\\{Gnuradio_DIR\\}\\)")
+                        (string-append "find_package(gnuradio-iqbalance PATHS "
+                                       #$(this-package-input "gr-iqbal")
+                                       "/lib/cmake/gnuradio)")))))
+                 (add-after 'install 'wrap-python
+                   (assoc-ref python:%standard-phases 'wrap)))))
       (synopsis "GNU Radio block for interfacing with various radio hardware")
       (description "This is a block for GNU Radio allowing to use a common API
 to access different radio hardware.")