gnu: ceph: Update to 17.2.7.

Fixes a build failure introduced with newer versions of Boost.

* gnu/packages/patches/ceph-fix-for-newer-boost.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/storage.scm (ceph): Update to 17.2.7.  Use the patch.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>

Change-Id: I00f2d369d7a86926b00c680d5ab0fe8044ca9065
This commit is contained in:
Yann Dupont 2024-09-27 23:07:31 +02:00 committed by Ludovic Courtès
parent b5303183ef
commit 0594985555
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
3 changed files with 55 additions and 3 deletions

View file

@ -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 \

View file

@ -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());

View file

@ -63,17 +63,18 @@ (define-module (gnu packages storage)
(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