aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2023-04-13 23:27:14 +0100
committerGuillaume Le Vaillant <glv@posteo.net>2023-04-14 14:21:46 +0200
commitd7a3b4008fa7e40bc1f5e29af9e6f1f6757ed0f1 (patch)
tree517959f82739a0d7e3b2c3890b850eb103cd03ff /gnu
parenta6b3bdb7fc5e59607c257b769a53f346c327e60d (diff)
downloadguix-d7a3b4008fa7e40bc1f5e29af9e6f1f6757ed0f1.tar
guix-d7a3b4008fa7e40bc1f5e29af9e6f1f6757ed0f1.tar.gz
gnu: js8call: Improve package style.
* gnu/packages/radio.scm (js8call): Use Gexp and shift order of components. [tests]: Enable them. [arguments]<phases>: In fix-paths phase add more steps to modify test script. Replace check phase with in-project script. [native-inputs]: Remove labels. [inputs]: As above. Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/radio.scm83
1 files changed, 49 insertions, 34 deletions
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index c589f95954..6f8b2ec9f7 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -12,6 +12,7 @@
;;; Copyright © 2022 Sheng Yang <styang@fastmail.com>
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022 Ryan Tolboom <ryan@using.tech>
+;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1603,49 +1604,63 @@ focused on DXing and being shaped by community of DXers.JTDX")
(base32 "149sjwc4zg6ckgq26af93p4fxappa4k9dh7rdy67g8ajfjad4cd8"))
(modules '((guix build utils)))
(snippet
- '(begin
- ;; Delete bundled boost to use the shared one.
- (delete-file-recursively "boost")
- #t))))
+ #~(begin
+ ;; Delete bundled boost to use the shared one.
+ (delete-file-recursively "boost")))))
(build-system qt-build-system)
- (native-inputs
- (list asciidoc gfortran pkg-config qttools-5 ruby-asciidoctor))
- (inputs
- `(("boost" ,boost)
- ("fftw" ,fftw)
- ("fftwf" ,fftwf)
- ("hamlib" ,wsjtx-hamlib)
- ("libusb" ,libusb)
- ("qtbase" ,qtbase-5)
- ("qtmultimedia-5" ,qtmultimedia-5)
- ("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")))))
- (add-after 'unpack 'fix-hamlib
- (lambda _
- (substitute* "CMake/Modules/Findhamlib.cmake"
- (("set \\(ENV\\{PKG_CONFIG_PATH\\}.*\\)")
- "set (__pc_path $ENV{PKG_CONFIG_PATH})
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda _
+ ;; XXX: How to get the /tmp/<build-name>.drv-<num> path? Use
+ ;; output path for after install check phase instead.
+ (substitute* "media/tests/test"
+ (("~/js8call-prefix/build/js8")
+ (string-append #$output "/bin/js8"))
+ (("/opt/js8call/bin/js8")
+ (string-append #$output "/bin/js8")))
+ (substitute* "CMakeLists.txt"
+ (("DESTINATION /usr/share")
+ (string-append "DESTINATION " #$output "/share")))))
+ (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")))))))
+ (substitute* "HamlibTransceiver.hpp"
+ (("#ifdef JS8_USE_LEGACY_HAMLIB")
+ "#if 1"))))
+ (delete 'check)
+ (add-after 'install 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "../js8call/media/tests"
+ (invoke "./test"))))))))
+ (native-inputs
+ (list asciidoc
+ gfortran
+ pkg-config
+ qttools-5
+ ruby-asciidoctor))
+ (inputs
+ (list boost
+ fftw
+ fftwf
+ libusb
+ qtbase-5
+ qtmultimedia-5
+ qtserialport
+ wsjtx-hamlib))
+ (home-page "http://js8call.com/")
(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