summary refs log tree commit diff
path: root/gnu/packages/radio.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-05-06 23:37:40 +0200
committerMarius Bakke <mbakke@fastmail.com>2020-05-06 23:37:40 +0200
commitc263cfdcde0402cf44be7b14841d567f00e0af11 (patch)
tree311052b6ad6e391571f4e45631f5c3ca991b0cda /gnu/packages/radio.scm
parent3b7f3108e0ebd459ec9c75717988fc61755e7185 (diff)
parent13c18af1d835db11f3f4cf34e65c7da706625a3f (diff)
downloadguix-c263cfdcde0402cf44be7b14841d567f00e0af11.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/radio.scm')
-rw-r--r--gnu/packages/radio.scm65
1 files changed, 65 insertions, 0 deletions
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index 30567431bf..229597b7d5 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -842,6 +842,71 @@ weak-signal conditions.")
     (home-page "https://www.physics.princeton.edu/pulsar/k1jt/wsjtx.html")
     (license license:gpl3)))
 
+(define-public js8call
+  (package
+    (inherit wsjtx)
+    (name "js8call")
+    (version "2.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://files.js8call.com/" version
+                           "/js8call-" version ".tgz"))
+       (sha256
+        (base32 "034jnv6h172znn9ijl6wpmzx0rqibb69ppg52ndvkxhqlgrbsvyc"))
+       (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
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-paths
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "CMakeLists.txt"
+               (("DESTINATION /usr/share")
+                (string-append "DESTINATION "
+                               (assoc-ref outputs "out")
+                               "/share")))
+             #t))
+         (add-after 'unpack 'fix-hamlib
+           (lambda _
+             (substitute* "CMake/Modules/Findhamlib.cmake"
+               (("set \\(ENV\\{PKG_CONFIG_PATH\\}.*\\)")
+                "set (__pc_path $ENV{PKG_CONFIG_PATH})
+  list (APPEND __pc_path \"${__hamlib_pc_path}\")
+  set (ENV{PKG_CONFIG_PATH} \"${__pc_path}\")"))
+             (substitute* "HamlibTransceiver.hpp"
+               (("#ifdef JS8_USE_LEGACY_HAMLIB")
+                "#if 1"))
+             #t)))))
+    (synopsis "Weak-signal ham radio communication program")
+    (description
+     "JS8Call is a software using the JS8 digital mode (a derivative of the FT8
+mode) providing weak signal keyboard to keyboard messaging to amateur radio
+operators.")
+    (home-page "http://js8call.com/")
+    (license license:gpl3)))
+
 (define-public xnec2c
   (package
     (name "xnec2c")