aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/radio.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-04-08 15:47:00 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-04-08 15:47:00 -0400
commit533a893cc6b03f100566760d6e0c8e0500ed7082 (patch)
tree0ecbf89895a400c43d16bb1f6539f1a88aeaa4cf /gnu/packages/radio.scm
parent6a2546f92d07df04e5d700924edd027ed1e2ef11 (diff)
parentc762df54786fd6f005f3b5307323f1d2df3cbf0b (diff)
downloadguix-533a893cc6b03f100566760d6e0c8e0500ed7082.tar.gz
guix-533a893cc6b03f100566760d6e0c8e0500ed7082.zip
Merge branch 'master' into staging
Conflicts: .guix-authorizations gnu/ci.scm gnu/packages/base.scm gnu/packages/databases.scm gnu/packages/gnome.scm gnu/packages/gtk.scm gnu/packages/imagemagick.scm gnu/packages/password-utils.scm gnu/packages/python-xyz.scm gnu/packages/web-browsers.scm
Diffstat (limited to 'gnu/packages/radio.scm')
-rw-r--r--gnu/packages/radio.scm477
1 files changed, 379 insertions, 98 deletions
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index 55756c5e93..afe93081b3 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2020 Charlie Ritter <chewzerita@posteo.net>
;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2021 João Pedro Simas <jpsimas@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,6 +29,7 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
+ #:use-module (gnu packages admin)
#:use-module (gnu packages algebra)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
@@ -35,22 +37,31 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages curl)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages documentation)
#:use-module (gnu packages engineering)
#:use-module (gnu packages fltk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gd)
+ #:use-module (gnu packages geo)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages gnome)
+ #:use-module (gnu packages golang)
+ #:use-module (gnu packages gps)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
+ #:use-module (gnu packages javascript)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages logging)
#:use-module (gnu packages lua)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages mp3)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
@@ -62,17 +73,20 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby)
+ #:use-module (gnu packages sdl)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages swig)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages video)
+ #:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix build-system cmake)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system go)
#:use-module (guix build-system python)
#:use-module (guix build-system qt))
@@ -279,32 +293,27 @@ used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).")
(define-public gnuradio
(package
(name "gnuradio")
- (version "3.8.0.0")
+ (version "3.9.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.gnuradio.org/releases/gnuradio/"
"gnuradio-" version ".tar.xz"))
(sha256
- (base32 "0aw55gf5549b0fz2qdi7vplcmaf92bj34h40s34b2ycnqasv900r"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Delete bundled volk to use the shared one.
- (delete-file-recursively "volk")
- #t))))
+ (base32 "1jvm9xd0l2pz1fww4zii6hl7ccnvy256nrf70ljb594n7j9j49ha"))))
(build-system cmake-build-system)
(native-inputs
`(("doxygen" ,doxygen)
("ghostscript" ,ghostscript)
+ ("js-mathjax" ,js-mathjax)
("orc" ,orc)
("pkg-config" ,pkg-config)
+ ("pybind11" ,pybind11)
("python-cheetah" ,python-cheetah)
("python-mako" ,python-mako)
("python-pyzmq" ,python-pyzmq)
("python-scipy" ,python-scipy)
("python-sphinx" ,python-sphinx)
- ("swig" ,swig)
("texlive" ,(texlive-union (list texlive-amsfonts
texlive-latex-amsmath
;; TODO: Add newunicodechar.
@@ -322,6 +331,7 @@ used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).")
("gsm" ,gsm)
("gtk+" ,gtk+)
("jack" ,jack-1)
+ ("libsndfile" ,libsndfile)
("log4cpp" ,log4cpp)
("pango" ,pango)
("portaudio" ,portaudio)
@@ -336,6 +346,7 @@ used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).")
("python-pyyaml" ,python-pyyaml)
("qtbase" ,qtbase)
("qwt" ,qwt)
+ ("sdl" ,sdl)
("volk" ,volk)
("zeromq" ,zeromq)))
(arguments
@@ -348,7 +359,9 @@ used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).")
(guix build glib-or-gtk-build-system)
(guix build python-build-system))
#:configure-flags
- '("-DENABLE_INTERNAL_VOLK=OFF")
+ (list (string-append "-DMATHJAX2_ROOT="
+ (assoc-ref %build-inputs "js-mathjax")
+ "/share/javascript/mathjax"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
@@ -364,8 +377,7 @@ used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).")
(substitute* "cmake/Modules/GrPython.cmake"
(("dist-packages")
"site-packages"))
- (substitute* '("gr-vocoder/swig/vocoder_swig.i"
- "gr-vocoder/include/gnuradio/vocoder/codec2.h"
+ (substitute* '("gr-vocoder/include/gnuradio/vocoder/codec2.h"
"gr-vocoder/include/gnuradio/vocoder/freedv_api.h")
(("<codec2/")
"<"))
@@ -377,6 +389,19 @@ used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).")
"/bin/Xvfb :1 &"))
(setenv "DISPLAY" ":1")
#t))
+ (replace 'check
+ (lambda* (#:key tests? parallel-tests? #:allow-other-keys)
+ (invoke "ctest" "-j" (if parallel-tests?
+ (number->string (parallel-job-count))
+ "1")
+ "--output-on-failure"
+ ;;disable broken tests
+ "-E" (string-join
+ '(;; https://github.com/gnuradio/gnuradio/issues/3871
+ "qa_header_payload_demux"
+ ;; https://github.com/gnuradio/gnuradio/issues/4348
+ "qa_packet_headerparser_b")
+ "|"))))
(add-after 'install 'wrap-python
(assoc-ref python:%standard-phases 'wrap))
(add-after 'wrap-python 'wrap-glib-or-gtk
@@ -417,40 +442,44 @@ environment.")
(license license:gpl3+)))
(define-public gnuradio-osmosdr
- (package
- (name "gnuradio-osmosdr")
- (version "0.2.2")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://git.osmocom.org/gr-osmosdr")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1aqj5cylipmmjh1x1kb2j8262hxq6mi86dgb2zphj94wvsab2ghx"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("doxygen" ,doxygen)
- ("pkg-config" ,pkg-config)
- ("python" ,python)
- ("python-mako" ,python-mako)
- ("python-six" ,python-six)
- ("swig" ,swig)))
- (inputs
- `(("boost" ,boost)
- ("fftwf" ,fftwf)
- ("gmp" ,gmp)
- ("gnuradio" ,gnuradio)
- ("hackrf" ,hackrf)
- ("log4cpp" ,log4cpp)
- ("rtl-sdr" ,rtl-sdr)
- ("volk" ,volk)))
- (synopsis "GNU Radio block for interfacing with various radio hardware")
- (description "This is a block for GNU Radio allowing to use a common API
+ ;; No tag for version supporting Gnuradio 3.9; use commit.
+ (let ((commit "a100eb024c0210b95e4738b6efd836d48225bd03")
+ (revision "0"))
+ (package
+ (name "gnuradio-osmosdr")
+ (version (git-version "0.2.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.osmocom.org/gr-osmosdr")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pk5gnyznfyy510lbqzg9ijcb1fnhmn547n24aiqyrxd6i6vv1ki"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("doxygen" ,doxygen)
+ ("pkg-config" ,pkg-config)
+ ("pybind11" ,pybind11)
+ ("python" ,python)
+ ("python-mako" ,python-mako)
+ ("python-six" ,python-six)))
+ (inputs
+ `(("boost" ,boost)
+ ("fftwf" ,fftwf)
+ ("gmp" ,gmp)
+ ("gnuradio" ,gnuradio)
+ ("hackrf" ,hackrf)
+ ("libsndfile" ,libsndfile)
+ ("log4cpp" ,log4cpp)
+ ("rtl-sdr" ,rtl-sdr)
+ ("volk" ,volk)))
+ (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.")
- (home-page "https://osmocom.org/projects/gr-osmosdr/wiki/GrOsmoSDR")
- (license license:gpl3+)))
+ (home-page "https://osmocom.org/projects/gr-osmosdr/wiki/GrOsmoSDR")
+ (license license:gpl3+))))
(define-public libosmo-dsp
(package
@@ -497,36 +526,39 @@ primitives for SDR (Software Defined Radio).")
(license license:gpl2+)))
(define-public gnuradio-iqbalance
- (package
- (name "gnuradio-iqbalance")
- (version "0.38.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://git.osmocom.org/gr-iqbal")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0ksagwz05p3b0702q7ljq7013xmp0ijp30my9z6s3p7ja8dj42s3"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("doxygen" ,doxygen)
- ("pkg-config" ,pkg-config)
- ("python" ,python)
- ("python-numpy" ,python-numpy)
- ("python-six" ,python-six)
- ("swig" ,swig)))
- (inputs
- `(("boost" ,boost)
- ("fftwf" ,fftwf)
- ("gmp" ,gmp)
- ("gnuradio" ,gnuradio)
- ("libosmo-dsp" ,libosmo-dsp)
- ("log4cpp" ,log4cpp)
- ("volk" ,volk)))
- (synopsis "GNU Radio block to correct IQ imbalance")
- (description
+ ;; No tag for version supporting Gnuradio 3.9; use commit.
+ (let ((commit "fbee239a6fb36dd2fb564f6e6a0d393c4bc844db")
+ (revision "0"))
+ (package
+ (name "gnuradio-iqbalance")
+ (version (git-version "0.38.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.osmocom.org/gr-iqbal")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "12p193ngcs65nd3lynry119nhv40mikamqkw37wdln7lawx3nw7p"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("doxygen" ,doxygen)
+ ("pkg-config" ,pkg-config)
+ ("pybind11" ,pybind11)
+ ("python" ,python)
+ ("python-numpy" ,python-numpy)
+ ("python-six" ,python-six)))
+ (inputs
+ `(("boost" ,boost)
+ ("fftwf" ,fftwf)
+ ("gmp" ,gmp)
+ ("gnuradio" ,gnuradio)
+ ("libosmo-dsp" ,libosmo-dsp)
+ ("log4cpp" ,log4cpp)
+ ("volk" ,volk)))
+ (synopsis "GNU Radio block to correct IQ imbalance")
+ (description
"This is a GNU Radio block to correct IQ imbalance in quadrature
receivers. It's composed of two main block:
@itemize
@@ -534,8 +566,8 @@ receivers. It's composed of two main block:
@item Optimize: Attempts to auto-detect the phase and amplitude error to feed
to the fix block above.
@end itemize")
- (home-page "https://git.osmocom.org/gr-iqbal/")
- (license license:gpl3+)))
+ (home-page "https://git.osmocom.org/gr-iqbal/")
+ (license license:gpl3+))))
(define-public gqrx
(package
@@ -562,6 +594,7 @@ to the fix block above.
("gnuradio-iqbalance" ,gnuradio-iqbalance)
("gnuradio-osmosdr" ,gnuradio-osmosdr)
("jack" ,jack-1)
+ ("libsndfile" ,libsndfile)
("log4cpp" ,log4cpp)
("portaudio" ,portaudio)
("pulseaudio" ,pulseaudio)
@@ -773,7 +806,7 @@ you must extend 'udev-service-type' with this package. E.g.:
(define-public hamlib
(package
(name "hamlib")
- (version "3.3")
+ (version "4.1")
(source
(origin
(method url-fetch)
@@ -781,7 +814,7 @@ you must extend 'udev-service-type' with this package. E.g.:
"https://github.com/Hamlib/Hamlib/releases/download/"
version "/hamlib-" version ".tar.gz"))
(sha256
- (base32 "10788mgrhbc57zpzakcxv5aqnr2819pcshml6fbh8zvnkja562y9"))))
+ (base32 "0hi3nc1k55mxff05amdv5iwryaz6r3205l24q0bg7l84f53bkm5l"))))
(build-system gnu-build-system)
(native-inputs
`(("doxygen" ,doxygen)
@@ -815,7 +848,7 @@ users.")
(package
(inherit hamlib)
(name "wsjtx-hamlib")
- (version "2.2.2")
+ (version "2.3.1")
(source
(origin
(method git-fetch)
@@ -824,7 +857,7 @@ users.")
(commit (string-append "wsjtx-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "01h5ps0yq5vi1x9rkw742gx6a5fj02zhbpi89i412qdfbnyk35cv"))))
+ (base32 "0m4yzjcqs7a1w4lghyyckpkiy96jxdjijddxarqr3a37cl2rz23j"))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@@ -836,20 +869,12 @@ users.")
"--with-lua-binding"
"--with-python-binding"
"--with-tcl-binding"
- "--with-xml-support")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-tests
- (lambda _
- (substitute* "tests/testloc.c"
- (("dmmm2dec\\(deg, mmm, nesw\\);")
- "dmmm2dec(deg, mmm, 0, nesw);"))
- #t)))))))
+ "--with-xml-support")))))
(define-public wsjtx
(package
(name "wsjtx")
- (version "2.2.2")
+ (version "2.3.1")
(source
(origin
(method git-fetch)
@@ -858,13 +883,7 @@ users.")
(commit (string-append "wsjtx-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0fhws44gg05d9y2al0pcdnxwxwh4bazcfl0g5mq2ks1r7w23wi5x"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Delete bundled boost to use the shared one.
- (delete-file-recursively "boost")
- #t))))
+ (base32 "0mdr4l7zii08615yn7z91spnvnqm5i9390bra9lz3aqyxrsiim91"))))
(build-system qt-build-system)
(native-inputs
`(("asciidoc" ,asciidoc)
@@ -1246,3 +1265,265 @@ It can perform as:
@item APRStt gateway
@end itemize\n")
(license license:gpl2+)))
+
+(define-public aldo
+ (package
+ (name "aldo")
+ (version "0.7.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://savannah/aldo/aldo-" version ".tar.bz2"))
+ (sha256
+ (base32 "14lzgldqzbbzydsy1cai3wln3hpyj1yhj8ji3wygyzr616fq9f7i"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("ao" ,ao)))
+ (home-page "https://www.nongnu.org/aldo/")
+ (synopsis "Morse code tutor")
+ (description
+ "Aldo is a morse code learning tool providing four type of training
+methods:
+
+@itemize
+@item Classic exercice,
+@item Koch method,
+@item Read from file,
+@item Callsign exercice.
+@end itemize\n")
+ (license license:gpl3+)))
+
+(define-public unixcw
+ (package
+ (name "unixcw")
+ (version "3.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/unixcw/unixcw-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "15wriwv91583kmmyijbzam3dpclzmg4qjyfzjv5f75x9b0gqabxm"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("ncurses" ,ncurses)
+ ("pulseaudio" ,pulseaudio)
+ ("qtbase" ,qtbase)))
+ (arguments
+ `(#:configure-flags '("--disable-static")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* '("configure"
+ "src/config.h.in"
+ "src/cwcp/Makefile.am"
+ "src/cwcp/Makefile.in")
+ (("-lcurses")
+ "-lncurses"))
+ (substitute* "src/libcw/libcw_pa.c"
+ (("libpulse-simple.so" all)
+ (string-append (assoc-ref inputs "pulseaudio")
+ "/lib/" all))))))))
+ (home-page "http://unixcw.sourceforge.net/")
+ (synopsis "Morse code library and programs")
+ (description
+ "@code{unixcw} is a project providing the libcw library and a set of
+programs using the library: cw, cwgen, cwcp and xcwcp. The programs are
+intended for people who want to learn receiving and sending morse code.")
+ (license license:gpl2+)))
+
+(define-public gnuais
+ (package
+ (name "gnuais")
+ (version "0.3.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rubund/gnuais")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1rik5fdfslszdn3yvj769jzmnv9pirzf76ki33bjjzk7nkabbnlm"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("mariadb-dev" ,mariadb "dev")
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("curl" ,curl)
+ ("gtk+" ,gtk+)
+ ("libsoup" ,libsoup-minimal)
+ ("mariadb-lib" ,mariadb "lib")
+ ("osm-gps-map" ,osm-gps-map)
+ ("pulseaudio" ,pulseaudio)))
+ (arguments
+ `(#:tests? #f ; No test suite
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "src/cfgfile.c"
+ (("/usr/share/")
+ (string-append (assoc-ref outputs "out") "/share/"))))))))
+ (home-page "http://gnuais.sourceforge.net/")
+ (synopsis "AIS message demodulator and decoder")
+ (description
+ "This program contains algorithms to demodulate and decode AIS (Automatic
+Identification System) messages sent by ships and coast stations.")
+ (license license:gpl2+)))
+
+(define-public kappanhang
+ (package
+ (name "kappanhang")
+ (version "1.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nonoo/kappanhang")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ycy8avq5s7zspfi0d9klqcwwkpmcaz742cigd7pmcnbbhspcicp"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/nonoo/kappanhang"
+ #:install-source? #f))
+ (inputs
+ `(("go-github-com-akosmarton-papipes",go-github-com-akosmarton-papipes)
+ ("go-github-com-fatih-color" ,go-github-com-fatih-color)
+ ("go-github-com-google-goterm" ,go-github-com-google-goterm)
+ ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
+ ("go-github-com-mesilliac-pulse-simple"
+ ,go-github-com-mesilliac-pulse-simple)
+ ("go-github-com-pborman-getopt" ,go-github-com-pborman-getopt)
+ ("go-go-uber-org-multierr" ,go-go-uber-org-multierr)
+ ("go-go-uber-org-zap" ,go-go-uber-org-zap)))
+ (home-page "https://github.com/nonoo/kappanhang")
+ (synopsis "Client for Icom RS-BA1 server")
+ (description
+ "Kappanhang remotely opens audio channels and a serial port to an Icom
+RS-BA1 server. The application is mainly developed for connecting to the Icom
+IC-705 transceiver, which has built-in WiFi and RS-BA1 server.
+
+Compatible hardware/software:
+@itemize
+@item Icom RS-BA1 server software,
+@item Icom IC-705
+@item Icom IC-9700
+@end itemize\n")
+ (license license:expat)))
+
+(define-public dream
+ (package
+ (name "dream")
+ (version "2.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/drm/dream/" version
+ "/dream-" version "-svn808.tar.gz"))
+ (sha256
+ (base32 "01dv6gvljz64zrjbr08mybr9aicvpq2c6qskww46lngdjyhk8xs1"))))
+ (build-system qt-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("faad2" ,faad2)
+ ("fftw" ,fftw)
+ ("libsndfile" ,libsndfile)
+ ("libpcap" ,libpcap)
+ ("opus" ,opus)
+ ("pulseaudio" ,pulseaudio)
+ ("qtbase" ,qtbase)
+ ("qtsvg" ,qtsvg)
+ ("qtwebkit" ,qtwebkit)
+ ("qwt" ,qwt)
+ ("speexdsp" ,speexdsp)
+ ("zlib" ,zlib)))
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "dream.pro"
+ (("target\\.path = /usr/bin")
+ (string-append "target.path = "
+ (assoc-ref outputs "out") "/bin"))
+ (("documentation\\.path = /usr/share/man/man1")
+ (string-append "documentation.path = "
+ (assoc-ref outputs "out")
+ "/share/man/man1"))
+ (("/usr/include/pulse/")
+ (string-append (assoc-ref inputs "pulseaudio")
+ "/include/pulse/"))
+ (("/usr/include/sndfile\\.h")
+ (string-append (assoc-ref inputs "libsndfile")
+ "/include/sndfile.h"))
+ (("/usr/include/opus/")
+ (string-append (assoc-ref inputs "opus")
+ "/include/opus/"))
+ (("/usr/include/speex/")
+ (string-append (assoc-ref inputs "speexdsp")
+ "/include/speex/"))
+ (("/usr/include/qwt/")
+ (string-append (assoc-ref inputs "qwt")
+ "/include/qwt/"))
+ (("\\$\\$OUT_PWD/include/neaacdec\\.h")
+ (string-append (assoc-ref inputs "faad2")
+ "/include/neaacdec.h")))))
+ (replace 'configure
+ (lambda _
+ (invoke "qmake"))))))
+ (home-page "https://sourceforge.net/projects/drm/")
+ (synopsis "Digital Radio Mondiale receiver")
+ (description
+ "Dream is a software implementation of a Digital Radio Mondiale (DRM)
+receiver.")
+ (license license:gpl2+)))
+
+(define-public welle-io
+ (package
+ (name "welle-io")
+ (version "2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/albrechtl/welle.io")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "04fpm6sc431dl9i5h53xpd6k85j22sv8aawl7b6wv2fzpfsd9fwa"))))
+ (build-system qt-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("faad2" ,faad2)
+ ("fftwf" ,fftwf)
+ ("lame" ,lame)
+ ("libusb" ,libusb)
+ ("mpg123" ,mpg123)
+ ("rtl-sdr" ,rtl-sdr)
+ ("qtbase" ,qtbase)
+ ("qtcharts" ,qtcharts)
+ ("qtdeclarative" ,qtdeclarative)
+ ("qtgraphicaleffects" ,qtgraphicaleffects)
+ ("qtmultimedia" ,qtmultimedia)
+ ("qtquickcontrols2" ,qtquickcontrols2)))
+ (arguments
+ `(#:configure-flags '("-DRTLSDR=ON")
+ #:tests? #f))
+ (home-page "https://www.welle.io/")
+ (synopsis "DAB and DAB+ software radio")
+ (description
+ "@code{welle.io} is a Digital Audio Broadcasting (DAB and DAB+) software
+defined radio with support for rtl-sdr.")
+ (license license:gpl2+)))