diff options
Diffstat (limited to 'gnu/packages/radio.scm')
-rw-r--r-- | gnu/packages/radio.scm | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index 8f1562a176..fff68cf657 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -36,6 +36,8 @@ #: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 ghostscript) #:use-module (gnu packages glib) #:use-module (gnu packages gstreamer) @@ -44,6 +46,7 @@ #: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 multiprecision) #:use-module (gnu packages networking) @@ -53,9 +56,13 @@ #:use-module (gnu packages python-science) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) + #:use-module (gnu packages readline) + #:use-module (gnu packages ruby) #: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 version-control) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) @@ -544,8 +551,10 @@ using GNU Radio and the Qt GUI toolkit.") (inputs `(("alsa-lib" ,alsa-lib) ("fltk" ,fltk) + ("hamlib" ,hamlib) ("libpng" ,libpng) ("libsamplerate" ,libsamplerate) + ("libusb" ,libusb) ("libx11" ,libx11) ("libxext" ,libxext) ("libxfixes" ,libxfixes) @@ -644,3 +653,112 @@ transmitted over any of several digital modes and verified at the receipt end for correctness.") (home-page "http://www.w1hkj.com/") (license license:gpl3+))) + +(define-public hamlib + (package + (name "hamlib") + (version "3.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/Hamlib/Hamlib/releases/download/" + version "/hamlib-" version ".tar.gz")) + (sha256 + (base32 "10788mgrhbc57zpzakcxv5aqnr2819pcshml6fbh8zvnkja562y9")))) + (build-system gnu-build-system) + (native-inputs + `(("doxygen" ,doxygen) + ("lua" ,lua) + ("pkg-config" ,pkg-config) + ("python-wrapper" ,python-wrapper) + ("swig" ,swig) + ("tcl" ,tcl))) + (inputs + `(("gd" ,gd) + ("libusb" ,libusb) + ("libxml2" ,libxml2) + ("readline" ,readline))) + (arguments + `(#:configure-flags '("--disable-static" + "--with-lua-binding" + "--with-python-binding" + "--with-tcl-binding" + "--with-xml-support"))) + (synopsis "Tools and API to control radios") + (description + "The Ham Radio Control Library (Hamlib) is a project to provide programs +with a consistent Application Programming Interface (API) for controlling the +myriad of radios and rotators available to amateur radio and communications +users.") + (home-page "https://hamlib.github.io/") + (license (list license:gpl2+ license:lgpl2.1+)))) + +(define wsjtx-hamlib + ;; Fork of hamlib with custom patches used by wsjtx. + (package + (inherit hamlib) + (name "wsjtx-hamlib") + (version "2.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.code.sf.net/u/bsomervi/hamlib.git") + (commit (string-append "wsjtx-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ksv3cmr1dl45p0pp1panyc9dngd158gvv9ysv25lq4nqv1wn87i")))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("texinfo" ,texinfo) + ,@(package-native-inputs hamlib))))) + +(define-public wsjtx + (package + (name "wsjtx") + (version "2.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.code.sf.net/p/wsjt/wsjtx.git") + (commit (string-append "wsjtx-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1fnqzjd3dmxp3yjwjvwz2djk9gzb1y2cqfa188f3x8lynxhdhnfs")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete bundled boost to use the shared one. + (delete-file-recursively "boost") + #t)))) + (build-system qt-build-system) + (native-inputs + `(("asciidoc" ,asciidoc) + ("gfortran" ,gfortran) + ("pkg-config" ,pkg-config) + ("qttools" ,qttools) + ("ruby-asciidoctor" ,ruby-asciidoctor))) + (inputs + `(("boost" ,boost) + ("fftw" ,fftw) + ("fftwf" ,fftwf) + ("hamlib" ,wsjtx-hamlib) + ("libusb" ,libusb) + ("qtbase" ,qtbase) + ("qtmultimedia" ,qtmultimedia) + ("qtserialport" ,qtserialport))) + (arguments + `(#:tests? #f)) ; No test suite + (synopsis "Weak-signal ham radio communication program") + (description + "WSJT-X implements communication protocols or modes called FT4, FT8, +JT4, JT9, JT65, QRA64, ISCAT, MSK144, and WSPR, as well as one called Echo for +detecting and measuring your own radio signals reflected from the Moon. These +modes were all designed for making reliable, confirmed QSOs under extreme +weak-signal conditions.") + (home-page "https://www.physics.princeton.edu/pulsar/k1jt/wsjtx.html") + (license license:gpl3))) |