pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/lang/libcxx libcxx: Fix build on SunOS.
details: https://anonhg.NetBSD.org/pkgsrc/rev/65dab52dd4ce
branches: trunk
changeset: 389642:65dab52dd4ce
user: jperkin <jperkin%pkgsrc.org@localhost>
date: Wed Dec 07 10:40:34 2022 +0000
description:
libcxx: Fix build on SunOS.
diffstat:
lang/libcxx/Makefile | 4 +-
lang/libcxx/distinfo | 4 +-
lang/libcxx/patches/patch-include_____locale | 15 ++++
lang/libcxx/patches/patch-include_____support_solaris_xlocale.h | 32 ++++++++++
4 files changed, 53 insertions(+), 2 deletions(-)
diffs (91 lines):
diff -r 6bffc058f833 -r 65dab52dd4ce lang/libcxx/Makefile
--- a/lang/libcxx/Makefile Wed Dec 07 09:43:57 2022 +0000
+++ b/lang/libcxx/Makefile Wed Dec 07 10:40:34 2022 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.16 2022/11/14 18:44:06 adam Exp $
+# $NetBSD: Makefile,v 1.17 2022/12/07 10:40:34 jperkin Exp $
.include "../../lang/llvm/version.mk"
@@ -38,6 +38,8 @@
# avoid conflict with stddef.h
CXXFLAGS.NetBSD+= -D__DEFINED_max_align_t=1
+CXXFLAGS.SunOS+= -D_LIBCPP_NO_ABI_TAG=1
+
.include "../../mk/compiler.mk"
.if !empty(CC_VERSION:Mgcc-[0-9].*) || !empty(CC_VERSION:Mgcc-10.*)
diff -r 6bffc058f833 -r 65dab52dd4ce lang/libcxx/distinfo
--- a/lang/libcxx/distinfo Wed Dec 07 09:43:57 2022 +0000
+++ b/lang/libcxx/distinfo Wed Dec 07 10:40:34 2022 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.23 2022/11/30 19:54:59 adam Exp $
+$NetBSD: distinfo,v 1.24 2022/12/07 10:40:34 jperkin Exp $
BLAKE2s (cmake-15.0.6.src.tar.xz) = 6d91c537ea78e56d2621d703d6d20d9b4f52281b80520e5003bb8ea402ad8236
SHA512 (cmake-15.0.6.src.tar.xz) = a078b9b426515414dae41c8732d7cd955e8ddc9638b4ba9c7dd0925db68e5ea760096f08fd7e1cb9d55b6d73da75f9b4318a2fac36d7aa64f47536ac383b3edc
@@ -9,6 +9,8 @@
BLAKE2s (libcxxabi-15.0.6.src.tar.xz) = 3f7ea6d3a47ae4a66c13971c3b3e5e334cec0c6793943e8a9f39bfe5d8e498cf
SHA512 (libcxxabi-15.0.6.src.tar.xz) = 8dfce2fdfe75d88ce8e695d86ee06d01fa8c35a12a32a59c4ac0b6b1a30571a4e97af4b9c9b655fe8502e850563eeb2edaf648b0ee7c872551e8207bfb79f499
Size (libcxxabi-15.0.6.src.tar.xz) = 568780 bytes
+SHA1 (patch-include_____locale) = 2eafcf7f70f67df907593fe8cc0cc1ec1c0e0552
+SHA1 (patch-include_____support_solaris_xlocale.h) = c6a969ed48b4df78401fea76c7a936c258cf869f
SHA1 (patch-src_charconv.cpp) = b8569ae77df4a5a7b627b3a9cb6691be73699dca
SHA1 (patch-src_filesystem_filesystem__common.h) = 7b088ae8e577b482e05906434b510daed40469ae
SHA1 (patch-src_include_to__chars__floating__point.h) = f7f880905609b87830ea657c7510fb3987448a09
diff -r 6bffc058f833 -r 65dab52dd4ce lang/libcxx/patches/patch-include_____locale
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/libcxx/patches/patch-include_____locale Wed Dec 07 10:40:34 2022 +0000
@@ -0,0 +1,15 @@
+$NetBSD: patch-include_____locale,v 1.3 2022/12/07 10:40:34 jperkin Exp $
+
+Increase SunOS mask to fit all values.
+
+--- include/__locale.orig 2022-11-29 10:05:58.000000000 +0000
++++ include/__locale
+@@ -495,7 +495,7 @@ public:
+ # if defined(_AIX)
+ static const mask __regex_word = 0x8000;
+ # else
+- static const mask __regex_word = 0x80;
++ static const mask __regex_word = 0x80000;
+ # endif
+ #elif defined(_NEWLIB_VERSION)
+ // Same type as Newlib's _ctype_ array in newlib/libc/include/ctype.h.
diff -r 6bffc058f833 -r 65dab52dd4ce lang/libcxx/patches/patch-include_____support_solaris_xlocale.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/libcxx/patches/patch-include_____support_solaris_xlocale.h Wed Dec 07 10:40:34 2022 +0000
@@ -0,0 +1,32 @@
+$NetBSD: patch-include_____support_solaris_xlocale.h,v 1.1 2022/12/07 10:40:34 jperkin Exp $
+
+Fix SunOS support.
+
+--- include/__support/solaris/xlocale.h.orig 2022-11-29 10:05:58.000000000 +0000
++++ include/__support/solaris/xlocale.h
+@@ -13,6 +13,9 @@
+ #ifndef __XLOCALE_H_INCLUDED
+ #define __XLOCALE_H_INCLUDED
+
++#include <cstdlib>
++#include <cwchar>
++#include <__support/xlocale/__strtonum_fallback.h>
+ #include <stdlib.h>
+
+ #ifdef __cplusplus
+@@ -31,6 +34,7 @@ int tolower_l(int __c, locale_t __l);
+ struct lconv *localeconv(void);
+ struct lconv *localeconv_l(locale_t __l);
+
++#if 0
+ // FIXME: These are quick-and-dirty hacks to make things pretend to work
+ inline _LIBCPP_HIDE_FROM_ABI long long
+ strtoll_l(const char *__nptr, char **__endptr, int __base, locale_t __loc) {
+@@ -66,6 +70,7 @@ inline _LIBCPP_HIDE_FROM_ABI long double
+ strtold_l(const char *__nptr, char **__endptr, locale_t __loc) {
+ return ::strtold(__nptr, __endptr);
+ }
++#endif
+
+
+ #ifdef __cplusplus
Home |
Main Index |
Thread Index |
Old Index