Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Aug 2024 19:46:59 GMT
From:      Dimitry Andric <dim@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-branches@FreeBSD.org
Subject:   git: ba047c5711db - 2024Q3 - lang/spidermonkey102: fix build with clang and libc++ 19
Message-ID:  <202408121946.47CJkxPb034516@gitrepo.freebsd.org>

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

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

commit ba047c5711db7512124836e092e428546ca78eef
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2024-08-10 13:48:05 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2024-08-12 19:46:24 +0000

    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
    
    (cherry picked from commit 8e8ef3deb407ff549eba6d5310e0988f1f49a9c5)
---
 lang/spidermonkey102/Makefile | 4 ++++
 lang/spidermonkey102/distinfo | 6 +++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/lang/spidermonkey102/Makefile b/lang/spidermonkey102/Makefile
index 3ca6eb71ddda..fedbe464f4dc 100644
--- a/lang/spidermonkey102/Makefile
+++ b/lang/spidermonkey102/Makefile
@@ -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 102-esr
 WWW=		https://spidermonkey.dev/
diff --git a/lang/spidermonkey102/distinfo b/lang/spidermonkey102/distinfo
index fb023b99e723..b3cc23b67d1d 100644
--- a/lang/spidermonkey102/distinfo
+++ b/lang/spidermonkey102/distinfo
@@ -1,3 +1,7 @@
-TIMESTAMP = 1667756158
+TIMESTAMP = 1723491894
 SHA256 (firefox-102.4.0esr.source.tar.xz) = e79f0ddd4914dfbff61c5eea7ff28ad2dd12ecfbf3d63a41dab57d50171d904e
 SIZE (firefox-102.4.0esr.source.tar.xz) = 482118312
+SHA256 (223087fdc29f18678f6174e9807b8780e439acf6) = f234371584e2b2bc9953ae4fd145da19c99a6f04087f53d59616aecf29df039c
+SIZE (223087fdc29f18678f6174e9807b8780e439acf6) = 1597
+SHA256 (68ff4d3f7338248b4d67cf03aade5a73f8d396b2) = 8d556dcb0d3a76a6cb8870b6eff45fafe0a78760ea24d34ea0b5e7ceb4489a71
+SIZE (68ff4d3f7338248b4d67cf03aade5a73f8d396b2) = 2546



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