Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Nov 2024 20:53:37 GMT
From:      Dimitry Andric <dim@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: c3ec17f889ef - main - www/davix: fix build with clang 19
Message-ID:  <202411032053.4A3KrbjX057934@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by dim:

URL: https://cgit.FreeBSD.org/ports/commit/?id=c3ec17f889effeee0a46d666dbd4f82c8cc77fac

commit c3ec17f889effeee0a46d666dbd4f82c8cc77fac
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2024-11-03 14:31:57 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2024-11-03 20:53:19 +0000

    www/davix: fix build with clang 19
    
    Clang 19 has become more strict about assigning to const class members,
    resulting in errors similar to:
    
      /wrkdirs/usr/ports/www/davix/work/davix-R_0_8_7/src/libs/rapidjson/document.h:319:82: error: cannot assign to non-static data member 'length' with const-qualified type 'const SizeType' (aka 'const unsigned int')
        319 |     GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; }
            |                                                                           ~~~~~~ ^
      /wrkdirs/usr/ports/www/davix/work/davix-R_0_8_7/src/libs/rapidjson/document.h:325:20: note: non-static data member 'length' declared const here
        325 |     const SizeType length; //!< length of the string (excluding the trailing NULL terminator)
            |     ~~~~~~~~~~~~~~~^~~~~~
    
    Upstream rapidjson has fixed this in commit 3b2441b8 [1], which simply
    removes the assignment operator.
    
    [1] https://github.com/Tencent/rapidjson/commit/3b2441b8
    
    PR:             282515
    Approved by:    yuri (maintainer)
    MFH:            2024Q4
---
 www/davix/files/patch-src_libs_rapidjson_document.h | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/www/davix/files/patch-src_libs_rapidjson_document.h b/www/davix/files/patch-src_libs_rapidjson_document.h
new file mode 100644
index 000000000000..346bcdd112a0
--- /dev/null
+++ b/www/davix/files/patch-src_libs_rapidjson_document.h
@@ -0,0 +1,11 @@
+--- src/libs/rapidjson/document.h.orig	2024-06-24 15:50:44 UTC
++++ src/libs/rapidjson/document.h
+@@ -316,8 +316,6 @@ struct GenericStringRef {
+ 
+     GenericStringRef(const GenericStringRef& rhs) : s(rhs.s), length(rhs.length) {}
+ 
+-    GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; }
+-
+     //! implicit conversion to plain CharType pointer
+     operator const Ch *() const { return s; }
+ 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202411032053.4A3KrbjX057934>