summaryrefslogtreecommitdiff
path: root/gnu/packages/storage.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-09-27 18:41:50 +0200
committerMarius Bakke <mbakke@fastmail.com>2018-11-07 21:01:12 +0100
commit1badc85068ee0be2a028c1b94a3dd285901bc391 (patch)
treeeeae4be76875527afb24f2a3f41d331f23c74403 /gnu/packages/storage.scm
parente2568df74e46b6ab5b9d63a78dd805f8018848ab (diff)
downloadpatches-1badc85068ee0be2a028c1b94a3dd285901bc391.tar
patches-1badc85068ee0be2a028c1b94a3dd285901bc391.tar.gz
gnu: ceph: Update to 13.2.2.
* gnu/packages/patches/ceph-skip-unittest_blockdev.patch: Adjust for 13.2.2. * gnu/packages/patches/ceph-rocksdb-compat.patch: Delete file. * gnu/packages/patches/ceph-detect-rocksdb.patch, gnu/packages/patches/ceph-volume-respect-PATH.patch: New files. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/storage.scm (ceph): Update to 13.2.2. [source]: Don't remove src/dpdk, which has been moved to src/spdk/dpdk and is purged elsewhere. Drop bundled rapidjson. Adjust patch list. [arguments]: Add "-DWITH_MGR_DASHBOARD_FRONTEND=OFF" and "-DWITH_SPDK=OFF" to #:configure-flags. Drop obsolete "-DWITH_EMBEDDED". Add workaround for <https://bugs.gnu.org/30756>. Remove obsolete test substitution. Rework 'wrap-python-script' to be less verbose and wrap more scripts. [native-inputs]: Add GCC-7. [inputs]: Add OATH-TOOLKIT, RAPIDJSON and PYTHON2-SIX.
Diffstat (limited to 'gnu/packages/storage.scm')
-rw-r--r--gnu/packages/storage.scm43
1 files changed, 26 insertions, 17 deletions
diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm
index 11f6f9d7e8..5051ccd986 100644
--- a/gnu/packages/storage.scm
+++ b/gnu/packages/storage.scm
@@ -26,6 +26,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages assembly)
+ #:use-module (gnu packages authentication)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
@@ -35,6 +36,7 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages disk)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages gnuzilla)
#:use-module (gnu packages gperf)
#:use-module (gnu packages jemalloc)
@@ -51,18 +53,19 @@
(define-public ceph
(package
(name "ceph")
- (version "12.2.5")
+ (version "13.2.2")
(source (origin
(method url-fetch)
(uri (string-append "https://download.ceph.com/tarballs/ceph-"
version ".tar.gz"))
(sha256
(base32
- "1ydc3mfvc0vpnpfnfmissvsrsj4jyxgzc2pcl1a4vdr3bwkcglp3"))
+ "0h483n9iy0fkbqrhf7k0dzspwdpcaswkjwmc5n5c600fr6s1v9pk"))
(patches
(search-patches "ceph-skip-unittest_blockdev.patch"
"ceph-skip-collect-sys-info-test.patch"
- "ceph-rocksdb-compat.patch"
+ "ceph-detect-rocksdb.patch"
+ "ceph-volume-respect-PATH.patch"
"ceph-disable-cpu-optimizations.patch"))
(modules '((guix build utils)))
(snippet
@@ -76,7 +79,7 @@
;"src/zstd"
;"src/civetweb"
"src/test/downloads"
- "src/dpdk"
+ "src/rapidjson"
"src/spdk"
"src/rocksdb"
"src/boost"))
@@ -100,13 +103,14 @@
(assoc-ref %build-inputs "keyutils") "/include")
"-DCMAKE_INSTALL_LOCALSTATEDIR=/var"
"-DENABLE_SHARED=ON"
- "-DWITH_EMBEDDED=OFF"
"-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_XFS=OFF"
"-DWITH_XIO=OFF"
;; Use jemalloc instead of tcmalloc.
@@ -184,9 +188,6 @@
;; /tmp/ceph-disk-virtualenv/bin/ceph-disk, but somehow
;; src/ceph-disk/CMakeLists.txt fails to create it.
(substitute* "src/test/CMakeLists.txt"
- ;; FIXME: "create cannot load compressor of type zlib"
- ;; "libceph_zlib.so: undefined symbol: isal_deflate"
- (("^add_subdirectory\\(compressor\\)") "")
;; FIXME: These tests fails because `ceph-disk'
;; is not available.
(("^add_ceph_test\\(test-ceph-helpers\\.sh.*$") "\n")
@@ -235,6 +236,11 @@
(("^add_ceph_test\\(osd-copy-from\\.sh.*$") "\n")
(("^add_ceph_test\\(osd-fast-mark-down\\.sh.*$") "\n"))
#t)))
+ (add-before 'configure 'gcc-workaround
+ (lambda _
+ (unsetenv "C_INCLUDE_PATH")
+ (unsetenv "CPLUS_INCLUDE_PATH")
+ #t))
(add-before 'check 'set-check-environment
(lambda _
;; Run tests in parallel.
@@ -262,28 +268,28 @@
(add-after 'install 'wrap-python-scripts
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
- (ceph (string-append out "/bin/ceph"))
- (ceph-disk (string-append out "/bin/ceph-disk"))
- (ceph-detect-init (string-append
- out "/bin/ceph-detect-init"))
-
+ (scripts '("ceph" "ceph-mgr" "ceph-volume"
+ "ceph-detect-init"
+ "ceph-disk")) ;deprecated
(prettytable (assoc-ref inputs "python2-prettytable"))
-
+ (six (assoc-ref inputs "python2-six"))
(sitedir (lambda (package)
(string-append package
"/lib/python2.7/site-packages")))
(PYTHONPATH (string-append
(sitedir out) ":"
+ (sitedir six) ":"
(sitedir prettytable))))
(for-each (lambda (executable)
- (wrap-program executable
+ (wrap-program (string-append out "/bin/" executable)
`("PYTHONPATH" ":" prefix (,PYTHONPATH))))
- (list ceph ceph-disk ceph-detect-init))
+ scripts)
#t))))))
(outputs
'("out" "lib"))
(native-inputs
- `(("gperf" ,gperf)
+ `(("gcc" ,gcc-7) ;7 or later is required
+ ("gperf" ,gperf)
("pkg-config" ,pkg-config)
("python-cython" ,python-cython)
("python-sphinx" ,python-sphinx)
@@ -329,13 +335,16 @@
("libatomic-ops" ,libatomic-ops)
("lua" ,lua)
("lz4" ,lz4)
+ ("oath-toolkit" ,oath-toolkit)
("openldap" ,openldap)
("openssl" ,openssl)
("nss" ,nss)
("parted" ,parted)
("python@2" ,python-2)
("python2-prettytable" ,python2-prettytable) ;used by ceph_daemon.py
+ ("python2-six" ,python2-six) ;for ceph-mgr + plugins
("python@3" ,python-3)
+ ("rapidjson" ,rapidjson)
("rocksdb" ,rocksdb)
("snappy" ,snappy)
("udev" ,eudev)