Sun Aug 14 19:54:31 2022 UTC ()
libcxx: fix definition of __regex_word on SunOS


(tnn)
diff -r1.19 -r1.20 pkgsrc/lang/libcxx/distinfo
diff -r0 -r1.1 pkgsrc/lang/libcxx/patches/patch-include_____locale

cvs diff -r1.19 -r1.20 pkgsrc/lang/libcxx/distinfo (expand / switch to unified diff)

--- pkgsrc/lang/libcxx/distinfo 2022/08/13 09:38:09 1.19
+++ pkgsrc/lang/libcxx/distinfo 2022/08/14 19:54:31 1.20
@@ -1,16 +1,17 @@ @@ -1,16 +1,17 @@
1$NetBSD: distinfo,v 1.19 2022/08/13 09:38:09 tnn Exp $ 1$NetBSD: distinfo,v 1.20 2022/08/14 19:54:31 tnn Exp $
2 2
3BLAKE2s (libcxx-14.0.6.src.tar.xz) = e77dfac79fb977adf84345b7e4c2762b3fa89f3d1f611baa8f8fa6831d1bc68a 3BLAKE2s (libcxx-14.0.6.src.tar.xz) = e77dfac79fb977adf84345b7e4c2762b3fa89f3d1f611baa8f8fa6831d1bc68a
4SHA512 (libcxx-14.0.6.src.tar.xz) = c39bb01317e8ae7e5b23a677754a866953b6c45188c194d3d76fbd276de9565df8bcbcab8cf6606584af7dd30a61f39376c0e2de6b8c32c69f7fc592587e710d 4SHA512 (libcxx-14.0.6.src.tar.xz) = c39bb01317e8ae7e5b23a677754a866953b6c45188c194d3d76fbd276de9565df8bcbcab8cf6606584af7dd30a61f39376c0e2de6b8c32c69f7fc592587e710d
5Size (libcxx-14.0.6.src.tar.xz) = 3065120 bytes 5Size (libcxx-14.0.6.src.tar.xz) = 3065120 bytes
6BLAKE2s (libcxxabi-14.0.6.src.tar.xz) = c2bc894a75176b7f24517b6c045ddaccc61375453d56331f51dc9d03821804cc 6BLAKE2s (libcxxabi-14.0.6.src.tar.xz) = c2bc894a75176b7f24517b6c045ddaccc61375453d56331f51dc9d03821804cc
7SHA512 (libcxxabi-14.0.6.src.tar.xz) = f61926ce9c8bf4d704d9ee03a795ebd23730099d56c385e3cbd1f8b588b337c1394d6548f55e1452df5040117a80765c977ba256547d53cd21895e91ef0fffa6 7SHA512 (libcxxabi-14.0.6.src.tar.xz) = f61926ce9c8bf4d704d9ee03a795ebd23730099d56c385e3cbd1f8b588b337c1394d6548f55e1452df5040117a80765c977ba256547d53cd21895e91ef0fffa6
8Size (libcxxabi-14.0.6.src.tar.xz) = 561844 bytes 8Size (libcxxabi-14.0.6.src.tar.xz) = 561844 bytes
9BLAKE2s (llvm-14.0.6.src.tar.xz) = 2d44946453add45426569fd4187654f83881341c5c0109e4ffacc60e8f73af60 9BLAKE2s (llvm-14.0.6.src.tar.xz) = 2d44946453add45426569fd4187654f83881341c5c0109e4ffacc60e8f73af60
10SHA512 (llvm-14.0.6.src.tar.xz) = 6461bdde27aac17fa44c3e99a85ec47ffb181d0d4e5c3ef1c4286a59583e3b0c51af3c8081a300f45b99524340773a3011380059e3b3a571c3b0a8733e96fc1d 10SHA512 (llvm-14.0.6.src.tar.xz) = 6461bdde27aac17fa44c3e99a85ec47ffb181d0d4e5c3ef1c4286a59583e3b0c51af3c8081a300f45b99524340773a3011380059e3b3a571c3b0a8733e96fc1d
11Size (llvm-14.0.6.src.tar.xz) = 49660136 bytes 11Size (llvm-14.0.6.src.tar.xz) = 49660136 bytes
12SHA1 (patch-include_____config) = 01793dc2ec7db8f51d042fd0114649223036b089 12SHA1 (patch-include_____config) = 01793dc2ec7db8f51d042fd0114649223036b089
 13SHA1 (patch-include_____locale) = 16ce105c26adf43828699ddb2825ea2a199f2bda
13SHA1 (patch-src_charconv.cpp) = b8569ae77df4a5a7b627b3a9cb6691be73699dca 14SHA1 (patch-src_charconv.cpp) = b8569ae77df4a5a7b627b3a9cb6691be73699dca
14SHA1 (patch-src_filesystem_filesystem__common.h) = 7b088ae8e577b482e05906434b510daed40469ae 15SHA1 (patch-src_filesystem_filesystem__common.h) = 7b088ae8e577b482e05906434b510daed40469ae
15SHA1 (patch-src_include_to__chars__floating__point.h) = f7f880905609b87830ea657c7510fb3987448a09 16SHA1 (patch-src_include_to__chars__floating__point.h) = f7f880905609b87830ea657c7510fb3987448a09
16SHA1 (patch-src_support_solaris_xlocale.cpp) = 51fc7940a60a4e288a1ccb65f1ea0502f6006490 17SHA1 (patch-src_support_solaris_xlocale.cpp) = 51fc7940a60a4e288a1ccb65f1ea0502f6006490

File Added: pkgsrc/lang/libcxx/patches/patch-include_____locale
$NetBSD: patch-include_____locale,v 1.1 2022/08/14 19:54:31 tnn Exp $

Fix definition of __regex_word on SunOS.
0x80 clashes with _ISXDIGIT. Looking at <iso/ctype_iso.h>, 0x1000
/seems/ to be an unused character class so use that pending an
upstream fix. Similar issue to AIX.
See upstream d29c9477320b982b73dc64405ff8f7fc54bb04d6.

--- include/__locale.orig	2022-06-22 16:46:24.000000000 +0000
+++ include/__locale
@@ -493,7 +493,13 @@ public:
     static const mask punct  = _ISPUNCT;
     static const mask xdigit = _ISXDIGIT;
     static const mask blank  = _ISBLANK;
+# if defined(_AIX)
+    static const mask __regex_word = 0x8000;
+# elif defined(__sun__)
+    static const mask __regex_word = 0x1000;
+# else
     static const mask __regex_word = 0x80;
+# endif
 #elif defined(_NEWLIB_VERSION)
     // Same type as Newlib's _ctype_ array in newlib/libc/include/ctype.h.
     typedef char mask;