HomeFreeBSD

lang/spidermonkey102: fix build with clang and libc++ 19

Description

lang/spidermonkey102: fix build with clang and libc++ 19

Clang 19 now diagnoses incorrect member accesses, which causes
lang/spidermonkey102 to fail with an error similar to:

/wrkdirs/usr/ports/lang/spidermonkey102/work/firefox-102.9.0/js/src/threading/ExclusiveData.h:113:29: error: reference to non-static member function must be called
  113 |       : lock_(std::move(rhs.lock)), value_(std::move(rhs.value_)) {
      |                         ~~~~^~~~

Upstream fixed this for https://bugzilla.mozilla.org/1894423 in
changeset 223087fdc29f18678f6174e9807b8780e439acf6 [2], so pull this in
as a patch and apply it.

Also, as noted in the libc++ 19 release notes [1], std::char_traits<> is
now only provided for char, char8_t, char16_t, char32_t and wchar_t, and
any instantiation for other types will fail.

With lang/spidermonkey102 and clang/libc++ 19 this results in errors
similar to:

/wrkdirs/usr/ports/lang/spidermonkey102/work/firefox-102.9.0/js/src/builtin/intl/Locale.cpp:208:20: error: implicit instantiation of undefined template 'std::char_traits<unsigned char>'
  208 |       iter_ = std::char_traits<CharT>::find(
      |                    ^
/wrkdirs/usr/ports/lang/spidermonkey102/work/firefox-102.9.0/js/src/builtin/intl/Locale.cpp:769:21: note: in instantiation of member function 'SepKeywordIterator<unsigned char>::next' requested here
  769 |     beginKey = iter.next();
      |                     ^
/wrkdirs/usr/ports/lang/spidermonkey102/work/firefox-102.9.0/js/src/builtin/intl/Locale.cpp:808:16: note: in instantiation of function template specialization 'FindUnicodeExtensionType<unsigned char>' requested here
  808 |              ? FindUnicodeExtensionType(unicodeExtension->latin1Chars(nogc),
      |                ^

Upstream fixed this for https://bugzilla.mozilla.org/1849070 in
changeset 68ff4d3f7338248b4d67cf03aade5a73f8d396b2 [3], so pull this in
as a patch and apply it.

[1] https://libcxx.llvm.org/ReleaseNotes/19.html#deprecations-and-removals
[2] https://hg.mozilla.org/mozilla-central/rev/223087fdc29f18678f6174e9807b8780e439acf6
[3] https://hg.mozilla.org/mozilla-central/rev/68ff4d3f7338248b4d67cf03aade5a73f8d396b2

PR: 280730
Approved by: nc (maintainer)
MFH: 2024Q3

Details

Provenance
dimAuthored on Aug 10 2024, 1:48 PM
Parents
R11:743cdc309608: www/webkit2-gtk3: fix build with clang 19
Branches
Unknown
Tags
Unknown