summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Le Vaillant <glv@posteo.net>2023-01-18 14:33:19 +0100
committerGuillaume Le Vaillant <glv@posteo.net>2023-01-18 15:19:54 +0100
commitde0b9cc531f9fd173fffa8824d5405a341ae39ed (patch)
treeee063c9a8b4d3c5d973a838974e92687e8c41d1a
parenta43c5242522f19bca67a6762916f236004d569df (diff)
downloadguix-de0b9cc531f9fd173fffa8824d5405a341ae39ed.tar.gz
gnu: Add gr-dsd.
* gnu/packages/radio.scm (gr-dsd): New variable.
-rw-r--r--gnu/packages/radio.scm55
1 files changed, 55 insertions, 0 deletions
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index 06682314a8..fe20a396fb 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -888,6 +888,61 @@ primitives for SDR (Software Defined Radio).")
     (home-page "https://osmocom.org/projects/libosmo-dsp")
     (license license:gpl2+)))
 
+(define-public gr-dsd
+  ;; The bundled DSD has been modified to bypass the soundcard.
+  (let ((commit "f9b99360b9b15a568befec1b8cc262f7806898e9")
+        (revision "0"))
+    (package
+      (name "gr-dsd")
+      (version (git-version "1.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/argilo/gr-dsd")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1axxb8jdbjbf69csp17gpfis8id66ijjrqp2wbyvz1p66m0svldr"))))
+      (build-system cmake-build-system)
+      (native-inputs
+       (list cppunit
+             doxygen
+             pkg-config
+             pybind11
+             python-numpy))
+      (inputs
+       (list boost
+             gmp
+             gnuradio
+             itpp
+             libsndfile
+             log4cpp
+             spdlog
+             volk))
+      (arguments
+       (list ;; Tests fail with:
+             ;;   from dsd import dsd_block_ff
+             ;;   ModuleNotFoundError: No module named 'dsd'
+             #:tests? #f
+             #:phases
+             #~(modify-phases %standard-phases
+                 (add-after 'unpack 'fix-itpp-detection
+                   (lambda _
+                     (substitute* "dsd/cmake/FindITPP.cmake"
+                       (("libitpp\\.dll")
+                        "itpp_debug")))))))
+      (synopsis "GNU Radio block for Digital Speech Decoder")
+      (description
+       "This package provides a GNU Radio block interfacing with Digital
+Speech Decoder (DSD) to decode several digital voice protocols, like D-STAR,
+DMR, NXDN, P25, etc.")
+      (home-page "https://github.com/argilo/gr-dsd")
+      (license (list license:bsd-3
+                     license:gpl2
+                     license:gpl3+
+                     license:isc)))))
+
 (define-public gr-iqbal
   ;; No tag for version supporting Gnuradio 3.9; use commit.
   (let ((commit "fbee239a6fb36dd2fb564f6e6a0d393c4bc844db")