Thu Aug 9 14:16:08 2018 UTC ()
lang: Import libcxx version 6.0.1.

libc++ is a new implementation of the C++ standard library, targeting
C++11.

Features and Goals
 * Correctness as defined by the C++11 standard.
 * Fast execution.
 * Minimal memory use.
 * Fast compile times.
 * ABI compatibility with gcc's libstdc++ for some low-level features
   such as exception objects, rtti and memory allocation.
 * Extensive unit tests.


(jperkin)
diff -r1.491 -r1.492 pkgsrc/lang/Makefile
diff -r0 -r1.1 pkgsrc/lang/libcxx/DESCR
diff -r0 -r1.1 pkgsrc/lang/libcxx/Makefile
diff -r0 -r1.1 pkgsrc/lang/libcxx/PLIST
diff -r0 -r1.1 pkgsrc/lang/libcxx/buildlink3.mk
diff -r0 -r1.1 pkgsrc/lang/libcxx/distinfo
diff -r0 -r1.1 pkgsrc/lang/libcxx/patches/patch-src_experimental_memory__resource.cpp

cvs diff -r1.491 -r1.492 pkgsrc/lang/Makefile (expand / switch to unified diff)

--- pkgsrc/lang/Makefile 2018/08/09 14:13:25 1.491
+++ pkgsrc/lang/Makefile 2018/08/09 14:16:08 1.492
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: Makefile,v 1.491 2018/08/09 14:13:25 jperkin Exp $ 1# $NetBSD: Makefile,v 1.492 2018/08/09 14:16:08 jperkin Exp $
2# 2#
3 3
4COMMENT= Programming languages 4COMMENT= Programming languages
5 5
6SUBDIR+= Cg-compiler 6SUBDIR+= Cg-compiler
7SUBDIR+= LuaJIT 7SUBDIR+= LuaJIT
8SUBDIR+= LuaJIT2 8SUBDIR+= LuaJIT2
9SUBDIR+= R-codetools 9SUBDIR+= R-codetools
10SUBDIR+= R-sourcetools 10SUBDIR+= R-sourcetools
11SUBDIR+= STk 11SUBDIR+= STk
12SUBDIR+= a60 12SUBDIR+= a60
13SUBDIR+= abcl 13SUBDIR+= abcl
14SUBDIR+= algol68g 14SUBDIR+= algol68g
@@ -112,26 +112,27 @@ SUBDIR+= jikes @@ -112,26 +112,27 @@ SUBDIR+= jikes
112SUBDIR+= jimtcl 112SUBDIR+= jimtcl
113SUBDIR+= jini 113SUBDIR+= jini
114SUBDIR+= joos 114SUBDIR+= joos
115SUBDIR+= js 115SUBDIR+= js
116SUBDIR+= kaffe 116SUBDIR+= kaffe
117SUBDIR+= kaffe-esound 117SUBDIR+= kaffe-esound
118SUBDIR+= kaffe-x11 118SUBDIR+= kaffe-x11
119SUBDIR+= kali 119SUBDIR+= kali
120SUBDIR+= konoha 120SUBDIR+= konoha
121SUBDIR+= ksi 121SUBDIR+= ksi
122SUBDIR+= libBlocksRuntime 122SUBDIR+= libBlocksRuntime
123SUBDIR+= libLLVM 123SUBDIR+= libLLVM
124SUBDIR+= libLLVM34 124SUBDIR+= libLLVM34
 125SUBDIR+= libcxx
125SUBDIR+= libcxxabi 126SUBDIR+= libcxxabi
126SUBDIR+= libduktape 127SUBDIR+= libduktape
127SUBDIR+= librep 128SUBDIR+= librep
128SUBDIR+= libtcl-nothread 129SUBDIR+= libtcl-nothread
129SUBDIR+= libunwind 130SUBDIR+= libunwind
130SUBDIR+= likepython 131SUBDIR+= likepython
131SUBDIR+= llvm 132SUBDIR+= llvm
132#SUBDIR+= lua # only contains Makefile fragments 133#SUBDIR+= lua # only contains Makefile fragments
133SUBDIR+= lua51 134SUBDIR+= lua51
134SUBDIR+= lua52 135SUBDIR+= lua52
135SUBDIR+= lua53 136SUBDIR+= lua53
136SUBDIR+= lush 137SUBDIR+= lush
137SUBDIR+= maude 138SUBDIR+= maude

File Added: pkgsrc/lang/libcxx/DESCR
libc++ is a new implementation of the C++ standard library, targeting
C++11.

Features and Goals
 * Correctness as defined by the C++11 standard.
 * Fast execution.
 * Minimal memory use.
 * Fast compile times.
 * ABI compatibility with gcc's libstdc++ for some low-level features
   such as exception objects, rtti and memory allocation.
 * Extensive unit tests.

File Added: pkgsrc/lang/libcxx/Makefile
# $NetBSD: Makefile,v 1.1 2018/08/09 14:16:08 jperkin Exp $

DISTNAME=	libcxx-6.0.1.src
PKGNAME=	${DISTNAME:S/.src//}
CATEGORIES=	lang devel
MASTER_SITES=	http://llvm.org/releases/${PKGVERSION_NOREV}/
EXTRACT_SUFX=	.tar.xz

MAINTAINER=	pkgsrc-users@NetBSD.org
HOMEPAGE=	http://libcxx.llvm.org/
COMMENT=	C++ Standard Library
LICENSE=	modified-bsd OR mit

# libcxx requires libcxxabi's cxxabi.h to build, but libcxxabi requires
# libcxx's includes to build, so we have this unholy extra distfiles thing
# in both of them to get them to build against each other without causing
# circular dependencies.  This must be kept in sync with libcxxabi/Makefile.
#
LIBCXXABI=	libcxxabi-${PKGVERSION_NOREV}.src
DISTFILES=	${DEFAULT_DISTFILES} ${LIBCXXABI}${EXTRACT_SUFX}

CONFIGURE_DIRS=	${WRKDIR}/build
CMAKE_ARG_PATH=	${WRKSRC}

USE_LANGUAGES=	c c++
USE_CMAKE=	yes
GCC_REQD+=	4.8
SSP_SUPPORTED=	no

CMAKE_ARGS+=	-DCMAKE_BUILD_TYPE=Release
CMAKE_ARGS+=	-DCMAKE_C_COMPILER=${CC:Q}
CMAKE_ARGS+=	-DCMAKE_CXX_COMPILER=${CXX:Q}
CMAKE_ARGS+=	-DCMAKE_CXX_LINK_FLAGS=${LDFLAGS:Q}
CMAKE_ARGS+=	-DLIBCXX_CXX_ABI=libcxxabi
CMAKE_ARGS+=	-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${WRKDIR}/${LIBCXXABI}/include
CMAKE_ARGS+=	-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT:BOOL=OFF

post-extract:
	${RUN} mkdir -p ${WRKDIR}/build

.include "../../lang/libcxxabi/buildlink3.mk"
.include "../../lang/llvm/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/lang/libcxx/PLIST
@comment $NetBSD: PLIST,v 1.1 2018/08/09 14:16:08 jperkin Exp $
include/c++/v1/__bit_reference
include/c++/v1/__bsd_locale_defaults.h
include/c++/v1/__bsd_locale_fallbacks.h
include/c++/v1/__config
include/c++/v1/__cxxabi_config.h
include/c++/v1/__debug
include/c++/v1/__functional_03
include/c++/v1/__functional_base
include/c++/v1/__functional_base_03
include/c++/v1/__hash_table
include/c++/v1/__libcpp_version
include/c++/v1/__locale
include/c++/v1/__mutex_base
include/c++/v1/__nullptr
include/c++/v1/__split_buffer
include/c++/v1/__sso_allocator
include/c++/v1/__std_stream
include/c++/v1/__string
include/c++/v1/__threading_support
include/c++/v1/__tree
include/c++/v1/__tuple
include/c++/v1/__undef_macros
include/c++/v1/algorithm
include/c++/v1/any
include/c++/v1/array
include/c++/v1/atomic
include/c++/v1/bitset
include/c++/v1/cassert
include/c++/v1/ccomplex
include/c++/v1/cctype
include/c++/v1/cerrno
include/c++/v1/cfenv
include/c++/v1/cfloat
include/c++/v1/chrono
include/c++/v1/cinttypes
include/c++/v1/ciso646
include/c++/v1/climits
include/c++/v1/clocale
include/c++/v1/cmath
include/c++/v1/codecvt
include/c++/v1/complex
include/c++/v1/complex.h
include/c++/v1/condition_variable
include/c++/v1/csetjmp
include/c++/v1/csignal
include/c++/v1/cstdarg
include/c++/v1/cstdbool
include/c++/v1/cstddef
include/c++/v1/cstdint
include/c++/v1/cstdio
include/c++/v1/cstdlib
include/c++/v1/cstring
include/c++/v1/ctgmath
include/c++/v1/ctime
include/c++/v1/ctype.h
include/c++/v1/cwchar
include/c++/v1/cwctype
include/c++/v1/cxxabi.h
include/c++/v1/deque
include/c++/v1/errno.h
include/c++/v1/exception
include/c++/v1/experimental/__config
include/c++/v1/experimental/__memory
include/c++/v1/experimental/algorithm
include/c++/v1/experimental/any
include/c++/v1/experimental/chrono
include/c++/v1/experimental/coroutine
include/c++/v1/experimental/deque
include/c++/v1/experimental/dynarray
include/c++/v1/experimental/filesystem
include/c++/v1/experimental/forward_list
include/c++/v1/experimental/functional
include/c++/v1/experimental/iterator
include/c++/v1/experimental/list
include/c++/v1/experimental/map
include/c++/v1/experimental/memory_resource
include/c++/v1/experimental/numeric
include/c++/v1/experimental/optional
include/c++/v1/experimental/propagate_const
include/c++/v1/experimental/ratio
include/c++/v1/experimental/regex
include/c++/v1/experimental/set
include/c++/v1/experimental/string
include/c++/v1/experimental/string_view
include/c++/v1/experimental/system_error
include/c++/v1/experimental/tuple
include/c++/v1/experimental/type_traits
include/c++/v1/experimental/unordered_map
include/c++/v1/experimental/unordered_set
include/c++/v1/experimental/utility
include/c++/v1/experimental/vector
include/c++/v1/ext/__hash
include/c++/v1/ext/hash_map
include/c++/v1/ext/hash_set
include/c++/v1/float.h
include/c++/v1/forward_list
include/c++/v1/fstream
include/c++/v1/functional
include/c++/v1/future
include/c++/v1/initializer_list
include/c++/v1/inttypes.h
include/c++/v1/iomanip
include/c++/v1/ios
include/c++/v1/iosfwd
include/c++/v1/iostream
include/c++/v1/istream
include/c++/v1/iterator
include/c++/v1/limits
include/c++/v1/limits.h
include/c++/v1/list
include/c++/v1/locale
include/c++/v1/locale.h
include/c++/v1/map
include/c++/v1/math.h
include/c++/v1/memory
include/c++/v1/module.modulemap
include/c++/v1/mutex
include/c++/v1/new
include/c++/v1/numeric
include/c++/v1/optional
include/c++/v1/ostream
include/c++/v1/queue
include/c++/v1/random
include/c++/v1/ratio
include/c++/v1/regex
include/c++/v1/scoped_allocator
include/c++/v1/set
include/c++/v1/setjmp.h
include/c++/v1/shared_mutex
include/c++/v1/sstream
include/c++/v1/stack
include/c++/v1/stdbool.h
include/c++/v1/stddef.h
include/c++/v1/stdexcept
include/c++/v1/stdint.h
include/c++/v1/stdio.h
include/c++/v1/stdlib.h
include/c++/v1/streambuf
include/c++/v1/string
include/c++/v1/string.h
include/c++/v1/string_view
include/c++/v1/strstream
include/c++/v1/support/android/locale_bionic.h
include/c++/v1/support/fuchsia/xlocale.h
include/c++/v1/support/ibm/limits.h
include/c++/v1/support/ibm/locale_mgmt_aix.h
include/c++/v1/support/ibm/support.h
include/c++/v1/support/ibm/xlocale.h
include/c++/v1/support/musl/xlocale.h
include/c++/v1/support/newlib/xlocale.h
include/c++/v1/support/solaris/floatingpoint.h
include/c++/v1/support/solaris/wchar.h
include/c++/v1/support/solaris/xlocale.h
include/c++/v1/support/win32/limits_msvc_win32.h
include/c++/v1/support/win32/locale_win32.h
include/c++/v1/support/xlocale/__nop_locale_mgmt.h
include/c++/v1/support/xlocale/__posix_l_fallback.h
include/c++/v1/support/xlocale/__strtonum_fallback.h
include/c++/v1/support/xlocale/xlocale.h
include/c++/v1/system_error
include/c++/v1/tgmath.h
include/c++/v1/thread
include/c++/v1/tuple
include/c++/v1/type_traits
include/c++/v1/typeindex
include/c++/v1/typeinfo
include/c++/v1/unordered_map
include/c++/v1/unordered_set
include/c++/v1/utility
include/c++/v1/valarray
include/c++/v1/variant
include/c++/v1/vector
include/c++/v1/wchar.h
include/c++/v1/wctype.h
lib/libc++.a
lib/libc++.so
lib/libc++.so.1
lib/libc++.so.1.0
lib/libc++experimental.a

File Added: pkgsrc/lang/libcxx/buildlink3.mk
# $NetBSD: buildlink3.mk,v 1.1 2018/08/09 14:16:08 jperkin Exp $

BUILDLINK_TREE+=	libcxx

.if !defined(LIBCXX_BUILDLINK3_MK)
LIBCXX_BUILDLINK3_MK:=

BUILDLINK_API_DEPENDS.libcxx+=	libcxx>=6.0.1
BUILDLINK_PKGSRCDIR.libcxx?=	../../lang/libcxx

.include "../../lang/llvm/buildlink3.mk"
.endif	# LIBCXX_BUILDLINK3_MK

BUILDLINK_TREE+=	-libcxx

File Added: pkgsrc/lang/libcxx/distinfo
$NetBSD: distinfo,v 1.1 2018/08/09 14:16:08 jperkin Exp $

SHA1 (libcxx-6.0.1.src.tar.xz) = 6506139683ca5319f90c84c8a29b633afda849ce
RMD160 (libcxx-6.0.1.src.tar.xz) = ead6a4fa9a0b700c96def8cfe5f7945d807da82c
SHA512 (libcxx-6.0.1.src.tar.xz) = c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
Size (libcxx-6.0.1.src.tar.xz) = 1552328 bytes
SHA1 (libcxxabi-6.0.1.src.tar.xz) = 54bff42750c9c81dba60710d6ee70d1c9e83c5af
RMD160 (libcxxabi-6.0.1.src.tar.xz) = 37cd93201a0409b8cc75f52622abbd5682067e6e
SHA512 (libcxxabi-6.0.1.src.tar.xz) = bbb4c7b412e295cb735f637df48a83093eef45ed5444f7766790b4b047f75fd5fd634d8f3a8ac33a5c1407bd16fd450ba113f60a9bcc1d0a911fe0c54e9c81f2
Size (libcxxabi-6.0.1.src.tar.xz) = 528356 bytes
SHA1 (patch-src_experimental_memory__resource.cpp) = 64cab51b689ee6e0fc32b4a48981f050f443d81a

File Added: pkgsrc/lang/libcxx/patches/Attic/patch-src_experimental_memory__resource.cpp
$NetBSD: patch-src_experimental_memory__resource.cpp,v 1.1 2018/08/09 14:16:08 jperkin Exp $

The init_priority attribute isn't supported on SunOS GCC.

--- src/experimental/memory_resource.cpp.orig	2018-01-03 16:58:30.000000000 +0000
+++ src/experimental/memory_resource.cpp
@@ -73,7 +73,11 @@ union ResourceInitHelper {
 #if _LIBCPP_STD_VER > 11
 _LIBCPP_SAFE_STATIC
 #endif
+#ifdef __sun
+ResourceInitHelper res_init;
+#else
 ResourceInitHelper res_init  __attribute__((init_priority (101)));
+#endif
 
 } // end namespace