gnu: js8call: Fix undefined symbol error when starting the program.
authorGuillaume Le Vaillant <glv@posteo.net>
Thu, 14 May 2020 15:04:32 +0000 (17:04 +0200)
committerGuillaume Le Vaillant <glv@posteo.net>
Thu, 14 May 2020 15:17:47 +0000 (17:17 +0200)
* gnu/packages/radio.scm (js8call)[arguments]: Add 'work-around-runtime-bug'
  phase.

gnu/packages/radio.scm

index 2eb0a82..cbfb068 100644 (file)
@@ -915,6 +915,17 @@ weak-signal conditions.")
                                (assoc-ref outputs "out")
                                "/share")))
              #t))
+         (add-after 'fix-paths '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))
          (add-after 'unpack 'fix-hamlib
            (lambda _
              (substitute* "CMake/Modules/Findhamlib.cmake"