commit:     fd022549f4781a1b2e42d92457264b52dbf8748e
Author:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 16 14:14:54 2025 +0000
Commit:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
CommitDate: Tue Sep 16 14:59:00 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd022549

sys-cluster/ceph: Enable NVMEoF bits in 20

Signed-off-by: Patrick Lauer <patrick <AT> gentoo.org>

 .../{ceph-20.1.0.ebuild => ceph-20.1.0-r1.ebuild}  |  6 ++++-
 sys-cluster/ceph/files/ceph-20.1.0-nvmeof.patch    | 30 ++++++++++++++++++++++
 sys-cluster/ceph/metadata.xml                      |  1 +
 3 files changed, 36 insertions(+), 1 deletion(-)

diff --git a/sys-cluster/ceph/ceph-20.1.0.ebuild 
b/sys-cluster/ceph/ceph-20.1.0-r1.ebuild
similarity index 98%
rename from sys-cluster/ceph/ceph-20.1.0.ebuild
rename to sys-cluster/ceph/ceph-20.1.0-r1.ebuild
index 93a77847c095..e41e2a5bbb41 100644
--- a/sys-cluster/ceph/ceph-20.1.0.ebuild
+++ b/sys-cluster/ceph/ceph-20.1.0-r1.ebuild
@@ -27,7 +27,7 @@ CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
 
 IUSE="
        babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
-       jemalloc jaeger kafka kerberos ldap lttng +mgr +parquet pmdk rabbitmq
+       jemalloc jaeger kafka kerberos ldap lttng +mgr nvmeof +parquet pmdk 
rabbitmq
        +radosgw rbd-rwl rbd-ssd rdma rgw-lua selinux +ssl spdk +sqlite 
+system-boost
        systemd +tcmalloc test +uring xfs zbd
 "
@@ -90,6 +90,7 @@ DEPEND="
        kerberos? ( virtual/krb5 )
        ldap? ( net-nds/openldap:= )
        lttng? ( dev-util/lttng-ust:= )
+       nvmeof? ( net-libs/grpc:= )
        parquet? (
                >=app-arch/lz4-1.10
                dev-cpp/xsimd
@@ -190,6 +191,7 @@ REQUIRED_USE="
        mgr? ( cephfs )
        rabbitmq? ( radosgw )
        rgw-lua? ( radosgw )
+       nvmeof? ( spdk )
 "
 
 RESTRICT="
@@ -226,6 +228,7 @@ PATCHES=(
        "${FILESDIR}/ceph-18.2.4-liburing.patch"
        "${FILESDIR}/ceph-18.2.4-spdk.patch"
        "${FILESDIR}/ceph-19.2.1-isa-l.patch"
+       "${FILESDIR}/ceph-20.1.0-nvmeof.patch"
 )
 
 check-reqs_export_vars() {
@@ -353,6 +356,7 @@ ceph_src_configure() {
                -DCMAKE_DISABLE_FIND_PACKAGE_fmt=ON
                -Wno-dev
                -DCEPHADM_BUNDLED_DEPENDENCIES=none
+               -DWITH_NVMEOF_GATEWAY_MONITOR_CLIENT:BOOL=$(usex nvmeof)
        )
 
        # this breaks when re-configuring for python impl

diff --git a/sys-cluster/ceph/files/ceph-20.1.0-nvmeof.patch 
b/sys-cluster/ceph/files/ceph-20.1.0-nvmeof.patch
new file mode 100644
index 000000000000..51baf42122c2
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-20.1.0-nvmeof.patch
@@ -0,0 +1,30 @@
+--- a/src/CMakeLists.txt       2025-09-15 15:00:18.003748368 -0000
++++ b/src/CMakeLists.txt       2025-09-15 15:04:40.923163569 -0000
+@@ -906,7 +906,7 @@
+ 
+ # NVMEOF GATEWAY MONITOR CLIENT
+ # Supported on RPM-based platforms only, depends on grpc devel libraries/tools
+-if(EXISTS "/etc/redhat-release" OR EXISTS "/etc/fedora-release")
++if(EXISTS "/etc/redhat-release" OR EXISTS "/etc/fedora-release" OR EXISTS 
"/etc/gentoo-release")
+   option(WITH_NVMEOF_GATEWAY_MONITOR_CLIENT "build nvmeof gateway monitor 
client" ON)
+ else()
+   option(WITH_NVMEOF_GATEWAY_MONITOR_CLIENT "build nvmeof gateway monitor 
client" OFF)
+
+
+--- a/src/CMakeLists.txt       2025-09-16 05:15:55.633004241 -0000
++++ b/src/CMakeLists.txt       2025-09-16 13:24:29.640098498 -0000
+@@ -918,6 +918,14 @@
+   # Looks for protobuf-config.cmake file installed by Protobuf's cmake 
installation.
+   option(protobuf_MODULE_COMPATIBLE TRUE)
+   find_package(Protobuf REQUIRED)
++  find_library (UPB_LIBRARIES NAMES upb)
++  if (UPB_LIBRARIES)
++    add_library(protobuf::libupb STATIC IMPORTED)
++    add_executable(protobuf::protoc-gen-upb IMPORTED)
++    add_executable(protobuf::protoc-gen-upbdefs IMPORTED)
++    add_executable(protobuf::protoc-gen-upb_minitable IMPORTED)
++  endif()
++
+ 
+   set(_REFLECTION grpc++_reflection)
+   if(CMAKE_CROSSCOMPILING)

diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml
index 10e8a6f85f00..8424107048aa 100644
--- a/sys-cluster/ceph/metadata.xml
+++ b/sys-cluster/ceph/metadata.xml
@@ -24,6 +24,7 @@
     <flag name="kafka">Rados Gateway's pubsub support for Kafka push 
endpoint</flag>
     <flag name="lttng">Add support for LTTng</flag>
     <flag name="mgr">Build the ceph-mgr daemon</flag>
+    <flag name="nvmeof">Enable support for NVMEoF</flag>
     <flag name="parquet">Support for s3 select on parquet objects</flag>
     <flag name="pmdk">Enable PMDK libraries</flag>
     <flag name="rabbitmq">Use rabbitmq-c to build rgw amqp push endpoint</flag>

Reply via email to