diff options
author | Marius Bakke <mbakke@fastmail.com> | 2019-07-16 23:17:21 +0200 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2019-07-17 15:13:57 +0200 |
commit | 7f080fb97c28fd94da1efaaa8fec8b5b830c328d (patch) | |
tree | 1078fe5dec4bc4f777cf3da62ac9533a094528a0 | |
parent | 3549e23b25303d46f4725628a50c2a302d5e59f3 (diff) | |
download | guix-7f080fb97c28fd94da1efaaa8fec8b5b830c328d.tar guix-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.
-rw-r--r-- | gnu/packages/storage.scm | 15 |
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")) |