aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/ceph-fix-for-newer-boost.patch50
-rw-r--r--gnu/packages/storage.scm7
3 files changed, 55 insertions, 3 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index c2027f9eeb..9fdad12b63 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1046,6 +1046,7 @@ dist_patch_DATA = \
%D%/packages/patches/cdrkit-libre-cross-compile.patch \
%D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \
%D%/packages/patches/ceph-disable-cpu-optimizations.patch \
+ %D%/packages/patches/ceph-fix-for-newer-boost.patch \
%D%/packages/patches/cf-tool-add-languages.patch \
%D%/packages/patches/chmlib-inttypes.patch \
%D%/packages/patches/cl-asdf-config-directories.patch \
diff --git a/gnu/packages/patches/ceph-fix-for-newer-boost.patch b/gnu/packages/patches/ceph-fix-for-newer-boost.patch
new file mode 100644
index 0000000000..faf1c6b69d
--- /dev/null
+++ b/gnu/packages/patches/ceph-fix-for-newer-boost.patch
@@ -0,0 +1,50 @@
+Adjust to newer Boost interface.
+
+--- a/src/rgw/rgw_asio_client.cc 1970-01-01 01:00:01.000000000 +0100
++++ b/src/rgw/rgw_asio_client.cc 2024-09-11 08:33:21.723548804 +0200
+@@ -39,11 +39,11 @@
+ const auto& value = header->value();
+
+ if (field == beast::http::field::content_length) {
+- env.set("CONTENT_LENGTH", value.to_string());
++ env.set("CONTENT_LENGTH", std::string(value));
+ continue;
+ }
+ if (field == beast::http::field::content_type) {
+- env.set("CONTENT_TYPE", value.to_string());
++ env.set("CONTENT_TYPE", std::string(value));
+ continue;
+ }
+
+@@ -62,26 +62,26 @@
+ }
+ *dest = '\0';
+
+- env.set(buf, value.to_string());
++ env.set(buf, std::string(value));
+ }
+
+ int major = request.version() / 10;
+ int minor = request.version() % 10;
+ env.set("HTTP_VERSION", std::to_string(major) + '.' + std::to_string(minor));
+
+- env.set("REQUEST_METHOD", request.method_string().to_string());
++ env.set("REQUEST_METHOD", std::string(request.method_string()));
+
+ // split uri from query
+ auto uri = request.target();
+ auto pos = uri.find('?');
+ if (pos != uri.npos) {
+ auto query = uri.substr(pos + 1);
+- env.set("QUERY_STRING", query.to_string());
++ env.set("QUERY_STRING", std::string(query));
+ uri = uri.substr(0, pos);
+ }
+- env.set("SCRIPT_URI", uri.to_string());
++ env.set("SCRIPT_URI", std::string(uri));
+
+- env.set("REQUEST_URI", request.target().to_string());
++ env.set("REQUEST_URI", std::string(request.target()));
+
+ char port_buf[16];
+ snprintf(port_buf, sizeof(port_buf), "%d", local_endpoint.port());
diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm
index ab7eb6102c..919b72736b 100644
--- a/gnu/packages/storage.scm
+++ b/gnu/packages/storage.scm
@@ -63,17 +63,18 @@
(define-public ceph
(package
(name "ceph")
- (version "17.2.5")
+ (version "17.2.7")
(source (origin
(method url-fetch)
(uri (string-append "https://download.ceph.com/tarballs/ceph-"
version ".tar.gz"))
(sha256
(base32
- "16mjj6cyrpdn49ig82mmrv984vqfdf24d6i4n9sghfli8z0nj8in"))
+ "1612424yrf39dz010ygz8k5x1vc8731549ckfj1r39dg00m62klp"))
(patches
(search-patches
- "ceph-disable-cpu-optimizations.patch"))
+ "ceph-disable-cpu-optimizations.patch"
+ "ceph-fix-for-newer-boost.patch" ))
(modules '((guix build utils)))
(snippet
'(for-each delete-file-recursively