diff --git a/glicid/packages/storage.scm b/glicid/packages/storage.scm index 69b2413..421abd7 100644 --- a/glicid/packages/storage.scm +++ b/glicid/packages/storage.scm @@ -368,119 +368,119 @@ storage protocols (S3, NFS, and others) through the RADOS gateway.") "src/boost")) #t)))) ; (build-system cmake-build-system) -; (arguments -; `(#:configure-flags -; (let* ((out (assoc-ref %outputs "out")) -; (lib (assoc-ref %outputs "lib")) -; (libdir (string-append lib "/lib"))) -; (list (string-append "-DCMAKE_INSTALL_PREFIX=" out) -; (string-append "-DCMAKE_INSTALL_LIBDIR=" libdir) -; (string-append "-DCMAKE_INSTALL_INCLUDEDIR=" -; lib "/include") -; ;; We need both libdir and libdir/ceph in RUNPATH. -; (string-append "-DCMAKE_INSTALL_RPATH=" -; libdir ";" libdir "/ceph") -; (string-append "-DCMAKE_INSTALL_SYSCONFDIR=" out "/etc") -; (string-append "-DCMAKE_INSTALL_DATADIR=" lib "/share") -; (string-append "-DCMAKE_INSTALL_MANDIR=" out "/share/man") -; (string-append "-DCMAKE_INSTALL_DOCDIR=" out "/share/ceph/doc") -; (string-append "-DCMAKE_INSTALL_LIBEXECDIR=" out "/libexec") -; (string-append "-DKEYUTILS_INCLUDE_DIR=" -; (assoc-ref %build-inputs "keyutils") "/include") -; (string-append "-DXFS_INCLUDE_DIR=" -; (assoc-ref %build-inputs "xfsprogs") "/include") -; "-DCMAKE_INSTALL_LOCALSTATEDIR=/var" -; "-DBUILD_SHARED_LIBS=ON" -; "-DWITH_SYSTEM_ROCKSDB=ON" -; "-DWITH_SYSTEM_BOOST=ON" -; "-DWITH_PYTHON3=ON" -; ;; TODO: Enable these when available in Guix. -; "-DWITH_MGR_DASHBOARD_FRONTEND=OFF" ;requires node + nodeenv -; "-DWITH_BABELTRACE=OFF" -; "-DWITH_LTTNG=OFF" -; "-DWITH_SPDK=OFF" -; "-DWITH_RADOSGW_AMQP_ENDPOINT=OFF" -; -; ;; Use jemalloc instead of tcmalloc. -; "-DALLOCATOR=jemalloc" -; -; ;; Do not bother building the tests; we are not currently running -; ;; them, and they do not build with system googletest as of 14.2.5. -; "-DWITH_TESTS=OFF")) -; ;; FIXME: Some of the tests leak Btrfs subvolumes on Btrfs. See -; ;; for details. Disable tests until -; ;; resolved. -; #:tests? #f -; #:phases -; (modify-phases %standard-phases -; (add-after 'unpack 'patch-source -; (lambda* (#:key outputs #:allow-other-keys) -; (let ((out (assoc-ref outputs "out")) -; (lib (assoc-ref outputs "lib"))) -; -; (substitute* "cmake/modules/Distutils.cmake" -; ;; Prevent creation of Python eggs. -; (("setup.py install") -; "setup.py install --single-version-externally-managed --root=/")) -; -; (substitute* (find-files "src/pybind" "^setup\\.py$") -; ;; Here we inject an extra line to the `setup.py' of the -; ;; Python C libraries so RUNPATH gets set up correctly. -;; (("^([[:blank:]]+)extra_compile_args=(.*)$" _ indent args) -;; (string-append indent "extra_compile_args=" args -;; indent "extra_link_args=['-Wl,-rpath=" -;; lib "/lib'],\n"))) -; -; -; (("^([[:blank:]]+)extra_link_args=(.*)$" _ indent args) -; (string-append indent "extra_link_args=(['-Wl,-rpath=" lib "/lib'] + distutils.sysconfig.get_config_var('LDFLAGS').split() + \n"))) -; -; -; ;; Statically link libcrc32 because it does not get installed, -; ;; yet several libraries end up referring to it. -; (substitute* "src/common/CMakeLists.txt" -; (("add_library\\(crc32") -; "add_library(crc32 STATIC")) -; -; (substitute* "udev/50-rbd.rules" -; (("/usr/bin/ceph-rbdnamer") -; (string-append out "/bin/ceph-rbdnamer"))) -; #t))) -; (add-before 'install 'set-install-environment -; (lambda* (#:key outputs #:allow-other-keys) -; (let* ((out (assoc-ref outputs "out")) -; (py3sitedir -; (string-append out "/lib/python" -; ,(version-major+minor -; (package-version python)) -;; "/site-packages"))) -; ;; The Python install scripts refuses to function if -; ;; the install directory is not on PYTHONPATH. -; (setenv "PYTHONPATH" -; (string-append py3sitedir ":" -; (getenv "PYTHONPATH"))) -; #t))) -; (add-after 'install 'wrap-python-scripts -; (lambda* (#:key inputs outputs #:allow-other-keys) -; (let* ((out (assoc-ref outputs "out")) -; (scripts '("ceph" "ceph-mgr" "ceph-volume")) -; (prettytable (assoc-ref inputs "python-prettytable")) -; (six (assoc-ref inputs "python-six")) -; (sitedir (lambda (package) -; (string-append package -; "/lib/python" -; ,(version-major+minor -; (package-version python)) -; "/site-packages"))) -; (PYTHONPATH (string-append -; (sitedir out) ":" -; (sitedir six) ":" -; (sitedir prettytable)))) -; (for-each (lambda (executable) -; (wrap-program (string-append out "/bin/" executable) -; `("PYTHONPATH" ":" prefix (,PYTHONPATH)))) -; scripts) -; #t)))))) + (arguments + `(#:configure-flags + (let* ((out (assoc-ref %outputs "out")) + (lib (assoc-ref %outputs "lib")) + (libdir (string-append lib "/lib"))) + (list (string-append "-DCMAKE_INSTALL_PREFIX=" out) + (string-append "-DCMAKE_INSTALL_LIBDIR=" libdir) + (string-append "-DCMAKE_INSTALL_INCLUDEDIR=" + lib "/include") + ;; We need both libdir and libdir/ceph in RUNPATH. + (string-append "-DCMAKE_INSTALL_RPATH=" + libdir ";" libdir "/ceph") + (string-append "-DCMAKE_INSTALL_SYSCONFDIR=" out "/etc") + (string-append "-DCMAKE_INSTALL_DATADIR=" lib "/share") + (string-append "-DCMAKE_INSTALL_MANDIR=" out "/share/man") + (string-append "-DCMAKE_INSTALL_DOCDIR=" out "/share/ceph/doc") + (string-append "-DCMAKE_INSTALL_LIBEXECDIR=" out "/libexec") + (string-append "-DKEYUTILS_INCLUDE_DIR=" + (assoc-ref %build-inputs "keyutils") "/include") + (string-append "-DXFS_INCLUDE_DIR=" + (assoc-ref %build-inputs "xfsprogs") "/include") + "-DCMAKE_INSTALL_LOCALSTATEDIR=/var" + "-DBUILD_SHARED_LIBS=ON" + "-DWITH_SYSTEM_ROCKSDB=ON" + "-DWITH_SYSTEM_BOOST=ON" + "-DWITH_PYTHON3=ON" + ;; TODO: Enable these when available in Guix. + "-DWITH_MGR_DASHBOARD_FRONTEND=OFF" ;requires node + nodeenv + "-DWITH_BABELTRACE=OFF" + "-DWITH_LTTNG=OFF" + "-DWITH_SPDK=OFF" + "-DWITH_RADOSGW_AMQP_ENDPOINT=OFF" + + ;; Use jemalloc instead of tcmalloc. + "-DALLOCATOR=jemalloc" + + ;; Do not bother building the tests; we are not currently running + ;; them, and they do not build with system googletest as of 14.2.5. + "-DWITH_TESTS=OFF")) + ;; FIXME: Some of the tests leak Btrfs subvolumes on Btrfs. See + ;; for details. Disable tests until + ;; resolved. + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (lib (assoc-ref outputs "lib"))) + + (substitute* "cmake/modules/Distutils.cmake" + ;; Prevent creation of Python eggs. + (("setup.py install") + "setup.py install --single-version-externally-managed --root=/")) + + (substitute* (find-files "src/pybind" "^setup\\.py$") + ;; Here we inject an extra line to the `setup.py' of the + ;; Python C libraries so RUNPATH gets set up correctly. +; (("^([[:blank:]]+)extra_compile_args=(.*)$" _ indent args) +; (string-append indent "extra_compile_args=" args +; indent "extra_link_args=['-Wl,-rpath=" +; lib "/lib'],\n"))) + + + (("^([[:blank:]]+)extra_link_args=(.*)$" _ indent args) + (string-append indent "extra_link_args=(['-Wl,-rpath=" lib "/lib'] + distutils.sysconfig.get_config_var('LDFLAGS').split() + \n"))) + + + ;; Statically link libcrc32 because it does not get installed, + ;; yet several libraries end up referring to it. + (substitute* "src/common/CMakeLists.txt" + (("add_library\\(crc32") + "add_library(crc32 STATIC")) + + (substitute* "udev/50-rbd.rules" + (("/usr/bin/ceph-rbdnamer") + (string-append out "/bin/ceph-rbdnamer"))) + #t))) + (add-before 'install 'set-install-environment + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (py3sitedir + (string-append out "/lib/python" + ,(version-major+minor + (package-version python)) + "/site-packages"))) + ;; The Python install scripts refuses to function if + ;; the install directory is not on PYTHONPATH. + (setenv "PYTHONPATH" + (string-append py3sitedir ":" + (getenv "PYTHONPATH"))) + #t))) + (add-after 'install 'wrap-python-scripts + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (scripts '("ceph" "ceph-mgr" "ceph-volume")) + (prettytable (assoc-ref inputs "python-prettytable")) + (six (assoc-ref inputs "python-six")) + (sitedir (lambda (package) + (string-append package + "/lib/python" + ,(version-major+minor + (package-version python)) + "/site-packages"))) + (PYTHONPATH (string-append + (sitedir out) ":" + (sitedir six) ":" + (sitedir prettytable)))) + (for-each (lambda (executable) + (wrap-program (string-append out "/bin/" executable) + `("PYTHONPATH" ":" prefix (,PYTHONPATH)))) + scripts) + #t)))))) ; (outputs ; '("out" "lib"))