summary refs log tree commit diff
path: root/gnu/packages/storage.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2019-07-16 23:17:21 +0200
committerMarius Bakke <mbakke@fastmail.com>2019-07-17 15:13:57 +0200
commit7f080fb97c28fd94da1efaaa8fec8b5b830c328d (patch)
tree1078fe5dec4bc4f777cf3da62ac9533a094528a0 /gnu/packages/storage.scm
parent3549e23b25303d46f4725628a50c2a302d5e59f3 (diff)
downloadguix-7f080fb97c28fd94da1efaaa8fec8b5b830c328d.tar.gz
gnu: ceph: Fix build with recent CMake.
* gnu/packages/storage.scm (ceph)[arguments]: Drop "-DENABLE_SHARED" from
<#:configure-flags> in favor of "-DBUILD_SHARED_LIBS".  Add phase to remove
installed test executables.
Diffstat (limited to 'gnu/packages/storage.scm')
-rw-r--r--gnu/packages/storage.scm15
1 files changed, 13 insertions, 2 deletions
diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm
index 4f3fa05aa7..5c702e3362 100644
--- a/gnu/packages/storage.scm
+++ b/gnu/packages/storage.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -108,7 +108,7 @@
                (string-append "-DXFS_INCLUDE_DIR="
                               (assoc-ref %build-inputs "xfsprogs") "/include")
                "-DCMAKE_INSTALL_LOCALSTATEDIR=/var"
-               "-DENABLE_SHARED=ON"
+               "-DBUILD_SHARED_LIBS=ON"
                "-DWITH_SYSTEM_ROCKSDB=ON"
                "-DWITH_SYSTEM_BOOST=ON"
                "-DWITH_PYTHON3=ON"
@@ -279,6 +279,17 @@
                            (wrap-program (string-append out "/bin/" executable)
                              `("PYTHONPATH" ":" prefix (,PYTHONPATH))))
                          scripts)
+               #t)))
+         (add-before 'validate-runpath 'remove-test-executables
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               ;; FIXME: The BUILD_SHARED_LIBS CMake flag causes the test executables
+               ;; to link the bundled googletest dynamically, which in turn causes
+               ;; RUNPATH validation failures because 'libgtest.so' and friends do
+               ;; not get absolute RUNPATH entries.  The next version of Ceph can use
+               ;; an external googletest; for now just remove the test executables.
+               (for-each delete-file (find-files (string-append out "/bin")
+                                                 "ceph_(test|perf)"))
                #t))))))
     (outputs
      '("out" "lib"))