commit:     356a577a8b297ffb97e1cc8c61a67e14cd5014b3
Author:     Z. Liu <zhixu.liu <AT> gmail <DOT> com>
AuthorDate: Wed Dec 11 12:08:03 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 12 04:56:50 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=356a577a

dev-db/mongodb: fix build error w/ clang 19

Backport from upstream commit 33cdc6655b0de44cb7a431216dcbb0d5a552aec6

Signed-off-by: Z. Liu <zhixu.liu <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/39677
Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...db-5.0.26-mozjs-remove-unused-constructor.patch | 25 ++++++++++++++++++++++
 dev-db/mongodb/mongodb-5.0.26.ebuild               |  1 +
 dev-db/mongodb/mongodb-5.0.30.ebuild               |  2 ++
 3 files changed, 28 insertions(+)

diff --git 
a/dev-db/mongodb/files/mongodb-5.0.26-mozjs-remove-unused-constructor.patch 
b/dev-db/mongodb/files/mongodb-5.0.26-mozjs-remove-unused-constructor.patch
new file mode 100644
index 000000000000..0b5058c88155
--- /dev/null
+++ b/dev-db/mongodb/files/mongodb-5.0.26-mozjs-remove-unused-constructor.patch
@@ -0,0 +1,25 @@
+https://phabricator.services.mozilla.com/D209108
+https://github.com/mozilla/gecko-dev/commit/33cdc6655b0de44cb7a431216dcbb0d5a552aec6
+
+clang 19 will report error if w/o this patch:
+
+  src/third_party/mozjs-60/extract/js/src/threading/ExclusiveData.h:124:33: 
error: reference to non-static member function must be called
+
+diff --git a/src/third_party/mozjs-60/extract/js/src/threading/ExclusiveData.h 
b/src/third_party/mozjs-60/extract/js/src/threading/ExclusiveData.h
+index 25b977e..379a509 100644
+--- a/src/third_party/mozjs-60/extract/js/src/threading/ExclusiveData.h
++++ b/src/third_party/mozjs-60/extract/js/src/threading/ExclusiveData.h
+@@ -120,13 +120,6 @@ class ExclusiveData
+         release();
+     }
+ 
+-    ExclusiveData(ExclusiveData&& rhs)
+-      : lock_(mozilla::Move(rhs.lock))
+-    {
+-        MOZ_ASSERT(&rhs != this, "self-move disallowed!");
+-        new (mozilla::KnownNotNull, value_.addr()) 
T(mozilla::Move(*rhs.value_.addr()));
+-    }
+-
+     ExclusiveData& operator=(ExclusiveData&& rhs) {
+         this->~ExclusiveData();
+         new (mozilla::KnownNotNull, this) ExclusiveData(mozilla::Move(rhs));

diff --git a/dev-db/mongodb/mongodb-5.0.26.ebuild 
b/dev-db/mongodb/mongodb-5.0.26.ebuild
index 63bff8b4aa91..63e325490e65 100644
--- a/dev-db/mongodb/mongodb-5.0.26.ebuild
+++ b/dev-db/mongodb/mongodb-5.0.26.ebuild
@@ -77,6 +77,7 @@ PATCHES=(
        "${FILESDIR}/${PN}-5.0.26-boost-1.85.patch"
        "${FILESDIR}/${PN}-5.0.26-boost-1.85-extra.patch"
        "${FILESDIR}/${PN}-5.0.26-scons.patch"
+       "${FILESDIR}/${PN}-5.0.26-mozjs-remove-unused-constructor.patch"
 )
 
 python_check_deps() {

diff --git a/dev-db/mongodb/mongodb-5.0.30.ebuild 
b/dev-db/mongodb/mongodb-5.0.30.ebuild
index 0305a184fa0f..a361c0984bfd 100644
--- a/dev-db/mongodb/mongodb-5.0.30.ebuild
+++ b/dev-db/mongodb/mongodb-5.0.30.ebuild
@@ -78,6 +78,8 @@ PATCHES=(
        "${FILESDIR}/${PN}-5.0.26-boost-1.85.patch"
        "${FILESDIR}/${PN}-5.0.26-boost-1.85-extra.patch"
        "${FILESDIR}/${PN}-5.0.30-gcc-15.patch"
+       "${FILESDIR}/${PN}-5.0.26-scons.patch"
+       "${FILESDIR}/${PN}-5.0.26-mozjs-remove-unused-constructor.patch"
 )
 
 python_check_deps() {

Reply via email to