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

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

  /wrkdirs/usr/ports/lang/spidermonkey91/work/firefox-91.13.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/spidermonkey91 and clang/libc++ 19 this results in errors
similar to:

  /wrkdirs/usr/ports/lang/spidermonkey91/work/fireox-78.15.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/spidermonkey91/work/fireox-78.15.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/spidermonkey91/work/fireox-78.15.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.

See also bug 280730, for lang/spidermonkey102.

[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:		283051
Approved by:	maintainer timeout (2 weeks)
MFH:		2024Q4
This commit is contained in:
Dimitry Andric 2024-11-30 16:29:33 +01:00
parent 4dc6727cb5
commit ed3a65c936
2 changed files with 9 additions and 1 deletions

View file

@ -6,6 +6,10 @@ MASTER_SITES= MOZILLA/firefox/releases/${DISTVERSION}esr/source
PKGNAMESUFFIX= ${SP_VER}
DISTNAME= firefox-${DISTVERSION}esr.source
PATCH_SITES= https://hg.mozilla.org/mozilla-central/raw-rev/
PATCHFILES+= 223087fdc29f18678f6174e9807b8780e439acf6:-p1 # https://bugzilla.mozilla.org/1894423
PATCHFILES+= 68ff4d3f7338248b4d67cf03aade5a73f8d396b2:-p1 # https://bugzilla.mozilla.org/1849070
MAINTAINER= nc@FreeBSD.org
COMMENT= Standalone JavaScript based from Mozilla 91-esr
WWW= https://spidermonkey.dev/

View file

@ -1,3 +1,7 @@
TIMESTAMP = 1662950031
TIMESTAMP = 1732980107
SHA256 (firefox-91.13.0esr.source.tar.xz) = 53be2bcde0b5ee3ec106bd8ba06b8ae95e7d489c484e881dfbe5360e4c920762
SIZE (firefox-91.13.0esr.source.tar.xz) = 380053584
SHA256 (223087fdc29f18678f6174e9807b8780e439acf6) = f234371584e2b2bc9953ae4fd145da19c99a6f04087f53d59616aecf29df039c
SIZE (223087fdc29f18678f6174e9807b8780e439acf6) = 1597
SHA256 (68ff4d3f7338248b4d67cf03aade5a73f8d396b2) = 8d556dcb0d3a76a6cb8870b6eff45fafe0a78760ea24d34ea0b5e7ceb4489a71
SIZE (68ff4d3f7338248b4d67cf03aade5a73f8d396b2) = 2546