summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-01-28 22:55:51 +0100
committerLudovic Courtès <ludo@gnu.org>2022-01-28 23:14:43 +0100
commitf4554d28d6764aa8a733e4147dff8e8d473be19e (patch)
tree948bba22932f459be80e7737cf85fbc621159ffd
parent10d1125f71205f094a6030c51c498b0f8dab5f73 (diff)
downloadguix-f4554d28d6764aa8a733e4147dff8e8d473be19e.tar.gz
gnu: aseba: Build sequentially and appease Valgrind.
* gnu/packages/robotics.scm (aseba)[source]: Remove trailing #t from
'snippet'.
[arguments]: Add #:parallel-build? and #:phases.
[native-inputs]: Add glibc:debug.
-rw-r--r--gnu/packages/robotics.scm29
1 files changed, 20 insertions, 9 deletions
diff --git a/gnu/packages/robotics.scm b/gnu/packages/robotics.scm
index a110d0e6bd..aedc8b8c5f 100644
--- a/gnu/packages/robotics.scm
+++ b/gnu/packages/robotics.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018, 2022 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -23,6 +23,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system cmake)
   #:use-module (gnu packages avahi)
+  #:use-module (gnu packages base)
   #:use-module (gnu packages cpp)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages linux)
@@ -91,17 +92,27 @@ hundred times faster than real-time.")
                 (modules '((guix build utils)))
                 (snippet
                  ;; Add missing Qt5::Network.
-                 '(begin
-                    (substitute* "targets/playground/CMakeLists.txt"
-                      (("target_link_libraries(.*)\\$\\{EXTRA_LIBS\\}" _ middle)
-                       (string-append "target_link_libraries" middle
-                                      " Qt5::Network ${EXTRA_LIBS}")))
-                    #t))))
+                 '(substitute* "targets/playground/CMakeLists.txt"
+                    (("target_link_libraries(.*)\\$\\{EXTRA_LIBS\\}" _ middle)
+                     (string-append "target_link_libraries" middle
+                                    " Qt5::Network ${EXTRA_LIBS}"))))))
       (build-system cmake-build-system)
       (arguments
-       '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
+       '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")
+         #:parallel-build? #f                    ;occasionally fails with '-j'
+         #:phases (modify-phases %standard-phases
+                    (add-after 'unpack 'help-valgrind
+                      (lambda* (#:key inputs #:allow-other-keys)
+                        (let ((debug (search-input-directory inputs
+                                                             "/lib/debug")))
+                          (substitute* "tests/common/CMakeLists.txt"
+                            (("--error-exitcode=1" flag)
+                             (string-append "--extra-debuginfo-path="
+                                            debug " " flag)))))))))
       (native-inputs
-       (list pkg-config valgrind))                 ;for tests
+       (list pkg-config
+             valgrind                             ;for tests
+             `(,(canonical-package glibc) "debug")))
       (inputs
        (list dashel
              enki