summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Le Vaillant <glv@posteo.net>2020-05-14 16:57:42 +0200
committerGuillaume Le Vaillant <glv@posteo.net>2020-05-14 17:17:47 +0200
commitb79794a7630a04668d2769aee50ebc25e0d7c3d2 (patch)
tree33341efc8cad8cb844e0e1b1f4cf07dce78da7ad
parent7adb529949b3c831af674dd32443fea93fb4915c (diff)
downloadguix-b79794a7630a04668d2769aee50ebc25e0d7c3d2.tar.gz
gnu: wsjtx: Fix undefined symbol error when starting the program.
* gnu/packages/radio.scm (wsjtx)[arguments]: Add 'work-around-runtime-bug'
  phase.
-rw-r--r--gnu/packages/radio.scm15
1 files changed, 14 insertions, 1 deletions
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index 6a919548f0..2eb0a82415 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -845,7 +845,20 @@ users.")
        ("qtmultimedia" ,qtmultimedia)
        ("qtserialport" ,qtserialport)))
     (arguments
-     `(#:tests? #f)) ; No test suite
+     `(#:tests? #f ; No test suite
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'work-around-runtime-bug
+           (lambda _
+             ;; Some of the programs in this package fail to find symbols
+             ;; in libm at runtime. Adding libm manually at the end of the
+             ;; library lists when linking the programs seems to help.
+             ;; TODO: find exactly what is wrong in the way the programs
+             ;; are built.
+             (substitute* "CMakeLists.txt"
+               (("target_link_libraries \\((.*)\\)" all libs)
+                (string-append "target_link_libraries (" libs " m)")))
+             #t)))))
     (synopsis "Weak-signal ham radio communication program")
     (description
      "WSJT-X implements communication protocols or modes called FT4, FT8,