public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2015-09-14 13:24 Alexis Ballier
  0 siblings, 0 replies; 605+ messages in thread
From: Alexis Ballier @ 2015-09-14 13:24 UTC (permalink / raw
  To: gentoo-commits

commit:     d2bc793ac205591b2ed8b1219766244020623cdd
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 14 12:41:18 2015 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Mon Sep 14 13:24:00 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d2bc793a

sys-libs/libcxx: bump to 3.7.0.

Package-Manager: portage-2.2.20.1

 sys-libs/libcxx/Manifest            |   1 +
 sys-libs/libcxx/libcxx-3.7.0.ebuild | 170 ++++++++++++++++++++++++++++++++++++
 2 files changed, 171 insertions(+)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index f7608c7..ea3c237 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -4,3 +4,4 @@ DIST libcxx-0.0_p20140322.tar.xz 879256 SHA256 b5eae28ced378349e4b7ec6f2e944d063
 DIST libcxx-3.6.0.src.tar.xz 946380 SHA256 299c1e82b0086a79c5c1aa1885ea3be3bbce6979aaa9b886409b14f9b387fbb7 SHA512 fe16d129a4e2429677a2b87aa2da27fcb5331d6335a0b819ea67de6498e82293bc13661602baafabb56a7f0a4e8f304d468088b8d3e0b5d1c0d01976f7cf3e92 WHIRLPOOL 527b4d1c54e5d76d0958c6d8ac622be4cb7b1a2feb3a9f2d2efa09564ab8d2f8f8cb15a536b8390f80c327dc8b86fee4fcc0b3d7c3771b11ca64885505fb449a
 DIST libcxx-3.6.1.src.tar.xz 943756 SHA256 5a5c653becf3978d4c4f6095708660855bed691210a9426bb839eecd88b6c0f9 SHA512 96d7700ef1c15327b68e8865c2294a3455f09e166991d4465c45bf870fe2d9ce4ddc9af1cd52b900a8a6a9f89c096b9ee1b2c2af58b550f7bc224505eb04d8ea WHIRLPOOL e7eba2d69d679198725147845d2e92631294b27ab2eb73bc057f6851bffbae941fb2570d66bdc28a7382b69d7dc87558e12b730f87a7e9a54f9d149eea1209c9
 DIST libcxx-3.6.2.src.tar.xz 944020 SHA256 52f3d452f48209c9df1792158fdbd7f3e98ed9bca8ebb51fcd524f67437c8b81 SHA512 1eb575921ca0d636c4b7ba21b3ad2c09468d779c69b3106ceefde294344cf20a48a03f9d38ea0db9f8b909f56f0fd1a56a255101305318e04d9f2d20af358ba6 WHIRLPOOL ec225d10cbfe3ca5eba2ed5f16ac6c19914ee75d71db2a1d8ca30f326c9fd5576899361f4397f2ee5d09dd3e8abaca82080c63e303b90d6f19f755465a11a065
+DIST libcxx-3.7.0.src.tar.xz 994580 SHA256 c18f3c8333cd7e678c1424a57fe5e25efe740ca7caf62ac67152b4723f3ad08e SHA512 e71d04efa0fafab129a97ca6f4fd7b5f185258de7455c7a25d0964f459bc6068c69c5d67199f6d7cd3541bdce630106cbaf3b7099e4737dddbdd57c77a3fe054 WHIRLPOOL 26672e3f6e0772504e7ee174c37e5fc20079c730ac8bd0d2563d5415ca9589360aa3be42a8aac15eb5a63c69227bd4911aa822b158b9a35e3d74ec0d71bb1300

diff --git a/sys-libs/libcxx/libcxx-3.7.0.ebuild b/sys-libs/libcxx/libcxx-3.7.0.ebuild
new file mode 100644
index 0000000..92689d8
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-3.7.0.ebuild
@@ -0,0 +1,170 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+ESVN_REPO_URI="http://llvm.org/svn/llvm-project/libcxx/trunk"
+
+[ "${PV%9999}" != "${PV}" ] && SCM="subversion" || SCM=""
+
+inherit ${SCM} flag-o-matic toolchain-funcs multilib multilib-minimal
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="http://libcxx.llvm.org/"
+if [ "${PV%9999}" = "${PV}" ] ; then
+	SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
+	S="${WORKDIR}/${P}.src"
+else
+	SRC_URI=""
+fi
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+if [ "${PV%9999}" = "${PV}" ] ; then
+	KEYWORDS="~amd64 ~mips ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+else
+	KEYWORDS=""
+fi
+IUSE="elibc_glibc +libcxxrt +static-libs test"
+
+RDEPEND="libcxxrt? ( >=sys-libs/libcxxrt-0.0_p20130725[static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] )"
+DEPEND="${RDEPEND}
+	test? ( sys-devel/clang )
+	app-arch/xz-utils"
+
+DOCS=( CREDITS.TXT )
+
+pkg_setup() {
+	if ! use libcxxrt ; then
+		ewarn "You have disabled USE=libcxxrt. This will build ${PN} against"
+		ewarn "libsupc++. Please note that this is not well supported."
+		ewarn "In particular, static linking will not work."
+	fi
+	if [[ $(gcc-version) < 4.7 ]] && [[ $(tc-getCXX) != *clang++* ]] ; then
+		eerror "${PN} needs to be built with clang++ or gcc-4.7 or later."
+		eerror "Please use gcc-config to switch to gcc-4.7 or later version."
+		die
+	fi
+}
+
+src_prepare() {
+	cp -f "${FILESDIR}/Makefile" lib/ || die
+	multilib_copy_sources
+}
+
+src_configure() {
+	export LIBS="-lpthread -lrt -lc -lgcc_s"
+	if use libcxxrt ; then
+		append-cppflags -DLIBCXXRT "-I${EPREFIX}/usr/include/libcxxrt/"
+		LIBS="-lcxxrt ${LIBS}"
+		cp "${EPREFIX}/usr/include/libcxxrt/"*.h "${S}/include"
+	else
+		# Very hackish, see $HOMEPAGE
+		# If someone has a clever idea, please share it!
+		local includes="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | sed -e 's/^ /-I/' | tr '\n' ' ')"
+		local libcxx_gcc_dirs="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | tr '\n' ' ')"
+		append-cppflags -D__GLIBCXX__ ${includes}
+		LIBS="-lsupc++ ${LIBS}"
+		local libsupcxx_includes="cxxabi.h bits/c++config.h bits/os_defines.h bits/cpu_defines.h bits/cxxabi_tweaks.h bits/cxxabi_forced.h"
+		for i in ${libsupcxx_includes} ; do
+			local found=""
+			[ -d "${S}/include/$(dirname ${i})/" ] || mkdir -p "${S}/include/$(dirname ${i})"
+			for j in ${libcxx_gcc_dirs} ; do
+				if [ -f "${j}/${i}" ] ; then
+					cp "${j}/${i}" "${S}/include/$(dirname ${i})/" || die
+					found=yes
+				fi
+			done
+			[ -n "${found}" ] || die "Header not found: ${i}"
+		done
+	fi
+
+	tc-export AR CC CXX
+
+	append-ldflags "-Wl,-z,defs" # make sure we are not underlinked
+}
+
+multilib_src_compile() {
+	cd "${BUILD_DIR}/lib" || die
+	emake shared
+	use static-libs && emake static
+}
+
+# Tests fail for now, if anybody is able to fix them, help is very welcome.
+multilib_src_test() {
+	cd "${BUILD_DIR}/test"
+	LD_LIBRARY_PATH="${BUILD_DIR}/lib:${LD_LIBRARY_PATH}" \
+		CC="clang++ $(get_abi_CFLAGS) ${CXXFLAGS}" \
+		HEADER_INCLUDE="-I${BUILD_DIR}/include" \
+		SOURCE_LIB="-L${BUILD_DIR}/lib" \
+		LIBS="-lm $(usex libcxxrt -lcxxrt "")" \
+		./testit || die
+	# TODO: fix link against libsupc++
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	if use libcxxrt ; then
+		# Move it first.
+		mv "${ED}/usr/$(get_libdir)/libc++.a" "${ED}/usr/$(get_libdir)/libc++_static.a" || die
+
+		# Generate libc++.a ldscript for inclusion of its dependencies so that
+		# clang++ -stdlib=libc++ -static works out of the box.
+		local deps="${EPREFIX}/usr/$(get_libdir)/libc++_static.a ${EPREFIX}/usr/$(get_libdir)/libcxxrt.a"
+		# On Linux/glibc it does not link without libpthread or libdl. It is
+		# fine on FreeBSD.
+		use elibc_glibc && deps="${deps} ${EPREFIX}/usr/$(get_libdir)/libpthread.a ${EPREFIX}/usr/$(get_libdir)/libdl.a"
+
+		gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.a"
+	fi
+	# TODO: Generate a libc++.a ldscript when building against libsupc++
+}
+
+gen_shared_ldscript() {
+	if use libcxxrt ; then
+		mv "${ED}/usr/$(get_libdir)/libc++.so" "${ED}/usr/$(get_libdir)/libc++_shared.so" || die
+		local deps="${EPREFIX}/usr/$(get_libdir)/libc++_shared.so ${EPREFIX}/usr/$(get_libdir)/libcxxrt.so"
+		gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.so"
+	fi
+	# TODO: Generate the linker script for other confiurations too.
+}
+
+multilib_src_install() {
+	cd "${BUILD_DIR}/lib"
+	if use static-libs ; then
+		dolib.a libc++.a
+		gen_static_ldscript
+	fi
+	dolib.so libc++.so*
+	gen_shared_ldscript
+}
+
+multilib_src_install_all() {
+	einstalldocs
+	insinto /usr/include/c++/v1
+	doins -r include/*
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2016-01-05  8:34 Alexis Ballier
  0 siblings, 0 replies; 605+ messages in thread
From: Alexis Ballier @ 2016-01-05  8:34 UTC (permalink / raw
  To: gentoo-commits

commit:     38c169737779f639a3434bd8effe7b7a76d98ff3
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Tue Jan  5 07:43:13 2016 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Tue Jan  5 08:27:02 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=38c16973

sys-libs/libcxx: bump to 3.7.1

Package-Manager: portage-2.2.26
Signed-off-by: Alexis Ballier <aballier <AT> gentoo.org>

 sys-libs/libcxx/Manifest            |   1 +
 sys-libs/libcxx/libcxx-3.7.1.ebuild | 170 ++++++++++++++++++++++++++++++++++++
 2 files changed, 171 insertions(+)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 39d0adb..49261ca 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1 +1,2 @@
 DIST libcxx-3.7.0.src.tar.xz 994580 SHA256 c18f3c8333cd7e678c1424a57fe5e25efe740ca7caf62ac67152b4723f3ad08e SHA512 e71d04efa0fafab129a97ca6f4fd7b5f185258de7455c7a25d0964f459bc6068c69c5d67199f6d7cd3541bdce630106cbaf3b7099e4737dddbdd57c77a3fe054 WHIRLPOOL 26672e3f6e0772504e7ee174c37e5fc20079c730ac8bd0d2563d5415ca9589360aa3be42a8aac15eb5a63c69227bd4911aa822b158b9a35e3d74ec0d71bb1300
+DIST libcxx-3.7.1.src.tar.xz 995724 SHA256 357fbd4288ce99733ba06ae2bec6f503413d258aeebaab8b6a791201e6f7f144 SHA512 08d2399a8b36aa15290733256c896c9fa43f1a1223bc5c73bbcd014fddf8880e514d2a6dcc456bcf18b537c01fb6911b092e6d9958bccd8e64e9f375ed7a1ab9 WHIRLPOOL 19f77946abf48cbdd3e7ea21fd009ca3cc5f607dfe0512a44b102847044bb1d5ae4b16f503f18b14ebd9ea115256e87af07409907ba2a65f6061e217a502a359

diff --git a/sys-libs/libcxx/libcxx-3.7.1.ebuild b/sys-libs/libcxx/libcxx-3.7.1.ebuild
new file mode 100644
index 0000000..92689d8
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-3.7.1.ebuild
@@ -0,0 +1,170 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+ESVN_REPO_URI="http://llvm.org/svn/llvm-project/libcxx/trunk"
+
+[ "${PV%9999}" != "${PV}" ] && SCM="subversion" || SCM=""
+
+inherit ${SCM} flag-o-matic toolchain-funcs multilib multilib-minimal
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="http://libcxx.llvm.org/"
+if [ "${PV%9999}" = "${PV}" ] ; then
+	SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
+	S="${WORKDIR}/${P}.src"
+else
+	SRC_URI=""
+fi
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+if [ "${PV%9999}" = "${PV}" ] ; then
+	KEYWORDS="~amd64 ~mips ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+else
+	KEYWORDS=""
+fi
+IUSE="elibc_glibc +libcxxrt +static-libs test"
+
+RDEPEND="libcxxrt? ( >=sys-libs/libcxxrt-0.0_p20130725[static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] )"
+DEPEND="${RDEPEND}
+	test? ( sys-devel/clang )
+	app-arch/xz-utils"
+
+DOCS=( CREDITS.TXT )
+
+pkg_setup() {
+	if ! use libcxxrt ; then
+		ewarn "You have disabled USE=libcxxrt. This will build ${PN} against"
+		ewarn "libsupc++. Please note that this is not well supported."
+		ewarn "In particular, static linking will not work."
+	fi
+	if [[ $(gcc-version) < 4.7 ]] && [[ $(tc-getCXX) != *clang++* ]] ; then
+		eerror "${PN} needs to be built with clang++ or gcc-4.7 or later."
+		eerror "Please use gcc-config to switch to gcc-4.7 or later version."
+		die
+	fi
+}
+
+src_prepare() {
+	cp -f "${FILESDIR}/Makefile" lib/ || die
+	multilib_copy_sources
+}
+
+src_configure() {
+	export LIBS="-lpthread -lrt -lc -lgcc_s"
+	if use libcxxrt ; then
+		append-cppflags -DLIBCXXRT "-I${EPREFIX}/usr/include/libcxxrt/"
+		LIBS="-lcxxrt ${LIBS}"
+		cp "${EPREFIX}/usr/include/libcxxrt/"*.h "${S}/include"
+	else
+		# Very hackish, see $HOMEPAGE
+		# If someone has a clever idea, please share it!
+		local includes="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | sed -e 's/^ /-I/' | tr '\n' ' ')"
+		local libcxx_gcc_dirs="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | tr '\n' ' ')"
+		append-cppflags -D__GLIBCXX__ ${includes}
+		LIBS="-lsupc++ ${LIBS}"
+		local libsupcxx_includes="cxxabi.h bits/c++config.h bits/os_defines.h bits/cpu_defines.h bits/cxxabi_tweaks.h bits/cxxabi_forced.h"
+		for i in ${libsupcxx_includes} ; do
+			local found=""
+			[ -d "${S}/include/$(dirname ${i})/" ] || mkdir -p "${S}/include/$(dirname ${i})"
+			for j in ${libcxx_gcc_dirs} ; do
+				if [ -f "${j}/${i}" ] ; then
+					cp "${j}/${i}" "${S}/include/$(dirname ${i})/" || die
+					found=yes
+				fi
+			done
+			[ -n "${found}" ] || die "Header not found: ${i}"
+		done
+	fi
+
+	tc-export AR CC CXX
+
+	append-ldflags "-Wl,-z,defs" # make sure we are not underlinked
+}
+
+multilib_src_compile() {
+	cd "${BUILD_DIR}/lib" || die
+	emake shared
+	use static-libs && emake static
+}
+
+# Tests fail for now, if anybody is able to fix them, help is very welcome.
+multilib_src_test() {
+	cd "${BUILD_DIR}/test"
+	LD_LIBRARY_PATH="${BUILD_DIR}/lib:${LD_LIBRARY_PATH}" \
+		CC="clang++ $(get_abi_CFLAGS) ${CXXFLAGS}" \
+		HEADER_INCLUDE="-I${BUILD_DIR}/include" \
+		SOURCE_LIB="-L${BUILD_DIR}/lib" \
+		LIBS="-lm $(usex libcxxrt -lcxxrt "")" \
+		./testit || die
+	# TODO: fix link against libsupc++
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	if use libcxxrt ; then
+		# Move it first.
+		mv "${ED}/usr/$(get_libdir)/libc++.a" "${ED}/usr/$(get_libdir)/libc++_static.a" || die
+
+		# Generate libc++.a ldscript for inclusion of its dependencies so that
+		# clang++ -stdlib=libc++ -static works out of the box.
+		local deps="${EPREFIX}/usr/$(get_libdir)/libc++_static.a ${EPREFIX}/usr/$(get_libdir)/libcxxrt.a"
+		# On Linux/glibc it does not link without libpthread or libdl. It is
+		# fine on FreeBSD.
+		use elibc_glibc && deps="${deps} ${EPREFIX}/usr/$(get_libdir)/libpthread.a ${EPREFIX}/usr/$(get_libdir)/libdl.a"
+
+		gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.a"
+	fi
+	# TODO: Generate a libc++.a ldscript when building against libsupc++
+}
+
+gen_shared_ldscript() {
+	if use libcxxrt ; then
+		mv "${ED}/usr/$(get_libdir)/libc++.so" "${ED}/usr/$(get_libdir)/libc++_shared.so" || die
+		local deps="${EPREFIX}/usr/$(get_libdir)/libc++_shared.so ${EPREFIX}/usr/$(get_libdir)/libcxxrt.so"
+		gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.so"
+	fi
+	# TODO: Generate the linker script for other confiurations too.
+}
+
+multilib_src_install() {
+	cd "${BUILD_DIR}/lib"
+	if use static-libs ; then
+		dolib.a libc++.a
+		gen_static_ldscript
+	fi
+	dolib.so libc++.so*
+	gen_shared_ldscript
+}
+
+multilib_src_install_all() {
+	einstalldocs
+	insinto /usr/include/c++/v1
+	doins -r include/*
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2016-01-05  8:34 Alexis Ballier
  0 siblings, 0 replies; 605+ messages in thread
From: Alexis Ballier @ 2016-01-05  8:34 UTC (permalink / raw
  To: gentoo-commits

commit:     ef032c2949d812cc968e4d33ac64a33e36eb7eb7
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Tue Jan  5 07:39:20 2016 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Tue Jan  5 08:27:02 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef032c29

sys-libs/libcxx: remove old

Package-Manager: portage-2.2.26
Signed-off-by: Alexis Ballier <aballier <AT> gentoo.org>

 sys-libs/libcxx/Manifest                    |   6 -
 sys-libs/libcxx/libcxx-0.0_p20130725.ebuild | 168 ---------------------------
 sys-libs/libcxx/libcxx-0.0_p20131222.ebuild | 169 ---------------------------
 sys-libs/libcxx/libcxx-0.0_p20140322.ebuild | 169 ---------------------------
 sys-libs/libcxx/libcxx-3.6.0.ebuild         | 170 ----------------------------
 sys-libs/libcxx/libcxx-3.6.1.ebuild         | 170 ----------------------------
 sys-libs/libcxx/libcxx-3.6.2.ebuild         | 170 ----------------------------
 7 files changed, 1022 deletions(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index ea3c237..39d0adb 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,7 +1 @@
-DIST libcxx-0.0_p20130725.tar.xz 833240 SHA256 16428d2a493d2f833bc695300f4fc4e2bfd756fa4eb8e0b7696af10ff5e82653 SHA512 756cb089dc6514125b53623a410039c0edc2fb56a734b7faabee018e073adb96a30f7413546ba42fb40dd815697f27735fbbb6bbcce2e7dea10d284a3ed394d3 WHIRLPOOL 329817e70c27e13d37d75d3d15f0b49375e59d660d784b2e174b059046090a2514d7ddd39ac8fc917da784899f7d394842e73f7c81301d4fdf9add74d259f086
-DIST libcxx-0.0_p20131222.tar.xz 872416 SHA256 d77b7555daa368a493a71c99d9d5868706cc3a66a4e37e002a860733407d21ee SHA512 d4466a4e66365d38c552813f9d4be251bbc956ca0f2800dcd08b3d5633e6bd1a48601016e0e63a92cb4cd2f7863b31ece0ce9b68f2de2c76cf457a7093920fec WHIRLPOOL 07acd16939694e2cfc946f8f021a2b8a4d4ae40dfe2128273a6e0c76b9a2ac8d9f2e6347d091861219044674ea02b76caf80b3f55f74e8e504c58fe96b19eb91
-DIST libcxx-0.0_p20140322.tar.xz 879256 SHA256 b5eae28ced378349e4b7ec6f2e944d0630213462159a0bb2393dc82b536d77d8 SHA512 a80cc3b47acdc1de1a24f5aad19ed0b2518529fe6e8d56cbbe6801874ea334dabd6cec38c27cccbaec961de69b731e22462f0faae30f371e3acb8ecd1b46b2b4 WHIRLPOOL 9374e2b717a3a00f3046f06920775a31403e36ee9a6c5049e4a50173eae947c5e4641dafd178e459ab3caf6dcad6c99baf37cd5587ebf8a3e2d021e18ac36793
-DIST libcxx-3.6.0.src.tar.xz 946380 SHA256 299c1e82b0086a79c5c1aa1885ea3be3bbce6979aaa9b886409b14f9b387fbb7 SHA512 fe16d129a4e2429677a2b87aa2da27fcb5331d6335a0b819ea67de6498e82293bc13661602baafabb56a7f0a4e8f304d468088b8d3e0b5d1c0d01976f7cf3e92 WHIRLPOOL 527b4d1c54e5d76d0958c6d8ac622be4cb7b1a2feb3a9f2d2efa09564ab8d2f8f8cb15a536b8390f80c327dc8b86fee4fcc0b3d7c3771b11ca64885505fb449a
-DIST libcxx-3.6.1.src.tar.xz 943756 SHA256 5a5c653becf3978d4c4f6095708660855bed691210a9426bb839eecd88b6c0f9 SHA512 96d7700ef1c15327b68e8865c2294a3455f09e166991d4465c45bf870fe2d9ce4ddc9af1cd52b900a8a6a9f89c096b9ee1b2c2af58b550f7bc224505eb04d8ea WHIRLPOOL e7eba2d69d679198725147845d2e92631294b27ab2eb73bc057f6851bffbae941fb2570d66bdc28a7382b69d7dc87558e12b730f87a7e9a54f9d149eea1209c9
-DIST libcxx-3.6.2.src.tar.xz 944020 SHA256 52f3d452f48209c9df1792158fdbd7f3e98ed9bca8ebb51fcd524f67437c8b81 SHA512 1eb575921ca0d636c4b7ba21b3ad2c09468d779c69b3106ceefde294344cf20a48a03f9d38ea0db9f8b909f56f0fd1a56a255101305318e04d9f2d20af358ba6 WHIRLPOOL ec225d10cbfe3ca5eba2ed5f16ac6c19914ee75d71db2a1d8ca30f326c9fd5576899361f4397f2ee5d09dd3e8abaca82080c63e303b90d6f19f755465a11a065
 DIST libcxx-3.7.0.src.tar.xz 994580 SHA256 c18f3c8333cd7e678c1424a57fe5e25efe740ca7caf62ac67152b4723f3ad08e SHA512 e71d04efa0fafab129a97ca6f4fd7b5f185258de7455c7a25d0964f459bc6068c69c5d67199f6d7cd3541bdce630106cbaf3b7099e4737dddbdd57c77a3fe054 WHIRLPOOL 26672e3f6e0772504e7ee174c37e5fc20079c730ac8bd0d2563d5415ca9589360aa3be42a8aac15eb5a63c69227bd4911aa822b158b9a35e3d74ec0d71bb1300

diff --git a/sys-libs/libcxx/libcxx-0.0_p20130725.ebuild b/sys-libs/libcxx/libcxx-0.0_p20130725.ebuild
deleted file mode 100644
index dde2eea..0000000
--- a/sys-libs/libcxx/libcxx-0.0_p20130725.ebuild
+++ /dev/null
@@ -1,168 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-ESVN_REPO_URI="http://llvm.org/svn/llvm-project/libcxx/trunk"
-
-[ "${PV%9999}" != "${PV}" ] && SCM="subversion" || SCM=""
-
-inherit ${SCM} flag-o-matic toolchain-funcs multilib multilib-minimal
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="http://libcxx.llvm.org/"
-if [ "${PV%9999}" = "${PV}" ] ; then
-	SRC_URI="mirror://gentoo/${P}.tar.xz"
-else
-	SRC_URI=""
-fi
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-if [ "${PV%9999}" = "${PV}" ] ; then
-	KEYWORDS="~amd64 ~mips ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
-else
-	KEYWORDS=""
-fi
-IUSE="elibc_glibc +libcxxrt static-libs test"
-
-RDEPEND="libcxxrt? ( >=sys-libs/libcxxrt-0.0_p20130725[static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxrt? ( >=sys-devel/gcc-4.7[cxx] )"
-DEPEND="${RDEPEND}
-	test? ( sys-devel/clang )
-	app-arch/xz-utils"
-
-DOCS=( CREDITS.TXT )
-
-pkg_setup() {
-	if ! use libcxxrt ; then
-		ewarn "You have disabled USE=libcxxrt. This will build ${PN} against"
-		ewarn "libsupc++. Please note that this is not well supported."
-		ewarn "In particular, static linking will not work."
-	fi
-	if [[ $(gcc-version) < 4.7 ]] && [[ $(tc-getCXX) != *clang++* ]] ; then
-		eerror "${PN} needs to be built with clang++ or gcc-4.7 or later."
-		eerror "Please use gcc-config to switch to gcc-4.7 or later version."
-		die
-	fi
-}
-
-src_prepare() {
-	cp -f "${FILESDIR}/Makefile" lib/ || die
-	multilib_copy_sources
-}
-
-src_configure() {
-	export LIBS="-lpthread -lrt -lc -lgcc_s"
-	if use libcxxrt ; then
-		append-cppflags -DLIBCXXRT "-I${EPREFIX}/usr/include/libcxxrt/"
-		LIBS="-lcxxrt ${LIBS}"
-		cp "${EPREFIX}/usr/include/libcxxrt/"*.h "${S}/include"
-	else
-		# Very hackish, see $HOMEPAGE
-		# If someone has a clever idea, please share it!
-		local includes="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | sed -e 's/^ /-I/' | tr '\n' ' ')"
-		local libcxx_gcc_dirs="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | tr '\n' ' ')"
-		append-cppflags -D__GLIBCXX__ ${includes}
-		LIBS="-lsupc++ ${LIBS}"
-		local libsupcxx_includes="cxxabi.h bits/c++config.h bits/os_defines.h bits/cpu_defines.h bits/cxxabi_tweaks.h bits/cxxabi_forced.h"
-		for i in ${libsupcxx_includes} ; do
-			local found=""
-			[ -d "${S}/include/$(dirname ${i})/" ] || mkdir -p "${S}/include/$(dirname ${i})"
-			for j in ${libcxx_gcc_dirs} ; do
-				if [ -f "${j}/${i}" ] ; then
-					cp "${j}/${i}" "${S}/include/$(dirname ${i})/" || die
-					found=yes
-				fi
-			done
-			[ -n "${found}" ] || die "Header not found: ${i}"
-		done
-	fi
-
-	tc-export AR CC CXX
-
-	append-ldflags "-Wl,-z,defs" # make sure we are not underlinked
-}
-
-multilib_src_compile() {
-	cd "${BUILD_DIR}/lib" || die
-	emake shared
-	use static-libs && emake static
-}
-
-# Tests fail for now, if anybody is able to fix them, help is very welcome.
-multilib_src_test() {
-	cd "${BUILD_DIR}/test"
-	LD_LIBRARY_PATH="${BUILD_DIR}/lib:${LD_LIBRARY_PATH}" \
-		CC="clang++ $(get_abi_CFLAGS) ${CXXFLAGS}" \
-		HEADER_INCLUDE="-I${BUILD_DIR}/include" \
-		SOURCE_LIB="-L${BUILD_DIR}/lib" \
-		LIBS="-lm" \
-		./testit || die
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	if use libcxxrt ; then
-		# Move it first.
-		mv "${ED}/usr/$(get_libdir)/libc++.a" "${ED}/usr/$(get_libdir)/libc++_static.a" || die
-
-		# Generate libc++.a ldscript for inclusion of its dependencies so that
-		# clang++ -stdlib=libc++ -static works out of the box.
-		local deps="${EPREFIX}/usr/$(get_libdir)/libc++_static.a ${EPREFIX}/usr/$(get_libdir)/libcxxrt.a"
-		# On Linux/glibc it does not link without libpthread or libdl. It is
-		# fine on FreeBSD.
-		use elibc_glibc && deps="${deps} ${EPREFIX}/usr/$(get_libdir)/libpthread.a ${EPREFIX}/usr/$(get_libdir)/libdl.a"
-
-		gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.a"
-	fi
-	# TODO: Generate a libc++.a ldscript when building against libsupc++
-}
-
-gen_shared_ldscript() {
-	if use libcxxrt ; then
-		mv "${ED}/usr/$(get_libdir)/libc++.so" "${ED}/usr/$(get_libdir)/libc++_shared.so" || die
-		local deps="${EPREFIX}/usr/$(get_libdir)/libc++_shared.so ${EPREFIX}/usr/$(get_libdir)/libcxxrt.so"
-		gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.so"
-	fi
-	# TODO: Generate the linker script for other confiurations too.
-}
-
-multilib_src_install() {
-	cd "${BUILD_DIR}/lib"
-	if use static-libs ; then
-		dolib.a libc++.a
-		gen_static_ldscript
-	fi
-	dolib.so libc++.so*
-	gen_shared_ldscript
-}
-
-multilib_src_install_all() {
-	einstalldocs
-	insinto /usr/include/c++/v1
-	doins -r include/*
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}

diff --git a/sys-libs/libcxx/libcxx-0.0_p20131222.ebuild b/sys-libs/libcxx/libcxx-0.0_p20131222.ebuild
deleted file mode 100644
index 4ceb09f..0000000
--- a/sys-libs/libcxx/libcxx-0.0_p20131222.ebuild
+++ /dev/null
@@ -1,169 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-ESVN_REPO_URI="http://llvm.org/svn/llvm-project/libcxx/trunk"
-
-[ "${PV%9999}" != "${PV}" ] && SCM="subversion" || SCM=""
-
-inherit ${SCM} flag-o-matic toolchain-funcs multilib multilib-minimal
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="http://libcxx.llvm.org/"
-if [ "${PV%9999}" = "${PV}" ] ; then
-	SRC_URI="mirror://gentoo/${P}.tar.xz"
-else
-	SRC_URI=""
-fi
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-if [ "${PV%9999}" = "${PV}" ] ; then
-	KEYWORDS="~amd64 ~mips ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
-else
-	KEYWORDS=""
-fi
-IUSE="elibc_glibc +libcxxrt static-libs test"
-
-RDEPEND="libcxxrt? ( >=sys-libs/libcxxrt-0.0_p20130725[static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxrt? ( >=sys-devel/gcc-4.7[cxx] )"
-DEPEND="${RDEPEND}
-	test? ( sys-devel/clang )
-	app-arch/xz-utils"
-
-DOCS=( CREDITS.TXT )
-
-pkg_setup() {
-	if ! use libcxxrt ; then
-		ewarn "You have disabled USE=libcxxrt. This will build ${PN} against"
-		ewarn "libsupc++. Please note that this is not well supported."
-		ewarn "In particular, static linking will not work."
-	fi
-	if [[ $(gcc-version) < 4.7 ]] && [[ $(tc-getCXX) != *clang++* ]] ; then
-		eerror "${PN} needs to be built with clang++ or gcc-4.7 or later."
-		eerror "Please use gcc-config to switch to gcc-4.7 or later version."
-		die
-	fi
-}
-
-src_prepare() {
-	cp -f "${FILESDIR}/Makefile" lib/ || die
-	multilib_copy_sources
-}
-
-src_configure() {
-	export LIBS="-lpthread -lrt -lc -lgcc_s"
-	if use libcxxrt ; then
-		append-cppflags -DLIBCXXRT "-I${EPREFIX}/usr/include/libcxxrt/"
-		LIBS="-lcxxrt ${LIBS}"
-		cp "${EPREFIX}/usr/include/libcxxrt/"*.h "${S}/include"
-	else
-		# Very hackish, see $HOMEPAGE
-		# If someone has a clever idea, please share it!
-		local includes="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | sed -e 's/^ /-I/' | tr '\n' ' ')"
-		local libcxx_gcc_dirs="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | tr '\n' ' ')"
-		append-cppflags -D__GLIBCXX__ ${includes}
-		LIBS="-lsupc++ ${LIBS}"
-		local libsupcxx_includes="cxxabi.h bits/c++config.h bits/os_defines.h bits/cpu_defines.h bits/cxxabi_tweaks.h bits/cxxabi_forced.h"
-		for i in ${libsupcxx_includes} ; do
-			local found=""
-			[ -d "${S}/include/$(dirname ${i})/" ] || mkdir -p "${S}/include/$(dirname ${i})"
-			for j in ${libcxx_gcc_dirs} ; do
-				if [ -f "${j}/${i}" ] ; then
-					cp "${j}/${i}" "${S}/include/$(dirname ${i})/" || die
-					found=yes
-				fi
-			done
-			[ -n "${found}" ] || die "Header not found: ${i}"
-		done
-	fi
-
-	tc-export AR CC CXX
-
-	append-ldflags "-Wl,-z,defs" # make sure we are not underlinked
-}
-
-multilib_src_compile() {
-	cd "${BUILD_DIR}/lib" || die
-	emake shared
-	use static-libs && emake static
-}
-
-# Tests fail for now, if anybody is able to fix them, help is very welcome.
-multilib_src_test() {
-	cd "${BUILD_DIR}/test"
-	LD_LIBRARY_PATH="${BUILD_DIR}/lib:${LD_LIBRARY_PATH}" \
-		CC="clang++ $(get_abi_CFLAGS) ${CXXFLAGS}" \
-		HEADER_INCLUDE="-I${BUILD_DIR}/include" \
-		SOURCE_LIB="-L${BUILD_DIR}/lib" \
-		LIBS="-lm $(usex libcxxrt -lcxxrt "")" \
-		./testit || die
-	# TODO: fix link against libsupc++
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	if use libcxxrt ; then
-		# Move it first.
-		mv "${ED}/usr/$(get_libdir)/libc++.a" "${ED}/usr/$(get_libdir)/libc++_static.a" || die
-
-		# Generate libc++.a ldscript for inclusion of its dependencies so that
-		# clang++ -stdlib=libc++ -static works out of the box.
-		local deps="${EPREFIX}/usr/$(get_libdir)/libc++_static.a ${EPREFIX}/usr/$(get_libdir)/libcxxrt.a"
-		# On Linux/glibc it does not link without libpthread or libdl. It is
-		# fine on FreeBSD.
-		use elibc_glibc && deps="${deps} ${EPREFIX}/usr/$(get_libdir)/libpthread.a ${EPREFIX}/usr/$(get_libdir)/libdl.a"
-
-		gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.a"
-	fi
-	# TODO: Generate a libc++.a ldscript when building against libsupc++
-}
-
-gen_shared_ldscript() {
-	if use libcxxrt ; then
-		mv "${ED}/usr/$(get_libdir)/libc++.so" "${ED}/usr/$(get_libdir)/libc++_shared.so" || die
-		local deps="${EPREFIX}/usr/$(get_libdir)/libc++_shared.so ${EPREFIX}/usr/$(get_libdir)/libcxxrt.so"
-		gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.so"
-	fi
-	# TODO: Generate the linker script for other confiurations too.
-}
-
-multilib_src_install() {
-	cd "${BUILD_DIR}/lib"
-	if use static-libs ; then
-		dolib.a libc++.a
-		gen_static_ldscript
-	fi
-	dolib.so libc++.so*
-	gen_shared_ldscript
-}
-
-multilib_src_install_all() {
-	einstalldocs
-	insinto /usr/include/c++/v1
-	doins -r include/*
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}

diff --git a/sys-libs/libcxx/libcxx-0.0_p20140322.ebuild b/sys-libs/libcxx/libcxx-0.0_p20140322.ebuild
deleted file mode 100644
index 4ceb09f..0000000
--- a/sys-libs/libcxx/libcxx-0.0_p20140322.ebuild
+++ /dev/null
@@ -1,169 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-ESVN_REPO_URI="http://llvm.org/svn/llvm-project/libcxx/trunk"
-
-[ "${PV%9999}" != "${PV}" ] && SCM="subversion" || SCM=""
-
-inherit ${SCM} flag-o-matic toolchain-funcs multilib multilib-minimal
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="http://libcxx.llvm.org/"
-if [ "${PV%9999}" = "${PV}" ] ; then
-	SRC_URI="mirror://gentoo/${P}.tar.xz"
-else
-	SRC_URI=""
-fi
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-if [ "${PV%9999}" = "${PV}" ] ; then
-	KEYWORDS="~amd64 ~mips ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
-else
-	KEYWORDS=""
-fi
-IUSE="elibc_glibc +libcxxrt static-libs test"
-
-RDEPEND="libcxxrt? ( >=sys-libs/libcxxrt-0.0_p20130725[static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxrt? ( >=sys-devel/gcc-4.7[cxx] )"
-DEPEND="${RDEPEND}
-	test? ( sys-devel/clang )
-	app-arch/xz-utils"
-
-DOCS=( CREDITS.TXT )
-
-pkg_setup() {
-	if ! use libcxxrt ; then
-		ewarn "You have disabled USE=libcxxrt. This will build ${PN} against"
-		ewarn "libsupc++. Please note that this is not well supported."
-		ewarn "In particular, static linking will not work."
-	fi
-	if [[ $(gcc-version) < 4.7 ]] && [[ $(tc-getCXX) != *clang++* ]] ; then
-		eerror "${PN} needs to be built with clang++ or gcc-4.7 or later."
-		eerror "Please use gcc-config to switch to gcc-4.7 or later version."
-		die
-	fi
-}
-
-src_prepare() {
-	cp -f "${FILESDIR}/Makefile" lib/ || die
-	multilib_copy_sources
-}
-
-src_configure() {
-	export LIBS="-lpthread -lrt -lc -lgcc_s"
-	if use libcxxrt ; then
-		append-cppflags -DLIBCXXRT "-I${EPREFIX}/usr/include/libcxxrt/"
-		LIBS="-lcxxrt ${LIBS}"
-		cp "${EPREFIX}/usr/include/libcxxrt/"*.h "${S}/include"
-	else
-		# Very hackish, see $HOMEPAGE
-		# If someone has a clever idea, please share it!
-		local includes="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | sed -e 's/^ /-I/' | tr '\n' ' ')"
-		local libcxx_gcc_dirs="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | tr '\n' ' ')"
-		append-cppflags -D__GLIBCXX__ ${includes}
-		LIBS="-lsupc++ ${LIBS}"
-		local libsupcxx_includes="cxxabi.h bits/c++config.h bits/os_defines.h bits/cpu_defines.h bits/cxxabi_tweaks.h bits/cxxabi_forced.h"
-		for i in ${libsupcxx_includes} ; do
-			local found=""
-			[ -d "${S}/include/$(dirname ${i})/" ] || mkdir -p "${S}/include/$(dirname ${i})"
-			for j in ${libcxx_gcc_dirs} ; do
-				if [ -f "${j}/${i}" ] ; then
-					cp "${j}/${i}" "${S}/include/$(dirname ${i})/" || die
-					found=yes
-				fi
-			done
-			[ -n "${found}" ] || die "Header not found: ${i}"
-		done
-	fi
-
-	tc-export AR CC CXX
-
-	append-ldflags "-Wl,-z,defs" # make sure we are not underlinked
-}
-
-multilib_src_compile() {
-	cd "${BUILD_DIR}/lib" || die
-	emake shared
-	use static-libs && emake static
-}
-
-# Tests fail for now, if anybody is able to fix them, help is very welcome.
-multilib_src_test() {
-	cd "${BUILD_DIR}/test"
-	LD_LIBRARY_PATH="${BUILD_DIR}/lib:${LD_LIBRARY_PATH}" \
-		CC="clang++ $(get_abi_CFLAGS) ${CXXFLAGS}" \
-		HEADER_INCLUDE="-I${BUILD_DIR}/include" \
-		SOURCE_LIB="-L${BUILD_DIR}/lib" \
-		LIBS="-lm $(usex libcxxrt -lcxxrt "")" \
-		./testit || die
-	# TODO: fix link against libsupc++
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	if use libcxxrt ; then
-		# Move it first.
-		mv "${ED}/usr/$(get_libdir)/libc++.a" "${ED}/usr/$(get_libdir)/libc++_static.a" || die
-
-		# Generate libc++.a ldscript for inclusion of its dependencies so that
-		# clang++ -stdlib=libc++ -static works out of the box.
-		local deps="${EPREFIX}/usr/$(get_libdir)/libc++_static.a ${EPREFIX}/usr/$(get_libdir)/libcxxrt.a"
-		# On Linux/glibc it does not link without libpthread or libdl. It is
-		# fine on FreeBSD.
-		use elibc_glibc && deps="${deps} ${EPREFIX}/usr/$(get_libdir)/libpthread.a ${EPREFIX}/usr/$(get_libdir)/libdl.a"
-
-		gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.a"
-	fi
-	# TODO: Generate a libc++.a ldscript when building against libsupc++
-}
-
-gen_shared_ldscript() {
-	if use libcxxrt ; then
-		mv "${ED}/usr/$(get_libdir)/libc++.so" "${ED}/usr/$(get_libdir)/libc++_shared.so" || die
-		local deps="${EPREFIX}/usr/$(get_libdir)/libc++_shared.so ${EPREFIX}/usr/$(get_libdir)/libcxxrt.so"
-		gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.so"
-	fi
-	# TODO: Generate the linker script for other confiurations too.
-}
-
-multilib_src_install() {
-	cd "${BUILD_DIR}/lib"
-	if use static-libs ; then
-		dolib.a libc++.a
-		gen_static_ldscript
-	fi
-	dolib.so libc++.so*
-	gen_shared_ldscript
-}
-
-multilib_src_install_all() {
-	einstalldocs
-	insinto /usr/include/c++/v1
-	doins -r include/*
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}

diff --git a/sys-libs/libcxx/libcxx-3.6.0.ebuild b/sys-libs/libcxx/libcxx-3.6.0.ebuild
deleted file mode 100644
index 92689d8..0000000
--- a/sys-libs/libcxx/libcxx-3.6.0.ebuild
+++ /dev/null
@@ -1,170 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-ESVN_REPO_URI="http://llvm.org/svn/llvm-project/libcxx/trunk"
-
-[ "${PV%9999}" != "${PV}" ] && SCM="subversion" || SCM=""
-
-inherit ${SCM} flag-o-matic toolchain-funcs multilib multilib-minimal
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="http://libcxx.llvm.org/"
-if [ "${PV%9999}" = "${PV}" ] ; then
-	SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
-	S="${WORKDIR}/${P}.src"
-else
-	SRC_URI=""
-fi
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-if [ "${PV%9999}" = "${PV}" ] ; then
-	KEYWORDS="~amd64 ~mips ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
-else
-	KEYWORDS=""
-fi
-IUSE="elibc_glibc +libcxxrt +static-libs test"
-
-RDEPEND="libcxxrt? ( >=sys-libs/libcxxrt-0.0_p20130725[static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] )"
-DEPEND="${RDEPEND}
-	test? ( sys-devel/clang )
-	app-arch/xz-utils"
-
-DOCS=( CREDITS.TXT )
-
-pkg_setup() {
-	if ! use libcxxrt ; then
-		ewarn "You have disabled USE=libcxxrt. This will build ${PN} against"
-		ewarn "libsupc++. Please note that this is not well supported."
-		ewarn "In particular, static linking will not work."
-	fi
-	if [[ $(gcc-version) < 4.7 ]] && [[ $(tc-getCXX) != *clang++* ]] ; then
-		eerror "${PN} needs to be built with clang++ or gcc-4.7 or later."
-		eerror "Please use gcc-config to switch to gcc-4.7 or later version."
-		die
-	fi
-}
-
-src_prepare() {
-	cp -f "${FILESDIR}/Makefile" lib/ || die
-	multilib_copy_sources
-}
-
-src_configure() {
-	export LIBS="-lpthread -lrt -lc -lgcc_s"
-	if use libcxxrt ; then
-		append-cppflags -DLIBCXXRT "-I${EPREFIX}/usr/include/libcxxrt/"
-		LIBS="-lcxxrt ${LIBS}"
-		cp "${EPREFIX}/usr/include/libcxxrt/"*.h "${S}/include"
-	else
-		# Very hackish, see $HOMEPAGE
-		# If someone has a clever idea, please share it!
-		local includes="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | sed -e 's/^ /-I/' | tr '\n' ' ')"
-		local libcxx_gcc_dirs="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | tr '\n' ' ')"
-		append-cppflags -D__GLIBCXX__ ${includes}
-		LIBS="-lsupc++ ${LIBS}"
-		local libsupcxx_includes="cxxabi.h bits/c++config.h bits/os_defines.h bits/cpu_defines.h bits/cxxabi_tweaks.h bits/cxxabi_forced.h"
-		for i in ${libsupcxx_includes} ; do
-			local found=""
-			[ -d "${S}/include/$(dirname ${i})/" ] || mkdir -p "${S}/include/$(dirname ${i})"
-			for j in ${libcxx_gcc_dirs} ; do
-				if [ -f "${j}/${i}" ] ; then
-					cp "${j}/${i}" "${S}/include/$(dirname ${i})/" || die
-					found=yes
-				fi
-			done
-			[ -n "${found}" ] || die "Header not found: ${i}"
-		done
-	fi
-
-	tc-export AR CC CXX
-
-	append-ldflags "-Wl,-z,defs" # make sure we are not underlinked
-}
-
-multilib_src_compile() {
-	cd "${BUILD_DIR}/lib" || die
-	emake shared
-	use static-libs && emake static
-}
-
-# Tests fail for now, if anybody is able to fix them, help is very welcome.
-multilib_src_test() {
-	cd "${BUILD_DIR}/test"
-	LD_LIBRARY_PATH="${BUILD_DIR}/lib:${LD_LIBRARY_PATH}" \
-		CC="clang++ $(get_abi_CFLAGS) ${CXXFLAGS}" \
-		HEADER_INCLUDE="-I${BUILD_DIR}/include" \
-		SOURCE_LIB="-L${BUILD_DIR}/lib" \
-		LIBS="-lm $(usex libcxxrt -lcxxrt "")" \
-		./testit || die
-	# TODO: fix link against libsupc++
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	if use libcxxrt ; then
-		# Move it first.
-		mv "${ED}/usr/$(get_libdir)/libc++.a" "${ED}/usr/$(get_libdir)/libc++_static.a" || die
-
-		# Generate libc++.a ldscript for inclusion of its dependencies so that
-		# clang++ -stdlib=libc++ -static works out of the box.
-		local deps="${EPREFIX}/usr/$(get_libdir)/libc++_static.a ${EPREFIX}/usr/$(get_libdir)/libcxxrt.a"
-		# On Linux/glibc it does not link without libpthread or libdl. It is
-		# fine on FreeBSD.
-		use elibc_glibc && deps="${deps} ${EPREFIX}/usr/$(get_libdir)/libpthread.a ${EPREFIX}/usr/$(get_libdir)/libdl.a"
-
-		gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.a"
-	fi
-	# TODO: Generate a libc++.a ldscript when building against libsupc++
-}
-
-gen_shared_ldscript() {
-	if use libcxxrt ; then
-		mv "${ED}/usr/$(get_libdir)/libc++.so" "${ED}/usr/$(get_libdir)/libc++_shared.so" || die
-		local deps="${EPREFIX}/usr/$(get_libdir)/libc++_shared.so ${EPREFIX}/usr/$(get_libdir)/libcxxrt.so"
-		gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.so"
-	fi
-	# TODO: Generate the linker script for other confiurations too.
-}
-
-multilib_src_install() {
-	cd "${BUILD_DIR}/lib"
-	if use static-libs ; then
-		dolib.a libc++.a
-		gen_static_ldscript
-	fi
-	dolib.so libc++.so*
-	gen_shared_ldscript
-}
-
-multilib_src_install_all() {
-	einstalldocs
-	insinto /usr/include/c++/v1
-	doins -r include/*
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}

diff --git a/sys-libs/libcxx/libcxx-3.6.1.ebuild b/sys-libs/libcxx/libcxx-3.6.1.ebuild
deleted file mode 100644
index 92689d8..0000000
--- a/sys-libs/libcxx/libcxx-3.6.1.ebuild
+++ /dev/null
@@ -1,170 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-ESVN_REPO_URI="http://llvm.org/svn/llvm-project/libcxx/trunk"
-
-[ "${PV%9999}" != "${PV}" ] && SCM="subversion" || SCM=""
-
-inherit ${SCM} flag-o-matic toolchain-funcs multilib multilib-minimal
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="http://libcxx.llvm.org/"
-if [ "${PV%9999}" = "${PV}" ] ; then
-	SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
-	S="${WORKDIR}/${P}.src"
-else
-	SRC_URI=""
-fi
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-if [ "${PV%9999}" = "${PV}" ] ; then
-	KEYWORDS="~amd64 ~mips ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
-else
-	KEYWORDS=""
-fi
-IUSE="elibc_glibc +libcxxrt +static-libs test"
-
-RDEPEND="libcxxrt? ( >=sys-libs/libcxxrt-0.0_p20130725[static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] )"
-DEPEND="${RDEPEND}
-	test? ( sys-devel/clang )
-	app-arch/xz-utils"
-
-DOCS=( CREDITS.TXT )
-
-pkg_setup() {
-	if ! use libcxxrt ; then
-		ewarn "You have disabled USE=libcxxrt. This will build ${PN} against"
-		ewarn "libsupc++. Please note that this is not well supported."
-		ewarn "In particular, static linking will not work."
-	fi
-	if [[ $(gcc-version) < 4.7 ]] && [[ $(tc-getCXX) != *clang++* ]] ; then
-		eerror "${PN} needs to be built with clang++ or gcc-4.7 or later."
-		eerror "Please use gcc-config to switch to gcc-4.7 or later version."
-		die
-	fi
-}
-
-src_prepare() {
-	cp -f "${FILESDIR}/Makefile" lib/ || die
-	multilib_copy_sources
-}
-
-src_configure() {
-	export LIBS="-lpthread -lrt -lc -lgcc_s"
-	if use libcxxrt ; then
-		append-cppflags -DLIBCXXRT "-I${EPREFIX}/usr/include/libcxxrt/"
-		LIBS="-lcxxrt ${LIBS}"
-		cp "${EPREFIX}/usr/include/libcxxrt/"*.h "${S}/include"
-	else
-		# Very hackish, see $HOMEPAGE
-		# If someone has a clever idea, please share it!
-		local includes="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | sed -e 's/^ /-I/' | tr '\n' ' ')"
-		local libcxx_gcc_dirs="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | tr '\n' ' ')"
-		append-cppflags -D__GLIBCXX__ ${includes}
-		LIBS="-lsupc++ ${LIBS}"
-		local libsupcxx_includes="cxxabi.h bits/c++config.h bits/os_defines.h bits/cpu_defines.h bits/cxxabi_tweaks.h bits/cxxabi_forced.h"
-		for i in ${libsupcxx_includes} ; do
-			local found=""
-			[ -d "${S}/include/$(dirname ${i})/" ] || mkdir -p "${S}/include/$(dirname ${i})"
-			for j in ${libcxx_gcc_dirs} ; do
-				if [ -f "${j}/${i}" ] ; then
-					cp "${j}/${i}" "${S}/include/$(dirname ${i})/" || die
-					found=yes
-				fi
-			done
-			[ -n "${found}" ] || die "Header not found: ${i}"
-		done
-	fi
-
-	tc-export AR CC CXX
-
-	append-ldflags "-Wl,-z,defs" # make sure we are not underlinked
-}
-
-multilib_src_compile() {
-	cd "${BUILD_DIR}/lib" || die
-	emake shared
-	use static-libs && emake static
-}
-
-# Tests fail for now, if anybody is able to fix them, help is very welcome.
-multilib_src_test() {
-	cd "${BUILD_DIR}/test"
-	LD_LIBRARY_PATH="${BUILD_DIR}/lib:${LD_LIBRARY_PATH}" \
-		CC="clang++ $(get_abi_CFLAGS) ${CXXFLAGS}" \
-		HEADER_INCLUDE="-I${BUILD_DIR}/include" \
-		SOURCE_LIB="-L${BUILD_DIR}/lib" \
-		LIBS="-lm $(usex libcxxrt -lcxxrt "")" \
-		./testit || die
-	# TODO: fix link against libsupc++
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	if use libcxxrt ; then
-		# Move it first.
-		mv "${ED}/usr/$(get_libdir)/libc++.a" "${ED}/usr/$(get_libdir)/libc++_static.a" || die
-
-		# Generate libc++.a ldscript for inclusion of its dependencies so that
-		# clang++ -stdlib=libc++ -static works out of the box.
-		local deps="${EPREFIX}/usr/$(get_libdir)/libc++_static.a ${EPREFIX}/usr/$(get_libdir)/libcxxrt.a"
-		# On Linux/glibc it does not link without libpthread or libdl. It is
-		# fine on FreeBSD.
-		use elibc_glibc && deps="${deps} ${EPREFIX}/usr/$(get_libdir)/libpthread.a ${EPREFIX}/usr/$(get_libdir)/libdl.a"
-
-		gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.a"
-	fi
-	# TODO: Generate a libc++.a ldscript when building against libsupc++
-}
-
-gen_shared_ldscript() {
-	if use libcxxrt ; then
-		mv "${ED}/usr/$(get_libdir)/libc++.so" "${ED}/usr/$(get_libdir)/libc++_shared.so" || die
-		local deps="${EPREFIX}/usr/$(get_libdir)/libc++_shared.so ${EPREFIX}/usr/$(get_libdir)/libcxxrt.so"
-		gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.so"
-	fi
-	# TODO: Generate the linker script for other confiurations too.
-}
-
-multilib_src_install() {
-	cd "${BUILD_DIR}/lib"
-	if use static-libs ; then
-		dolib.a libc++.a
-		gen_static_ldscript
-	fi
-	dolib.so libc++.so*
-	gen_shared_ldscript
-}
-
-multilib_src_install_all() {
-	einstalldocs
-	insinto /usr/include/c++/v1
-	doins -r include/*
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}

diff --git a/sys-libs/libcxx/libcxx-3.6.2.ebuild b/sys-libs/libcxx/libcxx-3.6.2.ebuild
deleted file mode 100644
index 92689d8..0000000
--- a/sys-libs/libcxx/libcxx-3.6.2.ebuild
+++ /dev/null
@@ -1,170 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-ESVN_REPO_URI="http://llvm.org/svn/llvm-project/libcxx/trunk"
-
-[ "${PV%9999}" != "${PV}" ] && SCM="subversion" || SCM=""
-
-inherit ${SCM} flag-o-matic toolchain-funcs multilib multilib-minimal
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="http://libcxx.llvm.org/"
-if [ "${PV%9999}" = "${PV}" ] ; then
-	SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
-	S="${WORKDIR}/${P}.src"
-else
-	SRC_URI=""
-fi
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-if [ "${PV%9999}" = "${PV}" ] ; then
-	KEYWORDS="~amd64 ~mips ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
-else
-	KEYWORDS=""
-fi
-IUSE="elibc_glibc +libcxxrt +static-libs test"
-
-RDEPEND="libcxxrt? ( >=sys-libs/libcxxrt-0.0_p20130725[static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] )"
-DEPEND="${RDEPEND}
-	test? ( sys-devel/clang )
-	app-arch/xz-utils"
-
-DOCS=( CREDITS.TXT )
-
-pkg_setup() {
-	if ! use libcxxrt ; then
-		ewarn "You have disabled USE=libcxxrt. This will build ${PN} against"
-		ewarn "libsupc++. Please note that this is not well supported."
-		ewarn "In particular, static linking will not work."
-	fi
-	if [[ $(gcc-version) < 4.7 ]] && [[ $(tc-getCXX) != *clang++* ]] ; then
-		eerror "${PN} needs to be built with clang++ or gcc-4.7 or later."
-		eerror "Please use gcc-config to switch to gcc-4.7 or later version."
-		die
-	fi
-}
-
-src_prepare() {
-	cp -f "${FILESDIR}/Makefile" lib/ || die
-	multilib_copy_sources
-}
-
-src_configure() {
-	export LIBS="-lpthread -lrt -lc -lgcc_s"
-	if use libcxxrt ; then
-		append-cppflags -DLIBCXXRT "-I${EPREFIX}/usr/include/libcxxrt/"
-		LIBS="-lcxxrt ${LIBS}"
-		cp "${EPREFIX}/usr/include/libcxxrt/"*.h "${S}/include"
-	else
-		# Very hackish, see $HOMEPAGE
-		# If someone has a clever idea, please share it!
-		local includes="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | sed -e 's/^ /-I/' | tr '\n' ' ')"
-		local libcxx_gcc_dirs="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | tr '\n' ' ')"
-		append-cppflags -D__GLIBCXX__ ${includes}
-		LIBS="-lsupc++ ${LIBS}"
-		local libsupcxx_includes="cxxabi.h bits/c++config.h bits/os_defines.h bits/cpu_defines.h bits/cxxabi_tweaks.h bits/cxxabi_forced.h"
-		for i in ${libsupcxx_includes} ; do
-			local found=""
-			[ -d "${S}/include/$(dirname ${i})/" ] || mkdir -p "${S}/include/$(dirname ${i})"
-			for j in ${libcxx_gcc_dirs} ; do
-				if [ -f "${j}/${i}" ] ; then
-					cp "${j}/${i}" "${S}/include/$(dirname ${i})/" || die
-					found=yes
-				fi
-			done
-			[ -n "${found}" ] || die "Header not found: ${i}"
-		done
-	fi
-
-	tc-export AR CC CXX
-
-	append-ldflags "-Wl,-z,defs" # make sure we are not underlinked
-}
-
-multilib_src_compile() {
-	cd "${BUILD_DIR}/lib" || die
-	emake shared
-	use static-libs && emake static
-}
-
-# Tests fail for now, if anybody is able to fix them, help is very welcome.
-multilib_src_test() {
-	cd "${BUILD_DIR}/test"
-	LD_LIBRARY_PATH="${BUILD_DIR}/lib:${LD_LIBRARY_PATH}" \
-		CC="clang++ $(get_abi_CFLAGS) ${CXXFLAGS}" \
-		HEADER_INCLUDE="-I${BUILD_DIR}/include" \
-		SOURCE_LIB="-L${BUILD_DIR}/lib" \
-		LIBS="-lm $(usex libcxxrt -lcxxrt "")" \
-		./testit || die
-	# TODO: fix link against libsupc++
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	if use libcxxrt ; then
-		# Move it first.
-		mv "${ED}/usr/$(get_libdir)/libc++.a" "${ED}/usr/$(get_libdir)/libc++_static.a" || die
-
-		# Generate libc++.a ldscript for inclusion of its dependencies so that
-		# clang++ -stdlib=libc++ -static works out of the box.
-		local deps="${EPREFIX}/usr/$(get_libdir)/libc++_static.a ${EPREFIX}/usr/$(get_libdir)/libcxxrt.a"
-		# On Linux/glibc it does not link without libpthread or libdl. It is
-		# fine on FreeBSD.
-		use elibc_glibc && deps="${deps} ${EPREFIX}/usr/$(get_libdir)/libpthread.a ${EPREFIX}/usr/$(get_libdir)/libdl.a"
-
-		gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.a"
-	fi
-	# TODO: Generate a libc++.a ldscript when building against libsupc++
-}
-
-gen_shared_ldscript() {
-	if use libcxxrt ; then
-		mv "${ED}/usr/$(get_libdir)/libc++.so" "${ED}/usr/$(get_libdir)/libc++_shared.so" || die
-		local deps="${EPREFIX}/usr/$(get_libdir)/libc++_shared.so ${EPREFIX}/usr/$(get_libdir)/libcxxrt.so"
-		gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.so"
-	fi
-	# TODO: Generate the linker script for other confiurations too.
-}
-
-multilib_src_install() {
-	cd "${BUILD_DIR}/lib"
-	if use static-libs ; then
-		dolib.a libc++.a
-		gen_static_ldscript
-	fi
-	dolib.so libc++.so*
-	gen_shared_ldscript
-}
-
-multilib_src_install_all() {
-	einstalldocs
-	insinto /usr/include/c++/v1
-	doins -r include/*
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2016-03-10  9:46 Alexis Ballier
  0 siblings, 0 replies; 605+ messages in thread
From: Alexis Ballier @ 2016-03-10  9:46 UTC (permalink / raw
  To: gentoo-commits

commit:     d02b5e7adfc56c523276a271ac3abe6ab673426f
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 10 09:46:30 2016 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Thu Mar 10 09:46:30 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d02b5e7a

sys-libs/libcxx: bump to 3.8.0

Package-Manager: portage-2.2.27
Signed-off-by: Alexis Ballier <aballier <AT> gentoo.org>

 sys-libs/libcxx/Manifest            |   1 +
 sys-libs/libcxx/libcxx-3.8.0.ebuild | 170 ++++++++++++++++++++++++++++++++++++
 2 files changed, 171 insertions(+)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 49261ca..c39b7c2 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,2 +1,3 @@
 DIST libcxx-3.7.0.src.tar.xz 994580 SHA256 c18f3c8333cd7e678c1424a57fe5e25efe740ca7caf62ac67152b4723f3ad08e SHA512 e71d04efa0fafab129a97ca6f4fd7b5f185258de7455c7a25d0964f459bc6068c69c5d67199f6d7cd3541bdce630106cbaf3b7099e4737dddbdd57c77a3fe054 WHIRLPOOL 26672e3f6e0772504e7ee174c37e5fc20079c730ac8bd0d2563d5415ca9589360aa3be42a8aac15eb5a63c69227bd4911aa822b158b9a35e3d74ec0d71bb1300
 DIST libcxx-3.7.1.src.tar.xz 995724 SHA256 357fbd4288ce99733ba06ae2bec6f503413d258aeebaab8b6a791201e6f7f144 SHA512 08d2399a8b36aa15290733256c896c9fa43f1a1223bc5c73bbcd014fddf8880e514d2a6dcc456bcf18b537c01fb6911b092e6d9958bccd8e64e9f375ed7a1ab9 WHIRLPOOL 19f77946abf48cbdd3e7ea21fd009ca3cc5f607dfe0512a44b102847044bb1d5ae4b16f503f18b14ebd9ea115256e87af07409907ba2a65f6061e217a502a359
+DIST libcxx-3.8.0.src.tar.xz 1062884 SHA256 36804511b940bc8a7cefc7cb391a6b28f5e3f53f6372965642020db91174237b SHA512 3a9f0c9b4b0c22757028800b28c5fd7b28fc79d0cbf33cad2087de493dc778c93f2df4b919f162638d883069f60a633f36ddc18d7da8ae00c6af409266a05e6b WHIRLPOOL 6f1328c8b220f91d15f6644e34dd74e3d204ee0ee56769df4442d14b884e31626a289e6ab5e7d075438c7527b2efde92763b362791914bcd18c269405c9c7c8e

diff --git a/sys-libs/libcxx/libcxx-3.8.0.ebuild b/sys-libs/libcxx/libcxx-3.8.0.ebuild
new file mode 100644
index 0000000..92689d8
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-3.8.0.ebuild
@@ -0,0 +1,170 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+ESVN_REPO_URI="http://llvm.org/svn/llvm-project/libcxx/trunk"
+
+[ "${PV%9999}" != "${PV}" ] && SCM="subversion" || SCM=""
+
+inherit ${SCM} flag-o-matic toolchain-funcs multilib multilib-minimal
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="http://libcxx.llvm.org/"
+if [ "${PV%9999}" = "${PV}" ] ; then
+	SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
+	S="${WORKDIR}/${P}.src"
+else
+	SRC_URI=""
+fi
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+if [ "${PV%9999}" = "${PV}" ] ; then
+	KEYWORDS="~amd64 ~mips ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+else
+	KEYWORDS=""
+fi
+IUSE="elibc_glibc +libcxxrt +static-libs test"
+
+RDEPEND="libcxxrt? ( >=sys-libs/libcxxrt-0.0_p20130725[static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] )"
+DEPEND="${RDEPEND}
+	test? ( sys-devel/clang )
+	app-arch/xz-utils"
+
+DOCS=( CREDITS.TXT )
+
+pkg_setup() {
+	if ! use libcxxrt ; then
+		ewarn "You have disabled USE=libcxxrt. This will build ${PN} against"
+		ewarn "libsupc++. Please note that this is not well supported."
+		ewarn "In particular, static linking will not work."
+	fi
+	if [[ $(gcc-version) < 4.7 ]] && [[ $(tc-getCXX) != *clang++* ]] ; then
+		eerror "${PN} needs to be built with clang++ or gcc-4.7 or later."
+		eerror "Please use gcc-config to switch to gcc-4.7 or later version."
+		die
+	fi
+}
+
+src_prepare() {
+	cp -f "${FILESDIR}/Makefile" lib/ || die
+	multilib_copy_sources
+}
+
+src_configure() {
+	export LIBS="-lpthread -lrt -lc -lgcc_s"
+	if use libcxxrt ; then
+		append-cppflags -DLIBCXXRT "-I${EPREFIX}/usr/include/libcxxrt/"
+		LIBS="-lcxxrt ${LIBS}"
+		cp "${EPREFIX}/usr/include/libcxxrt/"*.h "${S}/include"
+	else
+		# Very hackish, see $HOMEPAGE
+		# If someone has a clever idea, please share it!
+		local includes="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | sed -e 's/^ /-I/' | tr '\n' ' ')"
+		local libcxx_gcc_dirs="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | tr '\n' ' ')"
+		append-cppflags -D__GLIBCXX__ ${includes}
+		LIBS="-lsupc++ ${LIBS}"
+		local libsupcxx_includes="cxxabi.h bits/c++config.h bits/os_defines.h bits/cpu_defines.h bits/cxxabi_tweaks.h bits/cxxabi_forced.h"
+		for i in ${libsupcxx_includes} ; do
+			local found=""
+			[ -d "${S}/include/$(dirname ${i})/" ] || mkdir -p "${S}/include/$(dirname ${i})"
+			for j in ${libcxx_gcc_dirs} ; do
+				if [ -f "${j}/${i}" ] ; then
+					cp "${j}/${i}" "${S}/include/$(dirname ${i})/" || die
+					found=yes
+				fi
+			done
+			[ -n "${found}" ] || die "Header not found: ${i}"
+		done
+	fi
+
+	tc-export AR CC CXX
+
+	append-ldflags "-Wl,-z,defs" # make sure we are not underlinked
+}
+
+multilib_src_compile() {
+	cd "${BUILD_DIR}/lib" || die
+	emake shared
+	use static-libs && emake static
+}
+
+# Tests fail for now, if anybody is able to fix them, help is very welcome.
+multilib_src_test() {
+	cd "${BUILD_DIR}/test"
+	LD_LIBRARY_PATH="${BUILD_DIR}/lib:${LD_LIBRARY_PATH}" \
+		CC="clang++ $(get_abi_CFLAGS) ${CXXFLAGS}" \
+		HEADER_INCLUDE="-I${BUILD_DIR}/include" \
+		SOURCE_LIB="-L${BUILD_DIR}/lib" \
+		LIBS="-lm $(usex libcxxrt -lcxxrt "")" \
+		./testit || die
+	# TODO: fix link against libsupc++
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	if use libcxxrt ; then
+		# Move it first.
+		mv "${ED}/usr/$(get_libdir)/libc++.a" "${ED}/usr/$(get_libdir)/libc++_static.a" || die
+
+		# Generate libc++.a ldscript for inclusion of its dependencies so that
+		# clang++ -stdlib=libc++ -static works out of the box.
+		local deps="${EPREFIX}/usr/$(get_libdir)/libc++_static.a ${EPREFIX}/usr/$(get_libdir)/libcxxrt.a"
+		# On Linux/glibc it does not link without libpthread or libdl. It is
+		# fine on FreeBSD.
+		use elibc_glibc && deps="${deps} ${EPREFIX}/usr/$(get_libdir)/libpthread.a ${EPREFIX}/usr/$(get_libdir)/libdl.a"
+
+		gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.a"
+	fi
+	# TODO: Generate a libc++.a ldscript when building against libsupc++
+}
+
+gen_shared_ldscript() {
+	if use libcxxrt ; then
+		mv "${ED}/usr/$(get_libdir)/libc++.so" "${ED}/usr/$(get_libdir)/libc++_shared.so" || die
+		local deps="${EPREFIX}/usr/$(get_libdir)/libc++_shared.so ${EPREFIX}/usr/$(get_libdir)/libcxxrt.so"
+		gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.so"
+	fi
+	# TODO: Generate the linker script for other confiurations too.
+}
+
+multilib_src_install() {
+	cd "${BUILD_DIR}/lib"
+	if use static-libs ; then
+		dolib.a libc++.a
+		gen_static_ldscript
+	fi
+	dolib.so libc++.so*
+	gen_shared_ldscript
+}
+
+multilib_src_install_all() {
+	einstalldocs
+	insinto /usr/include/c++/v1
+	doins -r include/*
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2016-08-01 22:05 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2016-08-01 22:05 UTC (permalink / raw
  To: gentoo-commits

commit:     b2f49c60138863df29aead80ce7252b44b1debd1
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Aug  1 21:48:11 2016 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Aug  1 21:49:26 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b2f49c60

sys-libs/libcxx: Add myself as co-maintainer

 sys-libs/libcxx/metadata.xml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/sys-libs/libcxx/metadata.xml b/sys-libs/libcxx/metadata.xml
index cd53c38..c3db08d 100644
--- a/sys-libs/libcxx/metadata.xml
+++ b/sys-libs/libcxx/metadata.xml
@@ -11,6 +11,10 @@
     <email>bsd@gentoo.org</email>
     <name>BSD Project</name>
   </maintainer>
+  <maintainer type="person">
+    <email>mgorny@gentoo.org</email>
+    <name>Michał Górny</name>
+  </maintainer>
   <use>
 	  <flag name="libcxxrt">Build on top of <pkg>sys-libs/libcxxrt</pkg> instead of gcc's libsupc++ (avoids depending on gcc).</flag>
 	  <flag name="libunwind">Use libunwind instead of libgcc_s for stack unwinding, thus avoiding dependence on gcc.</flag>


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2016-10-03  8:51 Alexis Ballier
  0 siblings, 0 replies; 605+ messages in thread
From: Alexis Ballier @ 2016-10-03  8:51 UTC (permalink / raw
  To: gentoo-commits

commit:     bef68cdcc80c0577b35b8ff038320389477b15f8
Author:     Lei Zhang <zhanglei.april <AT> gmail <DOT> com>
AuthorDate: Sun Sep  4 11:00:27 2016 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Mon Oct  3 08:51:19 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bef68cdc

sys-libs/libcxx: update maintainers in metadata

 sys-libs/libcxx/metadata.xml | 34 ++++++++++++++++------------------
 1 file changed, 16 insertions(+), 18 deletions(-)

diff --git a/sys-libs/libcxx/metadata.xml b/sys-libs/libcxx/metadata.xml
index c3db08d..bcb4744 100644
--- a/sys-libs/libcxx/metadata.xml
+++ b/sys-libs/libcxx/metadata.xml
@@ -1,22 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-  <!-- BSD is here because the plan is to have libc++ as the standard C++
-	   library with clang. A llvm herd would make a lot of sense here too -->
-  <maintainer type="person">
-    <email>aballier@gentoo.org</email>
-    <name>Alexis Ballier</name>
-  </maintainer>
-  <maintainer type="project">
-    <email>bsd@gentoo.org</email>
-    <name>BSD Project</name>
-  </maintainer>
-  <maintainer type="person">
-    <email>mgorny@gentoo.org</email>
-    <name>Michał Górny</name>
-  </maintainer>
-  <use>
-	  <flag name="libcxxrt">Build on top of <pkg>sys-libs/libcxxrt</pkg> instead of gcc's libsupc++ (avoids depending on gcc).</flag>
-	  <flag name="libunwind">Use libunwind instead of libgcc_s for stack unwinding, thus avoiding dependence on gcc.</flag>
-  </use>
+	<maintainer type="person">
+		<email>aballier@gentoo.org</email>
+		<name>Alexis Ballier</name>
+	</maintainer>
+	<maintainer type="project">
+		<email>bsd@gentoo.org</email>
+		<name>BSD Project</name>
+	</maintainer>
+	<maintainer type="project">
+		<email>llvm@gentoo.org</email>
+		<name>LLVM Project</name>
+	</maintainer>
+	<use>
+		<flag name="libcxxrt">Build on top of <pkg>sys-libs/libcxxrt</pkg> instead of gcc's libsupc++ (avoids depending on gcc).</flag>
+		<flag name="libunwind">Use libunwind instead of libgcc_s for stack unwinding, thus avoiding dependence on gcc.</flag>
+	</use>
 </pkgmetadata>


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2016-10-03 12:00 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2016-10-03 12:00 UTC (permalink / raw
  To: gentoo-commits

commit:     7e4620701ae0f56afb758bbe417e91e4d1b49e79
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Oct  3 11:50:59 2016 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Oct  3 11:56:28 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7e462070

sys-libs/libcxx: Use CMake files from native LLVM build

 sys-libs/libcxx/libcxx-3.9.0.ebuild | 12 ++++++++++--
 sys-libs/libcxx/libcxx-9999.ebuild  | 12 ++++++++++--
 2 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-3.9.0.ebuild b/sys-libs/libcxx/libcxx-3.9.0.ebuild
index 25e0b69..d466c0f 100644
--- a/sys-libs/libcxx/libcxx-3.9.0.ebuild
+++ b/sys-libs/libcxx/libcxx-3.9.0.ebuild
@@ -46,7 +46,7 @@ DEPEND="${RDEPEND}
 	test? ( sys-devel/clang[${MULTILIB_USEDEP}]
 		${PYTHON_DEPS} )
 	app-arch/xz-utils
-	>=sys-devel/llvm-3.9.0[${MULTILIB_USEDEP}]"
+	>=sys-devel/llvm-3.9.0"
 
 DOCS=( CREDITS.TXT )
 
@@ -94,6 +94,11 @@ src_unpack() {
 	git-r3_checkout
 }
 
+src_configure() {
+	NATIVE_LIBDIR=$(get_libdir)
+	cmake-multilib_src_configure
+}
+
 multilib_src_configure() {
 	local cxxabi cxxabi_incs
 	if use libcxxrt; then
@@ -107,7 +112,10 @@ multilib_src_configure() {
 
 	local libdir=$(get_libdir)
 	local mycmakeargs=(
-		-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+		# LLVM_LIBDIR_SUFFIX is used to find CMake files
+		# and we are happy to use the native set
+		-DLLVM_LIBDIR_SUFFIX=${NATIVE_LIBDIR#lib}
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
 		-DLIBCXX_ENABLE_SHARED=ON
 		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
 		-DLIBCXX_CXX_ABI=${cxxabi}

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index dc867aa..7f444c7 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -46,7 +46,7 @@ DEPEND="${RDEPEND}
 	test? ( sys-devel/clang[${MULTILIB_USEDEP}]
 		${PYTHON_DEPS} )
 	app-arch/xz-utils
-	>=sys-devel/llvm-3.9.0[${MULTILIB_USEDEP}]"
+	>=sys-devel/llvm-3.9.0"
 
 DOCS=( CREDITS.TXT )
 
@@ -90,6 +90,11 @@ src_unpack() {
 	git-r3_checkout
 }
 
+src_configure() {
+	NATIVE_LIBDIR=$(get_libdir)
+	cmake-multilib_src_configure
+}
+
 multilib_src_configure() {
 	local cxxabi cxxabi_incs
 	if use libcxxrt; then
@@ -103,7 +108,10 @@ multilib_src_configure() {
 
 	local libdir=$(get_libdir)
 	local mycmakeargs=(
-		-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+		# LLVM_LIBDIR_SUFFIX is used to find CMake files
+		# and we are happy to use the native set
+		-DLLVM_LIBDIR_SUFFIX=${NATIVE_LIBDIR#lib}
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
 		-DLIBCXX_ENABLE_SHARED=ON
 		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
 		-DLIBCXX_CXX_ABI=${cxxabi}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2016-10-03 12:47 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2016-10-03 12:47 UTC (permalink / raw
  To: gentoo-commits

commit:     983ab306d43d2cd82b32ef3880b81b0bae2b5ac2
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Oct  3 12:45:41 2016 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Oct  3 12:47:37 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=983ab306

sys-libs/libcxx: Dep on >=clang-3.9.0 for target symlinks

 sys-libs/libcxx/libcxx-3.9.0.ebuild | 4 +++-
 sys-libs/libcxx/libcxx-9999.ebuild  | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-3.9.0.ebuild b/sys-libs/libcxx/libcxx-3.9.0.ebuild
index d466c0f..a559476 100644
--- a/sys-libs/libcxx/libcxx-3.9.0.ebuild
+++ b/sys-libs/libcxx/libcxx-3.9.0.ebuild
@@ -42,8 +42,10 @@ RDEPEND="libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP
 	!libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] )"
 # llvm-3.9.0 needed because its cmake files installation path changed, which is
 # needed by libcxx
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
 DEPEND="${RDEPEND}
-	test? ( sys-devel/clang[${MULTILIB_USEDEP}]
+	test? ( >=sys-devel/clang-3.9.0
 		${PYTHON_DEPS} )
 	app-arch/xz-utils
 	>=sys-devel/llvm-3.9.0"

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index 7f444c7..9092652 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -42,8 +42,10 @@ RDEPEND="libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP
 	!libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] )"
 # llvm-3.9.0 needed because its cmake files installation path changed, which is
 # needed by libcxx
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
 DEPEND="${RDEPEND}
-	test? ( sys-devel/clang[${MULTILIB_USEDEP}]
+	test? ( >=sys-devel/clang-3.9.0
 		${PYTHON_DEPS} )
 	app-arch/xz-utils
 	>=sys-devel/llvm-3.9.0"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2016-10-05 13:38 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2016-10-05 13:38 UTC (permalink / raw
  To: gentoo-commits

commit:     1c22c625648953957c1c8c6b0ec9f1db89612fdb
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Oct  3 13:02:18 2016 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Oct  5 13:38:10 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1c22c625

sys-libs/libcxx: Support sys-libs/libcxxabi

 sys-libs/libcxx/libcxx-9999.ebuild | 24 +++++++++++++++---------
 sys-libs/libcxx/metadata.xml       |  1 +
 2 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index 9092652..6d0328d 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -35,11 +35,14 @@ if [[ ${PV} != 9999 ]] ; then
 else
 	KEYWORDS=""
 fi
-IUSE="elibc_glibc elibc_musl +libcxxrt libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( libcxxrt )"
-
-RDEPEND="libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] )"
+IUSE="elibc_glibc elibc_musl libcxxabi +libcxxrt libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+
+RDEPEND="
+	libcxxabi? ( sys-libs/libcxxabi[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
 # llvm-3.9.0 needed because its cmake files installation path changed, which is
 # needed by libcxx
 # clang-3.9.0 installs necessary target symlinks unconditionally
@@ -61,7 +64,7 @@ PATCHES=(
 pkg_setup() {
 	use test && python_setup
 
-	if ! use libcxxrt && ! tc-is-gcc ; then
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
 		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
 		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
 		eerror "and try again."
@@ -99,7 +102,10 @@ src_configure() {
 
 multilib_src_configure() {
 	local cxxabi cxxabi_incs
-	if use libcxxrt; then
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
 		cxxabi=libcxxrt
 		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
 	else
@@ -159,7 +165,7 @@ END_LDSCRIPT
 
 gen_static_ldscript() {
 	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxrt "libcxxrt.a" "libsupc++.a")
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
 
 	# Move it first.
 	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
@@ -178,7 +184,7 @@ gen_static_ldscript() {
 gen_shared_ldscript() {
 	local libdir=$(get_libdir)
 	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxrt "libcxxrt.so" "libsupc++.a")
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
 
 	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
 	local deps="libc++_shared.so ${cxxabi_lib}"

diff --git a/sys-libs/libcxx/metadata.xml b/sys-libs/libcxx/metadata.xml
index bcb4744..df0c52d 100644
--- a/sys-libs/libcxx/metadata.xml
+++ b/sys-libs/libcxx/metadata.xml
@@ -14,6 +14,7 @@
 		<name>LLVM Project</name>
 	</maintainer>
 	<use>
+		<flag name="libcxxabi">Build on top of <pkg>sys-libs/libcxxabi</pkg> instead of gcc's libsupc++ (avoids depending on gcc).</flag>
 		<flag name="libcxxrt">Build on top of <pkg>sys-libs/libcxxrt</pkg> instead of gcc's libsupc++ (avoids depending on gcc).</flag>
 		<flag name="libunwind">Use libunwind instead of libgcc_s for stack unwinding, thus avoiding dependence on gcc.</flag>
 	</use>


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2016-10-05 13:38 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2016-10-05 13:38 UTC (permalink / raw
  To: gentoo-commits

commit:     692417fccb61e9aaac344f9d3486d9859b4ba909
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Oct  3 11:00:59 2016 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Oct  5 13:38:11 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=692417fc

sys-libs/libcxx: Run tests without LLVM sources

 sys-libs/libcxx/libcxx-3.9.0.ebuild | 34 ++++++++++------------------------
 sys-libs/libcxx/libcxx-9999.ebuild  | 35 +++++++++++------------------------
 2 files changed, 21 insertions(+), 48 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-3.9.0.ebuild b/sys-libs/libcxx/libcxx-3.9.0.ebuild
index a559476..110038b 100644
--- a/sys-libs/libcxx/libcxx-3.9.0.ebuild
+++ b/sys-libs/libcxx/libcxx-3.9.0.ebuild
@@ -19,13 +19,10 @@ inherit ${SCM} cmake-multilib python-any-r1 toolchain-funcs
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="http://libcxx.llvm.org/"
 if [[ ${PV} != 9999 ]] ; then
-	SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
-		test? ( http://llvm.org/releases/${PV}/llvm-${PV}.src.tar.xz )"
+	SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
 	S="${WORKDIR}/${P}.src"
-	LLVM_S="${WORKDIR}/llvm-${PV}.src"
 else
 	SRC_URI=""
-	LLVM_S="${WORKDIR}/llvm"
 fi
 
 LICENSE="|| ( UoI-NCSA MIT )"
@@ -46,7 +43,7 @@ RDEPEND="libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP
 # which removes the need for MULTILIB_USEDEP
 DEPEND="${RDEPEND}
 	test? ( >=sys-devel/clang-3.9.0
-		${PYTHON_DEPS} )
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
 	app-arch/xz-utils
 	>=sys-devel/llvm-3.9.0"
 
@@ -62,8 +59,12 @@ PATCHES=(
 	"${FILESDIR}/${PN}-3.9-cmake-static-lib.patch"
 )
 
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
 pkg_setup() {
-	use test && python_setup
+	use test && python-any-r1_pkg_setup
 
 	if ! use libcxxrt && ! tc-is-gcc ; then
 		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
@@ -79,23 +80,6 @@ pkg_setup() {
 	fi
 }
 
-src_unpack() {
-	[[ ${PV} != 9999 ]] && default && return
-
-	if use test; then
-		# needed for tests
-		git-r3_fetch "http://llvm.org/git/llvm.git
-			https://github.com/llvm-mirror/llvm.git"
-	fi
-	git-r3_fetch
-
-	if use test; then
-		git-r3_checkout http://llvm.org/git/llvm.git \
-			"${WORKDIR}"/llvm
-	fi
-	git-r3_checkout
-}
-
 src_configure() {
 	NATIVE_LIBDIR=$(get_libdir)
 	cmake-multilib_src_configure
@@ -131,7 +115,9 @@ multilib_src_configure() {
 	)
 	if use test; then
 		mycmakeargs+=(
-			-DLLVM_MAIN_SRC_DIR=${LLVM_S}
+			# this can be any directory, it just needs to exist...
+			-DLLVM_MAIN_SRC_DIR="${T}"
+			-DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
 		)
 	fi
 	cmake-utils_src_configure

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index 6d0328d..401a8ea 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -19,13 +19,10 @@ inherit ${SCM} cmake-multilib python-any-r1 toolchain-funcs
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="http://libcxx.llvm.org/"
 if [[ ${PV} != 9999 ]] ; then
-	SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
-		test? ( http://llvm.org/releases/${PV}/llvm-${PV}.src.tar.xz )"
+	SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
 	S="${WORKDIR}/${P}.src"
-	LLVM_S="${WORKDIR}/llvm-${PV}.src"
 else
 	SRC_URI=""
-	LLVM_S="${WORKDIR}/llvm"
 fi
 
 LICENSE="|| ( UoI-NCSA MIT )"
@@ -49,7 +46,7 @@ RDEPEND="
 # which removes the need for MULTILIB_USEDEP
 DEPEND="${RDEPEND}
 	test? ( >=sys-devel/clang-3.9.0
-		${PYTHON_DEPS} )
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
 	app-arch/xz-utils
 	>=sys-devel/llvm-3.9.0"
 
@@ -61,8 +58,12 @@ PATCHES=(
 	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
 )
 
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
 pkg_setup() {
-	use test && python_setup
+	use test && python-any-r1_pkg_setup
 
 	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
 		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
@@ -78,23 +79,6 @@ pkg_setup() {
 	fi
 }
 
-src_unpack() {
-	[[ ${PV} != 9999 ]] && default && return
-
-	if use test; then
-		# needed for tests
-		git-r3_fetch "http://llvm.org/git/llvm.git
-			https://github.com/llvm-mirror/llvm.git"
-	fi
-	git-r3_fetch
-
-	if use test; then
-		git-r3_checkout http://llvm.org/git/llvm.git \
-			"${WORKDIR}"/llvm
-	fi
-	git-r3_checkout
-}
-
 src_configure() {
 	NATIVE_LIBDIR=$(get_libdir)
 	cmake-multilib_src_configure
@@ -133,7 +117,10 @@ multilib_src_configure() {
 	)
 	if use test; then
 		mycmakeargs+=(
-			-DLLVM_MAIN_SRC_DIR=${LLVM_S}
+			# this can be any directory, it just needs to exist...
+			# FIXME: remove this once https://reviews.llvm.org/D25093 is merged
+			-DLLVM_MAIN_SRC_DIR="${T}"
+			-DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
 		)
 	fi
 	cmake-utils_src_configure


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2016-10-05 14:12 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2016-10-05 14:12 UTC (permalink / raw
  To: gentoo-commits

commit:     b2035afd5e876bbad76675ac43d89a1e88a99555
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Oct  5 14:11:50 2016 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Oct  5 14:12:48 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b2035afd

sys-libs/libcxx: Require matching libcxxabi version

 sys-libs/libcxx/libcxx-9999.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index 401a8ea..a5e7c7f 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -37,7 +37,7 @@ REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"
 
 RDEPEND="
-	libcxxabi? ( sys-libs/libcxxabi[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
 	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
 	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
 # llvm-3.9.0 needed because its cmake files installation path changed, which is


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2016-10-05 14:12 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2016-10-05 14:12 UTC (permalink / raw
  To: gentoo-commits

commit:     abb85edb75ac30ebab145053874824529fabb5fd
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Oct  5 14:11:15 2016 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Oct  5 14:12:39 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=abb85edb

sys-libs/libcxx: Kill spurious digest for llvm-*

 sys-libs/libcxx/Manifest | 1 -
 1 file changed, 1 deletion(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index d6884e0..fd7976e 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -3,4 +3,3 @@ DIST libcxx-3.7.1.src.tar.xz 995724 SHA256 357fbd4288ce99733ba06ae2bec6f503413d2
 DIST libcxx-3.8.0.src.tar.xz 1062884 SHA256 36804511b940bc8a7cefc7cb391a6b28f5e3f53f6372965642020db91174237b SHA512 3a9f0c9b4b0c22757028800b28c5fd7b28fc79d0cbf33cad2087de493dc778c93f2df4b919f162638d883069f60a633f36ddc18d7da8ae00c6af409266a05e6b WHIRLPOOL 6f1328c8b220f91d15f6644e34dd74e3d204ee0ee56769df4442d14b884e31626a289e6ab5e7d075438c7527b2efde92763b362791914bcd18c269405c9c7c8e
 DIST libcxx-3.8.1.src.tar.xz 1074164 SHA256 77d7f3784c88096d785bd705fa1bab7031ce184cd91ba8a7008abf55264eeecc SHA512 782ff3cdb85d02e92404e943474d0266ff601725c202f0667d60e7807f1ba3cfdebbdb062e27a52fec96be1c99339044be93a88ba7e396682f98d99c9ac175b2 WHIRLPOOL a729c44060972edee79b0019fd4c6c23fa56dd625e564f4c5965682d9fc79be4094df0643f67c5d2ffa3ae3c743c892c3c9ba19719b2307aada35775f64ed104
 DIST libcxx-3.9.0.src.tar.xz 1198308 SHA256 d0b38d51365c6322f5666a2a8105785f2e114430858de4c25a86b49f227f5b06 SHA512 55d5c4adff378ee02b0b99d732bc9f326910f9e49ab8c320a588eccdd0362fe009bc9a6a4337d29faf6338420c91b10d0d7d67f66128268f01258d30502c4f4a WHIRLPOOL 3ee3519acfe95287a862a6c44e30ed52ced1204332913007797da4e4da40dfdc5991ae120f5686827cc208b559936da5bc5485dab75617bdd5cbbd9e95a6032a
-DIST llvm-3.9.0.src.tar.xz 18235716 SHA256 66c73179da42cee1386371641241f79ded250e117a79f571bbd69e56daa48948 SHA512 f18ae32531218ab156c3e56c11826be0fd05f0799c82eaf2e6a043b38e1277560b4d921987513b88b11d97ea2619feaf277eec72181dd2ae4f4108c2836bf7b2 WHIRLPOOL a36c1bcee6e7995067a9a7a51e3fdb0f10d51d0239250eefab92ed2e46b024a203fa10a17a25a5aca69046bcb413628e288427f1a6690d0862e07cd95694c8a8


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2016-10-05 14:46 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2016-10-05 14:46 UTC (permalink / raw
  To: gentoo-commits

commit:     f24f51ecacae2848e95c0fefedfd91708d53c564
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Oct  5 14:14:55 2016 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Oct  5 14:46:45 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f24f51ec

sys-libs/libcxx: Backport libcxxabi support to 3.9.0

 sys-libs/libcxx/libcxx-3.9.0.ebuild | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-3.9.0.ebuild b/sys-libs/libcxx/libcxx-3.9.0.ebuild
index 110038b..656a979 100644
--- a/sys-libs/libcxx/libcxx-3.9.0.ebuild
+++ b/sys-libs/libcxx/libcxx-3.9.0.ebuild
@@ -32,11 +32,14 @@ if [[ ${PV} != 9999 ]] ; then
 else
 	KEYWORDS=""
 fi
-IUSE="elibc_glibc elibc_musl +libcxxrt libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( libcxxrt )"
-
-RDEPEND="libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] )"
+IUSE="elibc_glibc elibc_musl libcxxabi +libcxxrt libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
 # llvm-3.9.0 needed because its cmake files installation path changed, which is
 # needed by libcxx
 # clang-3.9.0 installs necessary target symlinks unconditionally
@@ -66,7 +69,7 @@ python_check_deps() {
 pkg_setup() {
 	use test && python-any-r1_pkg_setup
 
-	if ! use libcxxrt && ! tc-is-gcc ; then
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
 		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
 		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
 		eerror "and try again."
@@ -87,7 +90,10 @@ src_configure() {
 
 multilib_src_configure() {
 	local cxxabi cxxabi_incs
-	if use libcxxrt; then
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
 		cxxabi=libcxxrt
 		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
 	else
@@ -149,7 +155,7 @@ END_LDSCRIPT
 
 gen_static_ldscript() {
 	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxrt "libcxxrt.a" "libsupc++.a")
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
 
 	# Move it first.
 	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
@@ -168,7 +174,7 @@ gen_static_ldscript() {
 gen_shared_ldscript() {
 	local libdir=$(get_libdir)
 	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxrt "libcxxrt.so" "libsupc++.a")
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
 
 	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
 	local deps="libc++_shared.so ${cxxabi_lib}"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2016-10-07  8:41 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2016-10-07  8:41 UTC (permalink / raw
  To: gentoo-commits

commit:     f9dd98ec5f9aaf196319a0527d0312d18f2430a2
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Oct  6 16:27:40 2016 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Oct  7 08:41:24 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f9dd98ec

sys-libs/libcxx: Always pass compiler runtime libs

 sys-libs/libcxx/libcxx-3.9.0.ebuild | 27 +++++++++++++++++++++++++--
 sys-libs/libcxx/libcxx-9999.ebuild  | 27 +++++++++++++++++++++++++--
 2 files changed, 50 insertions(+), 4 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-3.9.0.ebuild b/sys-libs/libcxx/libcxx-3.9.0.ebuild
index a92f0f8..7f16bd2 100644
--- a/sys-libs/libcxx/libcxx-3.9.0.ebuild
+++ b/sys-libs/libcxx/libcxx-3.9.0.ebuild
@@ -102,6 +102,28 @@ multilib_src_configure() {
 		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
 	fi
 
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			# get the full library list out of 'pretend mode'
+			# and grep it for libclang_rt references
+			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
+			local i
+			for i in "${args[@]}"; do
+				if [[ ${i} == *libclang_rt* ]]; then
+					want_gcc_s=OFF
+					extra_libs+=( "${i}" )
+				fi
+			done
+		fi
+	fi
+
 	local libdir=$(get_libdir)
 	local mycmakeargs=(
 		# LLVM_LIBDIR_SUFFIX is used to find CMake files
@@ -115,10 +137,11 @@ multilib_src_configure() {
 		# we're using our own mechanism for generating linker scripts
 		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
 		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-		-DLIBCXX_HAS_GCC_S_LIB=$(usex !libunwind)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
 		-DLIBCXX_INCLUDE_TESTS=$(usex test)
-		-DCMAKE_SHARED_LINKER_FLAGS=$(usex libunwind "-lunwind" "")
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
 	)
+
 	if use test; then
 		mycmakeargs+=(
 			# this can be any directory, it just needs to exist...

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index bbc218b..3beacf0 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -98,6 +98,28 @@ multilib_src_configure() {
 		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
 	fi
 
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			# get the full library list out of 'pretend mode'
+			# and grep it for libclang_rt references
+			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
+			local i
+			for i in "${args[@]}"; do
+				if [[ ${i} == *libclang_rt* ]]; then
+					want_gcc_s=OFF
+					extra_libs+=( "${i}" )
+				fi
+			done
+		fi
+	fi
+
 	local libdir=$(get_libdir)
 	local mycmakeargs=(
 		# LLVM_LIBDIR_SUFFIX is used to find CMake files
@@ -111,10 +133,11 @@ multilib_src_configure() {
 		# we're using our own mechanism for generating linker scripts
 		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
 		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-		-DLIBCXX_HAS_GCC_S_LIB=$(usex !libunwind)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
 		-DLIBCXX_INCLUDE_TESTS=$(usex test)
-		-DCMAKE_SHARED_LINKER_FLAGS=$(usex libunwind "-lunwind" "")
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
 	)
+
 	if use test; then
 		mycmakeargs+=(
 			# this can be any directory, it just needs to exist...


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2016-10-07  8:41 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2016-10-07  8:41 UTC (permalink / raw
  To: gentoo-commits

commit:     5d5f3ac1f6d24c6893be04c9f1637a408b62c713
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Oct  6 15:19:42 2016 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Oct  7 08:41:21 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5d5f3ac1

sys-libs/libcxx: Fix ldscripts to include gcc EH lib for USE=-unwind

 sys-libs/libcxx/libcxx-3.9.0.ebuild | 7 ++-----
 sys-libs/libcxx/libcxx-9999.ebuild  | 7 ++-----
 2 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-3.9.0.ebuild b/sys-libs/libcxx/libcxx-3.9.0.ebuild
index 656a979..a92f0f8 100644
--- a/sys-libs/libcxx/libcxx-3.9.0.ebuild
+++ b/sys-libs/libcxx/libcxx-3.9.0.ebuild
@@ -161,12 +161,10 @@ gen_static_ldscript() {
 	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
 	# Generate libc++.a ldscript for inclusion of its dependencies so that
 	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib}"
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
 	# On Linux/glibc it does not link without libpthread or libdl. It is
 	# fine on FreeBSD.
 	use elibc_glibc && deps+=" libpthread.a libdl.a"
-	# unlike libgcc_s, libunwind is not implicitly linked
-	use libunwind && deps+=" libunwind.a"
 
 	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
 }
@@ -177,8 +175,7 @@ gen_shared_ldscript() {
 	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
 
 	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib}"
-	use libunwind && deps+=" libunwind.so"
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
 
 	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
 }

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index a5e7c7f..bbc218b 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -158,12 +158,10 @@ gen_static_ldscript() {
 	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
 	# Generate libc++.a ldscript for inclusion of its dependencies so that
 	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib}"
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
 	# On Linux/glibc it does not link without libpthread or libdl. It is
 	# fine on FreeBSD.
 	use elibc_glibc && deps+=" libpthread.a libdl.a"
-	# unlike libgcc_s, libunwind is not implicitly linked
-	use libunwind && deps+=" libunwind.a"
 
 	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
 }
@@ -174,8 +172,7 @@ gen_shared_ldscript() {
 	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
 
 	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib}"
-	use libunwind && deps+=" libunwind.so"
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
 
 	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
 }


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2016-11-12 10:50 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2016-11-12 10:50 UTC (permalink / raw
  To: gentoo-commits

commit:     57ce4a9665487077655302098d4a6e49d46a2bf4
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 12 09:24:17 2016 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Nov 12 10:50:46 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=57ce4a96

sys-libs/libcxx: Drop a few old versions

 sys-libs/libcxx/Manifest            |   2 -
 sys-libs/libcxx/libcxx-3.7.0.ebuild | 170 ------------------------------------
 sys-libs/libcxx/libcxx-3.8.0.ebuild | 170 ------------------------------------
 3 files changed, 342 deletions(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index fd7976e..0e09dde 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,5 +1,3 @@
-DIST libcxx-3.7.0.src.tar.xz 994580 SHA256 c18f3c8333cd7e678c1424a57fe5e25efe740ca7caf62ac67152b4723f3ad08e SHA512 e71d04efa0fafab129a97ca6f4fd7b5f185258de7455c7a25d0964f459bc6068c69c5d67199f6d7cd3541bdce630106cbaf3b7099e4737dddbdd57c77a3fe054 WHIRLPOOL 26672e3f6e0772504e7ee174c37e5fc20079c730ac8bd0d2563d5415ca9589360aa3be42a8aac15eb5a63c69227bd4911aa822b158b9a35e3d74ec0d71bb1300
 DIST libcxx-3.7.1.src.tar.xz 995724 SHA256 357fbd4288ce99733ba06ae2bec6f503413d258aeebaab8b6a791201e6f7f144 SHA512 08d2399a8b36aa15290733256c896c9fa43f1a1223bc5c73bbcd014fddf8880e514d2a6dcc456bcf18b537c01fb6911b092e6d9958bccd8e64e9f375ed7a1ab9 WHIRLPOOL 19f77946abf48cbdd3e7ea21fd009ca3cc5f607dfe0512a44b102847044bb1d5ae4b16f503f18b14ebd9ea115256e87af07409907ba2a65f6061e217a502a359
-DIST libcxx-3.8.0.src.tar.xz 1062884 SHA256 36804511b940bc8a7cefc7cb391a6b28f5e3f53f6372965642020db91174237b SHA512 3a9f0c9b4b0c22757028800b28c5fd7b28fc79d0cbf33cad2087de493dc778c93f2df4b919f162638d883069f60a633f36ddc18d7da8ae00c6af409266a05e6b WHIRLPOOL 6f1328c8b220f91d15f6644e34dd74e3d204ee0ee56769df4442d14b884e31626a289e6ab5e7d075438c7527b2efde92763b362791914bcd18c269405c9c7c8e
 DIST libcxx-3.8.1.src.tar.xz 1074164 SHA256 77d7f3784c88096d785bd705fa1bab7031ce184cd91ba8a7008abf55264eeecc SHA512 782ff3cdb85d02e92404e943474d0266ff601725c202f0667d60e7807f1ba3cfdebbdb062e27a52fec96be1c99339044be93a88ba7e396682f98d99c9ac175b2 WHIRLPOOL a729c44060972edee79b0019fd4c6c23fa56dd625e564f4c5965682d9fc79be4094df0643f67c5d2ffa3ae3c743c892c3c9ba19719b2307aada35775f64ed104
 DIST libcxx-3.9.0.src.tar.xz 1198308 SHA256 d0b38d51365c6322f5666a2a8105785f2e114430858de4c25a86b49f227f5b06 SHA512 55d5c4adff378ee02b0b99d732bc9f326910f9e49ab8c320a588eccdd0362fe009bc9a6a4337d29faf6338420c91b10d0d7d67f66128268f01258d30502c4f4a WHIRLPOOL 3ee3519acfe95287a862a6c44e30ed52ced1204332913007797da4e4da40dfdc5991ae120f5686827cc208b559936da5bc5485dab75617bdd5cbbd9e95a6032a

diff --git a/sys-libs/libcxx/libcxx-3.7.0.ebuild b/sys-libs/libcxx/libcxx-3.7.0.ebuild
deleted file mode 100644
index 92689d8..00000000
--- a/sys-libs/libcxx/libcxx-3.7.0.ebuild
+++ /dev/null
@@ -1,170 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-ESVN_REPO_URI="http://llvm.org/svn/llvm-project/libcxx/trunk"
-
-[ "${PV%9999}" != "${PV}" ] && SCM="subversion" || SCM=""
-
-inherit ${SCM} flag-o-matic toolchain-funcs multilib multilib-minimal
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="http://libcxx.llvm.org/"
-if [ "${PV%9999}" = "${PV}" ] ; then
-	SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
-	S="${WORKDIR}/${P}.src"
-else
-	SRC_URI=""
-fi
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-if [ "${PV%9999}" = "${PV}" ] ; then
-	KEYWORDS="~amd64 ~mips ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
-else
-	KEYWORDS=""
-fi
-IUSE="elibc_glibc +libcxxrt +static-libs test"
-
-RDEPEND="libcxxrt? ( >=sys-libs/libcxxrt-0.0_p20130725[static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] )"
-DEPEND="${RDEPEND}
-	test? ( sys-devel/clang )
-	app-arch/xz-utils"
-
-DOCS=( CREDITS.TXT )
-
-pkg_setup() {
-	if ! use libcxxrt ; then
-		ewarn "You have disabled USE=libcxxrt. This will build ${PN} against"
-		ewarn "libsupc++. Please note that this is not well supported."
-		ewarn "In particular, static linking will not work."
-	fi
-	if [[ $(gcc-version) < 4.7 ]] && [[ $(tc-getCXX) != *clang++* ]] ; then
-		eerror "${PN} needs to be built with clang++ or gcc-4.7 or later."
-		eerror "Please use gcc-config to switch to gcc-4.7 or later version."
-		die
-	fi
-}
-
-src_prepare() {
-	cp -f "${FILESDIR}/Makefile" lib/ || die
-	multilib_copy_sources
-}
-
-src_configure() {
-	export LIBS="-lpthread -lrt -lc -lgcc_s"
-	if use libcxxrt ; then
-		append-cppflags -DLIBCXXRT "-I${EPREFIX}/usr/include/libcxxrt/"
-		LIBS="-lcxxrt ${LIBS}"
-		cp "${EPREFIX}/usr/include/libcxxrt/"*.h "${S}/include"
-	else
-		# Very hackish, see $HOMEPAGE
-		# If someone has a clever idea, please share it!
-		local includes="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | sed -e 's/^ /-I/' | tr '\n' ' ')"
-		local libcxx_gcc_dirs="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | tr '\n' ' ')"
-		append-cppflags -D__GLIBCXX__ ${includes}
-		LIBS="-lsupc++ ${LIBS}"
-		local libsupcxx_includes="cxxabi.h bits/c++config.h bits/os_defines.h bits/cpu_defines.h bits/cxxabi_tweaks.h bits/cxxabi_forced.h"
-		for i in ${libsupcxx_includes} ; do
-			local found=""
-			[ -d "${S}/include/$(dirname ${i})/" ] || mkdir -p "${S}/include/$(dirname ${i})"
-			for j in ${libcxx_gcc_dirs} ; do
-				if [ -f "${j}/${i}" ] ; then
-					cp "${j}/${i}" "${S}/include/$(dirname ${i})/" || die
-					found=yes
-				fi
-			done
-			[ -n "${found}" ] || die "Header not found: ${i}"
-		done
-	fi
-
-	tc-export AR CC CXX
-
-	append-ldflags "-Wl,-z,defs" # make sure we are not underlinked
-}
-
-multilib_src_compile() {
-	cd "${BUILD_DIR}/lib" || die
-	emake shared
-	use static-libs && emake static
-}
-
-# Tests fail for now, if anybody is able to fix them, help is very welcome.
-multilib_src_test() {
-	cd "${BUILD_DIR}/test"
-	LD_LIBRARY_PATH="${BUILD_DIR}/lib:${LD_LIBRARY_PATH}" \
-		CC="clang++ $(get_abi_CFLAGS) ${CXXFLAGS}" \
-		HEADER_INCLUDE="-I${BUILD_DIR}/include" \
-		SOURCE_LIB="-L${BUILD_DIR}/lib" \
-		LIBS="-lm $(usex libcxxrt -lcxxrt "")" \
-		./testit || die
-	# TODO: fix link against libsupc++
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	if use libcxxrt ; then
-		# Move it first.
-		mv "${ED}/usr/$(get_libdir)/libc++.a" "${ED}/usr/$(get_libdir)/libc++_static.a" || die
-
-		# Generate libc++.a ldscript for inclusion of its dependencies so that
-		# clang++ -stdlib=libc++ -static works out of the box.
-		local deps="${EPREFIX}/usr/$(get_libdir)/libc++_static.a ${EPREFIX}/usr/$(get_libdir)/libcxxrt.a"
-		# On Linux/glibc it does not link without libpthread or libdl. It is
-		# fine on FreeBSD.
-		use elibc_glibc && deps="${deps} ${EPREFIX}/usr/$(get_libdir)/libpthread.a ${EPREFIX}/usr/$(get_libdir)/libdl.a"
-
-		gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.a"
-	fi
-	# TODO: Generate a libc++.a ldscript when building against libsupc++
-}
-
-gen_shared_ldscript() {
-	if use libcxxrt ; then
-		mv "${ED}/usr/$(get_libdir)/libc++.so" "${ED}/usr/$(get_libdir)/libc++_shared.so" || die
-		local deps="${EPREFIX}/usr/$(get_libdir)/libc++_shared.so ${EPREFIX}/usr/$(get_libdir)/libcxxrt.so"
-		gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.so"
-	fi
-	# TODO: Generate the linker script for other confiurations too.
-}
-
-multilib_src_install() {
-	cd "${BUILD_DIR}/lib"
-	if use static-libs ; then
-		dolib.a libc++.a
-		gen_static_ldscript
-	fi
-	dolib.so libc++.so*
-	gen_shared_ldscript
-}
-
-multilib_src_install_all() {
-	einstalldocs
-	insinto /usr/include/c++/v1
-	doins -r include/*
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}

diff --git a/sys-libs/libcxx/libcxx-3.8.0.ebuild b/sys-libs/libcxx/libcxx-3.8.0.ebuild
deleted file mode 100644
index 92689d8..00000000
--- a/sys-libs/libcxx/libcxx-3.8.0.ebuild
+++ /dev/null
@@ -1,170 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-ESVN_REPO_URI="http://llvm.org/svn/llvm-project/libcxx/trunk"
-
-[ "${PV%9999}" != "${PV}" ] && SCM="subversion" || SCM=""
-
-inherit ${SCM} flag-o-matic toolchain-funcs multilib multilib-minimal
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="http://libcxx.llvm.org/"
-if [ "${PV%9999}" = "${PV}" ] ; then
-	SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
-	S="${WORKDIR}/${P}.src"
-else
-	SRC_URI=""
-fi
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-if [ "${PV%9999}" = "${PV}" ] ; then
-	KEYWORDS="~amd64 ~mips ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
-else
-	KEYWORDS=""
-fi
-IUSE="elibc_glibc +libcxxrt +static-libs test"
-
-RDEPEND="libcxxrt? ( >=sys-libs/libcxxrt-0.0_p20130725[static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] )"
-DEPEND="${RDEPEND}
-	test? ( sys-devel/clang )
-	app-arch/xz-utils"
-
-DOCS=( CREDITS.TXT )
-
-pkg_setup() {
-	if ! use libcxxrt ; then
-		ewarn "You have disabled USE=libcxxrt. This will build ${PN} against"
-		ewarn "libsupc++. Please note that this is not well supported."
-		ewarn "In particular, static linking will not work."
-	fi
-	if [[ $(gcc-version) < 4.7 ]] && [[ $(tc-getCXX) != *clang++* ]] ; then
-		eerror "${PN} needs to be built with clang++ or gcc-4.7 or later."
-		eerror "Please use gcc-config to switch to gcc-4.7 or later version."
-		die
-	fi
-}
-
-src_prepare() {
-	cp -f "${FILESDIR}/Makefile" lib/ || die
-	multilib_copy_sources
-}
-
-src_configure() {
-	export LIBS="-lpthread -lrt -lc -lgcc_s"
-	if use libcxxrt ; then
-		append-cppflags -DLIBCXXRT "-I${EPREFIX}/usr/include/libcxxrt/"
-		LIBS="-lcxxrt ${LIBS}"
-		cp "${EPREFIX}/usr/include/libcxxrt/"*.h "${S}/include"
-	else
-		# Very hackish, see $HOMEPAGE
-		# If someone has a clever idea, please share it!
-		local includes="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | sed -e 's/^ /-I/' | tr '\n' ' ')"
-		local libcxx_gcc_dirs="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | tr '\n' ' ')"
-		append-cppflags -D__GLIBCXX__ ${includes}
-		LIBS="-lsupc++ ${LIBS}"
-		local libsupcxx_includes="cxxabi.h bits/c++config.h bits/os_defines.h bits/cpu_defines.h bits/cxxabi_tweaks.h bits/cxxabi_forced.h"
-		for i in ${libsupcxx_includes} ; do
-			local found=""
-			[ -d "${S}/include/$(dirname ${i})/" ] || mkdir -p "${S}/include/$(dirname ${i})"
-			for j in ${libcxx_gcc_dirs} ; do
-				if [ -f "${j}/${i}" ] ; then
-					cp "${j}/${i}" "${S}/include/$(dirname ${i})/" || die
-					found=yes
-				fi
-			done
-			[ -n "${found}" ] || die "Header not found: ${i}"
-		done
-	fi
-
-	tc-export AR CC CXX
-
-	append-ldflags "-Wl,-z,defs" # make sure we are not underlinked
-}
-
-multilib_src_compile() {
-	cd "${BUILD_DIR}/lib" || die
-	emake shared
-	use static-libs && emake static
-}
-
-# Tests fail for now, if anybody is able to fix them, help is very welcome.
-multilib_src_test() {
-	cd "${BUILD_DIR}/test"
-	LD_LIBRARY_PATH="${BUILD_DIR}/lib:${LD_LIBRARY_PATH}" \
-		CC="clang++ $(get_abi_CFLAGS) ${CXXFLAGS}" \
-		HEADER_INCLUDE="-I${BUILD_DIR}/include" \
-		SOURCE_LIB="-L${BUILD_DIR}/lib" \
-		LIBS="-lm $(usex libcxxrt -lcxxrt "")" \
-		./testit || die
-	# TODO: fix link against libsupc++
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	if use libcxxrt ; then
-		# Move it first.
-		mv "${ED}/usr/$(get_libdir)/libc++.a" "${ED}/usr/$(get_libdir)/libc++_static.a" || die
-
-		# Generate libc++.a ldscript for inclusion of its dependencies so that
-		# clang++ -stdlib=libc++ -static works out of the box.
-		local deps="${EPREFIX}/usr/$(get_libdir)/libc++_static.a ${EPREFIX}/usr/$(get_libdir)/libcxxrt.a"
-		# On Linux/glibc it does not link without libpthread or libdl. It is
-		# fine on FreeBSD.
-		use elibc_glibc && deps="${deps} ${EPREFIX}/usr/$(get_libdir)/libpthread.a ${EPREFIX}/usr/$(get_libdir)/libdl.a"
-
-		gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.a"
-	fi
-	# TODO: Generate a libc++.a ldscript when building against libsupc++
-}
-
-gen_shared_ldscript() {
-	if use libcxxrt ; then
-		mv "${ED}/usr/$(get_libdir)/libc++.so" "${ED}/usr/$(get_libdir)/libc++_shared.so" || die
-		local deps="${EPREFIX}/usr/$(get_libdir)/libc++_shared.so ${EPREFIX}/usr/$(get_libdir)/libcxxrt.so"
-		gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.so"
-	fi
-	# TODO: Generate the linker script for other confiurations too.
-}
-
-multilib_src_install() {
-	cd "${BUILD_DIR}/lib"
-	if use static-libs ; then
-		dolib.a libc++.a
-		gen_static_ldscript
-	fi
-	dolib.so libc++.so*
-	gen_shared_ldscript
-}
-
-multilib_src_install_all() {
-	einstalldocs
-	insinto /usr/include/c++/v1
-	doins -r include/*
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2016-12-21 21:01 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2016-12-21 21:01 UTC (permalink / raw
  To: gentoo-commits

commit:     dbcb04b9833e6a2f6baa328d0fac574ba5524060
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 21 16:11:42 2016 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Dec 21 21:01:10 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dbcb04b9

sys-libs/libcxx: Bump to 3.9.1

 sys-libs/libcxx/Manifest            |   1 +
 sys-libs/libcxx/libcxx-3.9.1.ebuild | 218 ++++++++++++++++++++++++++++++++++++
 2 files changed, 219 insertions(+)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 0e09dde..53e06fe 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,3 +1,4 @@
 DIST libcxx-3.7.1.src.tar.xz 995724 SHA256 357fbd4288ce99733ba06ae2bec6f503413d258aeebaab8b6a791201e6f7f144 SHA512 08d2399a8b36aa15290733256c896c9fa43f1a1223bc5c73bbcd014fddf8880e514d2a6dcc456bcf18b537c01fb6911b092e6d9958bccd8e64e9f375ed7a1ab9 WHIRLPOOL 19f77946abf48cbdd3e7ea21fd009ca3cc5f607dfe0512a44b102847044bb1d5ae4b16f503f18b14ebd9ea115256e87af07409907ba2a65f6061e217a502a359
 DIST libcxx-3.8.1.src.tar.xz 1074164 SHA256 77d7f3784c88096d785bd705fa1bab7031ce184cd91ba8a7008abf55264eeecc SHA512 782ff3cdb85d02e92404e943474d0266ff601725c202f0667d60e7807f1ba3cfdebbdb062e27a52fec96be1c99339044be93a88ba7e396682f98d99c9ac175b2 WHIRLPOOL a729c44060972edee79b0019fd4c6c23fa56dd625e564f4c5965682d9fc79be4094df0643f67c5d2ffa3ae3c743c892c3c9ba19719b2307aada35775f64ed104
 DIST libcxx-3.9.0.src.tar.xz 1198308 SHA256 d0b38d51365c6322f5666a2a8105785f2e114430858de4c25a86b49f227f5b06 SHA512 55d5c4adff378ee02b0b99d732bc9f326910f9e49ab8c320a588eccdd0362fe009bc9a6a4337d29faf6338420c91b10d0d7d67f66128268f01258d30502c4f4a WHIRLPOOL 3ee3519acfe95287a862a6c44e30ed52ced1204332913007797da4e4da40dfdc5991ae120f5686827cc208b559936da5bc5485dab75617bdd5cbbd9e95a6032a
+DIST libcxx-3.9.1.src.tar.xz 1209020 SHA256 25e615e428f60e651ed09ffd79e563864e3f4bc69a9e93ee41505c419d1a7461 SHA512 a5976e4096624a7307b3e43f4a22ac2dc74572226e0f57af9f3ef537a14c3cff1601b7042aef9dc40a0ee53ca76b08d72eb9c253dcf34f115d3153c302db7070 WHIRLPOOL cad439979570192b195338d752a24fb0ad8704c0c8efed3b6d7724437763eab7bc3b8baaf2f0e6fff55c6d9be211dff6f7baf18dec55e3a29ad3b8a423cefb1e

diff --git a/sys-libs/libcxx/libcxx-3.9.1.ebuild b/sys-libs/libcxx/libcxx-3.9.1.ebuild
new file mode 100644
index 00000000..7f16bd2
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-3.9.1.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+EGIT_REPO_URI="http://llvm.org/git/libcxx.git
+	https://github.com/llvm-mirror/libcxx.git"
+CMAKE_MIN_VERSION=3.4.3
+PYTHON_COMPAT=( python2_7 )
+
+[[ ${PV} == 9999 ]] && SCM="git-r3" || SCM=""
+
+inherit ${SCM} cmake-multilib python-any-r1 toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="http://libcxx.llvm.org/"
+if [[ ${PV} != 9999 ]] ; then
+	SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
+	S="${WORKDIR}/${P}.src"
+else
+	SRC_URI=""
+fi
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+if [[ ${PV} != 9999 ]] ; then
+	KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+else
+	KEYWORDS=""
+fi
+IUSE="elibc_glibc elibc_musl libcxxabi +libcxxrt libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# llvm-3.9.0 needed because its cmake files installation path changed, which is
+# needed by libcxx
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+	app-arch/xz-utils
+	>=sys-devel/llvm-3.9.0"
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+
+	# Back-port of https://reviews.llvm.org/D23232, allowing building both
+	# shared and static libs in one run.
+	"${FILESDIR}/${PN}-3.9-cmake-static-lib.patch"
+)
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+src_configure() {
+	NATIVE_LIBDIR=$(get_libdir)
+	cmake-multilib_src_configure
+}
+
+multilib_src_configure() {
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			# get the full library list out of 'pretend mode'
+			# and grep it for libclang_rt references
+			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
+			local i
+			for i in "${args[@]}"; do
+				if [[ ${i} == *libclang_rt* ]]; then
+					want_gcc_s=OFF
+					extra_libs+=( "${i}" )
+				fi
+			done
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		# LLVM_LIBDIR_SUFFIX is used to find CMake files
+		# and we are happy to use the native set
+		-DLLVM_LIBDIR_SUFFIX=${NATIVE_LIBDIR#lib}
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		mycmakeargs+=(
+			# this can be any directory, it just needs to exist...
+			-DLLVM_MAIN_SRC_DIR="${T}"
+			-DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+
+	[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+	sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
+
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-01-01 16:32 Johannes Huber
  0 siblings, 0 replies; 605+ messages in thread
From: Johannes Huber @ 2017-01-01 16:32 UTC (permalink / raw
  To: gentoo-commits

commit:     99f561db09983fc6996cce55ad4bb61f27d6a5ad
Author:     Johannes Huber <johu <AT> gentoo <DOT> org>
AuthorDate: Sun Jan  1 16:28:51 2017 +0000
Commit:     Johannes Huber <johu <AT> gentoo <DOT> org>
CommitDate: Sun Jan  1 16:32:15 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=99f561db

sys-libs/libcxx: Drop CMAKE_MIN_VERSION

Covered by cmake-utils eclass now.

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 sys-libs/libcxx/libcxx-3.9.0.ebuild | 3 +--
 sys-libs/libcxx/libcxx-3.9.1.ebuild | 3 +--
 sys-libs/libcxx/libcxx-9999.ebuild  | 3 +--
 3 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-3.9.0.ebuild b/sys-libs/libcxx/libcxx-3.9.0.ebuild
index 7f16bd2..57f3312 100644
--- a/sys-libs/libcxx/libcxx-3.9.0.ebuild
+++ b/sys-libs/libcxx/libcxx-3.9.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -9,7 +9,6 @@ EAPI=6
 : ${CMAKE_MAKEFILE_GENERATOR:=ninja}
 EGIT_REPO_URI="http://llvm.org/git/libcxx.git
 	https://github.com/llvm-mirror/libcxx.git"
-CMAKE_MIN_VERSION=3.4.3
 PYTHON_COMPAT=( python2_7 )
 
 [[ ${PV} == 9999 ]] && SCM="git-r3" || SCM=""

diff --git a/sys-libs/libcxx/libcxx-3.9.1.ebuild b/sys-libs/libcxx/libcxx-3.9.1.ebuild
index 7f16bd2..57f3312 100644
--- a/sys-libs/libcxx/libcxx-3.9.1.ebuild
+++ b/sys-libs/libcxx/libcxx-3.9.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -9,7 +9,6 @@ EAPI=6
 : ${CMAKE_MAKEFILE_GENERATOR:=ninja}
 EGIT_REPO_URI="http://llvm.org/git/libcxx.git
 	https://github.com/llvm-mirror/libcxx.git"
-CMAKE_MIN_VERSION=3.4.3
 PYTHON_COMPAT=( python2_7 )
 
 [[ ${PV} == 9999 ]] && SCM="git-r3" || SCM=""

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index 3beacf0..4470d66 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -9,7 +9,6 @@ EAPI=6
 : ${CMAKE_MAKEFILE_GENERATOR:=ninja}
 EGIT_REPO_URI="http://llvm.org/git/libcxx.git
 	https://github.com/llvm-mirror/libcxx.git"
-CMAKE_MIN_VERSION=3.4.3
 PYTHON_COMPAT=( python2_7 )
 
 [[ ${PV} == 9999 ]] && SCM="git-r3" || SCM=""


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-01-12 15:25 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-01-12 15:25 UTC (permalink / raw
  To: gentoo-commits

commit:     6bdc25f1471b7b49c739b70176289a91be9dbf1f
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 12 10:56:13 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jan 12 15:25:32 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6bdc25f1

sys-libs/libcxx: Switch to CMAKE_BUILD_TYPE=RelWithDebInfo

 sys-libs/libcxx/libcxx-9999.ebuild | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index 4470d66..a5f89ac 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -7,6 +7,8 @@ EAPI=6
 # Ninja provides better scalability and cleaner verbose output, and is used
 # throughout all LLVM projects.
 : ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
 EGIT_REPO_URI="http://llvm.org/git/libcxx.git
 	https://github.com/llvm-mirror/libcxx.git"
 PYTHON_COMPAT=( python2_7 )
@@ -57,6 +59,9 @@ PATCHES=(
 	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
 )
 
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
 python_check_deps() {
 	has_version "dev-python/lit[${PYTHON_USEDEP}]"
 }


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-01-15 14:31 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-01-15 14:31 UTC (permalink / raw
  To: gentoo-commits

commit:     7384151ea7963b2314524e6f92a122fcf7bf27f4
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 15 14:14:04 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jan 15 14:31:01 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7384151e

sys-libs/libcxx: Remove unnecessary LLVM_LIBDIR_SUFFIX

 sys-libs/libcxx/libcxx-9999.ebuild | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index a5f89ac..c9030c1 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -41,15 +41,14 @@ RDEPEND="
 	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
 	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
 	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# llvm-3.9.0 needed because its cmake files installation path changed, which is
-# needed by libcxx
+# LLVM 4 required for llvm-config --cmakedir
 # clang-3.9.0 installs necessary target symlinks unconditionally
 # which removes the need for MULTILIB_USEDEP
 DEPEND="${RDEPEND}
 	test? ( >=sys-devel/clang-3.9.0
 		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
 	app-arch/xz-utils
-	>=sys-devel/llvm-3.9.0"
+	>=sys-devel/llvm-4"
 
 DOCS=( CREDITS.TXT )
 
@@ -83,11 +82,6 @@ pkg_setup() {
 	fi
 }
 
-src_configure() {
-	NATIVE_LIBDIR=$(get_libdir)
-	cmake-multilib_src_configure
-}
-
 multilib_src_configure() {
 	local cxxabi cxxabi_incs
 	if use libcxxabi; then
@@ -126,9 +120,6 @@ multilib_src_configure() {
 
 	local libdir=$(get_libdir)
 	local mycmakeargs=(
-		# LLVM_LIBDIR_SUFFIX is used to find CMake files
-		# and we are happy to use the native set
-		-DLLVM_LIBDIR_SUFFIX=${NATIVE_LIBDIR#lib}
 		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
 		-DLIBCXX_ENABLE_SHARED=ON
 		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-01-19  9:14 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-01-19  9:14 UTC (permalink / raw
  To: gentoo-commits

commit:     ec0b4b6fa7d5190ac26eb2ec074bbd18e8080688
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 19 09:10:43 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jan 19 09:14:09 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec0b4b6f

sys-libs/libcxx: Bump to 4.0.0rc1

 sys-libs/libcxx/libcxx-4.0.0_rc1.ebuild | 201 ++++++++++++++++++++++++++++++++
 1 file changed, 201 insertions(+)

diff --git a/sys-libs/libcxx/libcxx-4.0.0_rc1.ebuild b/sys-libs/libcxx/libcxx-4.0.0_rc1.ebuild
new file mode 100644
index 00000000..3fdd186
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-4.0.0_rc1.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit git-r3 cmake-multilib python-any-r1 toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="http://libcxx.llvm.org/"
+SRC_URI=""
+EGIT_REPO_URI="http://llvm.org/git/libcxx.git
+	https://github.com/llvm-mirror/libcxx.git"
+EGIT_BRANCH="release_40"
+EGIT_COMMIT="39c36254e55627b5f94d37a453bf97fcd907cd38"
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS=""
+IUSE="elibc_glibc elibc_musl libcxxabi +libcxxrt libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# LLVM 4 required for llvm-config --cmakedir
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+	app-arch/xz-utils
+	>=sys-devel/llvm-4"
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+multilib_src_configure() {
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			# get the full library list out of 'pretend mode'
+			# and grep it for libclang_rt references
+			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
+			local i
+			for i in "${args[@]}"; do
+				if [[ ${i} == *libclang_rt* ]]; then
+					want_gcc_s=OFF
+					extra_libs+=( "${i}" )
+				fi
+			done
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		mycmakeargs+=(
+			# this can be any directory, it just needs to exist...
+			# FIXME: remove this once https://reviews.llvm.org/D25093 is merged
+			-DLLVM_MAIN_SRC_DIR="${T}"
+			-DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+
+	[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+	sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
+
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-01-24 19:08 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-01-24 19:08 UTC (permalink / raw
  To: gentoo-commits

commit:     d080513fdce8f842ec57e1c87d3a51dbe4c849c0
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 24 18:39:55 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jan 24 19:07:57 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d080513f

sys-libs/libcxx: Switch 4.0.0rc1 to tarballs, add keywords

 sys-libs/libcxx/Manifest                |  1 +
 sys-libs/libcxx/libcxx-4.0.0_rc1.ebuild | 12 +++++-------
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 53e06fe..56edb92 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -2,3 +2,4 @@ DIST libcxx-3.7.1.src.tar.xz 995724 SHA256 357fbd4288ce99733ba06ae2bec6f503413d2
 DIST libcxx-3.8.1.src.tar.xz 1074164 SHA256 77d7f3784c88096d785bd705fa1bab7031ce184cd91ba8a7008abf55264eeecc SHA512 782ff3cdb85d02e92404e943474d0266ff601725c202f0667d60e7807f1ba3cfdebbdb062e27a52fec96be1c99339044be93a88ba7e396682f98d99c9ac175b2 WHIRLPOOL a729c44060972edee79b0019fd4c6c23fa56dd625e564f4c5965682d9fc79be4094df0643f67c5d2ffa3ae3c743c892c3c9ba19719b2307aada35775f64ed104
 DIST libcxx-3.9.0.src.tar.xz 1198308 SHA256 d0b38d51365c6322f5666a2a8105785f2e114430858de4c25a86b49f227f5b06 SHA512 55d5c4adff378ee02b0b99d732bc9f326910f9e49ab8c320a588eccdd0362fe009bc9a6a4337d29faf6338420c91b10d0d7d67f66128268f01258d30502c4f4a WHIRLPOOL 3ee3519acfe95287a862a6c44e30ed52ced1204332913007797da4e4da40dfdc5991ae120f5686827cc208b559936da5bc5485dab75617bdd5cbbd9e95a6032a
 DIST libcxx-3.9.1.src.tar.xz 1209020 SHA256 25e615e428f60e651ed09ffd79e563864e3f4bc69a9e93ee41505c419d1a7461 SHA512 a5976e4096624a7307b3e43f4a22ac2dc74572226e0f57af9f3ef537a14c3cff1601b7042aef9dc40a0ee53ca76b08d72eb9c253dcf34f115d3153c302db7070 WHIRLPOOL cad439979570192b195338d752a24fb0ad8704c0c8efed3b6d7724437763eab7bc3b8baaf2f0e6fff55c6d9be211dff6f7baf18dec55e3a29ad3b8a423cefb1e
+DIST libcxx-4.0.0rc1.src.tar.xz 1451684 SHA256 f2a579ef30e59594a297b1f96f014e8c086c950456285023210044a08e6a26af SHA512 3227ff3cc6e92ba9693aa7d1fada9c2ceb7c1fe56eea04209a48c3696a86a813cb6e39d5698671263dd56d89f9594c7d78c6d1cc816a745d956e79fbedb07d54 WHIRLPOOL e935f3e347402571c30c2c8f0c9e6b3550463df858b38bb5b586c7556985759eb66b06cef4223fd9339d01519e93054e8bbaa5f3a520d0deb8ed7aece839f002

diff --git a/sys-libs/libcxx/libcxx-4.0.0_rc1.ebuild b/sys-libs/libcxx/libcxx-4.0.0_rc1.ebuild
index 3fdd186..8691f98 100644
--- a/sys-libs/libcxx/libcxx-4.0.0_rc1.ebuild
+++ b/sys-libs/libcxx/libcxx-4.0.0_rc1.ebuild
@@ -11,19 +11,15 @@ EAPI=6
 CMAKE_MIN_VERSION=3.7.0-r1
 PYTHON_COMPAT=( python2_7 )
 
-inherit git-r3 cmake-multilib python-any-r1 toolchain-funcs
+inherit cmake-multilib python-any-r1 toolchain-funcs
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="http://libcxx.llvm.org/"
-SRC_URI=""
-EGIT_REPO_URI="http://llvm.org/git/libcxx.git
-	https://github.com/llvm-mirror/libcxx.git"
-EGIT_BRANCH="release_40"
-EGIT_COMMIT="39c36254e55627b5f94d37a453bf97fcd907cd38"
+SRC_URI="http://www.llvm.org/pre-releases/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS=""
+KEYWORDS="~amd64 ~arm64 ~x86"
 IUSE="elibc_glibc elibc_musl libcxxabi +libcxxrt libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"
@@ -41,6 +37,8 @@ DEPEND="${RDEPEND}
 	app-arch/xz-utils
 	>=sys-devel/llvm-4"
 
+S=${WORKDIR}/${P/_/}.src
+
 DOCS=( CREDITS.TXT )
 
 PATCHES=(


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-02-15 12:47 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-02-15 12:47 UTC (permalink / raw
  To: gentoo-commits

commit:     80aa7cb0a444c7bfe19e28af9178cb573d5b8679
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 14 20:48:24 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Feb 15 12:47:37 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=80aa7cb0

sys-libs/libcxx: Bump to 4.0.0.rc2

 sys-libs/libcxx/Manifest                                             | 2 +-
 sys-libs/libcxx/{libcxx-4.0.0_rc1.ebuild => libcxx-4.0.0_rc2.ebuild} | 0
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 56edb92166..2ba0cf2373 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -2,4 +2,4 @@ DIST libcxx-3.7.1.src.tar.xz 995724 SHA256 357fbd4288ce99733ba06ae2bec6f503413d2
 DIST libcxx-3.8.1.src.tar.xz 1074164 SHA256 77d7f3784c88096d785bd705fa1bab7031ce184cd91ba8a7008abf55264eeecc SHA512 782ff3cdb85d02e92404e943474d0266ff601725c202f0667d60e7807f1ba3cfdebbdb062e27a52fec96be1c99339044be93a88ba7e396682f98d99c9ac175b2 WHIRLPOOL a729c44060972edee79b0019fd4c6c23fa56dd625e564f4c5965682d9fc79be4094df0643f67c5d2ffa3ae3c743c892c3c9ba19719b2307aada35775f64ed104
 DIST libcxx-3.9.0.src.tar.xz 1198308 SHA256 d0b38d51365c6322f5666a2a8105785f2e114430858de4c25a86b49f227f5b06 SHA512 55d5c4adff378ee02b0b99d732bc9f326910f9e49ab8c320a588eccdd0362fe009bc9a6a4337d29faf6338420c91b10d0d7d67f66128268f01258d30502c4f4a WHIRLPOOL 3ee3519acfe95287a862a6c44e30ed52ced1204332913007797da4e4da40dfdc5991ae120f5686827cc208b559936da5bc5485dab75617bdd5cbbd9e95a6032a
 DIST libcxx-3.9.1.src.tar.xz 1209020 SHA256 25e615e428f60e651ed09ffd79e563864e3f4bc69a9e93ee41505c419d1a7461 SHA512 a5976e4096624a7307b3e43f4a22ac2dc74572226e0f57af9f3ef537a14c3cff1601b7042aef9dc40a0ee53ca76b08d72eb9c253dcf34f115d3153c302db7070 WHIRLPOOL cad439979570192b195338d752a24fb0ad8704c0c8efed3b6d7724437763eab7bc3b8baaf2f0e6fff55c6d9be211dff6f7baf18dec55e3a29ad3b8a423cefb1e
-DIST libcxx-4.0.0rc1.src.tar.xz 1451684 SHA256 f2a579ef30e59594a297b1f96f014e8c086c950456285023210044a08e6a26af SHA512 3227ff3cc6e92ba9693aa7d1fada9c2ceb7c1fe56eea04209a48c3696a86a813cb6e39d5698671263dd56d89f9594c7d78c6d1cc816a745d956e79fbedb07d54 WHIRLPOOL e935f3e347402571c30c2c8f0c9e6b3550463df858b38bb5b586c7556985759eb66b06cef4223fd9339d01519e93054e8bbaa5f3a520d0deb8ed7aece839f002
+DIST libcxx-4.0.0rc2.src.tar.xz 1452040 SHA256 d631c653c2b05b63683f62a9eea2b1284ce9ac49256f6a1744b462e7dca60c8c SHA512 e9252fcdaf039cc46a80cc79f22bce5fcd86dc4a3505a8756368d25be59cd9543fb41f1891f75054afb9fc1812483cf7ca45f45cf75df24b1b9f874db28c3988 WHIRLPOOL 9b194511f7a86c65125197a050b57b2a70c6a94cc10cc25ed1c23fcfa1b2a788bf7cfe17d0c5805c9604cb8a2618b0b49b5d4d2482c83d43dfbdc8f29951e8b7

diff --git a/sys-libs/libcxx/libcxx-4.0.0_rc1.ebuild b/sys-libs/libcxx/libcxx-4.0.0_rc2.ebuild
similarity index 100%
rename from sys-libs/libcxx/libcxx-4.0.0_rc1.ebuild
rename to sys-libs/libcxx/libcxx-4.0.0_rc2.ebuild


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-02-25  7:54 Markus Meier
  0 siblings, 0 replies; 605+ messages in thread
From: Markus Meier @ 2017-02-25  7:54 UTC (permalink / raw
  To: gentoo-commits

commit:     90c903703091d76b0a00178c83b90d7b26032185
Author:     Markus Meier <maekke <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 25 07:51:59 2017 +0000
Commit:     Markus Meier <maekke <AT> gentoo <DOT> org>
CommitDate: Sat Feb 25 07:51:59 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=90c90370

sys-libs/libcxx: add ~arm64, bug #591822

Package-Manager: Portage-2.3.3, Repoman-2.3.1
RepoMan-Options: --include-arches="arm64"

 sys-libs/libcxx/libcxx-3.9.1.ebuild | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-3.9.1.ebuild b/sys-libs/libcxx/libcxx-3.9.1.ebuild
index 57f33122de..6ed9ab4c05 100644
--- a/sys-libs/libcxx/libcxx-3.9.1.ebuild
+++ b/sys-libs/libcxx/libcxx-3.9.1.ebuild
@@ -27,9 +27,9 @@ fi
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
 if [[ ${PV} != 9999 ]] ; then
-	KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+	KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
 else
-	KEYWORDS=""
+	KEYWORDS="~arm64"
 fi
 IUSE="elibc_glibc elibc_musl libcxxabi +libcxxrt libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-03-06 22:18 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-03-06 22:18 UTC (permalink / raw
  To: gentoo-commits

commit:     4d37c8701bd803fc1b96a7c0f69709b5e70a4375
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Mar  6 19:38:45 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Mar  6 22:18:22 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d37c870

sys-libs/libcxx: Bump to 4.0.0rc3

 sys-libs/libcxx/Manifest                                             | 2 +-
 sys-libs/libcxx/{libcxx-4.0.0_rc2.ebuild => libcxx-4.0.0_rc3.ebuild} | 0
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 2ba0cf23736..8ab56dae1e1 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -2,4 +2,4 @@ DIST libcxx-3.7.1.src.tar.xz 995724 SHA256 357fbd4288ce99733ba06ae2bec6f503413d2
 DIST libcxx-3.8.1.src.tar.xz 1074164 SHA256 77d7f3784c88096d785bd705fa1bab7031ce184cd91ba8a7008abf55264eeecc SHA512 782ff3cdb85d02e92404e943474d0266ff601725c202f0667d60e7807f1ba3cfdebbdb062e27a52fec96be1c99339044be93a88ba7e396682f98d99c9ac175b2 WHIRLPOOL a729c44060972edee79b0019fd4c6c23fa56dd625e564f4c5965682d9fc79be4094df0643f67c5d2ffa3ae3c743c892c3c9ba19719b2307aada35775f64ed104
 DIST libcxx-3.9.0.src.tar.xz 1198308 SHA256 d0b38d51365c6322f5666a2a8105785f2e114430858de4c25a86b49f227f5b06 SHA512 55d5c4adff378ee02b0b99d732bc9f326910f9e49ab8c320a588eccdd0362fe009bc9a6a4337d29faf6338420c91b10d0d7d67f66128268f01258d30502c4f4a WHIRLPOOL 3ee3519acfe95287a862a6c44e30ed52ced1204332913007797da4e4da40dfdc5991ae120f5686827cc208b559936da5bc5485dab75617bdd5cbbd9e95a6032a
 DIST libcxx-3.9.1.src.tar.xz 1209020 SHA256 25e615e428f60e651ed09ffd79e563864e3f4bc69a9e93ee41505c419d1a7461 SHA512 a5976e4096624a7307b3e43f4a22ac2dc74572226e0f57af9f3ef537a14c3cff1601b7042aef9dc40a0ee53ca76b08d72eb9c253dcf34f115d3153c302db7070 WHIRLPOOL cad439979570192b195338d752a24fb0ad8704c0c8efed3b6d7724437763eab7bc3b8baaf2f0e6fff55c6d9be211dff6f7baf18dec55e3a29ad3b8a423cefb1e
-DIST libcxx-4.0.0rc2.src.tar.xz 1452040 SHA256 d631c653c2b05b63683f62a9eea2b1284ce9ac49256f6a1744b462e7dca60c8c SHA512 e9252fcdaf039cc46a80cc79f22bce5fcd86dc4a3505a8756368d25be59cd9543fb41f1891f75054afb9fc1812483cf7ca45f45cf75df24b1b9f874db28c3988 WHIRLPOOL 9b194511f7a86c65125197a050b57b2a70c6a94cc10cc25ed1c23fcfa1b2a788bf7cfe17d0c5805c9604cb8a2618b0b49b5d4d2482c83d43dfbdc8f29951e8b7
+DIST libcxx-4.0.0rc3.src.tar.xz 1452356 SHA256 836000ac3542fb5884f5aaa19a725721bc21d6af545482195e577fc62b5b8696 SHA512 c82df667b71110a7ecb8b2092481a645f02f7d0606040cc8789ef5b5f47bde4f26ed6ef78f09468abdc1e3c5f1cfde486d1499b3c617793864482cf7a9723d9a WHIRLPOOL 251ad814e4d9444092516fae8aa31124f9cfd0a410501c5a0ec41db6a35f2f4d3f35524446c46c390d041e1b58a6529d2962da3f0a898664cf1f36441c3c9734

diff --git a/sys-libs/libcxx/libcxx-4.0.0_rc2.ebuild b/sys-libs/libcxx/libcxx-4.0.0_rc3.ebuild
similarity index 100%
rename from sys-libs/libcxx/libcxx-4.0.0_rc2.ebuild
rename to sys-libs/libcxx/libcxx-4.0.0_rc3.ebuild


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-03-08 21:30 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-03-08 21:30 UTC (permalink / raw
  To: gentoo-commits

commit:     25f61afa3d356cb8fc035c06859f0fd82714b956
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 26 18:15:53 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar  8 21:30:39 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=25f61afa

sys-libs/libcxx: Enable libunwind by default

 sys-libs/libcxx/libcxx-4.0.0_rc3.ebuild | 2 +-
 sys-libs/libcxx/libcxx-9999.ebuild      | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-4.0.0_rc3.ebuild b/sys-libs/libcxx/libcxx-4.0.0_rc3.ebuild
index 005b6fa9bdd..9dc98c29ec1 100644
--- a/sys-libs/libcxx/libcxx-4.0.0_rc3.ebuild
+++ b/sys-libs/libcxx/libcxx-4.0.0_rc3.ebuild
@@ -19,7 +19,7 @@ SRC_URI="http://www.llvm.org/pre-releases/${PV/_//}/${P/_/}.src.tar.xz"
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
 KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt libunwind +static-libs test"
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"
 

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index 51878b61ee3..0f39966844b 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -32,7 +32,7 @@ if [[ ${PV} != 9999 ]] ; then
 else
 	KEYWORDS=""
 fi
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt libunwind +static-libs test"
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"
 


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-03-08 21:30 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-03-08 21:30 UTC (permalink / raw
  To: gentoo-commits

commit:     3e61b7225053175b8427bc79c44c6fd2ab1e433b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 26 18:09:03 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar  8 21:30:37 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3e61b722

sys-libs/libcxx: Switch the default to libcxxabi following upstream

 sys-libs/libcxx/libcxx-4.0.0_rc3.ebuild | 2 +-
 sys-libs/libcxx/libcxx-9999.ebuild      | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-4.0.0_rc3.ebuild b/sys-libs/libcxx/libcxx-4.0.0_rc3.ebuild
index afd7cbaf85b..005b6fa9bdd 100644
--- a/sys-libs/libcxx/libcxx-4.0.0_rc3.ebuild
+++ b/sys-libs/libcxx/libcxx-4.0.0_rc3.ebuild
@@ -19,7 +19,7 @@ SRC_URI="http://www.llvm.org/pre-releases/${PV/_//}/${P/_/}.src.tar.xz"
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
 KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="elibc_glibc elibc_musl libcxxabi +libcxxrt libunwind +static-libs test"
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"
 

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index 1618ed8ba44..51878b61ee3 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -32,7 +32,7 @@ if [[ ${PV} != 9999 ]] ; then
 else
 	KEYWORDS=""
 fi
-IUSE="elibc_glibc elibc_musl libcxxabi +libcxxrt libunwind +static-libs test"
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"
 


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-03-13 17:37 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-03-13 17:37 UTC (permalink / raw
  To: gentoo-commits

commit:     0cf54a0494597ad0ef9beffa9ede71d0d9164c79
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 13 17:14:13 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Mar 13 17:37:34 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0cf54a04

sys-libs/libcxx: Bump to 4.0.0 final

 sys-libs/libcxx/Manifest                                         | 2 +-
 sys-libs/libcxx/{libcxx-4.0.0_rc3.ebuild => libcxx-4.0.0.ebuild} | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 8ab56dae1e1..02075e1b46f 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -2,4 +2,4 @@ DIST libcxx-3.7.1.src.tar.xz 995724 SHA256 357fbd4288ce99733ba06ae2bec6f503413d2
 DIST libcxx-3.8.1.src.tar.xz 1074164 SHA256 77d7f3784c88096d785bd705fa1bab7031ce184cd91ba8a7008abf55264eeecc SHA512 782ff3cdb85d02e92404e943474d0266ff601725c202f0667d60e7807f1ba3cfdebbdb062e27a52fec96be1c99339044be93a88ba7e396682f98d99c9ac175b2 WHIRLPOOL a729c44060972edee79b0019fd4c6c23fa56dd625e564f4c5965682d9fc79be4094df0643f67c5d2ffa3ae3c743c892c3c9ba19719b2307aada35775f64ed104
 DIST libcxx-3.9.0.src.tar.xz 1198308 SHA256 d0b38d51365c6322f5666a2a8105785f2e114430858de4c25a86b49f227f5b06 SHA512 55d5c4adff378ee02b0b99d732bc9f326910f9e49ab8c320a588eccdd0362fe009bc9a6a4337d29faf6338420c91b10d0d7d67f66128268f01258d30502c4f4a WHIRLPOOL 3ee3519acfe95287a862a6c44e30ed52ced1204332913007797da4e4da40dfdc5991ae120f5686827cc208b559936da5bc5485dab75617bdd5cbbd9e95a6032a
 DIST libcxx-3.9.1.src.tar.xz 1209020 SHA256 25e615e428f60e651ed09ffd79e563864e3f4bc69a9e93ee41505c419d1a7461 SHA512 a5976e4096624a7307b3e43f4a22ac2dc74572226e0f57af9f3ef537a14c3cff1601b7042aef9dc40a0ee53ca76b08d72eb9c253dcf34f115d3153c302db7070 WHIRLPOOL cad439979570192b195338d752a24fb0ad8704c0c8efed3b6d7724437763eab7bc3b8baaf2f0e6fff55c6d9be211dff6f7baf18dec55e3a29ad3b8a423cefb1e
-DIST libcxx-4.0.0rc3.src.tar.xz 1452356 SHA256 836000ac3542fb5884f5aaa19a725721bc21d6af545482195e577fc62b5b8696 SHA512 c82df667b71110a7ecb8b2092481a645f02f7d0606040cc8789ef5b5f47bde4f26ed6ef78f09468abdc1e3c5f1cfde486d1499b3c617793864482cf7a9723d9a WHIRLPOOL 251ad814e4d9444092516fae8aa31124f9cfd0a410501c5a0ec41db6a35f2f4d3f35524446c46c390d041e1b58a6529d2962da3f0a898664cf1f36441c3c9734
+DIST libcxx-4.0.0.src.tar.xz 1450376 SHA256 4f4d33c4ad69bf9e360eebe6b29b7b19486948b1a41decf89d4adec12473cf96 SHA512 6dad794c00919955e14710def169cdcde8a1743431479e993c4a6a3c87c2fd9f5dbd6e17542e524981eed0783dce70384c356b74ef3c6d70598c6ff03454b1dd WHIRLPOOL 2c5074087e306d100c96ae5b7175e1e1792f0317c7be6231692c80423ec716732c08293fe14fe6da5cd52d8709d6ce0a240009df24e717ab0eb9093ac7679af7

diff --git a/sys-libs/libcxx/libcxx-4.0.0_rc3.ebuild b/sys-libs/libcxx/libcxx-4.0.0.ebuild
similarity index 98%
rename from sys-libs/libcxx/libcxx-4.0.0_rc3.ebuild
rename to sys-libs/libcxx/libcxx-4.0.0.ebuild
index 9dc98c29ec1..691e252ab02 100644
--- a/sys-libs/libcxx/libcxx-4.0.0_rc3.ebuild
+++ b/sys-libs/libcxx/libcxx-4.0.0.ebuild
@@ -14,7 +14,7 @@ inherit cmake-multilib python-any-r1 toolchain-funcs
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="http://libcxx.llvm.org/"
-SRC_URI="http://www.llvm.org/pre-releases/${PV/_//}/${P/_/}.src.tar.xz"
+SRC_URI="http://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-03-14 22:22 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-03-14 22:22 UTC (permalink / raw
  To: gentoo-commits

commit:     aea339cafa2867e9aaaf06c3d89ead6d97939f24
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 14 22:03:52 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Mar 14 22:22:25 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aea339ca

sys-libs/libcxx: Use llvm.eclass for reliable upgrade from :0

 sys-libs/libcxx/libcxx-4.0.0.ebuild | 3 ++-
 sys-libs/libcxx/libcxx-9999.ebuild  | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-4.0.0.ebuild b/sys-libs/libcxx/libcxx-4.0.0.ebuild
index 691e252ab02..ce256df08e8 100644
--- a/sys-libs/libcxx/libcxx-4.0.0.ebuild
+++ b/sys-libs/libcxx/libcxx-4.0.0.ebuild
@@ -10,7 +10,7 @@ EAPI=6
 CMAKE_MIN_VERSION=3.7.0-r1
 PYTHON_COMPAT=( python2_7 )
 
-inherit cmake-multilib python-any-r1 toolchain-funcs
+inherit cmake-multilib llvm python-any-r1 toolchain-funcs
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="http://libcxx.llvm.org/"
@@ -54,6 +54,7 @@ python_check_deps() {
 }
 
 pkg_setup() {
+	llvm_pkg_setup
 	use test && python-any-r1_pkg_setup
 
 	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index 0f39966844b..c063388b1ad 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -14,7 +14,7 @@ PYTHON_COMPAT=( python2_7 )
 
 [[ ${PV} == 9999 ]] && SCM="git-r3" || SCM=""
 
-inherit ${SCM} cmake-multilib python-any-r1 toolchain-funcs
+inherit ${SCM} cmake-multilib llvm python-any-r1 toolchain-funcs
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="http://libcxx.llvm.org/"
@@ -65,6 +65,7 @@ python_check_deps() {
 }
 
 pkg_setup() {
+	llvm_pkg_setup
 	use test && python-any-r1_pkg_setup
 
 	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-04-02 18:01 Agostino Sarubbo
  0 siblings, 0 replies; 605+ messages in thread
From: Agostino Sarubbo @ 2017-04-02 18:01 UTC (permalink / raw
  To: gentoo-commits

commit:     c1eec390084113485025288de7bac0ad54c7cb3a
Author:     Agostino Sarubbo <ago <AT> gentoo <DOT> org>
AuthorDate: Sun Apr  2 18:01:17 2017 +0000
Commit:     Agostino Sarubbo <ago <AT> gentoo <DOT> org>
CommitDate: Sun Apr  2 18:01:17 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c1eec390

sys-libs/libcxx: amd64 stable wrt bug #607660

Package-Manager: Portage-2.3.3, Repoman-2.3.1
RepoMan-Options: --include-arches="amd64"
Signed-off-by: Agostino Sarubbo <ago <AT> gentoo.org>

 sys-libs/libcxx/libcxx-3.9.1.ebuild | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-3.9.1.ebuild b/sys-libs/libcxx/libcxx-3.9.1.ebuild
index 90128fb84eb..bc29b1a2eea 100644
--- a/sys-libs/libcxx/libcxx-3.9.1.ebuild
+++ b/sys-libs/libcxx/libcxx-3.9.1.ebuild
@@ -26,9 +26,9 @@ fi
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
 if [[ ${PV} != 9999 ]] ; then
-	KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+	KEYWORDS="amd64 ~arm64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
 else
-	KEYWORDS="~arm64"
+	KEYWORDS="amd64 ~arm64"
 fi
 IUSE="elibc_glibc elibc_musl libcxxabi +libcxxrt libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-04-02 18:06 Agostino Sarubbo
  0 siblings, 0 replies; 605+ messages in thread
From: Agostino Sarubbo @ 2017-04-02 18:06 UTC (permalink / raw
  To: gentoo-commits

commit:     44d81e610ef839b33624129cd8605dfe642adcec
Author:     Agostino Sarubbo <ago <AT> gentoo <DOT> org>
AuthorDate: Sun Apr  2 18:06:07 2017 +0000
Commit:     Agostino Sarubbo <ago <AT> gentoo <DOT> org>
CommitDate: Sun Apr  2 18:06:07 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=44d81e61

sys-libs/libcxx: x86 stable wrt bug #607660

Package-Manager: Portage-2.3.3, Repoman-2.3.1
RepoMan-Options: --include-arches="x86"
Signed-off-by: Agostino Sarubbo <ago <AT> gentoo.org>

 sys-libs/libcxx/libcxx-3.9.1.ebuild | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-3.9.1.ebuild b/sys-libs/libcxx/libcxx-3.9.1.ebuild
index bc29b1a2eea..8872bb9a666 100644
--- a/sys-libs/libcxx/libcxx-3.9.1.ebuild
+++ b/sys-libs/libcxx/libcxx-3.9.1.ebuild
@@ -26,9 +26,9 @@ fi
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
 if [[ ${PV} != 9999 ]] ; then
-	KEYWORDS="amd64 ~arm64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+	KEYWORDS="amd64 ~arm64 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
 else
-	KEYWORDS="amd64 ~arm64"
+	KEYWORDS="amd64 ~arm64 x86"
 fi
 IUSE="elibc_glibc elibc_musl libcxxabi +libcxxrt libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-06-27 19:18 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-06-27 19:18 UTC (permalink / raw
  To: gentoo-commits

commit:     d98964c73596565cbab64a7689e2d5f95e6471fd
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 26 14:48:12 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jun 27 19:18:02 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d98964c7

sys-libs/libcxx: Bump to 4.0.1

 sys-libs/libcxx/Manifest            |   1 +
 sys-libs/libcxx/libcxx-4.0.1.ebuild | 199 ++++++++++++++++++++++++++++++++++++
 2 files changed, 200 insertions(+)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 02075e1b46f..7a4869aee1d 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -3,3 +3,4 @@ DIST libcxx-3.8.1.src.tar.xz 1074164 SHA256 77d7f3784c88096d785bd705fa1bab7031ce
 DIST libcxx-3.9.0.src.tar.xz 1198308 SHA256 d0b38d51365c6322f5666a2a8105785f2e114430858de4c25a86b49f227f5b06 SHA512 55d5c4adff378ee02b0b99d732bc9f326910f9e49ab8c320a588eccdd0362fe009bc9a6a4337d29faf6338420c91b10d0d7d67f66128268f01258d30502c4f4a WHIRLPOOL 3ee3519acfe95287a862a6c44e30ed52ced1204332913007797da4e4da40dfdc5991ae120f5686827cc208b559936da5bc5485dab75617bdd5cbbd9e95a6032a
 DIST libcxx-3.9.1.src.tar.xz 1209020 SHA256 25e615e428f60e651ed09ffd79e563864e3f4bc69a9e93ee41505c419d1a7461 SHA512 a5976e4096624a7307b3e43f4a22ac2dc74572226e0f57af9f3ef537a14c3cff1601b7042aef9dc40a0ee53ca76b08d72eb9c253dcf34f115d3153c302db7070 WHIRLPOOL cad439979570192b195338d752a24fb0ad8704c0c8efed3b6d7724437763eab7bc3b8baaf2f0e6fff55c6d9be211dff6f7baf18dec55e3a29ad3b8a423cefb1e
 DIST libcxx-4.0.0.src.tar.xz 1450376 SHA256 4f4d33c4ad69bf9e360eebe6b29b7b19486948b1a41decf89d4adec12473cf96 SHA512 6dad794c00919955e14710def169cdcde8a1743431479e993c4a6a3c87c2fd9f5dbd6e17542e524981eed0783dce70384c356b74ef3c6d70598c6ff03454b1dd WHIRLPOOL 2c5074087e306d100c96ae5b7175e1e1792f0317c7be6231692c80423ec716732c08293fe14fe6da5cd52d8709d6ce0a240009df24e717ab0eb9093ac7679af7
+DIST libcxx-4.0.1.src.tar.xz 1446380 SHA256 520a1171f272c9ff82f324d5d89accadcec9bc9f3c78de11f5575cdb99accc4c SHA512 91f3f397be606989be99865d0b279557f9afb93f7a74ed10c3a74f4440e38b5694ddf452bbf2f487cacd4391606dd5c7edfe5130f2de19e2acfd6cce619d028a WHIRLPOOL fe7c71e8dc2d17d14e94896837229c5ed872e7c04aea79a207e8fa98aa4539a7445e402b848d0c0d009f154f00d970159ad009d16bfdb9ae012ce5c7c6d9ba51

diff --git a/sys-libs/libcxx/libcxx-4.0.1.ebuild b/sys-libs/libcxx/libcxx-4.0.1.ebuild
new file mode 100644
index 00000000000..ce256df08e8
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-4.0.1.ebuild
@@ -0,0 +1,199 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-multilib llvm python-any-r1 toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="http://libcxx.llvm.org/"
+SRC_URI="http://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# LLVM 4 required for llvm-config --cmakedir
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+	app-arch/xz-utils
+	>=sys-devel/llvm-4"
+
+S=${WORKDIR}/${P/_/}.src
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+multilib_src_configure() {
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			# get the full library list out of 'pretend mode'
+			# and grep it for libclang_rt references
+			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
+			local i
+			for i in "${args[@]}"; do
+				if [[ ${i} == *libclang_rt* ]]; then
+					want_gcc_s=OFF
+					extra_libs+=( "${i}" )
+				fi
+			done
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		mycmakeargs+=(
+			# this can be any directory, it just needs to exist...
+			# FIXME: remove this once https://reviews.llvm.org/D25093 is merged
+			-DLLVM_MAIN_SRC_DIR="${T}"
+			-DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+
+	[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+	sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
+
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-07-08 23:18 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-07-08 23:18 UTC (permalink / raw
  To: gentoo-commits

commit:     426250090564492cb9c71248f985fdff6ce1b118
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul  8 19:11:55 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul  8 23:18:25 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=42625009

sys-libs/libcxx: Update upstream git URI

 sys-libs/libcxx/libcxx-9999.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index c063388b1ad..5787fb5be57 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -8,7 +8,7 @@ EAPI=6
 : ${CMAKE_MAKEFILE_GENERATOR:=ninja}
 # (needed due to CMAKE_BUILD_TYPE != Gentoo)
 CMAKE_MIN_VERSION=3.7.0-r1
-EGIT_REPO_URI="http://llvm.org/git/libcxx.git
+EGIT_REPO_URI="https://git.llvm.org/git/libcxx.git
 	https://github.com/llvm-mirror/libcxx.git"
 PYTHON_COMPAT=( python2_7 )
 


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-07-08 23:25 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-07-08 23:25 UTC (permalink / raw
  To: gentoo-commits

commit:     da99825c801829fc5199ae2819823d24ddbc106b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul  8 23:23:45 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul  8 23:25:10 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=da99825c

sys-libs/libcxx: Use https for llvm.org

 sys-libs/libcxx/libcxx-3.7.1.ebuild | 6 +++---
 sys-libs/libcxx/libcxx-3.8.1.ebuild | 6 +++---
 sys-libs/libcxx/libcxx-3.9.0.ebuild | 6 +++---
 sys-libs/libcxx/libcxx-3.9.1.ebuild | 6 +++---
 sys-libs/libcxx/libcxx-4.0.0.ebuild | 4 ++--
 sys-libs/libcxx/libcxx-4.0.1.ebuild | 4 ++--
 sys-libs/libcxx/libcxx-9999.ebuild  | 4 ++--
 7 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-3.7.1.ebuild b/sys-libs/libcxx/libcxx-3.7.1.ebuild
index a608803e1f8..3535d3d9404 100644
--- a/sys-libs/libcxx/libcxx-3.7.1.ebuild
+++ b/sys-libs/libcxx/libcxx-3.7.1.ebuild
@@ -3,16 +3,16 @@
 
 EAPI=5
 
-ESVN_REPO_URI="http://llvm.org/svn/llvm-project/libcxx/trunk"
+ESVN_REPO_URI="https://llvm.org/svn/llvm-project/libcxx/trunk"
 
 [ "${PV%9999}" != "${PV}" ] && SCM="subversion" || SCM=""
 
 inherit ${SCM} flag-o-matic toolchain-funcs multilib multilib-minimal
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="http://libcxx.llvm.org/"
+HOMEPAGE="https://libcxx.llvm.org/"
 if [ "${PV%9999}" = "${PV}" ] ; then
-	SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
+	SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz"
 	S="${WORKDIR}/${P}.src"
 else
 	SRC_URI=""

diff --git a/sys-libs/libcxx/libcxx-3.8.1.ebuild b/sys-libs/libcxx/libcxx-3.8.1.ebuild
index 98b17e37d72..33c990ecd40 100644
--- a/sys-libs/libcxx/libcxx-3.8.1.ebuild
+++ b/sys-libs/libcxx/libcxx-3.8.1.ebuild
@@ -3,16 +3,16 @@
 
 EAPI=5
 
-ESVN_REPO_URI="http://llvm.org/svn/llvm-project/libcxx/trunk"
+ESVN_REPO_URI="https://llvm.org/svn/llvm-project/libcxx/trunk"
 
 [ "${PV%9999}" != "${PV}" ] && SCM="subversion" || SCM=""
 
 inherit ${SCM} flag-o-matic toolchain-funcs multilib multilib-minimal
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="http://libcxx.llvm.org/"
+HOMEPAGE="https://libcxx.llvm.org/"
 if [ "${PV%9999}" = "${PV}" ] ; then
-	SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
+	SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz"
 	S="${WORKDIR}/${P}.src"
 else
 	SRC_URI=""

diff --git a/sys-libs/libcxx/libcxx-3.9.0.ebuild b/sys-libs/libcxx/libcxx-3.9.0.ebuild
index d1d3852b1da..185bbc3d7be 100644
--- a/sys-libs/libcxx/libcxx-3.9.0.ebuild
+++ b/sys-libs/libcxx/libcxx-3.9.0.ebuild
@@ -6,7 +6,7 @@ EAPI=6
 # Ninja provides better scalability and cleaner verbose output, and is used
 # throughout all LLVM projects.
 : ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-EGIT_REPO_URI="http://llvm.org/git/libcxx.git
+EGIT_REPO_URI="https://llvm.org/git/libcxx.git
 	https://github.com/llvm-mirror/libcxx.git"
 PYTHON_COMPAT=( python2_7 )
 
@@ -15,9 +15,9 @@ PYTHON_COMPAT=( python2_7 )
 inherit ${SCM} cmake-multilib python-any-r1 toolchain-funcs
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="http://libcxx.llvm.org/"
+HOMEPAGE="https://libcxx.llvm.org/"
 if [[ ${PV} != 9999 ]] ; then
-	SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
+	SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz"
 	S="${WORKDIR}/${P}.src"
 else
 	SRC_URI=""

diff --git a/sys-libs/libcxx/libcxx-3.9.1.ebuild b/sys-libs/libcxx/libcxx-3.9.1.ebuild
index 8872bb9a666..e847a9f5d31 100644
--- a/sys-libs/libcxx/libcxx-3.9.1.ebuild
+++ b/sys-libs/libcxx/libcxx-3.9.1.ebuild
@@ -6,7 +6,7 @@ EAPI=6
 # Ninja provides better scalability and cleaner verbose output, and is used
 # throughout all LLVM projects.
 : ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-EGIT_REPO_URI="http://llvm.org/git/libcxx.git
+EGIT_REPO_URI="https://llvm.org/git/libcxx.git
 	https://github.com/llvm-mirror/libcxx.git"
 PYTHON_COMPAT=( python2_7 )
 
@@ -15,9 +15,9 @@ PYTHON_COMPAT=( python2_7 )
 inherit ${SCM} cmake-multilib python-any-r1 toolchain-funcs
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="http://libcxx.llvm.org/"
+HOMEPAGE="https://libcxx.llvm.org/"
 if [[ ${PV} != 9999 ]] ; then
-	SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
+	SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz"
 	S="${WORKDIR}/${P}.src"
 else
 	SRC_URI=""

diff --git a/sys-libs/libcxx/libcxx-4.0.0.ebuild b/sys-libs/libcxx/libcxx-4.0.0.ebuild
index ce256df08e8..43a14f9abb6 100644
--- a/sys-libs/libcxx/libcxx-4.0.0.ebuild
+++ b/sys-libs/libcxx/libcxx-4.0.0.ebuild
@@ -13,8 +13,8 @@ PYTHON_COMPAT=( python2_7 )
 inherit cmake-multilib llvm python-any-r1 toolchain-funcs
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="http://libcxx.llvm.org/"
-SRC_URI="http://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+HOMEPAGE="https://libcxx.llvm.org/"
+SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"

diff --git a/sys-libs/libcxx/libcxx-4.0.1.ebuild b/sys-libs/libcxx/libcxx-4.0.1.ebuild
index ce256df08e8..43a14f9abb6 100644
--- a/sys-libs/libcxx/libcxx-4.0.1.ebuild
+++ b/sys-libs/libcxx/libcxx-4.0.1.ebuild
@@ -13,8 +13,8 @@ PYTHON_COMPAT=( python2_7 )
 inherit cmake-multilib llvm python-any-r1 toolchain-funcs
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="http://libcxx.llvm.org/"
-SRC_URI="http://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+HOMEPAGE="https://libcxx.llvm.org/"
+SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index 5787fb5be57..3a1e5e5de31 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -17,9 +17,9 @@ PYTHON_COMPAT=( python2_7 )
 inherit ${SCM} cmake-multilib llvm python-any-r1 toolchain-funcs
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="http://libcxx.llvm.org/"
+HOMEPAGE="https://libcxx.llvm.org/"
 if [[ ${PV} != 9999 ]] ; then
-	SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
+	SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz"
 	S="${WORKDIR}/${P}.src"
 else
 	SRC_URI=""


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-07-24 19:04 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-07-24 19:04 UTC (permalink / raw
  To: gentoo-commits

commit:     d1cb94be51f9f1e5c844d984802d4a4e715c887c
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 23 16:51:12 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 24 19:03:49 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d1cb94be

sys-libs/libcxx: Branch for 5.0.0 release

 sys-libs/libcxx/libcxx-5.0.9999.ebuild | 211 +++++++++++++++++++++++++++++++++
 1 file changed, 211 insertions(+)

diff --git a/sys-libs/libcxx/libcxx-5.0.9999.ebuild b/sys-libs/libcxx/libcxx-5.0.9999.ebuild
new file mode 100644
index 00000000000..625b3568537
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-5.0.9999.ebuild
@@ -0,0 +1,211 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+EGIT_REPO_URI="https://git.llvm.org/git/libcxx.git
+	https://github.com/llvm-mirror/libcxx.git"
+EGIT_BRANCH="release_50"
+PYTHON_COMPAT=( python2_7 )
+
+[[ ${PV} == 9999 ]] && SCM="git-r3" || SCM=""
+
+inherit ${SCM} cmake-multilib llvm python-any-r1 toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+if [[ ${PV} != 9999 ]] ; then
+	SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz"
+	S="${WORKDIR}/${P}.src"
+else
+	SRC_URI=""
+fi
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+if [[ ${PV} != 9999 ]] ; then
+	KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+else
+	KEYWORDS=""
+fi
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# LLVM 4 required for llvm-config --cmakedir
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+	app-arch/xz-utils
+	>=sys-devel/llvm-4"
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+multilib_src_configure() {
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			# get the full library list out of 'pretend mode'
+			# and grep it for libclang_rt references
+			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
+			local i
+			for i in "${args[@]}"; do
+				if [[ ${i} == *libclang_rt* ]]; then
+					want_gcc_s=OFF
+					extra_libs+=( "${i}" )
+				fi
+			done
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		mycmakeargs+=(
+			# this can be any directory, it just needs to exist...
+			# FIXME: remove this once https://reviews.llvm.org/D25093 is merged
+			-DLLVM_MAIN_SRC_DIR="${T}"
+			-DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+
+	[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+	sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
+
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-07-24 19:13 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-07-24 19:13 UTC (permalink / raw
  To: gentoo-commits

commit:     8c3018050e4c58aca3483a23c69c0b4087b49427
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 24 19:13:37 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 24 19:13:50 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8c301805

sys-libs/libcxx: Fix live conditions in 5.0.9999

 sys-libs/libcxx/libcxx-5.0.9999.ebuild | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-5.0.9999.ebuild b/sys-libs/libcxx/libcxx-5.0.9999.ebuild
index 625b3568537..fde85c23202 100644
--- a/sys-libs/libcxx/libcxx-5.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-5.0.9999.ebuild
@@ -13,13 +13,13 @@ EGIT_REPO_URI="https://git.llvm.org/git/libcxx.git
 EGIT_BRANCH="release_50"
 PYTHON_COMPAT=( python2_7 )
 
-[[ ${PV} == 9999 ]] && SCM="git-r3" || SCM=""
+[[ ${PV} == *9999 ]] && SCM="git-r3" || SCM=""
 
 inherit ${SCM} cmake-multilib llvm python-any-r1 toolchain-funcs
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="https://libcxx.llvm.org/"
-if [[ ${PV} != 9999 ]] ; then
+if [[ ${PV} != *9999 ]] ; then
 	SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz"
 	S="${WORKDIR}/${P}.src"
 else
@@ -28,7 +28,7 @@ fi
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-if [[ ${PV} != 9999 ]] ; then
+if [[ ${PV} != *9999 ]] ; then
 	KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
 else
 	KEYWORDS=""


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-07-25  7:58 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-07-25  7:58 UTC (permalink / raw
  To: gentoo-commits

commit:     5c2aa4b1ec6916b9011e74a78b0ebdce1bfc52a9
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 25 07:54:43 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jul 25 07:57:47 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c2aa4b1

sys-libs/libcxx: Clean old up

 sys-libs/libcxx/Manifest            |   1 -
 sys-libs/libcxx/libcxx-4.0.0.ebuild | 199 ------------------------------------
 2 files changed, 200 deletions(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 7a4869aee1d..36f26730bf4 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -2,5 +2,4 @@ DIST libcxx-3.7.1.src.tar.xz 995724 SHA256 357fbd4288ce99733ba06ae2bec6f503413d2
 DIST libcxx-3.8.1.src.tar.xz 1074164 SHA256 77d7f3784c88096d785bd705fa1bab7031ce184cd91ba8a7008abf55264eeecc SHA512 782ff3cdb85d02e92404e943474d0266ff601725c202f0667d60e7807f1ba3cfdebbdb062e27a52fec96be1c99339044be93a88ba7e396682f98d99c9ac175b2 WHIRLPOOL a729c44060972edee79b0019fd4c6c23fa56dd625e564f4c5965682d9fc79be4094df0643f67c5d2ffa3ae3c743c892c3c9ba19719b2307aada35775f64ed104
 DIST libcxx-3.9.0.src.tar.xz 1198308 SHA256 d0b38d51365c6322f5666a2a8105785f2e114430858de4c25a86b49f227f5b06 SHA512 55d5c4adff378ee02b0b99d732bc9f326910f9e49ab8c320a588eccdd0362fe009bc9a6a4337d29faf6338420c91b10d0d7d67f66128268f01258d30502c4f4a WHIRLPOOL 3ee3519acfe95287a862a6c44e30ed52ced1204332913007797da4e4da40dfdc5991ae120f5686827cc208b559936da5bc5485dab75617bdd5cbbd9e95a6032a
 DIST libcxx-3.9.1.src.tar.xz 1209020 SHA256 25e615e428f60e651ed09ffd79e563864e3f4bc69a9e93ee41505c419d1a7461 SHA512 a5976e4096624a7307b3e43f4a22ac2dc74572226e0f57af9f3ef537a14c3cff1601b7042aef9dc40a0ee53ca76b08d72eb9c253dcf34f115d3153c302db7070 WHIRLPOOL cad439979570192b195338d752a24fb0ad8704c0c8efed3b6d7724437763eab7bc3b8baaf2f0e6fff55c6d9be211dff6f7baf18dec55e3a29ad3b8a423cefb1e
-DIST libcxx-4.0.0.src.tar.xz 1450376 SHA256 4f4d33c4ad69bf9e360eebe6b29b7b19486948b1a41decf89d4adec12473cf96 SHA512 6dad794c00919955e14710def169cdcde8a1743431479e993c4a6a3c87c2fd9f5dbd6e17542e524981eed0783dce70384c356b74ef3c6d70598c6ff03454b1dd WHIRLPOOL 2c5074087e306d100c96ae5b7175e1e1792f0317c7be6231692c80423ec716732c08293fe14fe6da5cd52d8709d6ce0a240009df24e717ab0eb9093ac7679af7
 DIST libcxx-4.0.1.src.tar.xz 1446380 SHA256 520a1171f272c9ff82f324d5d89accadcec9bc9f3c78de11f5575cdb99accc4c SHA512 91f3f397be606989be99865d0b279557f9afb93f7a74ed10c3a74f4440e38b5694ddf452bbf2f487cacd4391606dd5c7edfe5130f2de19e2acfd6cce619d028a WHIRLPOOL fe7c71e8dc2d17d14e94896837229c5ed872e7c04aea79a207e8fa98aa4539a7445e402b848d0c0d009f154f00d970159ad009d16bfdb9ae012ce5c7c6d9ba51

diff --git a/sys-libs/libcxx/libcxx-4.0.0.ebuild b/sys-libs/libcxx/libcxx-4.0.0.ebuild
deleted file mode 100644
index 43a14f9abb6..00000000000
--- a/sys-libs/libcxx/libcxx-4.0.0.ebuild
+++ /dev/null
@@ -1,199 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# Ninja provides better scalability and cleaner verbose output, and is used
-# throughout all LLVM projects.
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-multilib llvm python-any-r1 toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
-	?? ( libcxxabi libcxxrt )"
-
-RDEPEND="
-	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# LLVM 4 required for llvm-config --cmakedir
-# clang-3.9.0 installs necessary target symlinks unconditionally
-# which removes the need for MULTILIB_USEDEP
-DEPEND="${RDEPEND}
-	test? ( >=sys-devel/clang-3.9.0
-		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
-	app-arch/xz-utils
-	>=sys-devel/llvm-4"
-
-S=${WORKDIR}/${P/_/}.src
-
-DOCS=( CREDITS.TXT )
-
-PATCHES=(
-	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
-	# out-of-tree build.
-	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
-)
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
-	has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-	use test && python-any-r1_pkg_setup
-
-	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
-		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
-		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
-		eerror "and try again."
-		die
-	fi
-	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
-		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
-		eerror "conformant compilers). Please use gcc-config to switch to"
-		eerror "gcc-4.7 or later version."
-		die
-	fi
-}
-
-multilib_src_configure() {
-	local cxxabi cxxabi_incs
-	if use libcxxabi; then
-		cxxabi=libcxxabi
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
-	elif use libcxxrt; then
-		cxxabi=libcxxrt
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
-	else
-		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-		cxxabi=libsupc++
-		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-	fi
-
-	# we want -lgcc_s for unwinder, and for compiler runtime when using
-	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON
-	if use libunwind; then
-		# work-around missing -lunwind upstream
-		extra_libs+=( -lunwind )
-		# if we're using libunwind and clang with compiler-rt, we want
-		# to link to compiler-rt instead of -lgcc_s
-		if tc-is-clang; then
-			# get the full library list out of 'pretend mode'
-			# and grep it for libclang_rt references
-			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
-			local i
-			for i in "${args[@]}"; do
-				if [[ ${i} == *libclang_rt* ]]; then
-					want_gcc_s=OFF
-					extra_libs+=( "${i}" )
-				fi
-			done
-		fi
-	fi
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
-		-DLIBCXX_ENABLE_SHARED=ON
-		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-		-DLIBCXX_CXX_ABI=${cxxabi}
-		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-		# we're using our own mechanism for generating linker scripts
-		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-		-DLIBCXX_INCLUDE_TESTS=$(usex test)
-		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
-	)
-
-	if use test; then
-		mycmakeargs+=(
-			# this can be any directory, it just needs to exist...
-			# FIXME: remove this once https://reviews.llvm.org/D25093 is merged
-			-DLLVM_MAIN_SRC_DIR="${T}"
-			-DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
-		)
-	fi
-	cmake-utils_src_configure
-}
-
-multilib_src_test() {
-	local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-
-	[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-	sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
-
-	cmake-utils_src_make check-libcxx
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
-
-	# Move it first.
-	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
-	# Generate libc++.a ldscript for inclusion of its dependencies so that
-	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
-	# On Linux/glibc it does not link without libpthread or libdl. It is
-	# fine on FreeBSD.
-	use elibc_glibc && deps+=" libpthread.a libdl.a"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
-}
-
-gen_shared_ldscript() {
-	local libdir=$(get_libdir)
-	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
-
-	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-	gen_shared_ldscript
-	use static-libs && gen_static_ldscript
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-09-08 17:30 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-09-08 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     6b27711ee5e7a544f51902811e9afb05908d0f20
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Sep  8 09:20:27 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Sep  8 17:30:41 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6b27711e

sys-libs/libcxx: Bump to 5.0.0

 sys-libs/libcxx/Manifest            |   1 +
 sys-libs/libcxx/libcxx-5.0.0.ebuild | 199 ++++++++++++++++++++++++++++++++++++
 2 files changed, 200 insertions(+)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 36f26730bf4..08a9273d67b 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -3,3 +3,4 @@ DIST libcxx-3.8.1.src.tar.xz 1074164 SHA256 77d7f3784c88096d785bd705fa1bab7031ce
 DIST libcxx-3.9.0.src.tar.xz 1198308 SHA256 d0b38d51365c6322f5666a2a8105785f2e114430858de4c25a86b49f227f5b06 SHA512 55d5c4adff378ee02b0b99d732bc9f326910f9e49ab8c320a588eccdd0362fe009bc9a6a4337d29faf6338420c91b10d0d7d67f66128268f01258d30502c4f4a WHIRLPOOL 3ee3519acfe95287a862a6c44e30ed52ced1204332913007797da4e4da40dfdc5991ae120f5686827cc208b559936da5bc5485dab75617bdd5cbbd9e95a6032a
 DIST libcxx-3.9.1.src.tar.xz 1209020 SHA256 25e615e428f60e651ed09ffd79e563864e3f4bc69a9e93ee41505c419d1a7461 SHA512 a5976e4096624a7307b3e43f4a22ac2dc74572226e0f57af9f3ef537a14c3cff1601b7042aef9dc40a0ee53ca76b08d72eb9c253dcf34f115d3153c302db7070 WHIRLPOOL cad439979570192b195338d752a24fb0ad8704c0c8efed3b6d7724437763eab7bc3b8baaf2f0e6fff55c6d9be211dff6f7baf18dec55e3a29ad3b8a423cefb1e
 DIST libcxx-4.0.1.src.tar.xz 1446380 SHA256 520a1171f272c9ff82f324d5d89accadcec9bc9f3c78de11f5575cdb99accc4c SHA512 91f3f397be606989be99865d0b279557f9afb93f7a74ed10c3a74f4440e38b5694ddf452bbf2f487cacd4391606dd5c7edfe5130f2de19e2acfd6cce619d028a WHIRLPOOL fe7c71e8dc2d17d14e94896837229c5ed872e7c04aea79a207e8fa98aa4539a7445e402b848d0c0d009f154f00d970159ad009d16bfdb9ae012ce5c7c6d9ba51
+DIST libcxx-5.0.0.src.tar.xz 1518940 SHA256 eae5981e9a21ef0decfcac80a1af584ddb064a32805f95a57c7c83a5eb28c9b1 SHA512 210749f6585d8fd39fc63a32dd85d68de4aa480c91915cbf419b9e8a3b300fa4624f03200ed963cecc8ab233777c36e8c522fa0762a2aa068bc65e6f48118328 WHIRLPOOL c791f6718e1c2a97fae26741284d861fc869721fca11b4ab4d3e9b4052ce17fca1fd99f945f406fdcdbfde43622cb7afe351e0268d773f6b42d1da2f5dc0f1f5

diff --git a/sys-libs/libcxx/libcxx-5.0.0.ebuild b/sys-libs/libcxx/libcxx-5.0.0.ebuild
new file mode 100644
index 00000000000..43a14f9abb6
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-5.0.0.ebuild
@@ -0,0 +1,199 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-multilib llvm python-any-r1 toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# LLVM 4 required for llvm-config --cmakedir
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+	app-arch/xz-utils
+	>=sys-devel/llvm-4"
+
+S=${WORKDIR}/${P/_/}.src
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+multilib_src_configure() {
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			# get the full library list out of 'pretend mode'
+			# and grep it for libclang_rt references
+			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
+			local i
+			for i in "${args[@]}"; do
+				if [[ ${i} == *libclang_rt* ]]; then
+					want_gcc_s=OFF
+					extra_libs+=( "${i}" )
+				fi
+			done
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		mycmakeargs+=(
+			# this can be any directory, it just needs to exist...
+			# FIXME: remove this once https://reviews.llvm.org/D25093 is merged
+			-DLLVM_MAIN_SRC_DIR="${T}"
+			-DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+
+	[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+	sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
+
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-10-01  9:03 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-10-01  9:03 UTC (permalink / raw
  To: gentoo-commits

commit:     0b4afe517c6b08bc89d7e0f94eb6033da395d655
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 30 21:42:27 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Oct  1 09:02:40 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0b4afe51

sys-libs/libcxx: Make the tests more verbose

 sys-libs/libcxx/libcxx-9999.ebuild | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index 6c9b1478da7..185ed102480 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -139,6 +139,7 @@ multilib_src_configure() {
 			# FIXME: remove this once https://reviews.llvm.org/D25093 is merged
 			-DLLVM_MAIN_SRC_DIR="${T}"
 			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="-vv"
 		)
 	fi
 	cmake-utils_src_configure


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-10-01  9:03 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-10-01  9:03 UTC (permalink / raw
  To: gentoo-commits

commit:     1d7bf5ebdc1078dafdf57b5e96eff2ec3af25c7d
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 30 21:42:22 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Oct  1 09:02:40 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1d7bf5eb

sys-libs/libcxx: Fix using external lit

 sys-libs/libcxx/libcxx-9999.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index 3a1e5e5de31..6c9b1478da7 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -138,7 +138,7 @@ multilib_src_configure() {
 			# this can be any directory, it just needs to exist...
 			# FIXME: remove this once https://reviews.llvm.org/D25093 is merged
 			-DLLVM_MAIN_SRC_DIR="${T}"
-			-DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
 		)
 	fi
 	cmake-utils_src_configure


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-10-01  9:03 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-10-01  9:03 UTC (permalink / raw
  To: gentoo-commits

commit:     27cdd4e24e0428a4ecdb4c54433de2b50b71ad14
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 30 21:42:57 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Oct  1 09:02:41 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=27cdd4e2

sys-libs/libcxx: Remove obsolete LLVM_MAIN_SRCDIR hack

 sys-libs/libcxx/libcxx-9999.ebuild | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index 185ed102480..17104067dfd 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -135,9 +135,6 @@ multilib_src_configure() {
 
 	if use test; then
 		mycmakeargs+=(
-			# this can be any directory, it just needs to exist...
-			# FIXME: remove this once https://reviews.llvm.org/D25093 is merged
-			-DLLVM_MAIN_SRC_DIR="${T}"
 			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
 			-DLLVM_LIT_ARGS="-vv"
 		)


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-11-19 19:14 Thomas Deutschmann
  0 siblings, 0 replies; 605+ messages in thread
From: Thomas Deutschmann @ 2017-11-19 19:14 UTC (permalink / raw
  To: gentoo-commits

commit:     73ec664db1f44d010a1a5318fd55ea8e2df04099
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 19 19:05:03 2017 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sun Nov 19 19:14:40 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=73ec664d

sys-libs/libcxx: x86 stable (bug #637210)

Package-Manager: Portage-2.3.13, Repoman-2.3.4

 sys-libs/libcxx/libcxx-4.0.1.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/libcxx-4.0.1.ebuild b/sys-libs/libcxx/libcxx-4.0.1.ebuild
index 43a14f9abb6..7cf64b9d1b2 100644
--- a/sys-libs/libcxx/libcxx-4.0.1.ebuild
+++ b/sys-libs/libcxx/libcxx-4.0.1.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="~amd64 ~arm64 x86"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-12-01 23:40 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-12-01 23:40 UTC (permalink / raw
  To: gentoo-commits

commit:     17ad9ccda5f146e259655cf28eafc5a5fa7b6484
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Dec  1 10:53:28 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Dec  1 23:40:38 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=17ad9ccd

sys-libs/libcxx: Bump to 5.0.1_rc2

 sys-libs/libcxx/Manifest                |   1 +
 sys-libs/libcxx/libcxx-5.0.1_rc2.ebuild | 199 ++++++++++++++++++++++++++++++++
 2 files changed, 200 insertions(+)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 08a9273d67b..e1c0dd0e41f 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -4,3 +4,4 @@ DIST libcxx-3.9.0.src.tar.xz 1198308 SHA256 d0b38d51365c6322f5666a2a8105785f2e11
 DIST libcxx-3.9.1.src.tar.xz 1209020 SHA256 25e615e428f60e651ed09ffd79e563864e3f4bc69a9e93ee41505c419d1a7461 SHA512 a5976e4096624a7307b3e43f4a22ac2dc74572226e0f57af9f3ef537a14c3cff1601b7042aef9dc40a0ee53ca76b08d72eb9c253dcf34f115d3153c302db7070 WHIRLPOOL cad439979570192b195338d752a24fb0ad8704c0c8efed3b6d7724437763eab7bc3b8baaf2f0e6fff55c6d9be211dff6f7baf18dec55e3a29ad3b8a423cefb1e
 DIST libcxx-4.0.1.src.tar.xz 1446380 SHA256 520a1171f272c9ff82f324d5d89accadcec9bc9f3c78de11f5575cdb99accc4c SHA512 91f3f397be606989be99865d0b279557f9afb93f7a74ed10c3a74f4440e38b5694ddf452bbf2f487cacd4391606dd5c7edfe5130f2de19e2acfd6cce619d028a WHIRLPOOL fe7c71e8dc2d17d14e94896837229c5ed872e7c04aea79a207e8fa98aa4539a7445e402b848d0c0d009f154f00d970159ad009d16bfdb9ae012ce5c7c6d9ba51
 DIST libcxx-5.0.0.src.tar.xz 1518940 SHA256 eae5981e9a21ef0decfcac80a1af584ddb064a32805f95a57c7c83a5eb28c9b1 SHA512 210749f6585d8fd39fc63a32dd85d68de4aa480c91915cbf419b9e8a3b300fa4624f03200ed963cecc8ab233777c36e8c522fa0762a2aa068bc65e6f48118328 WHIRLPOOL c791f6718e1c2a97fae26741284d861fc869721fca11b4ab4d3e9b4052ce17fca1fd99f945f406fdcdbfde43622cb7afe351e0268d773f6b42d1da2f5dc0f1f5
+DIST libcxx-5.0.1rc2.src.tar.xz 1533332 BLAKE2B 7ac60315ca68054cafdfa3814daea3fe288c140e397b78474b657d7816dfb00c0b84715fac41a7257e85c61f27d7eaefaed7096356c39f02ff2c305440e00bd3 SHA512 aaf9aeded70f948440cb55f3c8a7633be6edb8abde496d5f1571d62fb5d34d8f3ec27935a774224e620b26845ab1081189511a5eb223b5611ec4adfbbc3a2641

diff --git a/sys-libs/libcxx/libcxx-5.0.1_rc2.ebuild b/sys-libs/libcxx/libcxx-5.0.1_rc2.ebuild
new file mode 100644
index 00000000000..ab78b95992b
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-5.0.1_rc2.ebuild
@@ -0,0 +1,199 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-multilib llvm python-any-r1 toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+SRC_URI="http://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS=""
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# LLVM 4 required for llvm-config --cmakedir
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+	app-arch/xz-utils
+	>=sys-devel/llvm-4"
+
+S=${WORKDIR}/${P/_/}.src
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+multilib_src_configure() {
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			# get the full library list out of 'pretend mode'
+			# and grep it for libclang_rt references
+			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
+			local i
+			for i in "${args[@]}"; do
+				if [[ ${i} == *libclang_rt* ]]; then
+					want_gcc_s=OFF
+					extra_libs+=( "${i}" )
+				fi
+			done
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		mycmakeargs+=(
+			# this can be any directory, it just needs to exist...
+			# FIXME: remove this once https://reviews.llvm.org/D25093 is merged
+			-DLLVM_MAIN_SRC_DIR="${T}"
+			-DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+
+	[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+	sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
+
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-12-14 22:31 Matt Turner
  0 siblings, 0 replies; 605+ messages in thread
From: Matt Turner @ 2017-12-14 22:31 UTC (permalink / raw
  To: gentoo-commits

commit:     27c23190ff1ab92d47149f083b5c2aad9e4bbd77
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 14 22:30:36 2017 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Thu Dec 14 22:30:36 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=27c23190

sys-libs/libcxx-4.0.1: amd64 stable, bug 637210

 sys-libs/libcxx/libcxx-4.0.1.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/libcxx-4.0.1.ebuild b/sys-libs/libcxx/libcxx-4.0.1.ebuild
index 7cf64b9d1b2..8b6e05f5ff3 100644
--- a/sys-libs/libcxx/libcxx-4.0.1.ebuild
+++ b/sys-libs/libcxx/libcxx-4.0.1.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS="~amd64 ~arm64 x86"
+KEYWORDS="amd64 ~arm64 x86"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-12-15 16:20 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-12-15 16:20 UTC (permalink / raw
  To: gentoo-commits

commit:     2adb63bfaa4990c13e6a558aec247716f4c8244c
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 15 16:02:59 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Dec 15 16:20:20 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2adb63bf

sys-libs/libcxx: Restrict tests with USE=-test

 sys-libs/libcxx/libcxx-5.0.9999.ebuild | 1 +
 sys-libs/libcxx/libcxx-9999.ebuild     | 1 +
 2 files changed, 2 insertions(+)

diff --git a/sys-libs/libcxx/libcxx-5.0.9999.ebuild b/sys-libs/libcxx/libcxx-5.0.9999.ebuild
index fde85c23202..bd31b162301 100644
--- a/sys-libs/libcxx/libcxx-5.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-5.0.9999.ebuild
@@ -36,6 +36,7 @@ fi
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"
+RESTRICT="!test? ( test )"
 
 RDEPEND="
 	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index 17104067dfd..cbc6f0f2df6 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -35,6 +35,7 @@ fi
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"
+RESTRICT="!test? ( test )"
 
 RDEPEND="
 	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-12-20 20:58 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-12-20 20:58 UTC (permalink / raw
  To: gentoo-commits

commit:     e5eafce0db3d3f48cef892ac1bc40b1296d087a9
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 20 20:43:51 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Dec 20 20:58:44 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e5eafce0

sys-libs/libcxx: Bump to 5.0.1 (final)

 sys-libs/libcxx/Manifest                                         | 2 +-
 sys-libs/libcxx/{libcxx-5.0.1_rc2.ebuild => libcxx-5.0.1.ebuild} | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 9a0ca4e4fcd..2ef3b9b6888 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -4,4 +4,4 @@ DIST libcxx-3.9.0.src.tar.xz 1198308 BLAKE2B 689fed969562466bd230445a0edb886880d
 DIST libcxx-3.9.1.src.tar.xz 1209020 BLAKE2B 510e77c2c1163babbba904933f441e8720b0d366b9f0cfa2cdde2401368c224e00efd66afc1403b0087c40549cda4ebbc4d0c4b2d0906178324fa6158502d5ad SHA512 a5976e4096624a7307b3e43f4a22ac2dc74572226e0f57af9f3ef537a14c3cff1601b7042aef9dc40a0ee53ca76b08d72eb9c253dcf34f115d3153c302db7070
 DIST libcxx-4.0.1.src.tar.xz 1446380 BLAKE2B cd871eff4c4ca25a1fe4d27f778e913fe536a0b5863ea7dd3c8895f6b743b6f039e4df71f9ba5124c98761a8099666f68e1dfd073b5ec7b9fe0007ef09a9117d SHA512 91f3f397be606989be99865d0b279557f9afb93f7a74ed10c3a74f4440e38b5694ddf452bbf2f487cacd4391606dd5c7edfe5130f2de19e2acfd6cce619d028a
 DIST libcxx-5.0.0.src.tar.xz 1518940 BLAKE2B 5ffb6dd99bef7cdf800dd458b4f9ef6ade9270221a60165cbbe8480f550235f12d877818c8272a04b5077e1f1c56f8e4dfde42dccfe6c1d8875ceed6fb339d5d SHA512 210749f6585d8fd39fc63a32dd85d68de4aa480c91915cbf419b9e8a3b300fa4624f03200ed963cecc8ab233777c36e8c522fa0762a2aa068bc65e6f48118328
-DIST libcxx-5.0.1rc2.src.tar.xz 1533332 BLAKE2B 7ac60315ca68054cafdfa3814daea3fe288c140e397b78474b657d7816dfb00c0b84715fac41a7257e85c61f27d7eaefaed7096356c39f02ff2c305440e00bd3 SHA512 aaf9aeded70f948440cb55f3c8a7633be6edb8abde496d5f1571d62fb5d34d8f3ec27935a774224e620b26845ab1081189511a5eb223b5611ec4adfbbc3a2641
+DIST libcxx-5.0.1.src.tar.xz 1527852 BLAKE2B 9454fbca8228ee456feb79b65a63ce5daa27bf2e47e457d79592f4974dceeace19fe6cdeee51cc51f94e9072d7ce3c03e5acb617507670153647b9c435feadbd SHA512 994681d3c79047fc2d618c5584b08e9b5c925dab48f8812fc0adc81a575b49a637e9481bb9a0f7ae6f7f352b2b33f40056c347c27123cd6c96c6c226febd002c

diff --git a/sys-libs/libcxx/libcxx-5.0.1_rc2.ebuild b/sys-libs/libcxx/libcxx-5.0.1.ebuild
similarity index 98%
rename from sys-libs/libcxx/libcxx-5.0.1_rc2.ebuild
rename to sys-libs/libcxx/libcxx-5.0.1.ebuild
index ab78b95992b..43a14f9abb6 100644
--- a/sys-libs/libcxx/libcxx-5.0.1_rc2.ebuild
+++ b/sys-libs/libcxx/libcxx-5.0.1.ebuild
@@ -14,11 +14,11 @@ inherit cmake-multilib llvm python-any-r1 toolchain-funcs
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="https://libcxx.llvm.org/"
-SRC_URI="http://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS=""
+KEYWORDS="~amd64 ~arm64 ~x86"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2017-12-21 21:01 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2017-12-21 21:01 UTC (permalink / raw
  To: gentoo-commits

commit:     f74f6a61ee1ad59c3d52280b70416322a9acb31b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 21 18:00:47 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Dec 21 21:01:00 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f74f6a61

sys-libs/libcxx: Remove live ebuild for obsolete 5.0 branch

 sys-libs/libcxx/libcxx-5.0.9999.ebuild | 212 ---------------------------------
 1 file changed, 212 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-5.0.9999.ebuild b/sys-libs/libcxx/libcxx-5.0.9999.ebuild
deleted file mode 100644
index bd31b162301..00000000000
--- a/sys-libs/libcxx/libcxx-5.0.9999.ebuild
+++ /dev/null
@@ -1,212 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# Ninja provides better scalability and cleaner verbose output, and is used
-# throughout all LLVM projects.
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-EGIT_REPO_URI="https://git.llvm.org/git/libcxx.git
-	https://github.com/llvm-mirror/libcxx.git"
-EGIT_BRANCH="release_50"
-PYTHON_COMPAT=( python2_7 )
-
-[[ ${PV} == *9999 ]] && SCM="git-r3" || SCM=""
-
-inherit ${SCM} cmake-multilib llvm python-any-r1 toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-if [[ ${PV} != *9999 ]] ; then
-	SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz"
-	S="${WORKDIR}/${P}.src"
-else
-	SRC_URI=""
-fi
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-if [[ ${PV} != *9999 ]] ; then
-	KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
-else
-	KEYWORDS=""
-fi
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
-	?? ( libcxxabi libcxxrt )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# LLVM 4 required for llvm-config --cmakedir
-# clang-3.9.0 installs necessary target symlinks unconditionally
-# which removes the need for MULTILIB_USEDEP
-DEPEND="${RDEPEND}
-	test? ( >=sys-devel/clang-3.9.0
-		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
-	app-arch/xz-utils
-	>=sys-devel/llvm-4"
-
-DOCS=( CREDITS.TXT )
-
-PATCHES=(
-	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
-	# out-of-tree build.
-	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
-)
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
-	has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-	use test && python-any-r1_pkg_setup
-
-	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
-		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
-		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
-		eerror "and try again."
-		die
-	fi
-	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
-		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
-		eerror "conformant compilers). Please use gcc-config to switch to"
-		eerror "gcc-4.7 or later version."
-		die
-	fi
-}
-
-multilib_src_configure() {
-	local cxxabi cxxabi_incs
-	if use libcxxabi; then
-		cxxabi=libcxxabi
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
-	elif use libcxxrt; then
-		cxxabi=libcxxrt
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
-	else
-		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-		cxxabi=libsupc++
-		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-	fi
-
-	# we want -lgcc_s for unwinder, and for compiler runtime when using
-	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON
-	if use libunwind; then
-		# work-around missing -lunwind upstream
-		extra_libs+=( -lunwind )
-		# if we're using libunwind and clang with compiler-rt, we want
-		# to link to compiler-rt instead of -lgcc_s
-		if tc-is-clang; then
-			# get the full library list out of 'pretend mode'
-			# and grep it for libclang_rt references
-			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
-			local i
-			for i in "${args[@]}"; do
-				if [[ ${i} == *libclang_rt* ]]; then
-					want_gcc_s=OFF
-					extra_libs+=( "${i}" )
-				fi
-			done
-		fi
-	fi
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
-		-DLIBCXX_ENABLE_SHARED=ON
-		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-		-DLIBCXX_CXX_ABI=${cxxabi}
-		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-		# we're using our own mechanism for generating linker scripts
-		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-		-DLIBCXX_INCLUDE_TESTS=$(usex test)
-		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
-	)
-
-	if use test; then
-		mycmakeargs+=(
-			# this can be any directory, it just needs to exist...
-			# FIXME: remove this once https://reviews.llvm.org/D25093 is merged
-			-DLLVM_MAIN_SRC_DIR="${T}"
-			-DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
-		)
-	fi
-	cmake-utils_src_configure
-}
-
-multilib_src_test() {
-	local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-
-	[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-	sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
-
-	cmake-utils_src_make check-libcxx
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
-
-	# Move it first.
-	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
-	# Generate libc++.a ldscript for inclusion of its dependencies so that
-	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
-	# On Linux/glibc it does not link without libpthread or libdl. It is
-	# fine on FreeBSD.
-	use elibc_glibc && deps+=" libpthread.a libdl.a"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
-}
-
-gen_shared_ldscript() {
-	local libdir=$(get_libdir)
-	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
-
-	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-	gen_shared_ldscript
-	use static-libs && gen_static_ldscript
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-01-03 22:21 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-01-03 22:21 UTC (permalink / raw
  To: gentoo-commits

commit:     9a40afcacf984698fb0749752dc7a8cd90f0abc9
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jan  3 21:47:22 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jan  3 22:21:43 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9a40afca

sys-libs/libcxx: Add a live ebuild for 6.0 branch

 sys-libs/libcxx/libcxx-6.0.9999.ebuild | 210 +++++++++++++++++++++++++++++++++
 1 file changed, 210 insertions(+)

diff --git a/sys-libs/libcxx/libcxx-6.0.9999.ebuild b/sys-libs/libcxx/libcxx-6.0.9999.ebuild
new file mode 100644
index 00000000000..803726e9d93
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-6.0.9999.ebuild
@@ -0,0 +1,210 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+EGIT_REPO_URI="https://git.llvm.org/git/libcxx.git
+	https://github.com/llvm-mirror/libcxx.git"
+EGIT_BRANCH="release_60"
+PYTHON_COMPAT=( python2_7 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3" || SCM=""
+
+inherit ${SCM} cmake-multilib llvm python-any-r1 toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+if [[ ${PV} != *9999 ]] ; then
+	SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz"
+	S="${WORKDIR}/${P}.src"
+else
+	SRC_URI=""
+fi
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+if [[ ${PV} != *9999 ]] ; then
+	KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+else
+	KEYWORDS=""
+fi
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# LLVM 4 required for llvm-config --cmakedir
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+	app-arch/xz-utils
+	>=sys-devel/llvm-4"
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+multilib_src_configure() {
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			# get the full library list out of 'pretend mode'
+			# and grep it for libclang_rt references
+			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
+			local i
+			for i in "${args[@]}"; do
+				if [[ ${i} == *libclang_rt* ]]; then
+					want_gcc_s=OFF
+					extra_libs+=( "${i}" )
+				fi
+			done
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="-vv"
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+
+	[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+	sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
+
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-01-17 22:14 Mikle Kolyada
  0 siblings, 0 replies; 605+ messages in thread
From: Mikle Kolyada @ 2018-01-17 22:14 UTC (permalink / raw
  To: gentoo-commits

commit:     332b86c3e01ffa347bc7b32281ee61201a3a5c69
Author:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 17 22:11:15 2018 +0000
Commit:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Wed Jan 17 22:14:05 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=332b86c3

sys-libs/libcxx: amd64 stable wrt bug #644814

Package-Manager: Portage-2.3.19, Repoman-2.3.6

 sys-libs/libcxx/libcxx-5.0.1.ebuild | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-5.0.1.ebuild b/sys-libs/libcxx/libcxx-5.0.1.ebuild
index 43a14f9abb6..62e1063b3e7 100644
--- a/sys-libs/libcxx/libcxx-5.0.1.ebuild
+++ b/sys-libs/libcxx/libcxx-5.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -18,7 +18,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-01-18 21:25 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-01-18 21:25 UTC (permalink / raw
  To: gentoo-commits

commit:     0996b340defa8901f3c69e0e9106d17573280c44
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 18 21:10:17 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jan 18 21:25:07 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0996b340

sys-libs/libcxx: Drop old (5.0.0)

 sys-libs/libcxx/Manifest            |   1 -
 sys-libs/libcxx/libcxx-5.0.0.ebuild | 199 ------------------------------------
 2 files changed, 200 deletions(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 2ef3b9b6888..304aece43e9 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -3,5 +3,4 @@ DIST libcxx-3.8.1.src.tar.xz 1074164 BLAKE2B 8aa07974a0301684f852408a62c173084fb
 DIST libcxx-3.9.0.src.tar.xz 1198308 BLAKE2B 689fed969562466bd230445a0edb886880d1034c45d5387922d1dd307898547e5605035c5aa901f3e844be3c1b2d066cf27aa0b996d7ade176ee38a9f49ac98a SHA512 55d5c4adff378ee02b0b99d732bc9f326910f9e49ab8c320a588eccdd0362fe009bc9a6a4337d29faf6338420c91b10d0d7d67f66128268f01258d30502c4f4a
 DIST libcxx-3.9.1.src.tar.xz 1209020 BLAKE2B 510e77c2c1163babbba904933f441e8720b0d366b9f0cfa2cdde2401368c224e00efd66afc1403b0087c40549cda4ebbc4d0c4b2d0906178324fa6158502d5ad SHA512 a5976e4096624a7307b3e43f4a22ac2dc74572226e0f57af9f3ef537a14c3cff1601b7042aef9dc40a0ee53ca76b08d72eb9c253dcf34f115d3153c302db7070
 DIST libcxx-4.0.1.src.tar.xz 1446380 BLAKE2B cd871eff4c4ca25a1fe4d27f778e913fe536a0b5863ea7dd3c8895f6b743b6f039e4df71f9ba5124c98761a8099666f68e1dfd073b5ec7b9fe0007ef09a9117d SHA512 91f3f397be606989be99865d0b279557f9afb93f7a74ed10c3a74f4440e38b5694ddf452bbf2f487cacd4391606dd5c7edfe5130f2de19e2acfd6cce619d028a
-DIST libcxx-5.0.0.src.tar.xz 1518940 BLAKE2B 5ffb6dd99bef7cdf800dd458b4f9ef6ade9270221a60165cbbe8480f550235f12d877818c8272a04b5077e1f1c56f8e4dfde42dccfe6c1d8875ceed6fb339d5d SHA512 210749f6585d8fd39fc63a32dd85d68de4aa480c91915cbf419b9e8a3b300fa4624f03200ed963cecc8ab233777c36e8c522fa0762a2aa068bc65e6f48118328
 DIST libcxx-5.0.1.src.tar.xz 1527852 BLAKE2B 9454fbca8228ee456feb79b65a63ce5daa27bf2e47e457d79592f4974dceeace19fe6cdeee51cc51f94e9072d7ce3c03e5acb617507670153647b9c435feadbd SHA512 994681d3c79047fc2d618c5584b08e9b5c925dab48f8812fc0adc81a575b49a637e9481bb9a0f7ae6f7f352b2b33f40056c347c27123cd6c96c6c226febd002c

diff --git a/sys-libs/libcxx/libcxx-5.0.0.ebuild b/sys-libs/libcxx/libcxx-5.0.0.ebuild
deleted file mode 100644
index 43a14f9abb6..00000000000
--- a/sys-libs/libcxx/libcxx-5.0.0.ebuild
+++ /dev/null
@@ -1,199 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# Ninja provides better scalability and cleaner verbose output, and is used
-# throughout all LLVM projects.
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-multilib llvm python-any-r1 toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
-	?? ( libcxxabi libcxxrt )"
-
-RDEPEND="
-	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# LLVM 4 required for llvm-config --cmakedir
-# clang-3.9.0 installs necessary target symlinks unconditionally
-# which removes the need for MULTILIB_USEDEP
-DEPEND="${RDEPEND}
-	test? ( >=sys-devel/clang-3.9.0
-		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
-	app-arch/xz-utils
-	>=sys-devel/llvm-4"
-
-S=${WORKDIR}/${P/_/}.src
-
-DOCS=( CREDITS.TXT )
-
-PATCHES=(
-	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
-	# out-of-tree build.
-	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
-)
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
-	has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-	use test && python-any-r1_pkg_setup
-
-	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
-		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
-		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
-		eerror "and try again."
-		die
-	fi
-	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
-		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
-		eerror "conformant compilers). Please use gcc-config to switch to"
-		eerror "gcc-4.7 or later version."
-		die
-	fi
-}
-
-multilib_src_configure() {
-	local cxxabi cxxabi_incs
-	if use libcxxabi; then
-		cxxabi=libcxxabi
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
-	elif use libcxxrt; then
-		cxxabi=libcxxrt
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
-	else
-		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-		cxxabi=libsupc++
-		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-	fi
-
-	# we want -lgcc_s for unwinder, and for compiler runtime when using
-	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON
-	if use libunwind; then
-		# work-around missing -lunwind upstream
-		extra_libs+=( -lunwind )
-		# if we're using libunwind and clang with compiler-rt, we want
-		# to link to compiler-rt instead of -lgcc_s
-		if tc-is-clang; then
-			# get the full library list out of 'pretend mode'
-			# and grep it for libclang_rt references
-			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
-			local i
-			for i in "${args[@]}"; do
-				if [[ ${i} == *libclang_rt* ]]; then
-					want_gcc_s=OFF
-					extra_libs+=( "${i}" )
-				fi
-			done
-		fi
-	fi
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
-		-DLIBCXX_ENABLE_SHARED=ON
-		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-		-DLIBCXX_CXX_ABI=${cxxabi}
-		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-		# we're using our own mechanism for generating linker scripts
-		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-		-DLIBCXX_INCLUDE_TESTS=$(usex test)
-		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
-	)
-
-	if use test; then
-		mycmakeargs+=(
-			# this can be any directory, it just needs to exist...
-			# FIXME: remove this once https://reviews.llvm.org/D25093 is merged
-			-DLLVM_MAIN_SRC_DIR="${T}"
-			-DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
-		)
-	fi
-	cmake-utils_src_configure
-}
-
-multilib_src_test() {
-	local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-
-	[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-	sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
-
-	cmake-utils_src_make check-libcxx
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
-
-	# Move it first.
-	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
-	# Generate libc++.a ldscript for inclusion of its dependencies so that
-	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
-	# On Linux/glibc it does not link without libpthread or libdl. It is
-	# fine on FreeBSD.
-	use elibc_glibc && deps+=" libpthread.a libdl.a"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
-}
-
-gen_shared_ldscript() {
-	local libdir=$(get_libdir)
-	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
-
-	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-	gen_shared_ldscript
-	use static-libs && gen_static_ldscript
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-01-18 21:43 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-01-18 21:43 UTC (permalink / raw
  To: gentoo-commits

commit:     7d4b0a252a73ee7ff4dc4d5acdcebbf158559669
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 18 21:35:37 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jan 18 21:43:02 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d4b0a25

sys-libs/libcxx: Remove ~mips from old versions

Remove the ~mips keyword that was present only on old versions.
The package has never any reverse dependency on ~mips, and LLVM/Clang
is currently not keyworded for ~mips.

 sys-libs/libcxx/libcxx-3.7.1.ebuild | 2 +-
 sys-libs/libcxx/libcxx-3.8.1.ebuild | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-3.7.1.ebuild b/sys-libs/libcxx/libcxx-3.7.1.ebuild
index 3535d3d9404..c0caf08e81c 100644
--- a/sys-libs/libcxx/libcxx-3.7.1.ebuild
+++ b/sys-libs/libcxx/libcxx-3.7.1.ebuild
@@ -21,7 +21,7 @@ fi
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
 if [ "${PV%9999}" = "${PV}" ] ; then
-	KEYWORDS="~amd64 ~mips ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+	KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
 else
 	KEYWORDS=""
 fi

diff --git a/sys-libs/libcxx/libcxx-3.8.1.ebuild b/sys-libs/libcxx/libcxx-3.8.1.ebuild
index 33c990ecd40..98135711b43 100644
--- a/sys-libs/libcxx/libcxx-3.8.1.ebuild
+++ b/sys-libs/libcxx/libcxx-3.8.1.ebuild
@@ -21,7 +21,7 @@ fi
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
 if [ "${PV%9999}" = "${PV}" ] ; then
-	KEYWORDS="~amd64 ~mips ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+	KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
 else
 	KEYWORDS=""
 fi


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-01-18 21:43 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-01-18 21:43 UTC (permalink / raw
  To: gentoo-commits

commit:     67cbdd4707680f2346393e0041a51f65b9c8d135
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 18 21:36:24 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jan 18 21:43:03 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=67cbdd47

sys-libs/libcxx: Remove old 3.9.0 version

 sys-libs/libcxx/Manifest            |   1 -
 sys-libs/libcxx/libcxx-3.9.0.ebuild | 216 ------------------------------------
 2 files changed, 217 deletions(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 304aece43e9..d8e670586d7 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,6 +1,5 @@
 DIST libcxx-3.7.1.src.tar.xz 995724 BLAKE2B aab68f1b99a2c817e7154b71c04c81bd809154d1ae1c077a2dfede37319070729d6d768223b6ba5e2a866d6c2f18972dd501ce517864378ebc26c49cacafb635 SHA512 08d2399a8b36aa15290733256c896c9fa43f1a1223bc5c73bbcd014fddf8880e514d2a6dcc456bcf18b537c01fb6911b092e6d9958bccd8e64e9f375ed7a1ab9
 DIST libcxx-3.8.1.src.tar.xz 1074164 BLAKE2B 8aa07974a0301684f852408a62c173084fb913179bec951df3bae33895f8b46434eddc95b838cb936a5ef31f5b8ead25b7d0e241adc039eaea38ef95045c8ccb SHA512 782ff3cdb85d02e92404e943474d0266ff601725c202f0667d60e7807f1ba3cfdebbdb062e27a52fec96be1c99339044be93a88ba7e396682f98d99c9ac175b2
-DIST libcxx-3.9.0.src.tar.xz 1198308 BLAKE2B 689fed969562466bd230445a0edb886880d1034c45d5387922d1dd307898547e5605035c5aa901f3e844be3c1b2d066cf27aa0b996d7ade176ee38a9f49ac98a SHA512 55d5c4adff378ee02b0b99d732bc9f326910f9e49ab8c320a588eccdd0362fe009bc9a6a4337d29faf6338420c91b10d0d7d67f66128268f01258d30502c4f4a
 DIST libcxx-3.9.1.src.tar.xz 1209020 BLAKE2B 510e77c2c1163babbba904933f441e8720b0d366b9f0cfa2cdde2401368c224e00efd66afc1403b0087c40549cda4ebbc4d0c4b2d0906178324fa6158502d5ad SHA512 a5976e4096624a7307b3e43f4a22ac2dc74572226e0f57af9f3ef537a14c3cff1601b7042aef9dc40a0ee53ca76b08d72eb9c253dcf34f115d3153c302db7070
 DIST libcxx-4.0.1.src.tar.xz 1446380 BLAKE2B cd871eff4c4ca25a1fe4d27f778e913fe536a0b5863ea7dd3c8895f6b743b6f039e4df71f9ba5124c98761a8099666f68e1dfd073b5ec7b9fe0007ef09a9117d SHA512 91f3f397be606989be99865d0b279557f9afb93f7a74ed10c3a74f4440e38b5694ddf452bbf2f487cacd4391606dd5c7edfe5130f2de19e2acfd6cce619d028a
 DIST libcxx-5.0.1.src.tar.xz 1527852 BLAKE2B 9454fbca8228ee456feb79b65a63ce5daa27bf2e47e457d79592f4974dceeace19fe6cdeee51cc51f94e9072d7ce3c03e5acb617507670153647b9c435feadbd SHA512 994681d3c79047fc2d618c5584b08e9b5c925dab48f8812fc0adc81a575b49a637e9481bb9a0f7ae6f7f352b2b33f40056c347c27123cd6c96c6c226febd002c

diff --git a/sys-libs/libcxx/libcxx-3.9.0.ebuild b/sys-libs/libcxx/libcxx-3.9.0.ebuild
deleted file mode 100644
index 185bbc3d7be..00000000000
--- a/sys-libs/libcxx/libcxx-3.9.0.ebuild
+++ /dev/null
@@ -1,216 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# Ninja provides better scalability and cleaner verbose output, and is used
-# throughout all LLVM projects.
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-EGIT_REPO_URI="https://llvm.org/git/libcxx.git
-	https://github.com/llvm-mirror/libcxx.git"
-PYTHON_COMPAT=( python2_7 )
-
-[[ ${PV} == 9999 ]] && SCM="git-r3" || SCM=""
-
-inherit ${SCM} cmake-multilib python-any-r1 toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-if [[ ${PV} != 9999 ]] ; then
-	SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz"
-	S="${WORKDIR}/${P}.src"
-else
-	SRC_URI=""
-fi
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-if [[ ${PV} != 9999 ]] ; then
-	KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
-else
-	KEYWORDS=""
-fi
-IUSE="elibc_glibc elibc_musl libcxxabi +libcxxrt libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
-	?? ( libcxxabi libcxxrt )"
-
-RDEPEND="
-	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# llvm-3.9.0 needed because its cmake files installation path changed, which is
-# needed by libcxx
-# clang-3.9.0 installs necessary target symlinks unconditionally
-# which removes the need for MULTILIB_USEDEP
-DEPEND="${RDEPEND}
-	test? ( >=sys-devel/clang-3.9.0
-		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
-	app-arch/xz-utils
-	>=sys-devel/llvm-3.9.0"
-
-DOCS=( CREDITS.TXT )
-
-PATCHES=(
-	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
-	# out-of-tree build.
-	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
-
-	# Back-port of https://reviews.llvm.org/D23232, allowing building both
-	# shared and static libs in one run.
-	"${FILESDIR}/${PN}-3.9-cmake-static-lib.patch"
-)
-
-python_check_deps() {
-	has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	use test && python-any-r1_pkg_setup
-
-	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
-		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
-		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
-		eerror "and try again."
-		die
-	fi
-	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
-		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
-		eerror "conformant compilers). Please use gcc-config to switch to"
-		eerror "gcc-4.7 or later version."
-		die
-	fi
-}
-
-src_configure() {
-	NATIVE_LIBDIR=$(get_libdir)
-	cmake-multilib_src_configure
-}
-
-multilib_src_configure() {
-	local cxxabi cxxabi_incs
-	if use libcxxabi; then
-		cxxabi=libcxxabi
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
-	elif use libcxxrt; then
-		cxxabi=libcxxrt
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
-	else
-		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-		cxxabi=libsupc++
-		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-	fi
-
-	# we want -lgcc_s for unwinder, and for compiler runtime when using
-	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON
-	if use libunwind; then
-		# work-around missing -lunwind upstream
-		extra_libs+=( -lunwind )
-		# if we're using libunwind and clang with compiler-rt, we want
-		# to link to compiler-rt instead of -lgcc_s
-		if tc-is-clang; then
-			# get the full library list out of 'pretend mode'
-			# and grep it for libclang_rt references
-			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
-			local i
-			for i in "${args[@]}"; do
-				if [[ ${i} == *libclang_rt* ]]; then
-					want_gcc_s=OFF
-					extra_libs+=( "${i}" )
-				fi
-			done
-		fi
-	fi
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		# LLVM_LIBDIR_SUFFIX is used to find CMake files
-		# and we are happy to use the native set
-		-DLLVM_LIBDIR_SUFFIX=${NATIVE_LIBDIR#lib}
-		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
-		-DLIBCXX_ENABLE_SHARED=ON
-		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-		-DLIBCXX_CXX_ABI=${cxxabi}
-		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-		# we're using our own mechanism for generating linker scripts
-		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-		-DLIBCXX_INCLUDE_TESTS=$(usex test)
-		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
-	)
-
-	if use test; then
-		mycmakeargs+=(
-			# this can be any directory, it just needs to exist...
-			-DLLVM_MAIN_SRC_DIR="${T}"
-			-DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
-		)
-	fi
-	cmake-utils_src_configure
-}
-
-multilib_src_test() {
-	local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-
-	[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-	sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
-
-	cmake-utils_src_make check-libcxx
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
-
-	# Move it first.
-	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
-	# Generate libc++.a ldscript for inclusion of its dependencies so that
-	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
-	# On Linux/glibc it does not link without libpthread or libdl. It is
-	# fine on FreeBSD.
-	use elibc_glibc && deps+=" libpthread.a libdl.a"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
-}
-
-gen_shared_ldscript() {
-	local libdir=$(get_libdir)
-	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
-
-	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-	gen_shared_ldscript
-	use static-libs && gen_static_ldscript
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-01-20  8:54 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-01-20  8:54 UTC (permalink / raw
  To: gentoo-commits

commit:     ecbf5dd09569d8ec3e6eea1a94363d166bcdae7b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 20 08:46:03 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jan 20 08:54:40 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ecbf5dd0

sys-libs/libcxx: Bump LLVM macro dep to 6

Require macros provided by LLVM 6 due to new lit options.

 sys-libs/libcxx/libcxx-6.0.9999.ebuild | 4 ++--
 sys-libs/libcxx/libcxx-9999.ebuild     | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-6.0.9999.ebuild b/sys-libs/libcxx/libcxx-6.0.9999.ebuild
index 803726e9d93..55b19b88f38 100644
--- a/sys-libs/libcxx/libcxx-6.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-6.0.9999.ebuild
@@ -42,14 +42,14 @@ RDEPEND="
 	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
 	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
 	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# LLVM 4 required for llvm-config --cmakedir
+# llvm-6 for new lit options
 # clang-3.9.0 installs necessary target symlinks unconditionally
 # which removes the need for MULTILIB_USEDEP
 DEPEND="${RDEPEND}
 	test? ( >=sys-devel/clang-3.9.0
 		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
 	app-arch/xz-utils
-	>=sys-devel/llvm-4"
+	>=sys-devel/llvm-6"
 
 DOCS=( CREDITS.TXT )
 

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index cbc6f0f2df6..9ad293ef786 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -41,14 +41,14 @@ RDEPEND="
 	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
 	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
 	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# LLVM 4 required for llvm-config --cmakedir
+# llvm-6 for new lit options
 # clang-3.9.0 installs necessary target symlinks unconditionally
 # which removes the need for MULTILIB_USEDEP
 DEPEND="${RDEPEND}
 	test? ( >=sys-devel/clang-3.9.0
 		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
 	app-arch/xz-utils
-	>=sys-devel/llvm-4"
+	>=sys-devel/llvm-6"
 
 DOCS=( CREDITS.TXT )
 


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-01-29  1:06 Thomas Deutschmann
  0 siblings, 0 replies; 605+ messages in thread
From: Thomas Deutschmann @ 2018-01-29  1:06 UTC (permalink / raw
  To: gentoo-commits

commit:     b4926a5bfc67f90c02418d398837f9d94ddef57b
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 29 00:36:38 2018 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Mon Jan 29 00:36:38 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b4926a5b

sys-libs/libcxx: x86 stable (bug #644814)

Package-Manager: Portage-2.3.20, Repoman-2.3.6

 sys-libs/libcxx/libcxx-5.0.1.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/libcxx-5.0.1.ebuild b/sys-libs/libcxx/libcxx-5.0.1.ebuild
index 62e1063b3e7..ff69acef179 100644
--- a/sys-libs/libcxx/libcxx-5.0.1.ebuild
+++ b/sys-libs/libcxx/libcxx-5.0.1.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 x86"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-02-09 16:00 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-02-09 16:00 UTC (permalink / raw
  To: gentoo-commits

commit:     813f828361ceaae8944253e19c381a9683eb055a
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Feb  9 10:13:30 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Feb  9 16:00:06 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=813f8283

sys-libs/libcxx: Bump to 6.0.0rc2

 sys-libs/libcxx/Manifest                |   1 +
 sys-libs/libcxx/libcxx-6.0.0_rc2.ebuild | 198 ++++++++++++++++++++++++++++++++
 2 files changed, 199 insertions(+)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 9e115253237..6d10cd08857 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -2,3 +2,4 @@ DIST libcxx-3.7.1.src.tar.xz 995724 BLAKE2B aab68f1b99a2c817e7154b71c04c81bd8091
 DIST libcxx-3.9.1.src.tar.xz 1209020 BLAKE2B 510e77c2c1163babbba904933f441e8720b0d366b9f0cfa2cdde2401368c224e00efd66afc1403b0087c40549cda4ebbc4d0c4b2d0906178324fa6158502d5ad SHA512 a5976e4096624a7307b3e43f4a22ac2dc74572226e0f57af9f3ef537a14c3cff1601b7042aef9dc40a0ee53ca76b08d72eb9c253dcf34f115d3153c302db7070
 DIST libcxx-4.0.1.src.tar.xz 1446380 BLAKE2B cd871eff4c4ca25a1fe4d27f778e913fe536a0b5863ea7dd3c8895f6b743b6f039e4df71f9ba5124c98761a8099666f68e1dfd073b5ec7b9fe0007ef09a9117d SHA512 91f3f397be606989be99865d0b279557f9afb93f7a74ed10c3a74f4440e38b5694ddf452bbf2f487cacd4391606dd5c7edfe5130f2de19e2acfd6cce619d028a
 DIST libcxx-5.0.1.src.tar.xz 1527852 BLAKE2B 9454fbca8228ee456feb79b65a63ce5daa27bf2e47e457d79592f4974dceeace19fe6cdeee51cc51f94e9072d7ce3c03e5acb617507670153647b9c435feadbd SHA512 994681d3c79047fc2d618c5584b08e9b5c925dab48f8812fc0adc81a575b49a637e9481bb9a0f7ae6f7f352b2b33f40056c347c27123cd6c96c6c226febd002c
+DIST libcxx-6.0.0rc2.src.tar.xz 1554124 BLAKE2B c1d270c4c102c7622138e00628bf863f4047018ecf859386358449da2b7afdf2fe7a9cf969fa96f678960fd4cc343c26e89d6e95e594eeacef3d0d18157f9cff SHA512 3f0a032c4670076ead80bb03b3b7a565dfaf6526c9309f4453a455463038d3e7960bf93f2393f6dd2bd8b7f1ea145555b9599edae54dba7ede97cf0d8240cc4f

diff --git a/sys-libs/libcxx/libcxx-6.0.0_rc2.ebuild b/sys-libs/libcxx/libcxx-6.0.0_rc2.ebuild
new file mode 100644
index 00000000000..8d32cbd678f
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-6.0.0_rc2.ebuild
@@ -0,0 +1,198 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-multilib llvm python-any-r1 toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+SRC_URI="http://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS=""
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# llvm-6 for new lit options
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+	app-arch/xz-utils
+	>=sys-devel/llvm-6"
+
+S=${WORKDIR}/${P/_/}.src
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+multilib_src_configure() {
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			# get the full library list out of 'pretend mode'
+			# and grep it for libclang_rt references
+			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
+			local i
+			for i in "${args[@]}"; do
+				if [[ ${i} == *libclang_rt* ]]; then
+					want_gcc_s=OFF
+					extra_libs+=( "${i}" )
+				fi
+			done
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="-vv"
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+
+	[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+	sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
+
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-02-26 14:05 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-02-26 14:05 UTC (permalink / raw
  To: gentoo-commits

commit:     aae26daf4bc1b00f8b364fe44b34a742508542a6
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 26 14:04:38 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Feb 26 14:05:48 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aae26daf

sys-libs/libcxx: Bump to 6.0.0rc3

 sys-libs/libcxx/Manifest                                             | 2 +-
 sys-libs/libcxx/{libcxx-6.0.0_rc2.ebuild => libcxx-6.0.0_rc3.ebuild} | 0
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 6d10cd08857..c0d0b9c85e0 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -2,4 +2,4 @@ DIST libcxx-3.7.1.src.tar.xz 995724 BLAKE2B aab68f1b99a2c817e7154b71c04c81bd8091
 DIST libcxx-3.9.1.src.tar.xz 1209020 BLAKE2B 510e77c2c1163babbba904933f441e8720b0d366b9f0cfa2cdde2401368c224e00efd66afc1403b0087c40549cda4ebbc4d0c4b2d0906178324fa6158502d5ad SHA512 a5976e4096624a7307b3e43f4a22ac2dc74572226e0f57af9f3ef537a14c3cff1601b7042aef9dc40a0ee53ca76b08d72eb9c253dcf34f115d3153c302db7070
 DIST libcxx-4.0.1.src.tar.xz 1446380 BLAKE2B cd871eff4c4ca25a1fe4d27f778e913fe536a0b5863ea7dd3c8895f6b743b6f039e4df71f9ba5124c98761a8099666f68e1dfd073b5ec7b9fe0007ef09a9117d SHA512 91f3f397be606989be99865d0b279557f9afb93f7a74ed10c3a74f4440e38b5694ddf452bbf2f487cacd4391606dd5c7edfe5130f2de19e2acfd6cce619d028a
 DIST libcxx-5.0.1.src.tar.xz 1527852 BLAKE2B 9454fbca8228ee456feb79b65a63ce5daa27bf2e47e457d79592f4974dceeace19fe6cdeee51cc51f94e9072d7ce3c03e5acb617507670153647b9c435feadbd SHA512 994681d3c79047fc2d618c5584b08e9b5c925dab48f8812fc0adc81a575b49a637e9481bb9a0f7ae6f7f352b2b33f40056c347c27123cd6c96c6c226febd002c
-DIST libcxx-6.0.0rc2.src.tar.xz 1554124 BLAKE2B c1d270c4c102c7622138e00628bf863f4047018ecf859386358449da2b7afdf2fe7a9cf969fa96f678960fd4cc343c26e89d6e95e594eeacef3d0d18157f9cff SHA512 3f0a032c4670076ead80bb03b3b7a565dfaf6526c9309f4453a455463038d3e7960bf93f2393f6dd2bd8b7f1ea145555b9599edae54dba7ede97cf0d8240cc4f
+DIST libcxx-6.0.0rc3.src.tar.xz 1554184 BLAKE2B 87c55bf9a18aa6fff2cd6c323ac99454273686e2697b0efa3152114ff402a4015e9b6bb6236bc0760b97d9f8038b70b56da4b9fd3ac3e7b31bd4305f881f216f SHA512 0d42d0298d824c6adca3c85bb0c49534438278d27c2777609887f5c6bee5d9bcc9f5595f2835f5149a00335a0e3096a056969388d13088457a2853e70cbea966

diff --git a/sys-libs/libcxx/libcxx-6.0.0_rc2.ebuild b/sys-libs/libcxx/libcxx-6.0.0_rc3.ebuild
similarity index 100%
rename from sys-libs/libcxx/libcxx-6.0.0_rc2.ebuild
rename to sys-libs/libcxx/libcxx-6.0.0_rc3.ebuild


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-03-08 22:19 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-03-08 22:19 UTC (permalink / raw
  To: gentoo-commits

commit:     a52e0c5fb8201c23ce814fbf20bc4e7a7d35316f
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Mar  8 22:03:56 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Mar  8 22:18:57 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a52e0c5f

sys-libs/libcxx: Control lit job count

Closes: https://bugs.gentoo.org/649554

 sys-libs/libcxx/libcxx-6.0.9999.ebuild | 5 +++--
 sys-libs/libcxx/libcxx-9999.ebuild     | 5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-6.0.9999.ebuild b/sys-libs/libcxx/libcxx-6.0.9999.ebuild
index 55b19b88f38..cf76bba5fdf 100644
--- a/sys-libs/libcxx/libcxx-6.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-6.0.9999.ebuild
@@ -15,7 +15,8 @@ PYTHON_COMPAT=( python2_7 )
 
 [[ ${PV} == *9999 ]] && SCM="git-r3" || SCM=""
 
-inherit ${SCM} cmake-multilib llvm python-any-r1 toolchain-funcs
+inherit ${SCM} cmake-multilib llvm multiprocessing python-any-r1 \
+	toolchain-funcs
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="https://libcxx.llvm.org/"
@@ -138,7 +139,7 @@ multilib_src_configure() {
 	if use test; then
 		mycmakeargs+=(
 			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="-vv"
+			-DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
 		)
 	fi
 	cmake-utils_src_configure

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index 9ad293ef786..214c61d31f6 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -14,7 +14,8 @@ PYTHON_COMPAT=( python2_7 )
 
 [[ ${PV} == 9999 ]] && SCM="git-r3" || SCM=""
 
-inherit ${SCM} cmake-multilib llvm python-any-r1 toolchain-funcs
+inherit ${SCM} cmake-multilib llvm multiprocessing python-any-r1 \
+	toolchain-funcs
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="https://libcxx.llvm.org/"
@@ -137,7 +138,7 @@ multilib_src_configure() {
 	if use test; then
 		mycmakeargs+=(
 			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="-vv"
+			-DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
 		)
 	fi
 	cmake-utils_src_configure


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-03-09 14:58 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-03-09 14:58 UTC (permalink / raw
  To: gentoo-commits

commit:     aa86d6427c27bd9afd612536e2317b9fdd3755b1
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Mar  9 08:44:58 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Mar  9 14:58:31 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aa86d642

sys-libs/libcxx: Bump to 6.0.0 final

 sys-libs/libcxx/Manifest                                         | 2 +-
 sys-libs/libcxx/{libcxx-6.0.0_rc3.ebuild => libcxx-6.0.0.ebuild} | 9 +++++----
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index c0d0b9c85e0..4b23dd3bcea 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -2,4 +2,4 @@ DIST libcxx-3.7.1.src.tar.xz 995724 BLAKE2B aab68f1b99a2c817e7154b71c04c81bd8091
 DIST libcxx-3.9.1.src.tar.xz 1209020 BLAKE2B 510e77c2c1163babbba904933f441e8720b0d366b9f0cfa2cdde2401368c224e00efd66afc1403b0087c40549cda4ebbc4d0c4b2d0906178324fa6158502d5ad SHA512 a5976e4096624a7307b3e43f4a22ac2dc74572226e0f57af9f3ef537a14c3cff1601b7042aef9dc40a0ee53ca76b08d72eb9c253dcf34f115d3153c302db7070
 DIST libcxx-4.0.1.src.tar.xz 1446380 BLAKE2B cd871eff4c4ca25a1fe4d27f778e913fe536a0b5863ea7dd3c8895f6b743b6f039e4df71f9ba5124c98761a8099666f68e1dfd073b5ec7b9fe0007ef09a9117d SHA512 91f3f397be606989be99865d0b279557f9afb93f7a74ed10c3a74f4440e38b5694ddf452bbf2f487cacd4391606dd5c7edfe5130f2de19e2acfd6cce619d028a
 DIST libcxx-5.0.1.src.tar.xz 1527852 BLAKE2B 9454fbca8228ee456feb79b65a63ce5daa27bf2e47e457d79592f4974dceeace19fe6cdeee51cc51f94e9072d7ce3c03e5acb617507670153647b9c435feadbd SHA512 994681d3c79047fc2d618c5584b08e9b5c925dab48f8812fc0adc81a575b49a637e9481bb9a0f7ae6f7f352b2b33f40056c347c27123cd6c96c6c226febd002c
-DIST libcxx-6.0.0rc3.src.tar.xz 1554184 BLAKE2B 87c55bf9a18aa6fff2cd6c323ac99454273686e2697b0efa3152114ff402a4015e9b6bb6236bc0760b97d9f8038b70b56da4b9fd3ac3e7b31bd4305f881f216f SHA512 0d42d0298d824c6adca3c85bb0c49534438278d27c2777609887f5c6bee5d9bcc9f5595f2835f5149a00335a0e3096a056969388d13088457a2853e70cbea966
+DIST libcxx-6.0.0.src.tar.xz 1549328 BLAKE2B 93adb339b0e849fca1850d379c8e74b407b0db8220f3a05f888db70d83ad07c3200dbd2a7827f92c60a2ba91d3395e4d1b4434ba70479c29a95aceda6c213e02 SHA512 3d93910f85a778f36c5f7a4429639008acba5713a2c8ac79a9de09463af6f9a388af45d39af23423a7223660701697ba067f3391f25d5a970973691dd88635e3

diff --git a/sys-libs/libcxx/libcxx-6.0.0_rc3.ebuild b/sys-libs/libcxx/libcxx-6.0.0.ebuild
similarity index 95%
rename from sys-libs/libcxx/libcxx-6.0.0_rc3.ebuild
rename to sys-libs/libcxx/libcxx-6.0.0.ebuild
index 8d32cbd678f..1ec80e8bca1 100644
--- a/sys-libs/libcxx/libcxx-6.0.0_rc3.ebuild
+++ b/sys-libs/libcxx/libcxx-6.0.0.ebuild
@@ -10,15 +10,16 @@ EAPI=6
 CMAKE_MIN_VERSION=3.7.0-r1
 PYTHON_COMPAT=( python2_7 )
 
-inherit cmake-multilib llvm python-any-r1 toolchain-funcs
+inherit cmake-multilib llvm multiprocessing python-any-r1 \
+	toolchain-funcs
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="https://libcxx.llvm.org/"
-SRC_URI="http://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS=""
+KEYWORDS="~amd64 ~arm64 ~x86"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"
@@ -126,7 +127,7 @@ multilib_src_configure() {
 	if use test; then
 		mycmakeargs+=(
 			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="-vv"
+			-DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
 		)
 	fi
 	cmake-utils_src_configure


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-03-09 15:46 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-03-09 15:46 UTC (permalink / raw
  To: gentoo-commits

commit:     76f2d2efcfac5208dc8a91d0e4c54f8ca6b0f34d
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Mar  9 15:37:57 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Mar  9 15:46:30 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=76f2d2ef

sys-libs/libcxx: Dekeyword ~arm* due to deps

 sys-libs/libcxx/libcxx-6.0.0.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/libcxx-6.0.0.ebuild b/sys-libs/libcxx/libcxx-6.0.0.ebuild
index 1ec80e8bca1..9c9b75e3d7f 100644
--- a/sys-libs/libcxx/libcxx-6.0.0.ebuild
+++ b/sys-libs/libcxx/libcxx-6.0.0.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="~amd64 ~x86"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-03-09 23:11 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-03-09 23:11 UTC (permalink / raw
  To: gentoo-commits

commit:     54a35a5810b0475469b43d235f050cf8a8b7a54e
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Mar  9 23:05:14 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Mar  9 23:11:26 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=54a35a58

sys-libs/libcxx: Try building with -nodefaultlibs for bootstrap

Add a hack that appends -nodefaultlibs if the C++ compiler fails to link
software otherwise. This is based on what we do in sys-libs/compiler-rt
already and it should make it possible to bootstrap libc++ on systems
without C++ standard library.

 sys-libs/libcxx/libcxx-6.0.0.ebuild    | 14 ++++++++++++++
 sys-libs/libcxx/libcxx-6.0.9999.ebuild | 14 ++++++++++++++
 sys-libs/libcxx/libcxx-9999.ebuild     | 14 ++++++++++++++
 3 files changed, 42 insertions(+)

diff --git a/sys-libs/libcxx/libcxx-6.0.0.ebuild b/sys-libs/libcxx/libcxx-6.0.0.ebuild
index 9c9b75e3d7f..0948ab0c682 100644
--- a/sys-libs/libcxx/libcxx-6.0.0.ebuild
+++ b/sys-libs/libcxx/libcxx-6.0.0.ebuild
@@ -73,6 +73,11 @@ pkg_setup() {
 	fi
 }
 
+test_compiler() {
+	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+		<<<'int main() { return 0; }' &>/dev/null
+}
+
 multilib_src_configure() {
 	local cxxabi cxxabi_incs
 	if use libcxxabi; then
@@ -109,6 +114,15 @@ multilib_src_configure() {
 		fi
 	fi
 
+	# bootstrap: cmake is unhappy if compiler can't link to stdlib
+	local nolib_flags=( -nodefaultlibs -lc )
+	if ! test_compiler; then
+		if test_compiler "${nolib_flags[@]}"; then
+			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+		fi
+	fi
+
 	local libdir=$(get_libdir)
 	local mycmakeargs=(
 		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}

diff --git a/sys-libs/libcxx/libcxx-6.0.9999.ebuild b/sys-libs/libcxx/libcxx-6.0.9999.ebuild
index cf76bba5fdf..4e687c722c6 100644
--- a/sys-libs/libcxx/libcxx-6.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-6.0.9999.ebuild
@@ -85,6 +85,11 @@ pkg_setup() {
 	fi
 }
 
+test_compiler() {
+	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+		<<<'int main() { return 0; }' &>/dev/null
+}
+
 multilib_src_configure() {
 	local cxxabi cxxabi_incs
 	if use libcxxabi; then
@@ -121,6 +126,15 @@ multilib_src_configure() {
 		fi
 	fi
 
+	# bootstrap: cmake is unhappy if compiler can't link to stdlib
+	local nolib_flags=( -nodefaultlibs -lc )
+	if ! test_compiler; then
+		if test_compiler "${nolib_flags[@]}"; then
+			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+		fi
+	fi
+
 	local libdir=$(get_libdir)
 	local mycmakeargs=(
 		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index 214c61d31f6..f304a076c17 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -84,6 +84,11 @@ pkg_setup() {
 	fi
 }
 
+test_compiler() {
+	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+		<<<'int main() { return 0; }' &>/dev/null
+}
+
 multilib_src_configure() {
 	local cxxabi cxxabi_incs
 	if use libcxxabi; then
@@ -120,6 +125,15 @@ multilib_src_configure() {
 		fi
 	fi
 
+	# bootstrap: cmake is unhappy if compiler can't link to stdlib
+	local nolib_flags=( -nodefaultlibs -lc )
+	if ! test_compiler; then
+		if test_compiler "${nolib_flags[@]}"; then
+			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+		fi
+	fi
+
 	local libdir=$(get_libdir)
 	local mycmakeargs=(
 		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-03-11 18:19 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-03-11 18:19 UTC (permalink / raw
  To: gentoo-commits

commit:     a3a0f70141375d1840cc9c86e822418376df0975
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 11 18:15:31 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Mar 11 18:19:30 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a3a0f701

sys-libs/libcxx: 6.0.0 tested on ~amd64-fbsd

 sys-libs/libcxx/libcxx-6.0.0.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/libcxx-6.0.0.ebuild b/sys-libs/libcxx/libcxx-6.0.0.ebuild
index 0948ab0c682..c890013f25c 100644
--- a/sys-libs/libcxx/libcxx-6.0.0.ebuild
+++ b/sys-libs/libcxx/libcxx-6.0.0.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~x86 ~amd64-fbsd"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-03-13 17:40 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-03-13 17:40 UTC (permalink / raw
  To: gentoo-commits

commit:     960537c32572db324a6dee32031d874913bfb614
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 13 17:36:55 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Mar 13 17:40:51 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=960537c3

sys-libs/libcxx: Restore ~arm64 keywords, bug #650024

 sys-libs/libcxx/libcxx-6.0.0.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/libcxx-6.0.0.ebuild b/sys-libs/libcxx/libcxx-6.0.0.ebuild
index c890013f25c..284a0aa9eb5 100644
--- a/sys-libs/libcxx/libcxx-6.0.0.ebuild
+++ b/sys-libs/libcxx/libcxx-6.0.0.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-fbsd"
+KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-03-15 21:12 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-03-15 21:12 UTC (permalink / raw
  To: gentoo-commits

commit:     a00dd8003961520df1f52cf9fa5f069fc62d8607
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 15 20:58:49 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Mar 15 21:12:43 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a00dd800

sys-libs/libcxx: Fix calling lit with llvm-6+

 sys-libs/libcxx/libcxx-4.0.1.ebuild | 10 +++++++++-
 sys-libs/libcxx/libcxx-5.0.1.ebuild | 10 +++++++++-
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-4.0.1.ebuild b/sys-libs/libcxx/libcxx-4.0.1.ebuild
index 8b6e05f5ff3..64f610ce5bb 100644
--- a/sys-libs/libcxx/libcxx-4.0.1.ebuild
+++ b/sys-libs/libcxx/libcxx-4.0.1.ebuild
@@ -127,8 +127,16 @@ multilib_src_configure() {
 			# this can be any directory, it just needs to exist...
 			# FIXME: remove this once https://reviews.llvm.org/D25093 is merged
 			-DLLVM_MAIN_SRC_DIR="${T}"
-			-DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
 		)
+		if has_version '>=sys-devel/llvm-6'; then
+			mycmakeargs+=(
+				-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			)
+		else
+			mycmakeargs+=(
+				-DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
+			)
+		fi
 	fi
 	cmake-utils_src_configure
 }

diff --git a/sys-libs/libcxx/libcxx-5.0.1.ebuild b/sys-libs/libcxx/libcxx-5.0.1.ebuild
index ff69acef179..885f8b13182 100644
--- a/sys-libs/libcxx/libcxx-5.0.1.ebuild
+++ b/sys-libs/libcxx/libcxx-5.0.1.ebuild
@@ -127,8 +127,16 @@ multilib_src_configure() {
 			# this can be any directory, it just needs to exist...
 			# FIXME: remove this once https://reviews.llvm.org/D25093 is merged
 			-DLLVM_MAIN_SRC_DIR="${T}"
-			-DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
 		)
+		if has_version '>=sys-devel/llvm-6'; then
+			mycmakeargs+=(
+				-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			)
+		else
+			mycmakeargs+=(
+				-DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
+			)
+		fi
 	fi
 	cmake-utils_src_configure
 }


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-03-16  9:32 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-03-16  9:32 UTC (permalink / raw
  To: gentoo-commits

commit:     3df40c194fe778ed17d0fa9d1eee1a4d626eef89
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 16 09:20:06 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Mar 16 09:32:45 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3df40c19

sys-libs/libcxx: Pass cxx_under_test via --param (in 6+)

 sys-libs/libcxx/libcxx-6.0.0.ebuild    | 12 ++++++------
 sys-libs/libcxx/libcxx-6.0.9999.ebuild | 12 ++++++------
 sys-libs/libcxx/libcxx-9999.ebuild     | 12 ++++++------
 3 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-6.0.0.ebuild b/sys-libs/libcxx/libcxx-6.0.0.ebuild
index 284a0aa9eb5..5301d5f1fe6 100644
--- a/sys-libs/libcxx/libcxx-6.0.0.ebuild
+++ b/sys-libs/libcxx/libcxx-6.0.0.ebuild
@@ -139,20 +139,20 @@ multilib_src_configure() {
 	)
 
 	if use test; then
+		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
 		mycmakeargs+=(
 			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
 		)
 	fi
 	cmake-utils_src_configure
 }
 
 multilib_src_test() {
-	local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-
-	[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-	sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
-
 	cmake-utils_src_make check-libcxx
 }
 

diff --git a/sys-libs/libcxx/libcxx-6.0.9999.ebuild b/sys-libs/libcxx/libcxx-6.0.9999.ebuild
index 4e687c722c6..7454f776ff6 100644
--- a/sys-libs/libcxx/libcxx-6.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-6.0.9999.ebuild
@@ -151,20 +151,20 @@ multilib_src_configure() {
 	)
 
 	if use test; then
+		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
 		mycmakeargs+=(
 			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
 		)
 	fi
 	cmake-utils_src_configure
 }
 
 multilib_src_test() {
-	local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-
-	[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-	sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
-
 	cmake-utils_src_make check-libcxx
 }
 

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index f304a076c17..a4fdb61c8c7 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -150,20 +150,20 @@ multilib_src_configure() {
 	)
 
 	if use test; then
+		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
 		mycmakeargs+=(
 			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
 		)
 	fi
 	cmake-utils_src_configure
 }
 
 multilib_src_test() {
-	local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-
-	[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-	sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
-
 	cmake-utils_src_make check-libcxx
 }
 


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-05-05 15:27 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-05-05 15:27 UTC (permalink / raw
  To: gentoo-commits

commit:     f82bcddc2e22335bb6a2022fe3bd4475ba1006b5
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu May  3 16:35:02 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat May  5 15:27:49 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f82bcddc

sys-libs/libcxx: Bump to 5.0.2

 sys-libs/libcxx/Manifest            |   1 +
 sys-libs/libcxx/libcxx-5.0.2.ebuild | 207 ++++++++++++++++++++++++++++++++++++
 2 files changed, 208 insertions(+)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 4b23dd3bcea..04b47af3ad5 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -2,4 +2,5 @@ DIST libcxx-3.7.1.src.tar.xz 995724 BLAKE2B aab68f1b99a2c817e7154b71c04c81bd8091
 DIST libcxx-3.9.1.src.tar.xz 1209020 BLAKE2B 510e77c2c1163babbba904933f441e8720b0d366b9f0cfa2cdde2401368c224e00efd66afc1403b0087c40549cda4ebbc4d0c4b2d0906178324fa6158502d5ad SHA512 a5976e4096624a7307b3e43f4a22ac2dc74572226e0f57af9f3ef537a14c3cff1601b7042aef9dc40a0ee53ca76b08d72eb9c253dcf34f115d3153c302db7070
 DIST libcxx-4.0.1.src.tar.xz 1446380 BLAKE2B cd871eff4c4ca25a1fe4d27f778e913fe536a0b5863ea7dd3c8895f6b743b6f039e4df71f9ba5124c98761a8099666f68e1dfd073b5ec7b9fe0007ef09a9117d SHA512 91f3f397be606989be99865d0b279557f9afb93f7a74ed10c3a74f4440e38b5694ddf452bbf2f487cacd4391606dd5c7edfe5130f2de19e2acfd6cce619d028a
 DIST libcxx-5.0.1.src.tar.xz 1527852 BLAKE2B 9454fbca8228ee456feb79b65a63ce5daa27bf2e47e457d79592f4974dceeace19fe6cdeee51cc51f94e9072d7ce3c03e5acb617507670153647b9c435feadbd SHA512 994681d3c79047fc2d618c5584b08e9b5c925dab48f8812fc0adc81a575b49a637e9481bb9a0f7ae6f7f352b2b33f40056c347c27123cd6c96c6c226febd002c
+DIST libcxx-5.0.2.src.tar.xz 1530908 BLAKE2B e0c47d6803668267a71c75df873a136a2c3bec3732a08c365107b286f6dfef883edb81f9f4d22a0f312228865528bf1f15450c41803f8d3a8c8081fe12b62c25 SHA512 c77e0ea6bb3dc03270312de4a24fdd0d027448b2e182af31489031fd52f0997377c9049769930b80b2ba0062fe21317d8ae823c5e80e12128f8ae8e6f171be22
 DIST libcxx-6.0.0.src.tar.xz 1549328 BLAKE2B 93adb339b0e849fca1850d379c8e74b407b0db8220f3a05f888db70d83ad07c3200dbd2a7827f92c60a2ba91d3395e4d1b4434ba70479c29a95aceda6c213e02 SHA512 3d93910f85a778f36c5f7a4429639008acba5713a2c8ac79a9de09463af6f9a388af45d39af23423a7223660701697ba067f3391f25d5a970973691dd88635e3

diff --git a/sys-libs/libcxx/libcxx-5.0.2.ebuild b/sys-libs/libcxx/libcxx-5.0.2.ebuild
new file mode 100644
index 00000000000..40c9547f335
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-5.0.2.ebuild
@@ -0,0 +1,207 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-multilib llvm python-any-r1 toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# LLVM 4 required for llvm-config --cmakedir
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+	app-arch/xz-utils
+	>=sys-devel/llvm-4"
+
+S=${WORKDIR}/${P/_/}.src
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+multilib_src_configure() {
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			# get the full library list out of 'pretend mode'
+			# and grep it for libclang_rt references
+			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
+			local i
+			for i in "${args[@]}"; do
+				if [[ ${i} == *libclang_rt* ]]; then
+					want_gcc_s=OFF
+					extra_libs+=( "${i}" )
+				fi
+			done
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		mycmakeargs+=(
+			# this can be any directory, it just needs to exist...
+			# FIXME: remove this once https://reviews.llvm.org/D25093 is merged
+			-DLLVM_MAIN_SRC_DIR="${T}"
+		)
+		if has_version '>=sys-devel/llvm-6'; then
+			mycmakeargs+=(
+				-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			)
+		else
+			mycmakeargs+=(
+				-DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
+			)
+		fi
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+
+	[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+	sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
+
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-06-07 13:03 Mikle Kolyada
  0 siblings, 0 replies; 605+ messages in thread
From: Mikle Kolyada @ 2018-06-07 13:03 UTC (permalink / raw
  To: gentoo-commits

commit:     b1dc8506aac0ead791efd5c837a6fa7d8e1910bc
Author:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Thu Jun  7 12:55:02 2018 +0000
Commit:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Thu Jun  7 13:03:38 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b1dc8506

sys-libs/libcxx: amd64 stable wrt bug #657516

Package-Manager: Portage-2.3.40, Repoman-2.3.9

 sys-libs/libcxx/libcxx-5.0.2.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/libcxx-5.0.2.ebuild b/sys-libs/libcxx/libcxx-5.0.2.ebuild
index 40c9547f335..168ada4709e 100644
--- a/sys-libs/libcxx/libcxx-5.0.2.ebuild
+++ b/sys-libs/libcxx/libcxx-5.0.2.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-06-07 17:21 Thomas Deutschmann
  0 siblings, 0 replies; 605+ messages in thread
From: Thomas Deutschmann @ 2018-06-07 17:21 UTC (permalink / raw
  To: gentoo-commits

commit:     382e602766cb2a955b9d3fd1f62f44c733d2a97c
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Thu Jun  7 17:19:03 2018 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Thu Jun  7 17:21:02 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=382e6027

sys-libs/libcxx: x86 stable (bug #657516)

Package-Manager: Portage-2.3.40, Repoman-2.3.9

 sys-libs/libcxx/libcxx-5.0.2.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/libcxx-5.0.2.ebuild b/sys-libs/libcxx/libcxx-5.0.2.ebuild
index 168ada4709e..885f8b13182 100644
--- a/sys-libs/libcxx/libcxx-5.0.2.ebuild
+++ b/sys-libs/libcxx/libcxx-5.0.2.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 x86"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-06-27  8:44 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-06-27  8:44 UTC (permalink / raw
  To: gentoo-commits

commit:     95d5548afacb9127a8a71186c14a4f83b5d3ea63
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 26 21:22:28 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jun 27 08:44:38 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=95d5548a

sys-libs/libcxx: Bump to 6.0.1

 sys-libs/libcxx/Manifest            |   1 +
 sys-libs/libcxx/libcxx-6.0.1.ebuild | 213 ++++++++++++++++++++++++++++++++++++
 2 files changed, 214 insertions(+)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 04b47af3ad5..60e30742201 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -4,3 +4,4 @@ DIST libcxx-4.0.1.src.tar.xz 1446380 BLAKE2B cd871eff4c4ca25a1fe4d27f778e913fe53
 DIST libcxx-5.0.1.src.tar.xz 1527852 BLAKE2B 9454fbca8228ee456feb79b65a63ce5daa27bf2e47e457d79592f4974dceeace19fe6cdeee51cc51f94e9072d7ce3c03e5acb617507670153647b9c435feadbd SHA512 994681d3c79047fc2d618c5584b08e9b5c925dab48f8812fc0adc81a575b49a637e9481bb9a0f7ae6f7f352b2b33f40056c347c27123cd6c96c6c226febd002c
 DIST libcxx-5.0.2.src.tar.xz 1530908 BLAKE2B e0c47d6803668267a71c75df873a136a2c3bec3732a08c365107b286f6dfef883edb81f9f4d22a0f312228865528bf1f15450c41803f8d3a8c8081fe12b62c25 SHA512 c77e0ea6bb3dc03270312de4a24fdd0d027448b2e182af31489031fd52f0997377c9049769930b80b2ba0062fe21317d8ae823c5e80e12128f8ae8e6f171be22
 DIST libcxx-6.0.0.src.tar.xz 1549328 BLAKE2B 93adb339b0e849fca1850d379c8e74b407b0db8220f3a05f888db70d83ad07c3200dbd2a7827f92c60a2ba91d3395e4d1b4434ba70479c29a95aceda6c213e02 SHA512 3d93910f85a778f36c5f7a4429639008acba5713a2c8ac79a9de09463af6f9a388af45d39af23423a7223660701697ba067f3391f25d5a970973691dd88635e3
+DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875

diff --git a/sys-libs/libcxx/libcxx-6.0.1.ebuild b/sys-libs/libcxx/libcxx-6.0.1.ebuild
new file mode 100644
index 00000000000..5301d5f1fe6
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-6.0.1.ebuild
@@ -0,0 +1,213 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-multilib llvm multiprocessing python-any-r1 \
+	toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd"
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# llvm-6 for new lit options
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+	app-arch/xz-utils
+	>=sys-devel/llvm-6"
+
+S=${WORKDIR}/${P/_/}.src
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+test_compiler() {
+	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+		<<<'int main() { return 0; }' &>/dev/null
+}
+
+multilib_src_configure() {
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			# get the full library list out of 'pretend mode'
+			# and grep it for libclang_rt references
+			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
+			local i
+			for i in "${args[@]}"; do
+				if [[ ${i} == *libclang_rt* ]]; then
+					want_gcc_s=OFF
+					extra_libs+=( "${i}" )
+				fi
+			done
+		fi
+	fi
+
+	# bootstrap: cmake is unhappy if compiler can't link to stdlib
+	local nolib_flags=( -nodefaultlibs -lc )
+	if ! test_compiler; then
+		if test_compiler "${nolib_flags[@]}"; then
+			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-07-22  8:23 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-07-22  8:23 UTC (permalink / raw
  To: gentoo-commits

commit:     d99b98ea5ad1b3e2d31f0a5f9b326ee41ca866bb
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 22 06:40:58 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul 22 08:22:15 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d99b98ea

sys-libs/libcxx: Drop old (5.0.1 & 6.0.0)

 sys-libs/libcxx/Manifest            |   2 -
 sys-libs/libcxx/libcxx-5.0.1.ebuild | 207 -----------------------------------
 sys-libs/libcxx/libcxx-6.0.0.ebuild | 213 ------------------------------------
 3 files changed, 422 deletions(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 60e30742201..80b76519c36 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,7 +1,5 @@
 DIST libcxx-3.7.1.src.tar.xz 995724 BLAKE2B aab68f1b99a2c817e7154b71c04c81bd809154d1ae1c077a2dfede37319070729d6d768223b6ba5e2a866d6c2f18972dd501ce517864378ebc26c49cacafb635 SHA512 08d2399a8b36aa15290733256c896c9fa43f1a1223bc5c73bbcd014fddf8880e514d2a6dcc456bcf18b537c01fb6911b092e6d9958bccd8e64e9f375ed7a1ab9
 DIST libcxx-3.9.1.src.tar.xz 1209020 BLAKE2B 510e77c2c1163babbba904933f441e8720b0d366b9f0cfa2cdde2401368c224e00efd66afc1403b0087c40549cda4ebbc4d0c4b2d0906178324fa6158502d5ad SHA512 a5976e4096624a7307b3e43f4a22ac2dc74572226e0f57af9f3ef537a14c3cff1601b7042aef9dc40a0ee53ca76b08d72eb9c253dcf34f115d3153c302db7070
 DIST libcxx-4.0.1.src.tar.xz 1446380 BLAKE2B cd871eff4c4ca25a1fe4d27f778e913fe536a0b5863ea7dd3c8895f6b743b6f039e4df71f9ba5124c98761a8099666f68e1dfd073b5ec7b9fe0007ef09a9117d SHA512 91f3f397be606989be99865d0b279557f9afb93f7a74ed10c3a74f4440e38b5694ddf452bbf2f487cacd4391606dd5c7edfe5130f2de19e2acfd6cce619d028a
-DIST libcxx-5.0.1.src.tar.xz 1527852 BLAKE2B 9454fbca8228ee456feb79b65a63ce5daa27bf2e47e457d79592f4974dceeace19fe6cdeee51cc51f94e9072d7ce3c03e5acb617507670153647b9c435feadbd SHA512 994681d3c79047fc2d618c5584b08e9b5c925dab48f8812fc0adc81a575b49a637e9481bb9a0f7ae6f7f352b2b33f40056c347c27123cd6c96c6c226febd002c
 DIST libcxx-5.0.2.src.tar.xz 1530908 BLAKE2B e0c47d6803668267a71c75df873a136a2c3bec3732a08c365107b286f6dfef883edb81f9f4d22a0f312228865528bf1f15450c41803f8d3a8c8081fe12b62c25 SHA512 c77e0ea6bb3dc03270312de4a24fdd0d027448b2e182af31489031fd52f0997377c9049769930b80b2ba0062fe21317d8ae823c5e80e12128f8ae8e6f171be22
-DIST libcxx-6.0.0.src.tar.xz 1549328 BLAKE2B 93adb339b0e849fca1850d379c8e74b407b0db8220f3a05f888db70d83ad07c3200dbd2a7827f92c60a2ba91d3395e4d1b4434ba70479c29a95aceda6c213e02 SHA512 3d93910f85a778f36c5f7a4429639008acba5713a2c8ac79a9de09463af6f9a388af45d39af23423a7223660701697ba067f3391f25d5a970973691dd88635e3
 DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875

diff --git a/sys-libs/libcxx/libcxx-5.0.1.ebuild b/sys-libs/libcxx/libcxx-5.0.1.ebuild
deleted file mode 100644
index 885f8b13182..00000000000
--- a/sys-libs/libcxx/libcxx-5.0.1.ebuild
+++ /dev/null
@@ -1,207 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# Ninja provides better scalability and cleaner verbose output, and is used
-# throughout all LLVM projects.
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-multilib llvm python-any-r1 toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
-	?? ( libcxxabi libcxxrt )"
-
-RDEPEND="
-	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# LLVM 4 required for llvm-config --cmakedir
-# clang-3.9.0 installs necessary target symlinks unconditionally
-# which removes the need for MULTILIB_USEDEP
-DEPEND="${RDEPEND}
-	test? ( >=sys-devel/clang-3.9.0
-		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
-	app-arch/xz-utils
-	>=sys-devel/llvm-4"
-
-S=${WORKDIR}/${P/_/}.src
-
-DOCS=( CREDITS.TXT )
-
-PATCHES=(
-	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
-	# out-of-tree build.
-	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
-)
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
-	has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-	use test && python-any-r1_pkg_setup
-
-	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
-		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
-		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
-		eerror "and try again."
-		die
-	fi
-	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
-		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
-		eerror "conformant compilers). Please use gcc-config to switch to"
-		eerror "gcc-4.7 or later version."
-		die
-	fi
-}
-
-multilib_src_configure() {
-	local cxxabi cxxabi_incs
-	if use libcxxabi; then
-		cxxabi=libcxxabi
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
-	elif use libcxxrt; then
-		cxxabi=libcxxrt
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
-	else
-		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-		cxxabi=libsupc++
-		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-	fi
-
-	# we want -lgcc_s for unwinder, and for compiler runtime when using
-	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON
-	if use libunwind; then
-		# work-around missing -lunwind upstream
-		extra_libs+=( -lunwind )
-		# if we're using libunwind and clang with compiler-rt, we want
-		# to link to compiler-rt instead of -lgcc_s
-		if tc-is-clang; then
-			# get the full library list out of 'pretend mode'
-			# and grep it for libclang_rt references
-			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
-			local i
-			for i in "${args[@]}"; do
-				if [[ ${i} == *libclang_rt* ]]; then
-					want_gcc_s=OFF
-					extra_libs+=( "${i}" )
-				fi
-			done
-		fi
-	fi
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
-		-DLIBCXX_ENABLE_SHARED=ON
-		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-		-DLIBCXX_CXX_ABI=${cxxabi}
-		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-		# we're using our own mechanism for generating linker scripts
-		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-		-DLIBCXX_INCLUDE_TESTS=$(usex test)
-		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
-	)
-
-	if use test; then
-		mycmakeargs+=(
-			# this can be any directory, it just needs to exist...
-			# FIXME: remove this once https://reviews.llvm.org/D25093 is merged
-			-DLLVM_MAIN_SRC_DIR="${T}"
-		)
-		if has_version '>=sys-devel/llvm-6'; then
-			mycmakeargs+=(
-				-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			)
-		else
-			mycmakeargs+=(
-				-DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
-			)
-		fi
-	fi
-	cmake-utils_src_configure
-}
-
-multilib_src_test() {
-	local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-
-	[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-	sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
-
-	cmake-utils_src_make check-libcxx
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
-
-	# Move it first.
-	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
-	# Generate libc++.a ldscript for inclusion of its dependencies so that
-	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
-	# On Linux/glibc it does not link without libpthread or libdl. It is
-	# fine on FreeBSD.
-	use elibc_glibc && deps+=" libpthread.a libdl.a"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
-}
-
-gen_shared_ldscript() {
-	local libdir=$(get_libdir)
-	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
-
-	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-	gen_shared_ldscript
-	use static-libs && gen_static_ldscript
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}

diff --git a/sys-libs/libcxx/libcxx-6.0.0.ebuild b/sys-libs/libcxx/libcxx-6.0.0.ebuild
deleted file mode 100644
index 5301d5f1fe6..00000000000
--- a/sys-libs/libcxx/libcxx-6.0.0.ebuild
+++ /dev/null
@@ -1,213 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# Ninja provides better scalability and cleaner verbose output, and is used
-# throughout all LLVM projects.
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-multilib llvm multiprocessing python-any-r1 \
-	toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd"
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
-	?? ( libcxxabi libcxxrt )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# llvm-6 for new lit options
-# clang-3.9.0 installs necessary target symlinks unconditionally
-# which removes the need for MULTILIB_USEDEP
-DEPEND="${RDEPEND}
-	test? ( >=sys-devel/clang-3.9.0
-		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
-	app-arch/xz-utils
-	>=sys-devel/llvm-6"
-
-S=${WORKDIR}/${P/_/}.src
-
-DOCS=( CREDITS.TXT )
-
-PATCHES=(
-	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
-	# out-of-tree build.
-	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
-)
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
-	has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-	use test && python-any-r1_pkg_setup
-
-	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
-		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
-		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
-		eerror "and try again."
-		die
-	fi
-	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
-		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
-		eerror "conformant compilers). Please use gcc-config to switch to"
-		eerror "gcc-4.7 or later version."
-		die
-	fi
-}
-
-test_compiler() {
-	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
-		<<<'int main() { return 0; }' &>/dev/null
-}
-
-multilib_src_configure() {
-	local cxxabi cxxabi_incs
-	if use libcxxabi; then
-		cxxabi=libcxxabi
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
-	elif use libcxxrt; then
-		cxxabi=libcxxrt
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
-	else
-		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-		cxxabi=libsupc++
-		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-	fi
-
-	# we want -lgcc_s for unwinder, and for compiler runtime when using
-	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON
-	if use libunwind; then
-		# work-around missing -lunwind upstream
-		extra_libs+=( -lunwind )
-		# if we're using libunwind and clang with compiler-rt, we want
-		# to link to compiler-rt instead of -lgcc_s
-		if tc-is-clang; then
-			# get the full library list out of 'pretend mode'
-			# and grep it for libclang_rt references
-			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
-			local i
-			for i in "${args[@]}"; do
-				if [[ ${i} == *libclang_rt* ]]; then
-					want_gcc_s=OFF
-					extra_libs+=( "${i}" )
-				fi
-			done
-		fi
-	fi
-
-	# bootstrap: cmake is unhappy if compiler can't link to stdlib
-	local nolib_flags=( -nodefaultlibs -lc )
-	if ! test_compiler; then
-		if test_compiler "${nolib_flags[@]}"; then
-			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
-			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
-		fi
-	fi
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
-		-DLIBCXX_ENABLE_SHARED=ON
-		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-		-DLIBCXX_CXX_ABI=${cxxabi}
-		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-		# we're using our own mechanism for generating linker scripts
-		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-		-DLIBCXX_INCLUDE_TESTS=$(usex test)
-		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
-	)
-
-	if use test; then
-		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
-
-		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
-		)
-	fi
-	cmake-utils_src_configure
-}
-
-multilib_src_test() {
-	cmake-utils_src_make check-libcxx
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
-
-	# Move it first.
-	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
-	# Generate libc++.a ldscript for inclusion of its dependencies so that
-	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
-	# On Linux/glibc it does not link without libpthread or libdl. It is
-	# fine on FreeBSD.
-	use elibc_glibc && deps+=" libpthread.a libdl.a"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
-}
-
-gen_shared_ldscript() {
-	local libdir=$(get_libdir)
-	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
-
-	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-	gen_shared_ldscript
-	use static-libs && gen_static_ldscript
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-07-22 18:19 Thomas Deutschmann
  0 siblings, 0 replies; 605+ messages in thread
From: Thomas Deutschmann @ 2018-07-22 18:19 UTC (permalink / raw
  To: gentoo-commits

commit:     0f8b0e481e04bd1991a1fcd5e7e8eb7116df1cda
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 22 18:15:16 2018 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sun Jul 22 18:16:43 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0f8b0e48

sys-libs/libcxx: x86 stable (bug #661776)

Package-Manager: Portage-2.3.43, Repoman-2.3.10

 sys-libs/libcxx/libcxx-6.0.1.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/libcxx-6.0.1.ebuild b/sys-libs/libcxx/libcxx-6.0.1.ebuild
index 5301d5f1fe6..98403efc216 100644
--- a/sys-libs/libcxx/libcxx-6.0.1.ebuild
+++ b/sys-libs/libcxx/libcxx-6.0.1.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd"
+KEYWORDS="~amd64 ~arm64 x86 ~amd64-fbsd"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-07-22 18:50 Mikle Kolyada
  0 siblings, 0 replies; 605+ messages in thread
From: Mikle Kolyada @ 2018-07-22 18:50 UTC (permalink / raw
  To: gentoo-commits

commit:     74934f53a8713a70ed009da9485ef8586890c332
Author:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 22 18:47:37 2018 +0000
Commit:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Sun Jul 22 18:49:52 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=74934f53

sys-libs/libcxx: amd64 stable wrt bug #661776

Package-Manager: Portage-2.3.40, Repoman-2.3.9

 sys-libs/libcxx/libcxx-6.0.1.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/libcxx-6.0.1.ebuild b/sys-libs/libcxx/libcxx-6.0.1.ebuild
index 98403efc216..b7dda42427a 100644
--- a/sys-libs/libcxx/libcxx-6.0.1.ebuild
+++ b/sys-libs/libcxx/libcxx-6.0.1.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS="~amd64 ~arm64 x86 ~amd64-fbsd"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-fbsd"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-08-01 20:53 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-08-01 20:53 UTC (permalink / raw
  To: gentoo-commits

commit:     9d598b0bfe83031f928d37d4618c4d137ed5d2cd
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Aug  1 16:45:05 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Aug  1 20:53:23 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9d598b0b

sys-libs/libcxx: Branch out LLVM 7.0

 sys-libs/libcxx/libcxx-7.0.9999.ebuild | 225 +++++++++++++++++++++++++++++++++
 1 file changed, 225 insertions(+)

diff --git a/sys-libs/libcxx/libcxx-7.0.9999.ebuild b/sys-libs/libcxx/libcxx-7.0.9999.ebuild
new file mode 100644
index 00000000000..64bc9accf26
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-7.0.9999.ebuild
@@ -0,0 +1,225 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+EGIT_REPO_URI="https://git.llvm.org/git/libcxx.git
+	https://github.com/llvm-mirror/libcxx.git"
+EGIT_BRANCH="release_70"
+PYTHON_COMPAT=( python2_7 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3" || SCM=""
+
+inherit ${SCM} cmake-multilib llvm multiprocessing python-any-r1 \
+	toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+if [[ ${PV} != *9999 ]] ; then
+	SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz"
+	S="${WORKDIR}/${P}.src"
+else
+	SRC_URI=""
+fi
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+if [[ ${PV} != *9999 ]] ; then
+	KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+else
+	KEYWORDS=""
+fi
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# llvm-6 for new lit options
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+	app-arch/xz-utils
+	>=sys-devel/llvm-6"
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+test_compiler() {
+	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+		<<<'int main() { return 0; }' &>/dev/null
+}
+
+multilib_src_configure() {
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			# get the full library list out of 'pretend mode'
+			# and grep it for libclang_rt references
+			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
+			local i
+			for i in "${args[@]}"; do
+				if [[ ${i} == *libclang_rt* ]]; then
+					want_gcc_s=OFF
+					extra_libs+=( "${i}" )
+				fi
+			done
+		fi
+	fi
+
+	# bootstrap: cmake is unhappy if compiler can't link to stdlib
+	local nolib_flags=( -nodefaultlibs -lc )
+	if ! test_compiler; then
+		if test_compiler "${nolib_flags[@]}"; then
+			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-08-09 10:32 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-08-09 10:32 UTC (permalink / raw
  To: gentoo-commits

commit:     b375c11c5cf0467364ff8f217f6de6cc49551d92
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Aug  9 10:31:54 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Aug  9 10:31:54 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b375c11c

sys-libs/libcxx: Use -print-libgcc-file-name to get clang_rt path

Suggested-by: David Carlos Manuelda
Bug: https://bugs.gentoo.org/592326

 sys-libs/libcxx/libcxx-5.0.2.ebuild    | 16 ++++++----------
 sys-libs/libcxx/libcxx-6.0.1.ebuild    | 16 ++++++----------
 sys-libs/libcxx/libcxx-6.0.9999.ebuild | 16 ++++++----------
 sys-libs/libcxx/libcxx-7.0.9999.ebuild | 16 ++++++----------
 sys-libs/libcxx/libcxx-9999.ebuild     | 16 ++++++----------
 5 files changed, 30 insertions(+), 50 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-5.0.2.ebuild b/sys-libs/libcxx/libcxx-5.0.2.ebuild
index 885f8b13182..bd65e51b774 100644
--- a/sys-libs/libcxx/libcxx-5.0.2.ebuild
+++ b/sys-libs/libcxx/libcxx-5.0.2.ebuild
@@ -94,16 +94,12 @@ multilib_src_configure() {
 		# if we're using libunwind and clang with compiler-rt, we want
 		# to link to compiler-rt instead of -lgcc_s
 		if tc-is-clang; then
-			# get the full library list out of 'pretend mode'
-			# and grep it for libclang_rt references
-			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
-			local i
-			for i in "${args[@]}"; do
-				if [[ ${i} == *libclang_rt* ]]; then
-					want_gcc_s=OFF
-					extra_libs+=( "${i}" )
-				fi
-			done
+			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+			   ${LDFLAGS} -print-libgcc-file-name)
+			if [[ ${compiler_rt} == *libclang_rt* ]]; then
+				want_gcc_s=OFF
+				extra_libs+=( "${compiler_rt}" )
+			fi
 		fi
 	fi
 

diff --git a/sys-libs/libcxx/libcxx-6.0.1.ebuild b/sys-libs/libcxx/libcxx-6.0.1.ebuild
index b7dda42427a..6c5c866f9c6 100644
--- a/sys-libs/libcxx/libcxx-6.0.1.ebuild
+++ b/sys-libs/libcxx/libcxx-6.0.1.ebuild
@@ -101,16 +101,12 @@ multilib_src_configure() {
 		# if we're using libunwind and clang with compiler-rt, we want
 		# to link to compiler-rt instead of -lgcc_s
 		if tc-is-clang; then
-			# get the full library list out of 'pretend mode'
-			# and grep it for libclang_rt references
-			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
-			local i
-			for i in "${args[@]}"; do
-				if [[ ${i} == *libclang_rt* ]]; then
-					want_gcc_s=OFF
-					extra_libs+=( "${i}" )
-				fi
-			done
+			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+			   ${LDFLAGS} -print-libgcc-file-name)
+			if [[ ${compiler_rt} == *libclang_rt* ]]; then
+				want_gcc_s=OFF
+				extra_libs+=( "${compiler_rt}" )
+			fi
 		fi
 	fi
 

diff --git a/sys-libs/libcxx/libcxx-6.0.9999.ebuild b/sys-libs/libcxx/libcxx-6.0.9999.ebuild
index 7454f776ff6..8b1b4efcd6e 100644
--- a/sys-libs/libcxx/libcxx-6.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-6.0.9999.ebuild
@@ -113,16 +113,12 @@ multilib_src_configure() {
 		# if we're using libunwind and clang with compiler-rt, we want
 		# to link to compiler-rt instead of -lgcc_s
 		if tc-is-clang; then
-			# get the full library list out of 'pretend mode'
-			# and grep it for libclang_rt references
-			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
-			local i
-			for i in "${args[@]}"; do
-				if [[ ${i} == *libclang_rt* ]]; then
-					want_gcc_s=OFF
-					extra_libs+=( "${i}" )
-				fi
-			done
+			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+			   ${LDFLAGS} -print-libgcc-file-name)
+			if [[ ${compiler_rt} == *libclang_rt* ]]; then
+				want_gcc_s=OFF
+				extra_libs+=( "${compiler_rt}" )
+			fi
 		fi
 	fi
 

diff --git a/sys-libs/libcxx/libcxx-7.0.9999.ebuild b/sys-libs/libcxx/libcxx-7.0.9999.ebuild
index 64bc9accf26..e5777074eed 100644
--- a/sys-libs/libcxx/libcxx-7.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-7.0.9999.ebuild
@@ -113,16 +113,12 @@ multilib_src_configure() {
 		# if we're using libunwind and clang with compiler-rt, we want
 		# to link to compiler-rt instead of -lgcc_s
 		if tc-is-clang; then
-			# get the full library list out of 'pretend mode'
-			# and grep it for libclang_rt references
-			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
-			local i
-			for i in "${args[@]}"; do
-				if [[ ${i} == *libclang_rt* ]]; then
-					want_gcc_s=OFF
-					extra_libs+=( "${i}" )
-				fi
-			done
+			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+			   ${LDFLAGS} -print-libgcc-file-name)
+			if [[ ${compiler_rt} == *libclang_rt* ]]; then
+				want_gcc_s=OFF
+				extra_libs+=( "${compiler_rt}" )
+			fi
 		fi
 	fi
 

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index a4fdb61c8c7..4272b211794 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -112,16 +112,12 @@ multilib_src_configure() {
 		# if we're using libunwind and clang with compiler-rt, we want
 		# to link to compiler-rt instead of -lgcc_s
 		if tc-is-clang; then
-			# get the full library list out of 'pretend mode'
-			# and grep it for libclang_rt references
-			local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
-			local i
-			for i in "${args[@]}"; do
-				if [[ ${i} == *libclang_rt* ]]; then
-					want_gcc_s=OFF
-					extra_libs+=( "${i}" )
-				fi
-			done
+			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+			   ${LDFLAGS} -print-libgcc-file-name)
+			if [[ ${compiler_rt} == *libclang_rt* ]]; then
+				want_gcc_s=OFF
+				extra_libs+=( "${compiler_rt}" )
+			fi
 		fi
 	fi
 


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-08-15 20:44 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-08-15 20:44 UTC (permalink / raw
  To: gentoo-commits

commit:     82777a1b728eb2c0396946f4fc9b09b5726f5f2b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 15 20:32:17 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Aug 15 20:32:17 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=82777a1b

sys-libs/libcxx: Drop 6.0.9999

 sys-libs/libcxx/libcxx-6.0.9999.ebuild | 221 ---------------------------------
 1 file changed, 221 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-6.0.9999.ebuild b/sys-libs/libcxx/libcxx-6.0.9999.ebuild
deleted file mode 100644
index 8b1b4efcd6e..00000000000
--- a/sys-libs/libcxx/libcxx-6.0.9999.ebuild
+++ /dev/null
@@ -1,221 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# Ninja provides better scalability and cleaner verbose output, and is used
-# throughout all LLVM projects.
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-EGIT_REPO_URI="https://git.llvm.org/git/libcxx.git
-	https://github.com/llvm-mirror/libcxx.git"
-EGIT_BRANCH="release_60"
-PYTHON_COMPAT=( python2_7 )
-
-[[ ${PV} == *9999 ]] && SCM="git-r3" || SCM=""
-
-inherit ${SCM} cmake-multilib llvm multiprocessing python-any-r1 \
-	toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-if [[ ${PV} != *9999 ]] ; then
-	SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz"
-	S="${WORKDIR}/${P}.src"
-else
-	SRC_URI=""
-fi
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-if [[ ${PV} != *9999 ]] ; then
-	KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
-else
-	KEYWORDS=""
-fi
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
-	?? ( libcxxabi libcxxrt )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# llvm-6 for new lit options
-# clang-3.9.0 installs necessary target symlinks unconditionally
-# which removes the need for MULTILIB_USEDEP
-DEPEND="${RDEPEND}
-	test? ( >=sys-devel/clang-3.9.0
-		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
-	app-arch/xz-utils
-	>=sys-devel/llvm-6"
-
-DOCS=( CREDITS.TXT )
-
-PATCHES=(
-	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
-	# out-of-tree build.
-	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
-)
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
-	has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-	use test && python-any-r1_pkg_setup
-
-	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
-		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
-		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
-		eerror "and try again."
-		die
-	fi
-	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
-		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
-		eerror "conformant compilers). Please use gcc-config to switch to"
-		eerror "gcc-4.7 or later version."
-		die
-	fi
-}
-
-test_compiler() {
-	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
-		<<<'int main() { return 0; }' &>/dev/null
-}
-
-multilib_src_configure() {
-	local cxxabi cxxabi_incs
-	if use libcxxabi; then
-		cxxabi=libcxxabi
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
-	elif use libcxxrt; then
-		cxxabi=libcxxrt
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
-	else
-		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-		cxxabi=libsupc++
-		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-	fi
-
-	# we want -lgcc_s for unwinder, and for compiler runtime when using
-	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON
-	if use libunwind; then
-		# work-around missing -lunwind upstream
-		extra_libs+=( -lunwind )
-		# if we're using libunwind and clang with compiler-rt, we want
-		# to link to compiler-rt instead of -lgcc_s
-		if tc-is-clang; then
-			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
-			   ${LDFLAGS} -print-libgcc-file-name)
-			if [[ ${compiler_rt} == *libclang_rt* ]]; then
-				want_gcc_s=OFF
-				extra_libs+=( "${compiler_rt}" )
-			fi
-		fi
-	fi
-
-	# bootstrap: cmake is unhappy if compiler can't link to stdlib
-	local nolib_flags=( -nodefaultlibs -lc )
-	if ! test_compiler; then
-		if test_compiler "${nolib_flags[@]}"; then
-			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
-			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
-		fi
-	fi
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
-		-DLIBCXX_ENABLE_SHARED=ON
-		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-		-DLIBCXX_CXX_ABI=${cxxabi}
-		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-		# we're using our own mechanism for generating linker scripts
-		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-		-DLIBCXX_INCLUDE_TESTS=$(usex test)
-		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
-	)
-
-	if use test; then
-		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
-
-		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
-		)
-	fi
-	cmake-utils_src_configure
-}
-
-multilib_src_test() {
-	cmake-utils_src_make check-libcxx
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
-
-	# Move it first.
-	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
-	# Generate libc++.a ldscript for inclusion of its dependencies so that
-	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
-	# On Linux/glibc it does not link without libpthread or libdl. It is
-	# fine on FreeBSD.
-	use elibc_glibc && deps+=" libpthread.a libdl.a"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
-}
-
-gen_shared_ldscript() {
-	local libdir=$(get_libdir)
-	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
-
-	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-	gen_shared_ldscript
-	use static-libs && gen_static_ldscript
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-08-28 16:00 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-08-28 16:00 UTC (permalink / raw
  To: gentoo-commits

commit:     0ab57f3ebab72bfff3391a20f6262573cc1ff18d
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 28 15:40:58 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 28 16:00:37 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0ab57f3e

sys-libs/libcxx: Bump to 7.0.0rc2

 sys-libs/libcxx/Manifest                |   1 +
 sys-libs/libcxx/libcxx-7.0.0_rc2.ebuild | 209 ++++++++++++++++++++++++++++++++
 2 files changed, 210 insertions(+)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 80b76519c36..2f9be098f51 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -3,3 +3,4 @@ DIST libcxx-3.9.1.src.tar.xz 1209020 BLAKE2B 510e77c2c1163babbba904933f441e8720b
 DIST libcxx-4.0.1.src.tar.xz 1446380 BLAKE2B cd871eff4c4ca25a1fe4d27f778e913fe536a0b5863ea7dd3c8895f6b743b6f039e4df71f9ba5124c98761a8099666f68e1dfd073b5ec7b9fe0007ef09a9117d SHA512 91f3f397be606989be99865d0b279557f9afb93f7a74ed10c3a74f4440e38b5694ddf452bbf2f487cacd4391606dd5c7edfe5130f2de19e2acfd6cce619d028a
 DIST libcxx-5.0.2.src.tar.xz 1530908 BLAKE2B e0c47d6803668267a71c75df873a136a2c3bec3732a08c365107b286f6dfef883edb81f9f4d22a0f312228865528bf1f15450c41803f8d3a8c8081fe12b62c25 SHA512 c77e0ea6bb3dc03270312de4a24fdd0d027448b2e182af31489031fd52f0997377c9049769930b80b2ba0062fe21317d8ae823c5e80e12128f8ae8e6f171be22
 DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
+DIST libcxx-7.0.0rc2.src.tar.xz 1654748 BLAKE2B 95664de42bfa6b77c5db32c092469c36e92b5eb9554bf381f761e04a29da1f413c1ead2ac93674a30ad9d743aa3cc9f22e5edebd043d16f903ed83901a743ae6 SHA512 c0b84400cb7694f7088b965cb0cac26853ecc485c775afbb0ad2cfdc53497eb95b76f917b16090372b77297e7f80372aef29023da564387be49e2f412efb5746

diff --git a/sys-libs/libcxx/libcxx-7.0.0_rc2.ebuild b/sys-libs/libcxx/libcxx-7.0.0_rc2.ebuild
new file mode 100644
index 00000000000..cc26d7d1ce0
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-7.0.0_rc2.ebuild
@@ -0,0 +1,209 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-multilib llvm multiprocessing python-any-r1 \
+	toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+SRC_URI="https://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS=""
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# llvm-6 for new lit options
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+	app-arch/xz-utils
+	>=sys-devel/llvm-6"
+
+S=${WORKDIR}/${P/_/}.src
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+test_compiler() {
+	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+		<<<'int main() { return 0; }' &>/dev/null
+}
+
+multilib_src_configure() {
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+			   ${LDFLAGS} -print-libgcc-file-name)
+			if [[ ${compiler_rt} == *libclang_rt* ]]; then
+				want_gcc_s=OFF
+				extra_libs+=( "${compiler_rt}" )
+			fi
+		fi
+	fi
+
+	# bootstrap: cmake is unhappy if compiler can't link to stdlib
+	local nolib_flags=( -nodefaultlibs -lc )
+	if ! test_compiler; then
+		if test_compiler "${nolib_flags[@]}"; then
+			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-09-11  6:22 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-09-11  6:22 UTC (permalink / raw
  To: gentoo-commits

commit:     78ace8eccf009c502a30ce065de790b8579f2434
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 11 06:09:57 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 11 06:09:57 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=78ace8ec

sys-libs/libcxx: Bump to 7.0.0rc3

 sys-libs/libcxx/Manifest                                             | 2 +-
 sys-libs/libcxx/{libcxx-7.0.0_rc2.ebuild => libcxx-7.0.0_rc3.ebuild} | 0
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 2f9be098f51..12ade871b81 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -3,4 +3,4 @@ DIST libcxx-3.9.1.src.tar.xz 1209020 BLAKE2B 510e77c2c1163babbba904933f441e8720b
 DIST libcxx-4.0.1.src.tar.xz 1446380 BLAKE2B cd871eff4c4ca25a1fe4d27f778e913fe536a0b5863ea7dd3c8895f6b743b6f039e4df71f9ba5124c98761a8099666f68e1dfd073b5ec7b9fe0007ef09a9117d SHA512 91f3f397be606989be99865d0b279557f9afb93f7a74ed10c3a74f4440e38b5694ddf452bbf2f487cacd4391606dd5c7edfe5130f2de19e2acfd6cce619d028a
 DIST libcxx-5.0.2.src.tar.xz 1530908 BLAKE2B e0c47d6803668267a71c75df873a136a2c3bec3732a08c365107b286f6dfef883edb81f9f4d22a0f312228865528bf1f15450c41803f8d3a8c8081fe12b62c25 SHA512 c77e0ea6bb3dc03270312de4a24fdd0d027448b2e182af31489031fd52f0997377c9049769930b80b2ba0062fe21317d8ae823c5e80e12128f8ae8e6f171be22
 DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
-DIST libcxx-7.0.0rc2.src.tar.xz 1654748 BLAKE2B 95664de42bfa6b77c5db32c092469c36e92b5eb9554bf381f761e04a29da1f413c1ead2ac93674a30ad9d743aa3cc9f22e5edebd043d16f903ed83901a743ae6 SHA512 c0b84400cb7694f7088b965cb0cac26853ecc485c775afbb0ad2cfdc53497eb95b76f917b16090372b77297e7f80372aef29023da564387be49e2f412efb5746
+DIST libcxx-7.0.0rc3.src.tar.xz 1654708 BLAKE2B 190b7e1112a205e29873ede8dbdfd37e553d31629f6f9524fb7887222427b525eb42e6eda90d542587222e2a5a192b62f9fb8ae128fa9b4d1ddd1871af867f11 SHA512 aa8187fb1090ef8718ad3dfa512d246248a8bc94afddc155f4aff14fd1b8857ce30a4abccf12a57102ef6cd38b5e251b43dd312e9f85136c4546fd558eddb179

diff --git a/sys-libs/libcxx/libcxx-7.0.0_rc2.ebuild b/sys-libs/libcxx/libcxx-7.0.0_rc3.ebuild
similarity index 100%
rename from sys-libs/libcxx/libcxx-7.0.0_rc2.ebuild
rename to sys-libs/libcxx/libcxx-7.0.0_rc3.ebuild


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-09-19 20:22 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-09-19 20:22 UTC (permalink / raw
  To: gentoo-commits

commit:     27bd6e2ba2686acd5af2074ee3f976e3ade0374b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 19 17:16:26 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Sep 19 20:16:34 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=27bd6e2b

sys-libs/libcxx: Bump to 7.0.0 final

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/Manifest                                         | 2 +-
 sys-libs/libcxx/{libcxx-7.0.0_rc3.ebuild => libcxx-7.0.0.ebuild} | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 12ade871b81..2e708ef604a 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -3,4 +3,4 @@ DIST libcxx-3.9.1.src.tar.xz 1209020 BLAKE2B 510e77c2c1163babbba904933f441e8720b
 DIST libcxx-4.0.1.src.tar.xz 1446380 BLAKE2B cd871eff4c4ca25a1fe4d27f778e913fe536a0b5863ea7dd3c8895f6b743b6f039e4df71f9ba5124c98761a8099666f68e1dfd073b5ec7b9fe0007ef09a9117d SHA512 91f3f397be606989be99865d0b279557f9afb93f7a74ed10c3a74f4440e38b5694ddf452bbf2f487cacd4391606dd5c7edfe5130f2de19e2acfd6cce619d028a
 DIST libcxx-5.0.2.src.tar.xz 1530908 BLAKE2B e0c47d6803668267a71c75df873a136a2c3bec3732a08c365107b286f6dfef883edb81f9f4d22a0f312228865528bf1f15450c41803f8d3a8c8081fe12b62c25 SHA512 c77e0ea6bb3dc03270312de4a24fdd0d027448b2e182af31489031fd52f0997377c9049769930b80b2ba0062fe21317d8ae823c5e80e12128f8ae8e6f171be22
 DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
-DIST libcxx-7.0.0rc3.src.tar.xz 1654708 BLAKE2B 190b7e1112a205e29873ede8dbdfd37e553d31629f6f9524fb7887222427b525eb42e6eda90d542587222e2a5a192b62f9fb8ae128fa9b4d1ddd1871af867f11 SHA512 aa8187fb1090ef8718ad3dfa512d246248a8bc94afddc155f4aff14fd1b8857ce30a4abccf12a57102ef6cd38b5e251b43dd312e9f85136c4546fd558eddb179
+DIST libcxx-7.0.0.src.tar.xz 1652496 BLAKE2B 7c8e4b7743a775a5f41ef1a2e511b44ca67af32be03f4fec9a4f70b49b540a442724afd69a312d68719ace3eee9e3d600c7596bda68496212827e140da5a258e SHA512 5ebf8418bc9d311c1744c257ab7a26cf2436a64a47451905df70ec64b12d25ec33acf99e1b9d552fd54ed850bed8f53dffde2ea20292ecd9976eaa31f144caf5

diff --git a/sys-libs/libcxx/libcxx-7.0.0_rc3.ebuild b/sys-libs/libcxx/libcxx-7.0.0.ebuild
similarity index 98%
rename from sys-libs/libcxx/libcxx-7.0.0_rc3.ebuild
rename to sys-libs/libcxx/libcxx-7.0.0.ebuild
index cc26d7d1ce0..3a997e98c08 100644
--- a/sys-libs/libcxx/libcxx-7.0.0_rc3.ebuild
+++ b/sys-libs/libcxx/libcxx-7.0.0.ebuild
@@ -15,11 +15,11 @@ inherit cmake-multilib llvm multiprocessing python-any-r1 \
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="https://libcxx.llvm.org/"
-SRC_URI="https://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS=""
+KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-10-04 21:10 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-10-04 21:10 UTC (permalink / raw
  To: gentoo-commits

commit:     b235a2470ee34d41f4aa93bd7960a1d6297c7c68
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Oct  4 21:02:56 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Oct  4 21:10:12 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b235a247

sys-libs/libcxx: Fix finding libsupc++ ABI headers for multilib

Fix the logic determining path to libsupc++ ABI headers to avoid being
affected by CHOST alterations done as part of multilib logic.

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/libcxx-3.9.1.ebuild    | 8 +++++++-
 sys-libs/libcxx/libcxx-4.0.1.ebuild    | 8 +++++++-
 sys-libs/libcxx/libcxx-5.0.2.ebuild    | 8 +++++++-
 sys-libs/libcxx/libcxx-6.0.1.ebuild    | 8 +++++++-
 sys-libs/libcxx/libcxx-7.0.0.ebuild    | 8 +++++++-
 sys-libs/libcxx/libcxx-7.0.9999.ebuild | 8 +++++++-
 sys-libs/libcxx/libcxx-9999.ebuild     | 8 +++++++-
 7 files changed, 49 insertions(+), 7 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-3.9.1.ebuild b/sys-libs/libcxx/libcxx-3.9.1.ebuild
index e847a9f5d31..d5282680825 100644
--- a/sys-libs/libcxx/libcxx-3.9.1.ebuild
+++ b/sys-libs/libcxx/libcxx-3.9.1.ebuild
@@ -86,7 +86,9 @@ src_configure() {
 	cmake-multilib_src_configure
 }
 
-multilib_src_configure() {
+src_configure() {
+	# note: we need to do this before multilib kicks in since it will
+	# alter the CHOST
 	local cxxabi cxxabi_incs
 	if use libcxxabi; then
 		cxxabi=libcxxabi
@@ -100,6 +102,10 @@ multilib_src_configure() {
 		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
 	fi
 
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
 	# we want -lgcc_s for unwinder, and for compiler runtime when using
 	# gcc, clang with gcc runtime (or any unknown compiler)
 	local extra_libs=() want_gcc_s=ON

diff --git a/sys-libs/libcxx/libcxx-4.0.1.ebuild b/sys-libs/libcxx/libcxx-4.0.1.ebuild
index 64f610ce5bb..4273ce8d76e 100644
--- a/sys-libs/libcxx/libcxx-4.0.1.ebuild
+++ b/sys-libs/libcxx/libcxx-4.0.1.ebuild
@@ -71,7 +71,9 @@ pkg_setup() {
 	fi
 }
 
-multilib_src_configure() {
+src_configure() {
+	# note: we need to do this before multilib kicks in since it will
+	# alter the CHOST
 	local cxxabi cxxabi_incs
 	if use libcxxabi; then
 		cxxabi=libcxxabi
@@ -85,6 +87,10 @@ multilib_src_configure() {
 		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
 	fi
 
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
 	# we want -lgcc_s for unwinder, and for compiler runtime when using
 	# gcc, clang with gcc runtime (or any unknown compiler)
 	local extra_libs=() want_gcc_s=ON

diff --git a/sys-libs/libcxx/libcxx-5.0.2.ebuild b/sys-libs/libcxx/libcxx-5.0.2.ebuild
index bd65e51b774..eda78625c06 100644
--- a/sys-libs/libcxx/libcxx-5.0.2.ebuild
+++ b/sys-libs/libcxx/libcxx-5.0.2.ebuild
@@ -71,7 +71,9 @@ pkg_setup() {
 	fi
 }
 
-multilib_src_configure() {
+src_configure() {
+	# note: we need to do this before multilib kicks in since it will
+	# alter the CHOST
 	local cxxabi cxxabi_incs
 	if use libcxxabi; then
 		cxxabi=libcxxabi
@@ -85,6 +87,10 @@ multilib_src_configure() {
 		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
 	fi
 
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
 	# we want -lgcc_s for unwinder, and for compiler runtime when using
 	# gcc, clang with gcc runtime (or any unknown compiler)
 	local extra_libs=() want_gcc_s=ON

diff --git a/sys-libs/libcxx/libcxx-6.0.1.ebuild b/sys-libs/libcxx/libcxx-6.0.1.ebuild
index 6c5c866f9c6..5d8314c5988 100644
--- a/sys-libs/libcxx/libcxx-6.0.1.ebuild
+++ b/sys-libs/libcxx/libcxx-6.0.1.ebuild
@@ -78,7 +78,9 @@ test_compiler() {
 		<<<'int main() { return 0; }' &>/dev/null
 }
 
-multilib_src_configure() {
+src_configure() {
+	# note: we need to do this before multilib kicks in since it will
+	# alter the CHOST
 	local cxxabi cxxabi_incs
 	if use libcxxabi; then
 		cxxabi=libcxxabi
@@ -92,6 +94,10 @@ multilib_src_configure() {
 		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
 	fi
 
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
 	# we want -lgcc_s for unwinder, and for compiler runtime when using
 	# gcc, clang with gcc runtime (or any unknown compiler)
 	local extra_libs=() want_gcc_s=ON

diff --git a/sys-libs/libcxx/libcxx-7.0.0.ebuild b/sys-libs/libcxx/libcxx-7.0.0.ebuild
index 3a997e98c08..d94f0c1c617 100644
--- a/sys-libs/libcxx/libcxx-7.0.0.ebuild
+++ b/sys-libs/libcxx/libcxx-7.0.0.ebuild
@@ -78,7 +78,9 @@ test_compiler() {
 		<<<'int main() { return 0; }' &>/dev/null
 }
 
-multilib_src_configure() {
+src_configure() {
+	# note: we need to do this before multilib kicks in since it will
+	# alter the CHOST
 	local cxxabi cxxabi_incs
 	if use libcxxabi; then
 		cxxabi=libcxxabi
@@ -92,6 +94,10 @@ multilib_src_configure() {
 		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
 	fi
 
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
 	# we want -lgcc_s for unwinder, and for compiler runtime when using
 	# gcc, clang with gcc runtime (or any unknown compiler)
 	local extra_libs=() want_gcc_s=ON

diff --git a/sys-libs/libcxx/libcxx-7.0.9999.ebuild b/sys-libs/libcxx/libcxx-7.0.9999.ebuild
index e5777074eed..536457a1380 100644
--- a/sys-libs/libcxx/libcxx-7.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-7.0.9999.ebuild
@@ -90,7 +90,9 @@ test_compiler() {
 		<<<'int main() { return 0; }' &>/dev/null
 }
 
-multilib_src_configure() {
+src_configure() {
+	# note: we need to do this before multilib kicks in since it will
+	# alter the CHOST
 	local cxxabi cxxabi_incs
 	if use libcxxabi; then
 		cxxabi=libcxxabi
@@ -104,6 +106,10 @@ multilib_src_configure() {
 		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
 	fi
 
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
 	# we want -lgcc_s for unwinder, and for compiler runtime when using
 	# gcc, clang with gcc runtime (or any unknown compiler)
 	local extra_libs=() want_gcc_s=ON

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index 4272b211794..2547da3dfa7 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -89,7 +89,9 @@ test_compiler() {
 		<<<'int main() { return 0; }' &>/dev/null
 }
 
-multilib_src_configure() {
+src_configure() {
+	# note: we need to do this before multilib kicks in since it will
+	# alter the CHOST
 	local cxxabi cxxabi_incs
 	if use libcxxabi; then
 		cxxabi=libcxxabi
@@ -103,6 +105,10 @@ multilib_src_configure() {
 		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
 	fi
 
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
 	# we want -lgcc_s for unwinder, and for compiler runtime when using
 	# gcc, clang with gcc runtime (or any unknown compiler)
 	local extra_libs=() want_gcc_s=ON


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-11-06 11:06 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-11-06 11:06 UTC (permalink / raw
  To: gentoo-commits

commit:     a129e5c29b0b8de45ef282f867c277055b6f2dd0
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Nov  6 11:04:34 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Nov  6 11:06:16 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a129e5c2

sys-libs/libcxx: Bump to 7.0.1_rc2

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/Manifest                |   1 +
 sys-libs/libcxx/libcxx-7.0.1_rc2.ebuild | 215 ++++++++++++++++++++++++++++++++
 2 files changed, 216 insertions(+)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 2e708ef604a..6c1a6c65874 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -4,3 +4,4 @@ DIST libcxx-4.0.1.src.tar.xz 1446380 BLAKE2B cd871eff4c4ca25a1fe4d27f778e913fe53
 DIST libcxx-5.0.2.src.tar.xz 1530908 BLAKE2B e0c47d6803668267a71c75df873a136a2c3bec3732a08c365107b286f6dfef883edb81f9f4d22a0f312228865528bf1f15450c41803f8d3a8c8081fe12b62c25 SHA512 c77e0ea6bb3dc03270312de4a24fdd0d027448b2e182af31489031fd52f0997377c9049769930b80b2ba0062fe21317d8ae823c5e80e12128f8ae8e6f171be22
 DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
 DIST libcxx-7.0.0.src.tar.xz 1652496 BLAKE2B 7c8e4b7743a775a5f41ef1a2e511b44ca67af32be03f4fec9a4f70b49b540a442724afd69a312d68719ace3eee9e3d600c7596bda68496212827e140da5a258e SHA512 5ebf8418bc9d311c1744c257ab7a26cf2436a64a47451905df70ec64b12d25ec33acf99e1b9d552fd54ed850bed8f53dffde2ea20292ecd9976eaa31f144caf5
+DIST libcxx-7.0.1rc2.src.tar.xz 1641280 BLAKE2B fec5ab41c7cdcc70582c812bd10bdcf6b400f865756bc60afbe4b84029c8ced4b519f1b3919baa381f086a0ef93b99f9f7bc47ec480ac2c49ef9c0e9d77e55b7 SHA512 04f1a26e21e082a685050c2f7696078d56e5a3b48e3b3916d6eb425b9b0b75354714faa5a78a2c003b9842215de07424b2d2361a0bdb3e4d6761d7cd28d53ded

diff --git a/sys-libs/libcxx/libcxx-7.0.1_rc2.ebuild b/sys-libs/libcxx/libcxx-7.0.1_rc2.ebuild
new file mode 100644
index 00000000000..c6d4692fb7b
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-7.0.1_rc2.ebuild
@@ -0,0 +1,215 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-multilib llvm multiprocessing python-any-r1 \
+	toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+SRC_URI="https://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd"
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# llvm-6 for new lit options
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+	app-arch/xz-utils
+	>=sys-devel/llvm-6"
+
+S=${WORKDIR}/${P/_/}.src
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+test_compiler() {
+	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+		<<<'int main() { return 0; }' &>/dev/null
+}
+
+src_configure() {
+	# note: we need to do this before multilib kicks in since it will
+	# alter the CHOST
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+			   ${LDFLAGS} -print-libgcc-file-name)
+			if [[ ${compiler_rt} == *libclang_rt* ]]; then
+				want_gcc_s=OFF
+				extra_libs+=( "${compiler_rt}" )
+			fi
+		fi
+	fi
+
+	# bootstrap: cmake is unhappy if compiler can't link to stdlib
+	local nolib_flags=( -nodefaultlibs -lc )
+	if ! test_compiler; then
+		if test_compiler "${nolib_flags[@]}"; then
+			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-12-02 12:53 Mikle Kolyada
  0 siblings, 0 replies; 605+ messages in thread
From: Mikle Kolyada @ 2018-12-02 12:53 UTC (permalink / raw
  To: gentoo-commits

commit:     45ff82de01ee5da91ff0d121f130f57224ebf5c4
Author:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Sun Dec  2 12:50:45 2018 +0000
Commit:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Sun Dec  2 12:53:24 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=45ff82de

sys-libs/libcxx: Add ~arm keyword wrt bug #595834

Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11

 sys-libs/libcxx/libcxx-7.0.0.ebuild | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-7.0.0.ebuild b/sys-libs/libcxx/libcxx-7.0.0.ebuild
index 790f5dc1221..17b0722d40d 100644
--- a/sys-libs/libcxx/libcxx-7.0.0.ebuild
+++ b/sys-libs/libcxx/libcxx-7.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -19,7 +19,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-12-20 12:41 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-12-20 12:41 UTC (permalink / raw
  To: gentoo-commits

commit:     23b31646143b204de8ef29eab63dbb00fe9c1145
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 20 09:22:32 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Dec 20 12:40:57 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=23b31646

sys-libs/libcxx: Bump to 7.0.1-final

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/Manifest                                         | 2 +-
 sys-libs/libcxx/{libcxx-7.0.1_rc2.ebuild => libcxx-7.0.1.ebuild} | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 6c1a6c65874..4e94af73c75 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -4,4 +4,4 @@ DIST libcxx-4.0.1.src.tar.xz 1446380 BLAKE2B cd871eff4c4ca25a1fe4d27f778e913fe53
 DIST libcxx-5.0.2.src.tar.xz 1530908 BLAKE2B e0c47d6803668267a71c75df873a136a2c3bec3732a08c365107b286f6dfef883edb81f9f4d22a0f312228865528bf1f15450c41803f8d3a8c8081fe12b62c25 SHA512 c77e0ea6bb3dc03270312de4a24fdd0d027448b2e182af31489031fd52f0997377c9049769930b80b2ba0062fe21317d8ae823c5e80e12128f8ae8e6f171be22
 DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
 DIST libcxx-7.0.0.src.tar.xz 1652496 BLAKE2B 7c8e4b7743a775a5f41ef1a2e511b44ca67af32be03f4fec9a4f70b49b540a442724afd69a312d68719ace3eee9e3d600c7596bda68496212827e140da5a258e SHA512 5ebf8418bc9d311c1744c257ab7a26cf2436a64a47451905df70ec64b12d25ec33acf99e1b9d552fd54ed850bed8f53dffde2ea20292ecd9976eaa31f144caf5
-DIST libcxx-7.0.1rc2.src.tar.xz 1641280 BLAKE2B fec5ab41c7cdcc70582c812bd10bdcf6b400f865756bc60afbe4b84029c8ced4b519f1b3919baa381f086a0ef93b99f9f7bc47ec480ac2c49ef9c0e9d77e55b7 SHA512 04f1a26e21e082a685050c2f7696078d56e5a3b48e3b3916d6eb425b9b0b75354714faa5a78a2c003b9842215de07424b2d2361a0bdb3e4d6761d7cd28d53ded
+DIST libcxx-7.0.1.src.tar.xz 1638188 BLAKE2B 541d27c3801895d59ad06b15de5fe9ff0d9b5b3ef393a5fad05a12a52dd6453ecc530b0ce3129624a27e959d3c9c5f7066ebb57fd85caca538ebf4f990aa6967 SHA512 b3ad7ad95bdcf2d902b29de8a0b757d4dbc220bc1a22a813d6bcec15a34b3aa42e85c59f4cecbb318c799ca611550b44c328b37278f4349b984016ad4556c1d8

diff --git a/sys-libs/libcxx/libcxx-7.0.1_rc2.ebuild b/sys-libs/libcxx/libcxx-7.0.1.ebuild
similarity index 97%
rename from sys-libs/libcxx/libcxx-7.0.1_rc2.ebuild
rename to sys-libs/libcxx/libcxx-7.0.1.ebuild
index c6d4692fb7b..9dfc42c1c3d 100644
--- a/sys-libs/libcxx/libcxx-7.0.1_rc2.ebuild
+++ b/sys-libs/libcxx/libcxx-7.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -15,11 +15,11 @@ inherit cmake-multilib llvm multiprocessing python-any-r1 \
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="https://libcxx.llvm.org/"
-SRC_URI="https://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2018-12-30 11:39 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2018-12-30 11:39 UTC (permalink / raw
  To: gentoo-commits

commit:     4ffab3a9d0d9f367888eb284061896aee1a46fe9
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 30 11:32:06 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Dec 30 11:39:40 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4ffab3a9

sys-libs/libcxx: Remove 7.0.0

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/Manifest            |   1 -
 sys-libs/libcxx/libcxx-7.0.0.ebuild | 219 ------------------------------------
 2 files changed, 220 deletions(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 4e94af73c75..4a37419557d 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -3,5 +3,4 @@ DIST libcxx-3.9.1.src.tar.xz 1209020 BLAKE2B 510e77c2c1163babbba904933f441e8720b
 DIST libcxx-4.0.1.src.tar.xz 1446380 BLAKE2B cd871eff4c4ca25a1fe4d27f778e913fe536a0b5863ea7dd3c8895f6b743b6f039e4df71f9ba5124c98761a8099666f68e1dfd073b5ec7b9fe0007ef09a9117d SHA512 91f3f397be606989be99865d0b279557f9afb93f7a74ed10c3a74f4440e38b5694ddf452bbf2f487cacd4391606dd5c7edfe5130f2de19e2acfd6cce619d028a
 DIST libcxx-5.0.2.src.tar.xz 1530908 BLAKE2B e0c47d6803668267a71c75df873a136a2c3bec3732a08c365107b286f6dfef883edb81f9f4d22a0f312228865528bf1f15450c41803f8d3a8c8081fe12b62c25 SHA512 c77e0ea6bb3dc03270312de4a24fdd0d027448b2e182af31489031fd52f0997377c9049769930b80b2ba0062fe21317d8ae823c5e80e12128f8ae8e6f171be22
 DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
-DIST libcxx-7.0.0.src.tar.xz 1652496 BLAKE2B 7c8e4b7743a775a5f41ef1a2e511b44ca67af32be03f4fec9a4f70b49b540a442724afd69a312d68719ace3eee9e3d600c7596bda68496212827e140da5a258e SHA512 5ebf8418bc9d311c1744c257ab7a26cf2436a64a47451905df70ec64b12d25ec33acf99e1b9d552fd54ed850bed8f53dffde2ea20292ecd9976eaa31f144caf5
 DIST libcxx-7.0.1.src.tar.xz 1638188 BLAKE2B 541d27c3801895d59ad06b15de5fe9ff0d9b5b3ef393a5fad05a12a52dd6453ecc530b0ce3129624a27e959d3c9c5f7066ebb57fd85caca538ebf4f990aa6967 SHA512 b3ad7ad95bdcf2d902b29de8a0b757d4dbc220bc1a22a813d6bcec15a34b3aa42e85c59f4cecbb318c799ca611550b44c328b37278f4349b984016ad4556c1d8

diff --git a/sys-libs/libcxx/libcxx-7.0.0.ebuild b/sys-libs/libcxx/libcxx-7.0.0.ebuild
deleted file mode 100644
index 17b0722d40d..00000000000
--- a/sys-libs/libcxx/libcxx-7.0.0.ebuild
+++ /dev/null
@@ -1,219 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# Ninja provides better scalability and cleaner verbose output, and is used
-# throughout all LLVM projects.
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-multilib llvm multiprocessing python-any-r1 \
-	toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
-	?? ( libcxxabi libcxxrt )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# llvm-6 for new lit options
-# clang-3.9.0 installs necessary target symlinks unconditionally
-# which removes the need for MULTILIB_USEDEP
-DEPEND="${RDEPEND}
-	test? ( >=sys-devel/clang-3.9.0
-		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
-	app-arch/xz-utils
-	>=sys-devel/llvm-6"
-
-S=${WORKDIR}/${P/_/}.src
-
-DOCS=( CREDITS.TXT )
-
-PATCHES=(
-	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
-	# out-of-tree build.
-	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
-
-	# Fix installing when using libsupc++ backend.
-	# https://bugs.gentoo.org/667174
-	"${FILESDIR}/${PN}-7.0.0-libsupcxx-install.patch"
-)
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
-	has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-	use test && python-any-r1_pkg_setup
-
-	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
-		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
-		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
-		eerror "and try again."
-		die
-	fi
-	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
-		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
-		eerror "conformant compilers). Please use gcc-config to switch to"
-		eerror "gcc-4.7 or later version."
-		die
-	fi
-}
-
-test_compiler() {
-	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
-		<<<'int main() { return 0; }' &>/dev/null
-}
-
-src_configure() {
-	# note: we need to do this before multilib kicks in since it will
-	# alter the CHOST
-	local cxxabi cxxabi_incs
-	if use libcxxabi; then
-		cxxabi=libcxxabi
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
-	elif use libcxxrt; then
-		cxxabi=libcxxrt
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
-	else
-		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-		cxxabi=libsupc++
-		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-	fi
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	# we want -lgcc_s for unwinder, and for compiler runtime when using
-	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON
-	if use libunwind; then
-		# work-around missing -lunwind upstream
-		extra_libs+=( -lunwind )
-		# if we're using libunwind and clang with compiler-rt, we want
-		# to link to compiler-rt instead of -lgcc_s
-		if tc-is-clang; then
-			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
-			   ${LDFLAGS} -print-libgcc-file-name)
-			if [[ ${compiler_rt} == *libclang_rt* ]]; then
-				want_gcc_s=OFF
-				extra_libs+=( "${compiler_rt}" )
-			fi
-		fi
-	fi
-
-	# bootstrap: cmake is unhappy if compiler can't link to stdlib
-	local nolib_flags=( -nodefaultlibs -lc )
-	if ! test_compiler; then
-		if test_compiler "${nolib_flags[@]}"; then
-			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
-			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
-		fi
-	fi
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
-		-DLIBCXX_ENABLE_SHARED=ON
-		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-		-DLIBCXX_CXX_ABI=${cxxabi}
-		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-		# we're using our own mechanism for generating linker scripts
-		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-		-DLIBCXX_INCLUDE_TESTS=$(usex test)
-		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
-	)
-
-	if use test; then
-		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
-
-		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
-		)
-	fi
-	cmake-utils_src_configure
-}
-
-multilib_src_test() {
-	cmake-utils_src_make check-libcxx
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
-
-	# Move it first.
-	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
-	# Generate libc++.a ldscript for inclusion of its dependencies so that
-	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
-	# On Linux/glibc it does not link without libpthread or libdl. It is
-	# fine on FreeBSD.
-	use elibc_glibc && deps+=" libpthread.a libdl.a"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
-}
-
-gen_shared_ldscript() {
-	local libdir=$(get_libdir)
-	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
-
-	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-	gen_shared_ldscript
-	use static-libs && gen_static_ldscript
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-01-16 14:52 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-01-16 14:52 UTC (permalink / raw
  To: gentoo-commits

commit:     ebf0b09c0152f3f5b069a252c503dd46a8d66c48
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 16 13:50:18 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jan 16 14:52:36 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ebf0b09c

sys-libs/libcxx: Add a live ebuild for 8.* branch

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/libcxx-8.0.9999.ebuild | 227 +++++++++++++++++++++++++++++++++
 1 file changed, 227 insertions(+)

diff --git a/sys-libs/libcxx/libcxx-8.0.9999.ebuild b/sys-libs/libcxx/libcxx-8.0.9999.ebuild
new file mode 100644
index 00000000000..523cba0073e
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-8.0.9999.ebuild
@@ -0,0 +1,227 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+EGIT_REPO_URI="https://git.llvm.org/git/libcxx.git
+	https://github.com/llvm-mirror/libcxx.git"
+EGIT_BRANCH="release_80"
+PYTHON_COMPAT=( python2_7 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3" || SCM=""
+
+inherit ${SCM} cmake-multilib llvm multiprocessing python-any-r1 \
+	toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+if [[ ${PV} != *9999 ]] ; then
+	SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz"
+	S="${WORKDIR}/${P}.src"
+else
+	SRC_URI=""
+fi
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+if [[ ${PV} != *9999 ]] ; then
+	KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+else
+	KEYWORDS=""
+fi
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# llvm-6 for new lit options
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+	app-arch/xz-utils
+	>=sys-devel/llvm-6"
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+test_compiler() {
+	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+		<<<'int main() { return 0; }' &>/dev/null
+}
+
+src_configure() {
+	# note: we need to do this before multilib kicks in since it will
+	# alter the CHOST
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+			   ${LDFLAGS} -print-libgcc-file-name)
+			if [[ ${compiler_rt} == *libclang_rt* ]]; then
+				want_gcc_s=OFF
+				extra_libs+=( "${compiler_rt}" )
+			fi
+		fi
+	fi
+
+	# bootstrap: cmake is unhappy if compiler can't link to stdlib
+	local nolib_flags=( -nodefaultlibs -lc )
+	if ! test_compiler; then
+		if test_compiler "${nolib_flags[@]}"; then
+			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-02-13 12:46 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-02-13 12:46 UTC (permalink / raw
  To: gentoo-commits

commit:     fb6a4aabf73d1209c2a57d2836dde7bc2c895e26
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 13 10:22:48 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Feb 13 12:46:45 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fb6a4aab

sys-libs/libcxx: Bump to 8.0.0rc2

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/Manifest                |   1 +
 sys-libs/libcxx/libcxx-8.0.0_rc2.ebuild | 215 ++++++++++++++++++++++++++++++++
 2 files changed, 216 insertions(+)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 4a37419557d..ad3318fba2b 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -4,3 +4,4 @@ DIST libcxx-4.0.1.src.tar.xz 1446380 BLAKE2B cd871eff4c4ca25a1fe4d27f778e913fe53
 DIST libcxx-5.0.2.src.tar.xz 1530908 BLAKE2B e0c47d6803668267a71c75df873a136a2c3bec3732a08c365107b286f6dfef883edb81f9f4d22a0f312228865528bf1f15450c41803f8d3a8c8081fe12b62c25 SHA512 c77e0ea6bb3dc03270312de4a24fdd0d027448b2e182af31489031fd52f0997377c9049769930b80b2ba0062fe21317d8ae823c5e80e12128f8ae8e6f171be22
 DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
 DIST libcxx-7.0.1.src.tar.xz 1638188 BLAKE2B 541d27c3801895d59ad06b15de5fe9ff0d9b5b3ef393a5fad05a12a52dd6453ecc530b0ce3129624a27e959d3c9c5f7066ebb57fd85caca538ebf4f990aa6967 SHA512 b3ad7ad95bdcf2d902b29de8a0b757d4dbc220bc1a22a813d6bcec15a34b3aa42e85c59f4cecbb318c799ca611550b44c328b37278f4349b984016ad4556c1d8
+DIST libcxx-8.0.0rc2.src.tar.xz 1755516 BLAKE2B b6c15d0d50d01e69afb376140052a1d27e2acef45796781497b35dbd8c26db88883e17105fb4e83c50097ab7a4ebf077350754bc1b1d43ef8426b82a7e92b72d SHA512 79ac5a389f5a6bcb145e8e387ae2cbdf0679996a9f66fe38a8e62cd893b6ed68943824d5538e7408b57ecfa4182aec20b837158c9a6f50188c1e9aae176a4f5f

diff --git a/sys-libs/libcxx/libcxx-8.0.0_rc2.ebuild b/sys-libs/libcxx/libcxx-8.0.0_rc2.ebuild
new file mode 100644
index 00000000000..4e0e73c96b4
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-8.0.0_rc2.ebuild
@@ -0,0 +1,215 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-multilib llvm multiprocessing python-any-r1 \
+	toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+SRC_URI="https://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# llvm-6 for new lit options
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+	app-arch/xz-utils
+	>=sys-devel/llvm-6"
+
+S=${WORKDIR}/${P/_/}.src
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+test_compiler() {
+	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+		<<<'int main() { return 0; }' &>/dev/null
+}
+
+src_configure() {
+	# note: we need to do this before multilib kicks in since it will
+	# alter the CHOST
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+			   ${LDFLAGS} -print-libgcc-file-name)
+			if [[ ${compiler_rt} == *libclang_rt* ]]; then
+				want_gcc_s=OFF
+				extra_libs+=( "${compiler_rt}" )
+			fi
+		fi
+	fi
+
+	# bootstrap: cmake is unhappy if compiler can't link to stdlib
+	local nolib_flags=( -nodefaultlibs -lc )
+	if ! test_compiler; then
+		if test_compiler "${nolib_flags[@]}"; then
+			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-02-28 17:41 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-02-28 17:41 UTC (permalink / raw
  To: gentoo-commits

commit:     eae70377325862487a6c3c44d1b8fab8623ed8a7
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 28 17:11:52 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Feb 28 17:41:36 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eae70377

sys-libs/libcxx: Bump to 8.0.0rc3

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/Manifest                |   1 +
 sys-libs/libcxx/libcxx-8.0.0_rc3.ebuild | 215 ++++++++++++++++++++++++++++++++
 2 files changed, 216 insertions(+)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index ad3318fba2b..a5405d54d24 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -5,3 +5,4 @@ DIST libcxx-5.0.2.src.tar.xz 1530908 BLAKE2B e0c47d6803668267a71c75df873a136a2c3
 DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
 DIST libcxx-7.0.1.src.tar.xz 1638188 BLAKE2B 541d27c3801895d59ad06b15de5fe9ff0d9b5b3ef393a5fad05a12a52dd6453ecc530b0ce3129624a27e959d3c9c5f7066ebb57fd85caca538ebf4f990aa6967 SHA512 b3ad7ad95bdcf2d902b29de8a0b757d4dbc220bc1a22a813d6bcec15a34b3aa42e85c59f4cecbb318c799ca611550b44c328b37278f4349b984016ad4556c1d8
 DIST libcxx-8.0.0rc2.src.tar.xz 1755516 BLAKE2B b6c15d0d50d01e69afb376140052a1d27e2acef45796781497b35dbd8c26db88883e17105fb4e83c50097ab7a4ebf077350754bc1b1d43ef8426b82a7e92b72d SHA512 79ac5a389f5a6bcb145e8e387ae2cbdf0679996a9f66fe38a8e62cd893b6ed68943824d5538e7408b57ecfa4182aec20b837158c9a6f50188c1e9aae176a4f5f
+DIST libcxx-8.0.0rc3.src.tar.xz 1755192 BLAKE2B 32d0602a13a273f396f139dd25f67ed0a12881c618eef35e0bb9b6d8d8cb786f130ce3ce7e8027f8f2a2516de5d1f9753bc12e81497a0bc919731866da04dba2 SHA512 f59e6fdd20d18cfb39c426eadcda5a611dc79735fc1fc8c4cebd4106afa35736ceb3500bba7f162bccced1964785fc18c129e9bb68dd6549b205cae14cd46f8b

diff --git a/sys-libs/libcxx/libcxx-8.0.0_rc3.ebuild b/sys-libs/libcxx/libcxx-8.0.0_rc3.ebuild
new file mode 100644
index 00000000000..4e0e73c96b4
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-8.0.0_rc3.ebuild
@@ -0,0 +1,215 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-multilib llvm multiprocessing python-any-r1 \
+	toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+SRC_URI="https://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# llvm-6 for new lit options
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+	app-arch/xz-utils
+	>=sys-devel/llvm-6"
+
+S=${WORKDIR}/${P/_/}.src
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+test_compiler() {
+	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+		<<<'int main() { return 0; }' &>/dev/null
+}
+
+src_configure() {
+	# note: we need to do this before multilib kicks in since it will
+	# alter the CHOST
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+			   ${LDFLAGS} -print-libgcc-file-name)
+			if [[ ${compiler_rt} == *libclang_rt* ]]; then
+				want_gcc_s=OFF
+				extra_libs+=( "${compiler_rt}" )
+			fi
+		fi
+	fi
+
+	# bootstrap: cmake is unhappy if compiler can't link to stdlib
+	local nolib_flags=( -nodefaultlibs -lc )
+	if ! test_compiler; then
+		if test_compiler "${nolib_flags[@]}"; then
+			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-03-12 13:14 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-03-12 13:14 UTC (permalink / raw
  To: gentoo-commits

commit:     724ede9c2d5acdb7cf92f8a027ca66b51d51e95c
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 12 13:00:07 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Mar 12 13:14:06 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=724ede9c

sys-libs/libcxx: Bump to 8.0.0rc5

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/Manifest                |   1 +
 sys-libs/libcxx/libcxx-8.0.0_rc5.ebuild | 215 ++++++++++++++++++++++++++++++++
 2 files changed, 216 insertions(+)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 29b7d711fc2..3d804d7399e 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -2,3 +2,4 @@ DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9f
 DIST libcxx-7.0.1.src.tar.xz 1638188 BLAKE2B 541d27c3801895d59ad06b15de5fe9ff0d9b5b3ef393a5fad05a12a52dd6453ecc530b0ce3129624a27e959d3c9c5f7066ebb57fd85caca538ebf4f990aa6967 SHA512 b3ad7ad95bdcf2d902b29de8a0b757d4dbc220bc1a22a813d6bcec15a34b3aa42e85c59f4cecbb318c799ca611550b44c328b37278f4349b984016ad4556c1d8
 DIST libcxx-8.0.0rc2.src.tar.xz 1755516 BLAKE2B b6c15d0d50d01e69afb376140052a1d27e2acef45796781497b35dbd8c26db88883e17105fb4e83c50097ab7a4ebf077350754bc1b1d43ef8426b82a7e92b72d SHA512 79ac5a389f5a6bcb145e8e387ae2cbdf0679996a9f66fe38a8e62cd893b6ed68943824d5538e7408b57ecfa4182aec20b837158c9a6f50188c1e9aae176a4f5f
 DIST libcxx-8.0.0rc3.src.tar.xz 1755192 BLAKE2B 32d0602a13a273f396f139dd25f67ed0a12881c618eef35e0bb9b6d8d8cb786f130ce3ce7e8027f8f2a2516de5d1f9753bc12e81497a0bc919731866da04dba2 SHA512 f59e6fdd20d18cfb39c426eadcda5a611dc79735fc1fc8c4cebd4106afa35736ceb3500bba7f162bccced1964785fc18c129e9bb68dd6549b205cae14cd46f8b
+DIST libcxx-8.0.0rc5.src.tar.xz 1755168 BLAKE2B ec3e77fc15d92d4a2e04b706b52379e2f5fefbdd00e6f1bd63061c42781330b279507e690f2f14185e18893bb7b985251e68b5282b26b4c20afbed671d35073b SHA512 aaf6495ea7ddf68441aa4422ca7d0d02f17875553f34010d1e5061a5180774990b227edc6fe133dd4081de7e4f835228ac286b974800fd396b3650c4f7899b7a

diff --git a/sys-libs/libcxx/libcxx-8.0.0_rc5.ebuild b/sys-libs/libcxx/libcxx-8.0.0_rc5.ebuild
new file mode 100644
index 00000000000..4e0e73c96b4
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-8.0.0_rc5.ebuild
@@ -0,0 +1,215 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-multilib llvm multiprocessing python-any-r1 \
+	toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+SRC_URI="https://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# llvm-6 for new lit options
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+	app-arch/xz-utils
+	>=sys-devel/llvm-6"
+
+S=${WORKDIR}/${P/_/}.src
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+test_compiler() {
+	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+		<<<'int main() { return 0; }' &>/dev/null
+}
+
+src_configure() {
+	# note: we need to do this before multilib kicks in since it will
+	# alter the CHOST
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+			   ${LDFLAGS} -print-libgcc-file-name)
+			if [[ ${compiler_rt} == *libclang_rt* ]]; then
+				want_gcc_s=OFF
+				extra_libs+=( "${compiler_rt}" )
+			fi
+		fi
+	fi
+
+	# bootstrap: cmake is unhappy if compiler can't link to stdlib
+	local nolib_flags=( -nodefaultlibs -lc )
+	if ! test_compiler; then
+		if test_compiler "${nolib_flags[@]}"; then
+			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-03-13  8:22 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-03-13  8:22 UTC (permalink / raw
  To: gentoo-commits

commit:     823ff2a88a52777e09cf6bd2562e4bfe0933eac0
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 13 07:49:53 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar 13 07:49:53 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=823ff2a8

sys-libs/libcxx: Remove 8.0.0rc[23]

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/Manifest                |   2 -
 sys-libs/libcxx/libcxx-8.0.0_rc2.ebuild | 215 --------------------------------
 sys-libs/libcxx/libcxx-8.0.0_rc3.ebuild | 215 --------------------------------
 3 files changed, 432 deletions(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 3d804d7399e..249dc4cadbe 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,5 +1,3 @@
 DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
 DIST libcxx-7.0.1.src.tar.xz 1638188 BLAKE2B 541d27c3801895d59ad06b15de5fe9ff0d9b5b3ef393a5fad05a12a52dd6453ecc530b0ce3129624a27e959d3c9c5f7066ebb57fd85caca538ebf4f990aa6967 SHA512 b3ad7ad95bdcf2d902b29de8a0b757d4dbc220bc1a22a813d6bcec15a34b3aa42e85c59f4cecbb318c799ca611550b44c328b37278f4349b984016ad4556c1d8
-DIST libcxx-8.0.0rc2.src.tar.xz 1755516 BLAKE2B b6c15d0d50d01e69afb376140052a1d27e2acef45796781497b35dbd8c26db88883e17105fb4e83c50097ab7a4ebf077350754bc1b1d43ef8426b82a7e92b72d SHA512 79ac5a389f5a6bcb145e8e387ae2cbdf0679996a9f66fe38a8e62cd893b6ed68943824d5538e7408b57ecfa4182aec20b837158c9a6f50188c1e9aae176a4f5f
-DIST libcxx-8.0.0rc3.src.tar.xz 1755192 BLAKE2B 32d0602a13a273f396f139dd25f67ed0a12881c618eef35e0bb9b6d8d8cb786f130ce3ce7e8027f8f2a2516de5d1f9753bc12e81497a0bc919731866da04dba2 SHA512 f59e6fdd20d18cfb39c426eadcda5a611dc79735fc1fc8c4cebd4106afa35736ceb3500bba7f162bccced1964785fc18c129e9bb68dd6549b205cae14cd46f8b
 DIST libcxx-8.0.0rc5.src.tar.xz 1755168 BLAKE2B ec3e77fc15d92d4a2e04b706b52379e2f5fefbdd00e6f1bd63061c42781330b279507e690f2f14185e18893bb7b985251e68b5282b26b4c20afbed671d35073b SHA512 aaf6495ea7ddf68441aa4422ca7d0d02f17875553f34010d1e5061a5180774990b227edc6fe133dd4081de7e4f835228ac286b974800fd396b3650c4f7899b7a

diff --git a/sys-libs/libcxx/libcxx-8.0.0_rc2.ebuild b/sys-libs/libcxx/libcxx-8.0.0_rc2.ebuild
deleted file mode 100644
index 4e0e73c96b4..00000000000
--- a/sys-libs/libcxx/libcxx-8.0.0_rc2.ebuild
+++ /dev/null
@@ -1,215 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# Ninja provides better scalability and cleaner verbose output, and is used
-# throughout all LLVM projects.
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-multilib llvm multiprocessing python-any-r1 \
-	toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-SRC_URI="https://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
-	?? ( libcxxabi libcxxrt )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# llvm-6 for new lit options
-# clang-3.9.0 installs necessary target symlinks unconditionally
-# which removes the need for MULTILIB_USEDEP
-DEPEND="${RDEPEND}
-	test? ( >=sys-devel/clang-3.9.0
-		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
-	app-arch/xz-utils
-	>=sys-devel/llvm-6"
-
-S=${WORKDIR}/${P/_/}.src
-
-DOCS=( CREDITS.TXT )
-
-PATCHES=(
-	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
-	# out-of-tree build.
-	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
-)
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
-	has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-	use test && python-any-r1_pkg_setup
-
-	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
-		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
-		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
-		eerror "and try again."
-		die
-	fi
-	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
-		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
-		eerror "conformant compilers). Please use gcc-config to switch to"
-		eerror "gcc-4.7 or later version."
-		die
-	fi
-}
-
-test_compiler() {
-	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
-		<<<'int main() { return 0; }' &>/dev/null
-}
-
-src_configure() {
-	# note: we need to do this before multilib kicks in since it will
-	# alter the CHOST
-	local cxxabi cxxabi_incs
-	if use libcxxabi; then
-		cxxabi=libcxxabi
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
-	elif use libcxxrt; then
-		cxxabi=libcxxrt
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
-	else
-		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-		cxxabi=libsupc++
-		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-	fi
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	# we want -lgcc_s for unwinder, and for compiler runtime when using
-	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON
-	if use libunwind; then
-		# work-around missing -lunwind upstream
-		extra_libs+=( -lunwind )
-		# if we're using libunwind and clang with compiler-rt, we want
-		# to link to compiler-rt instead of -lgcc_s
-		if tc-is-clang; then
-			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
-			   ${LDFLAGS} -print-libgcc-file-name)
-			if [[ ${compiler_rt} == *libclang_rt* ]]; then
-				want_gcc_s=OFF
-				extra_libs+=( "${compiler_rt}" )
-			fi
-		fi
-	fi
-
-	# bootstrap: cmake is unhappy if compiler can't link to stdlib
-	local nolib_flags=( -nodefaultlibs -lc )
-	if ! test_compiler; then
-		if test_compiler "${nolib_flags[@]}"; then
-			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
-			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
-		fi
-	fi
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
-		-DLIBCXX_ENABLE_SHARED=ON
-		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-		-DLIBCXX_CXX_ABI=${cxxabi}
-		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-		# we're using our own mechanism for generating linker scripts
-		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-		-DLIBCXX_INCLUDE_TESTS=$(usex test)
-		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
-	)
-
-	if use test; then
-		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
-
-		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
-		)
-	fi
-	cmake-utils_src_configure
-}
-
-multilib_src_test() {
-	cmake-utils_src_make check-libcxx
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
-
-	# Move it first.
-	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
-	# Generate libc++.a ldscript for inclusion of its dependencies so that
-	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
-	# On Linux/glibc it does not link without libpthread or libdl. It is
-	# fine on FreeBSD.
-	use elibc_glibc && deps+=" libpthread.a libdl.a"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
-}
-
-gen_shared_ldscript() {
-	local libdir=$(get_libdir)
-	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
-
-	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-	gen_shared_ldscript
-	use static-libs && gen_static_ldscript
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}

diff --git a/sys-libs/libcxx/libcxx-8.0.0_rc3.ebuild b/sys-libs/libcxx/libcxx-8.0.0_rc3.ebuild
deleted file mode 100644
index 4e0e73c96b4..00000000000
--- a/sys-libs/libcxx/libcxx-8.0.0_rc3.ebuild
+++ /dev/null
@@ -1,215 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# Ninja provides better scalability and cleaner verbose output, and is used
-# throughout all LLVM projects.
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-multilib llvm multiprocessing python-any-r1 \
-	toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-SRC_URI="https://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
-	?? ( libcxxabi libcxxrt )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# llvm-6 for new lit options
-# clang-3.9.0 installs necessary target symlinks unconditionally
-# which removes the need for MULTILIB_USEDEP
-DEPEND="${RDEPEND}
-	test? ( >=sys-devel/clang-3.9.0
-		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
-	app-arch/xz-utils
-	>=sys-devel/llvm-6"
-
-S=${WORKDIR}/${P/_/}.src
-
-DOCS=( CREDITS.TXT )
-
-PATCHES=(
-	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
-	# out-of-tree build.
-	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
-)
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
-	has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-	use test && python-any-r1_pkg_setup
-
-	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
-		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
-		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
-		eerror "and try again."
-		die
-	fi
-	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
-		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
-		eerror "conformant compilers). Please use gcc-config to switch to"
-		eerror "gcc-4.7 or later version."
-		die
-	fi
-}
-
-test_compiler() {
-	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
-		<<<'int main() { return 0; }' &>/dev/null
-}
-
-src_configure() {
-	# note: we need to do this before multilib kicks in since it will
-	# alter the CHOST
-	local cxxabi cxxabi_incs
-	if use libcxxabi; then
-		cxxabi=libcxxabi
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
-	elif use libcxxrt; then
-		cxxabi=libcxxrt
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
-	else
-		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-		cxxabi=libsupc++
-		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-	fi
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	# we want -lgcc_s for unwinder, and for compiler runtime when using
-	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON
-	if use libunwind; then
-		# work-around missing -lunwind upstream
-		extra_libs+=( -lunwind )
-		# if we're using libunwind and clang with compiler-rt, we want
-		# to link to compiler-rt instead of -lgcc_s
-		if tc-is-clang; then
-			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
-			   ${LDFLAGS} -print-libgcc-file-name)
-			if [[ ${compiler_rt} == *libclang_rt* ]]; then
-				want_gcc_s=OFF
-				extra_libs+=( "${compiler_rt}" )
-			fi
-		fi
-	fi
-
-	# bootstrap: cmake is unhappy if compiler can't link to stdlib
-	local nolib_flags=( -nodefaultlibs -lc )
-	if ! test_compiler; then
-		if test_compiler "${nolib_flags[@]}"; then
-			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
-			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
-		fi
-	fi
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
-		-DLIBCXX_ENABLE_SHARED=ON
-		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-		-DLIBCXX_CXX_ABI=${cxxabi}
-		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-		# we're using our own mechanism for generating linker scripts
-		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-		-DLIBCXX_INCLUDE_TESTS=$(usex test)
-		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
-	)
-
-	if use test; then
-		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
-
-		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
-		)
-	fi
-	cmake-utils_src_configure
-}
-
-multilib_src_test() {
-	cmake-utils_src_make check-libcxx
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
-
-	# Move it first.
-	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
-	# Generate libc++.a ldscript for inclusion of its dependencies so that
-	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
-	# On Linux/glibc it does not link without libpthread or libdl. It is
-	# fine on FreeBSD.
-	use elibc_glibc && deps+=" libpthread.a libdl.a"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
-}
-
-gen_shared_ldscript() {
-	local libdir=$(get_libdir)
-	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
-
-	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-	gen_shared_ldscript
-	use static-libs && gen_static_ldscript
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-03-20 15:02 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-03-20 15:02 UTC (permalink / raw
  To: gentoo-commits

commit:     6f1a0b24736ead6e7de5d9594cc0681d52c669d2
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 20 14:14:57 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar 20 15:01:49 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6f1a0b24

sys-libs/libcxx: Bump to 8.0.0 final

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/Manifest            |   1 +
 sys-libs/libcxx/libcxx-8.0.0.ebuild | 215 ++++++++++++++++++++++++++++++++++++
 2 files changed, 216 insertions(+)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 249dc4cadbe..72717228eb2 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,3 +1,4 @@
 DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
 DIST libcxx-7.0.1.src.tar.xz 1638188 BLAKE2B 541d27c3801895d59ad06b15de5fe9ff0d9b5b3ef393a5fad05a12a52dd6453ecc530b0ce3129624a27e959d3c9c5f7066ebb57fd85caca538ebf4f990aa6967 SHA512 b3ad7ad95bdcf2d902b29de8a0b757d4dbc220bc1a22a813d6bcec15a34b3aa42e85c59f4cecbb318c799ca611550b44c328b37278f4349b984016ad4556c1d8
+DIST libcxx-8.0.0.src.tar.xz 1752308 BLAKE2B 1e8cd8c7100f5f8b943ba8f38b0b59a0fd5e5bea834953483a67502f67de3eb51eba4ed4be17cdb54406da4ad7ebc6fef33934c59db982afa55856ce9f1f46ff SHA512 2e0fcd3e78f7e15ea894e52c51351daef8e3a2aaf53b3df7497b11403d28f5269ff49a4674bacea1d565a5faa2b24502caaaeff9cd48518f0d141563d8f9cc03
 DIST libcxx-8.0.0rc5.src.tar.xz 1755168 BLAKE2B ec3e77fc15d92d4a2e04b706b52379e2f5fefbdd00e6f1bd63061c42781330b279507e690f2f14185e18893bb7b985251e68b5282b26b4c20afbed671d35073b SHA512 aaf6495ea7ddf68441aa4422ca7d0d02f17875553f34010d1e5061a5180774990b227edc6fe133dd4081de7e4f835228ac286b974800fd396b3650c4f7899b7a

diff --git a/sys-libs/libcxx/libcxx-8.0.0.ebuild b/sys-libs/libcxx/libcxx-8.0.0.ebuild
new file mode 100644
index 00000000000..29aa632a979
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-8.0.0.ebuild
@@ -0,0 +1,215 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-multilib llvm multiprocessing python-any-r1 \
+	toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# llvm-6 for new lit options
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+	app-arch/xz-utils
+	>=sys-devel/llvm-6"
+
+S=${WORKDIR}/${P/_/}.src
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+test_compiler() {
+	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+		<<<'int main() { return 0; }' &>/dev/null
+}
+
+src_configure() {
+	# note: we need to do this before multilib kicks in since it will
+	# alter the CHOST
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+			   ${LDFLAGS} -print-libgcc-file-name)
+			if [[ ${compiler_rt} == *libclang_rt* ]]; then
+				want_gcc_s=OFF
+				extra_libs+=( "${compiler_rt}" )
+			fi
+		fi
+	fi
+
+	# bootstrap: cmake is unhappy if compiler can't link to stdlib
+	local nolib_flags=( -nodefaultlibs -lc )
+	if ! test_compiler; then
+		if test_compiler "${nolib_flags[@]}"; then
+			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-03-20 15:02 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-03-20 15:02 UTC (permalink / raw
  To: gentoo-commits

commit:     05add8e01e2781aaf121b2ca17604a8ebe19eb77
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 20 14:17:04 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar 20 15:01:54 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=05add8e0

sys-libs/libcxx: Remove 8.0.0rc5

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/Manifest                |   1 -
 sys-libs/libcxx/libcxx-8.0.0_rc5.ebuild | 215 --------------------------------
 2 files changed, 216 deletions(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 72717228eb2..ea4e572a5b7 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,4 +1,3 @@
 DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
 DIST libcxx-7.0.1.src.tar.xz 1638188 BLAKE2B 541d27c3801895d59ad06b15de5fe9ff0d9b5b3ef393a5fad05a12a52dd6453ecc530b0ce3129624a27e959d3c9c5f7066ebb57fd85caca538ebf4f990aa6967 SHA512 b3ad7ad95bdcf2d902b29de8a0b757d4dbc220bc1a22a813d6bcec15a34b3aa42e85c59f4cecbb318c799ca611550b44c328b37278f4349b984016ad4556c1d8
 DIST libcxx-8.0.0.src.tar.xz 1752308 BLAKE2B 1e8cd8c7100f5f8b943ba8f38b0b59a0fd5e5bea834953483a67502f67de3eb51eba4ed4be17cdb54406da4ad7ebc6fef33934c59db982afa55856ce9f1f46ff SHA512 2e0fcd3e78f7e15ea894e52c51351daef8e3a2aaf53b3df7497b11403d28f5269ff49a4674bacea1d565a5faa2b24502caaaeff9cd48518f0d141563d8f9cc03
-DIST libcxx-8.0.0rc5.src.tar.xz 1755168 BLAKE2B ec3e77fc15d92d4a2e04b706b52379e2f5fefbdd00e6f1bd63061c42781330b279507e690f2f14185e18893bb7b985251e68b5282b26b4c20afbed671d35073b SHA512 aaf6495ea7ddf68441aa4422ca7d0d02f17875553f34010d1e5061a5180774990b227edc6fe133dd4081de7e4f835228ac286b974800fd396b3650c4f7899b7a

diff --git a/sys-libs/libcxx/libcxx-8.0.0_rc5.ebuild b/sys-libs/libcxx/libcxx-8.0.0_rc5.ebuild
deleted file mode 100644
index 4e0e73c96b4..00000000000
--- a/sys-libs/libcxx/libcxx-8.0.0_rc5.ebuild
+++ /dev/null
@@ -1,215 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# Ninja provides better scalability and cleaner verbose output, and is used
-# throughout all LLVM projects.
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-multilib llvm multiprocessing python-any-r1 \
-	toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-SRC_URI="https://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
-	?? ( libcxxabi libcxxrt )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# llvm-6 for new lit options
-# clang-3.9.0 installs necessary target symlinks unconditionally
-# which removes the need for MULTILIB_USEDEP
-DEPEND="${RDEPEND}
-	test? ( >=sys-devel/clang-3.9.0
-		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
-	app-arch/xz-utils
-	>=sys-devel/llvm-6"
-
-S=${WORKDIR}/${P/_/}.src
-
-DOCS=( CREDITS.TXT )
-
-PATCHES=(
-	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
-	# out-of-tree build.
-	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
-)
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
-	has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-	use test && python-any-r1_pkg_setup
-
-	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
-		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
-		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
-		eerror "and try again."
-		die
-	fi
-	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
-		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
-		eerror "conformant compilers). Please use gcc-config to switch to"
-		eerror "gcc-4.7 or later version."
-		die
-	fi
-}
-
-test_compiler() {
-	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
-		<<<'int main() { return 0; }' &>/dev/null
-}
-
-src_configure() {
-	# note: we need to do this before multilib kicks in since it will
-	# alter the CHOST
-	local cxxabi cxxabi_incs
-	if use libcxxabi; then
-		cxxabi=libcxxabi
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
-	elif use libcxxrt; then
-		cxxabi=libcxxrt
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
-	else
-		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-		cxxabi=libsupc++
-		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-	fi
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	# we want -lgcc_s for unwinder, and for compiler runtime when using
-	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON
-	if use libunwind; then
-		# work-around missing -lunwind upstream
-		extra_libs+=( -lunwind )
-		# if we're using libunwind and clang with compiler-rt, we want
-		# to link to compiler-rt instead of -lgcc_s
-		if tc-is-clang; then
-			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
-			   ${LDFLAGS} -print-libgcc-file-name)
-			if [[ ${compiler_rt} == *libclang_rt* ]]; then
-				want_gcc_s=OFF
-				extra_libs+=( "${compiler_rt}" )
-			fi
-		fi
-	fi
-
-	# bootstrap: cmake is unhappy if compiler can't link to stdlib
-	local nolib_flags=( -nodefaultlibs -lc )
-	if ! test_compiler; then
-		if test_compiler "${nolib_flags[@]}"; then
-			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
-			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
-		fi
-	fi
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
-		-DLIBCXX_ENABLE_SHARED=ON
-		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-		-DLIBCXX_CXX_ABI=${cxxabi}
-		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-		# we're using our own mechanism for generating linker scripts
-		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-		-DLIBCXX_INCLUDE_TESTS=$(usex test)
-		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
-	)
-
-	if use test; then
-		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
-
-		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
-		)
-	fi
-	cmake-utils_src_configure
-}
-
-multilib_src_test() {
-	cmake-utils_src_make check-libcxx
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
-
-	# Move it first.
-	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
-	# Generate libc++.a ldscript for inclusion of its dependencies so that
-	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
-	# On Linux/glibc it does not link without libpthread or libdl. It is
-	# fine on FreeBSD.
-	use elibc_glibc && deps+=" libpthread.a libdl.a"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
-}
-
-gen_shared_ldscript() {
-	local libdir=$(get_libdir)
-	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
-
-	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-	gen_shared_ldscript
-	use static-libs && gen_static_ldscript
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-04-17 20:09 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-04-17 20:09 UTC (permalink / raw
  To: gentoo-commits

commit:     5516e831962b807658a934f1747def57a1999c14
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 17 19:12:17 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Apr 17 20:09:46 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5516e831

sys-libs/libcxx: Bump to 7.1.0

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/Manifest            |   1 +
 sys-libs/libcxx/libcxx-7.1.0.ebuild | 215 ++++++++++++++++++++++++++++++++++++
 2 files changed, 216 insertions(+)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index ea4e572a5b7..6349d71ca1e 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,3 +1,4 @@
 DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
 DIST libcxx-7.0.1.src.tar.xz 1638188 BLAKE2B 541d27c3801895d59ad06b15de5fe9ff0d9b5b3ef393a5fad05a12a52dd6453ecc530b0ce3129624a27e959d3c9c5f7066ebb57fd85caca538ebf4f990aa6967 SHA512 b3ad7ad95bdcf2d902b29de8a0b757d4dbc220bc1a22a813d6bcec15a34b3aa42e85c59f4cecbb318c799ca611550b44c328b37278f4349b984016ad4556c1d8
+DIST libcxx-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf935d4e784e0bc835a4d2c3ce0790f5539bdca0466feafd668d7c6675b11b7fe14d9adb680c46fd7b28b42a3b423219 SHA512 925ce5093445f84dc17d5b1610e4297ef3606b254b7350c50f88ba042fcca62125ffd97d21cb612707d5e9511267634ca1779619199f95ce819e5f5c0c2b55d5
 DIST libcxx-8.0.0.src.tar.xz 1752308 BLAKE2B 1e8cd8c7100f5f8b943ba8f38b0b59a0fd5e5bea834953483a67502f67de3eb51eba4ed4be17cdb54406da4ad7ebc6fef33934c59db982afa55856ce9f1f46ff SHA512 2e0fcd3e78f7e15ea894e52c51351daef8e3a2aaf53b3df7497b11403d28f5269ff49a4674bacea1d565a5faa2b24502caaaeff9cd48518f0d141563d8f9cc03

diff --git a/sys-libs/libcxx/libcxx-7.1.0.ebuild b/sys-libs/libcxx/libcxx-7.1.0.ebuild
new file mode 100644
index 00000000000..29aa632a979
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-7.1.0.ebuild
@@ -0,0 +1,215 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-multilib llvm multiprocessing python-any-r1 \
+	toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# llvm-6 for new lit options
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+	app-arch/xz-utils
+	>=sys-devel/llvm-6"
+
+S=${WORKDIR}/${P/_/}.src
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+test_compiler() {
+	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+		<<<'int main() { return 0; }' &>/dev/null
+}
+
+src_configure() {
+	# note: we need to do this before multilib kicks in since it will
+	# alter the CHOST
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+			   ${LDFLAGS} -print-libgcc-file-name)
+			if [[ ${compiler_rt} == *libclang_rt* ]]; then
+				want_gcc_s=OFF
+				extra_libs+=( "${compiler_rt}" )
+			fi
+		fi
+	fi
+
+	# bootstrap: cmake is unhappy if compiler can't link to stdlib
+	local nolib_flags=( -nodefaultlibs -lc )
+	if ! test_compiler; then
+		if test_compiler "${nolib_flags[@]}"; then
+			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-04-19 20:11 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-04-19 20:11 UTC (permalink / raw
  To: gentoo-commits

commit:     16da16daadda372eea5ae2548b9be67c6556317d
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 19 19:48:48 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Apr 19 20:10:54 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=16da16da

sys-libs/libcxx: Remove 7.0.9999

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/libcxx-7.0.9999.ebuild | 227 ---------------------------------
 1 file changed, 227 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-7.0.9999.ebuild b/sys-libs/libcxx/libcxx-7.0.9999.ebuild
deleted file mode 100644
index 536457a1380..00000000000
--- a/sys-libs/libcxx/libcxx-7.0.9999.ebuild
+++ /dev/null
@@ -1,227 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# Ninja provides better scalability and cleaner verbose output, and is used
-# throughout all LLVM projects.
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-EGIT_REPO_URI="https://git.llvm.org/git/libcxx.git
-	https://github.com/llvm-mirror/libcxx.git"
-EGIT_BRANCH="release_70"
-PYTHON_COMPAT=( python2_7 )
-
-[[ ${PV} == *9999 ]] && SCM="git-r3" || SCM=""
-
-inherit ${SCM} cmake-multilib llvm multiprocessing python-any-r1 \
-	toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-if [[ ${PV} != *9999 ]] ; then
-	SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz"
-	S="${WORKDIR}/${P}.src"
-else
-	SRC_URI=""
-fi
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-if [[ ${PV} != *9999 ]] ; then
-	KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
-else
-	KEYWORDS=""
-fi
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
-	?? ( libcxxabi libcxxrt )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# llvm-6 for new lit options
-# clang-3.9.0 installs necessary target symlinks unconditionally
-# which removes the need for MULTILIB_USEDEP
-DEPEND="${RDEPEND}
-	test? ( >=sys-devel/clang-3.9.0
-		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
-	app-arch/xz-utils
-	>=sys-devel/llvm-6"
-
-DOCS=( CREDITS.TXT )
-
-PATCHES=(
-	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
-	# out-of-tree build.
-	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
-)
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
-	has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-	use test && python-any-r1_pkg_setup
-
-	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
-		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
-		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
-		eerror "and try again."
-		die
-	fi
-	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
-		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
-		eerror "conformant compilers). Please use gcc-config to switch to"
-		eerror "gcc-4.7 or later version."
-		die
-	fi
-}
-
-test_compiler() {
-	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
-		<<<'int main() { return 0; }' &>/dev/null
-}
-
-src_configure() {
-	# note: we need to do this before multilib kicks in since it will
-	# alter the CHOST
-	local cxxabi cxxabi_incs
-	if use libcxxabi; then
-		cxxabi=libcxxabi
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
-	elif use libcxxrt; then
-		cxxabi=libcxxrt
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
-	else
-		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-		cxxabi=libsupc++
-		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-	fi
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	# we want -lgcc_s for unwinder, and for compiler runtime when using
-	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON
-	if use libunwind; then
-		# work-around missing -lunwind upstream
-		extra_libs+=( -lunwind )
-		# if we're using libunwind and clang with compiler-rt, we want
-		# to link to compiler-rt instead of -lgcc_s
-		if tc-is-clang; then
-			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
-			   ${LDFLAGS} -print-libgcc-file-name)
-			if [[ ${compiler_rt} == *libclang_rt* ]]; then
-				want_gcc_s=OFF
-				extra_libs+=( "${compiler_rt}" )
-			fi
-		fi
-	fi
-
-	# bootstrap: cmake is unhappy if compiler can't link to stdlib
-	local nolib_flags=( -nodefaultlibs -lc )
-	if ! test_compiler; then
-		if test_compiler "${nolib_flags[@]}"; then
-			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
-			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
-		fi
-	fi
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
-		-DLIBCXX_ENABLE_SHARED=ON
-		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-		-DLIBCXX_CXX_ABI=${cxxabi}
-		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-		# we're using our own mechanism for generating linker scripts
-		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-		-DLIBCXX_INCLUDE_TESTS=$(usex test)
-		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
-	)
-
-	if use test; then
-		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
-
-		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
-		)
-	fi
-	cmake-utils_src_configure
-}
-
-multilib_src_test() {
-	cmake-utils_src_make check-libcxx
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
-
-	# Move it first.
-	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
-	# Generate libc++.a ldscript for inclusion of its dependencies so that
-	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
-	# On Linux/glibc it does not link without libpthread or libdl. It is
-	# fine on FreeBSD.
-	use elibc_glibc && deps+=" libpthread.a libdl.a"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
-}
-
-gen_shared_ldscript() {
-	local libdir=$(get_libdir)
-	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
-
-	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-	gen_shared_ldscript
-	use static-libs && gen_static_ldscript
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-05-11 11:25 Mikle Kolyada
  0 siblings, 0 replies; 605+ messages in thread
From: Mikle Kolyada @ 2019-05-11 11:25 UTC (permalink / raw
  To: gentoo-commits

commit:     82dc2933060a02fe46b339a2638a47e1a06db227
Author:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Sat May 11 11:23:20 2019 +0000
Commit:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Sat May 11 11:23:20 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=82dc2933

sys-libs/libcxx: amd64 stable wrt bug #674068

Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
Package-Manager: Portage-2.3.62, Repoman-2.3.11
RepoMan-Options: --include-arches="amd64"

 sys-libs/libcxx/libcxx-7.1.0.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/libcxx-7.1.0.ebuild b/sys-libs/libcxx/libcxx-7.1.0.ebuild
index 29aa632a979..b6b339f57f9 100644
--- a/sys-libs/libcxx/libcxx-7.1.0.ebuild
+++ b/sys-libs/libcxx/libcxx-7.1.0.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
+KEYWORDS="amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-05-11 11:25 Mikle Kolyada
  0 siblings, 0 replies; 605+ messages in thread
From: Mikle Kolyada @ 2019-05-11 11:25 UTC (permalink / raw
  To: gentoo-commits

commit:     c56afce29050e7daf60bbb84759adb4994192b0b
Author:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Sat May 11 11:24:27 2019 +0000
Commit:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Sat May 11 11:24:27 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c56afce2

sys-libs/libcxx: x86 stable wrt bug #674068

Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
Package-Manager: Portage-2.3.62, Repoman-2.3.11
RepoMan-Options: --include-arches="x86"

 sys-libs/libcxx/libcxx-7.1.0.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/libcxx-7.1.0.ebuild b/sys-libs/libcxx/libcxx-7.1.0.ebuild
index b6b339f57f9..9350c33608b 100644
--- a/sys-libs/libcxx/libcxx-7.1.0.ebuild
+++ b/sys-libs/libcxx/libcxx-7.1.0.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
+KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-fbsd"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-05-13 17:36 Aaron Bauman
  0 siblings, 0 replies; 605+ messages in thread
From: Aaron Bauman @ 2019-05-13 17:36 UTC (permalink / raw
  To: gentoo-commits

commit:     7233951c3ecc654de8933d1140c62dc40126c6c9
Author:     Aaron Bauman <bman <AT> gentoo <DOT> org>
AuthorDate: Mon May 13 17:33:44 2019 +0000
Commit:     Aaron Bauman <bman <AT> gentoo <DOT> org>
CommitDate: Mon May 13 17:33:44 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7233951c

sys-libs/libcxx: arm64 stable

Signed-off-by: Aaron Bauman <bman <AT> gentoo.org>
Package-Manager: Portage-2.3.66, Repoman-2.3.12
RepoMan-Options: --include-arches="arm64"

 sys-libs/libcxx/libcxx-7.1.0.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/libcxx-7.1.0.ebuild b/sys-libs/libcxx/libcxx-7.1.0.ebuild
index 9350c33608b..f1c848b8df7 100644
--- a/sys-libs/libcxx/libcxx-7.1.0.ebuild
+++ b/sys-libs/libcxx/libcxx-7.1.0.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-fbsd"
+KEYWORDS="amd64 ~arm arm64 x86 ~amd64-fbsd"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-05-15  9:53 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-05-15  9:53 UTC (permalink / raw
  To: gentoo-commits

commit:     e6dfcb8213628e83fa3438b20829414bb31c3499
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed May 15 09:50:20 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed May 15 09:53:28 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e6dfcb82

sys-libs/libcxx: Remove 7.0.1

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/Manifest            |   1 -
 sys-libs/libcxx/libcxx-7.0.1.ebuild | 215 ------------------------------------
 2 files changed, 216 deletions(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 6349d71ca1e..cb80088d4f4 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,4 +1,3 @@
 DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
-DIST libcxx-7.0.1.src.tar.xz 1638188 BLAKE2B 541d27c3801895d59ad06b15de5fe9ff0d9b5b3ef393a5fad05a12a52dd6453ecc530b0ce3129624a27e959d3c9c5f7066ebb57fd85caca538ebf4f990aa6967 SHA512 b3ad7ad95bdcf2d902b29de8a0b757d4dbc220bc1a22a813d6bcec15a34b3aa42e85c59f4cecbb318c799ca611550b44c328b37278f4349b984016ad4556c1d8
 DIST libcxx-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf935d4e784e0bc835a4d2c3ce0790f5539bdca0466feafd668d7c6675b11b7fe14d9adb680c46fd7b28b42a3b423219 SHA512 925ce5093445f84dc17d5b1610e4297ef3606b254b7350c50f88ba042fcca62125ffd97d21cb612707d5e9511267634ca1779619199f95ce819e5f5c0c2b55d5
 DIST libcxx-8.0.0.src.tar.xz 1752308 BLAKE2B 1e8cd8c7100f5f8b943ba8f38b0b59a0fd5e5bea834953483a67502f67de3eb51eba4ed4be17cdb54406da4ad7ebc6fef33934c59db982afa55856ce9f1f46ff SHA512 2e0fcd3e78f7e15ea894e52c51351daef8e3a2aaf53b3df7497b11403d28f5269ff49a4674bacea1d565a5faa2b24502caaaeff9cd48518f0d141563d8f9cc03

diff --git a/sys-libs/libcxx/libcxx-7.0.1.ebuild b/sys-libs/libcxx/libcxx-7.0.1.ebuild
deleted file mode 100644
index 9dfc42c1c3d..00000000000
--- a/sys-libs/libcxx/libcxx-7.0.1.ebuild
+++ /dev/null
@@ -1,215 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# Ninja provides better scalability and cleaner verbose output, and is used
-# throughout all LLVM projects.
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-multilib llvm multiprocessing python-any-r1 \
-	toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
-	?? ( libcxxabi libcxxrt )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# llvm-6 for new lit options
-# clang-3.9.0 installs necessary target symlinks unconditionally
-# which removes the need for MULTILIB_USEDEP
-DEPEND="${RDEPEND}
-	test? ( >=sys-devel/clang-3.9.0
-		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
-	app-arch/xz-utils
-	>=sys-devel/llvm-6"
-
-S=${WORKDIR}/${P/_/}.src
-
-DOCS=( CREDITS.TXT )
-
-PATCHES=(
-	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
-	# out-of-tree build.
-	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
-)
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
-	has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-	use test && python-any-r1_pkg_setup
-
-	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
-		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
-		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
-		eerror "and try again."
-		die
-	fi
-	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
-		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
-		eerror "conformant compilers). Please use gcc-config to switch to"
-		eerror "gcc-4.7 or later version."
-		die
-	fi
-}
-
-test_compiler() {
-	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
-		<<<'int main() { return 0; }' &>/dev/null
-}
-
-src_configure() {
-	# note: we need to do this before multilib kicks in since it will
-	# alter the CHOST
-	local cxxabi cxxabi_incs
-	if use libcxxabi; then
-		cxxabi=libcxxabi
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
-	elif use libcxxrt; then
-		cxxabi=libcxxrt
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
-	else
-		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-		cxxabi=libsupc++
-		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-	fi
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	# we want -lgcc_s for unwinder, and for compiler runtime when using
-	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON
-	if use libunwind; then
-		# work-around missing -lunwind upstream
-		extra_libs+=( -lunwind )
-		# if we're using libunwind and clang with compiler-rt, we want
-		# to link to compiler-rt instead of -lgcc_s
-		if tc-is-clang; then
-			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
-			   ${LDFLAGS} -print-libgcc-file-name)
-			if [[ ${compiler_rt} == *libclang_rt* ]]; then
-				want_gcc_s=OFF
-				extra_libs+=( "${compiler_rt}" )
-			fi
-		fi
-	fi
-
-	# bootstrap: cmake is unhappy if compiler can't link to stdlib
-	local nolib_flags=( -nodefaultlibs -lc )
-	if ! test_compiler; then
-		if test_compiler "${nolib_flags[@]}"; then
-			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
-			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
-		fi
-	fi
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
-		-DLIBCXX_ENABLE_SHARED=ON
-		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-		-DLIBCXX_CXX_ABI=${cxxabi}
-		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-		# we're using our own mechanism for generating linker scripts
-		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-		-DLIBCXX_INCLUDE_TESTS=$(usex test)
-		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
-	)
-
-	if use test; then
-		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
-
-		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
-		)
-	fi
-	cmake-utils_src_configure
-}
-
-multilib_src_test() {
-	cmake-utils_src_make check-libcxx
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
-
-	# Move it first.
-	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
-	# Generate libc++.a ldscript for inclusion of its dependencies so that
-	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
-	# On Linux/glibc it does not link without libpthread or libdl. It is
-	# fine on FreeBSD.
-	use elibc_glibc && deps+=" libpthread.a libdl.a"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
-}
-
-gen_shared_ldscript() {
-	local libdir=$(get_libdir)
-	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
-
-	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-	gen_shared_ldscript
-	use static-libs && gen_static_ldscript
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-06-17  6:25 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-06-17  6:25 UTC (permalink / raw
  To: gentoo-commits

commit:     5e31758a28be03af114f45feb4fdb99e9d10e81a
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 17 05:54:16 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jun 17 06:25:06 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5e31758a

sys-libs/libcxx: Enable Python 3

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/libcxx-9999.ebuild | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index 2547da3dfa7..06a570bb8c0 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -10,7 +10,7 @@ EAPI=6
 CMAKE_MIN_VERSION=3.7.0-r1
 EGIT_REPO_URI="https://git.llvm.org/git/libcxx.git
 	https://github.com/llvm-mirror/libcxx.git"
-PYTHON_COMPAT=( python2_7 )
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
 
 [[ ${PV} == 9999 ]] && SCM="git-r3" || SCM=""
 


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-07-20 12:50 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-07-20 12:50 UTC (permalink / raw
  To: gentoo-commits

commit:     5bcf8996986b70c1e314a9f92dc24cbfe1d8b3c6
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 20 08:52:51 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 20 12:50:02 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5bcf8996

sys-libs/libcxx: Bump to 8.0.1

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/Manifest            |   1 +
 sys-libs/libcxx/libcxx-8.0.1.ebuild | 216 ++++++++++++++++++++++++++++++++++++
 2 files changed, 217 insertions(+)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index cb80088d4f4..7e8a64bd013 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,3 +1,4 @@
 DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
 DIST libcxx-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf935d4e784e0bc835a4d2c3ce0790f5539bdca0466feafd668d7c6675b11b7fe14d9adb680c46fd7b28b42a3b423219 SHA512 925ce5093445f84dc17d5b1610e4297ef3606b254b7350c50f88ba042fcca62125ffd97d21cb612707d5e9511267634ca1779619199f95ce819e5f5c0c2b55d5
 DIST libcxx-8.0.0.src.tar.xz 1752308 BLAKE2B 1e8cd8c7100f5f8b943ba8f38b0b59a0fd5e5bea834953483a67502f67de3eb51eba4ed4be17cdb54406da4ad7ebc6fef33934c59db982afa55856ce9f1f46ff SHA512 2e0fcd3e78f7e15ea894e52c51351daef8e3a2aaf53b3df7497b11403d28f5269ff49a4674bacea1d565a5faa2b24502caaaeff9cd48518f0d141563d8f9cc03
+DIST libcxx-8.0.1.src.tar.xz 1739524 BLAKE2B 6e641cb6bda0de12c8408d3ab33f627389ac014aa65b3391c870aa96ffd347784e6b70b953bd1ee8eba56554e0f78a723ab77b9dba5f85e6219e2b95ca50c160 SHA512 75749d08b2b343c6f5f9aefb04be63e42f6d12efc51101d3647ed6f70c7a6d050afb3ab2f3636eae78cb523f5844de67b960a7a3145ed89ab0c7015deb14921e

diff --git a/sys-libs/libcxx/libcxx-8.0.1.ebuild b/sys-libs/libcxx/libcxx-8.0.1.ebuild
new file mode 100644
index 00000000000..cf4bd1b3b35
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-8.0.1.ebuild
@@ -0,0 +1,216 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-multilib llvm multiprocessing python-any-r1 \
+	toolchain-funcs
+
+MY_P=${P}.src
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+SRC_URI="https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${MY_P}.tar.xz"
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# llvm-6 for new lit options
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+	app-arch/xz-utils
+	>=sys-devel/llvm-6"
+
+S=${WORKDIR}/${MY_P}
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+test_compiler() {
+	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+		<<<'int main() { return 0; }' &>/dev/null
+}
+
+src_configure() {
+	# note: we need to do this before multilib kicks in since it will
+	# alter the CHOST
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+			   ${LDFLAGS} -print-libgcc-file-name)
+			if [[ ${compiler_rt} == *libclang_rt* ]]; then
+				want_gcc_s=OFF
+				extra_libs+=( "${compiler_rt}" )
+			fi
+		fi
+	fi
+
+	# bootstrap: cmake is unhappy if compiler can't link to stdlib
+	local nolib_flags=( -nodefaultlibs -lc )
+	if ! test_compiler; then
+		if test_compiler "${nolib_flags[@]}"; then
+			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-07-20 22:34 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-07-20 22:34 UTC (permalink / raw
  To: gentoo-commits

commit:     5619e646ba30e34e761f152cc3f90ce095cd0071
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 20 20:55:28 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 20 22:34:46 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5619e646

sys-libs/libcxx: Bump -9999 to EAPI 7

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/libcxx-9999.ebuild | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index 06a570bb8c0..71e8ea26429 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -1,7 +1,7 @@
 # Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=6
+EAPI=7
 
 # Ninja provides better scalability and cleaner verbose output, and is used
 # throughout all LLVM projects.
@@ -166,6 +166,7 @@ multilib_src_configure() {
 }
 
 multilib_src_test() {
+	local -x LIT_PRESERVES_TMP=1
 	cmake-utils_src_make check-libcxx
 }
 


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-07-21  7:34 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-07-21  7:34 UTC (permalink / raw
  To: gentoo-commits

commit:     93e032968ea34d577db8648cea3a03fc94780999
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 21 07:13:33 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul 21 07:33:51 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=93e03296

sys-libs/libcxx: Add 9.0 branch live ebuild

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/libcxx-9.0.9999.ebuild | 228 +++++++++++++++++++++++++++++++++
 1 file changed, 228 insertions(+)

diff --git a/sys-libs/libcxx/libcxx-9.0.9999.ebuild b/sys-libs/libcxx/libcxx-9.0.9999.ebuild
new file mode 100644
index 00000000000..7e08263cf4b
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-9.0.9999.ebuild
@@ -0,0 +1,228 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+EGIT_REPO_URI="https://git.llvm.org/git/libcxx.git
+	https://github.com/llvm-mirror/libcxx.git"
+EGIT_BRANCH="release_90"
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3" || SCM=""
+
+inherit ${SCM} cmake-multilib llvm multiprocessing python-any-r1 \
+	toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+if [[ ${PV} != *9999 ]] ; then
+	SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz"
+	S="${WORKDIR}/${P}.src"
+else
+	SRC_URI=""
+fi
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+if [[ ${PV} != *9999 ]] ; then
+	KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+else
+	KEYWORDS=""
+fi
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# llvm-6 for new lit options
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+	app-arch/xz-utils
+	>=sys-devel/llvm-6"
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+test_compiler() {
+	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+		<<<'int main() { return 0; }' &>/dev/null
+}
+
+src_configure() {
+	# note: we need to do this before multilib kicks in since it will
+	# alter the CHOST
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+			   ${LDFLAGS} -print-libgcc-file-name)
+			if [[ ${compiler_rt} == *libclang_rt* ]]; then
+				want_gcc_s=OFF
+				extra_libs+=( "${compiler_rt}" )
+			fi
+		fi
+	fi
+
+	# bootstrap: cmake is unhappy if compiler can't link to stdlib
+	local nolib_flags=( -nodefaultlibs -lc )
+	if ! test_compiler; then
+		if test_compiler "${nolib_flags[@]}"; then
+			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	local -x LIT_PRESERVES_TMP=1
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-07-21  7:34 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-07-21  7:34 UTC (permalink / raw
  To: gentoo-commits

commit:     ac22158e8df6d1087902831ec56e918c22852836
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 21 07:14:31 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul 21 07:34:07 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac22158e

sys-libs/libcxx: Remove 8.0.9999

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/libcxx-8.0.9999.ebuild | 227 ---------------------------------
 1 file changed, 227 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-8.0.9999.ebuild b/sys-libs/libcxx/libcxx-8.0.9999.ebuild
deleted file mode 100644
index 523cba0073e..00000000000
--- a/sys-libs/libcxx/libcxx-8.0.9999.ebuild
+++ /dev/null
@@ -1,227 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# Ninja provides better scalability and cleaner verbose output, and is used
-# throughout all LLVM projects.
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-EGIT_REPO_URI="https://git.llvm.org/git/libcxx.git
-	https://github.com/llvm-mirror/libcxx.git"
-EGIT_BRANCH="release_80"
-PYTHON_COMPAT=( python2_7 )
-
-[[ ${PV} == *9999 ]] && SCM="git-r3" || SCM=""
-
-inherit ${SCM} cmake-multilib llvm multiprocessing python-any-r1 \
-	toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-if [[ ${PV} != *9999 ]] ; then
-	SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz"
-	S="${WORKDIR}/${P}.src"
-else
-	SRC_URI=""
-fi
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-if [[ ${PV} != *9999 ]] ; then
-	KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
-else
-	KEYWORDS=""
-fi
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
-	?? ( libcxxabi libcxxrt )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# llvm-6 for new lit options
-# clang-3.9.0 installs necessary target symlinks unconditionally
-# which removes the need for MULTILIB_USEDEP
-DEPEND="${RDEPEND}
-	test? ( >=sys-devel/clang-3.9.0
-		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
-	app-arch/xz-utils
-	>=sys-devel/llvm-6"
-
-DOCS=( CREDITS.TXT )
-
-PATCHES=(
-	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
-	# out-of-tree build.
-	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
-)
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
-	has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-	use test && python-any-r1_pkg_setup
-
-	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
-		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
-		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
-		eerror "and try again."
-		die
-	fi
-	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
-		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
-		eerror "conformant compilers). Please use gcc-config to switch to"
-		eerror "gcc-4.7 or later version."
-		die
-	fi
-}
-
-test_compiler() {
-	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
-		<<<'int main() { return 0; }' &>/dev/null
-}
-
-src_configure() {
-	# note: we need to do this before multilib kicks in since it will
-	# alter the CHOST
-	local cxxabi cxxabi_incs
-	if use libcxxabi; then
-		cxxabi=libcxxabi
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
-	elif use libcxxrt; then
-		cxxabi=libcxxrt
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
-	else
-		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-		cxxabi=libsupc++
-		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-	fi
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	# we want -lgcc_s for unwinder, and for compiler runtime when using
-	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON
-	if use libunwind; then
-		# work-around missing -lunwind upstream
-		extra_libs+=( -lunwind )
-		# if we're using libunwind and clang with compiler-rt, we want
-		# to link to compiler-rt instead of -lgcc_s
-		if tc-is-clang; then
-			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
-			   ${LDFLAGS} -print-libgcc-file-name)
-			if [[ ${compiler_rt} == *libclang_rt* ]]; then
-				want_gcc_s=OFF
-				extra_libs+=( "${compiler_rt}" )
-			fi
-		fi
-	fi
-
-	# bootstrap: cmake is unhappy if compiler can't link to stdlib
-	local nolib_flags=( -nodefaultlibs -lc )
-	if ! test_compiler; then
-		if test_compiler "${nolib_flags[@]}"; then
-			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
-			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
-		fi
-	fi
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
-		-DLIBCXX_ENABLE_SHARED=ON
-		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-		-DLIBCXX_CXX_ABI=${cxxabi}
-		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-		# we're using our own mechanism for generating linker scripts
-		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-		-DLIBCXX_INCLUDE_TESTS=$(usex test)
-		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
-	)
-
-	if use test; then
-		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
-
-		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
-		)
-	fi
-	cmake-utils_src_configure
-}
-
-multilib_src_test() {
-	cmake-utils_src_make check-libcxx
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
-
-	# Move it first.
-	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
-	# Generate libc++.a ldscript for inclusion of its dependencies so that
-	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
-	# On Linux/glibc it does not link without libpthread or libdl. It is
-	# fine on FreeBSD.
-	use elibc_glibc && deps+=" libpthread.a libdl.a"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
-}
-
-gen_shared_ldscript() {
-	local libdir=$(get_libdir)
-	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
-
-	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-	gen_shared_ldscript
-	use static-libs && gen_static_ldscript
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-07-21 19:40 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-07-21 19:40 UTC (permalink / raw
  To: gentoo-commits

commit:     ccce80e9ee3bb9ae9d0cc4520a239ec94817df4f
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 21 10:35:17 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul 21 19:40:09 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ccce80e9

sys-libs/libcxx: -9999 → -10.0.0.9999

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/{libcxx-9999.ebuild => libcxx-10.0.0.9999.ebuild} | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
similarity index 98%
rename from sys-libs/libcxx/libcxx-9999.ebuild
rename to sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
index 71e8ea26429..7f4a5523bd2 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
@@ -12,14 +12,14 @@ EGIT_REPO_URI="https://git.llvm.org/git/libcxx.git
 	https://github.com/llvm-mirror/libcxx.git"
 PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
 
-[[ ${PV} == 9999 ]] && SCM="git-r3" || SCM=""
+[[ ${PV} == *9999 ]] && SCM="git-r3" || SCM=""
 
 inherit ${SCM} cmake-multilib llvm multiprocessing python-any-r1 \
 	toolchain-funcs
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="https://libcxx.llvm.org/"
-if [[ ${PV} != 9999 ]] ; then
+if [[ ${PV} != *9999 ]] ; then
 	SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz"
 	S="${WORKDIR}/${P}.src"
 else
@@ -28,7 +28,7 @@ fi
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-if [[ ${PV} != 9999 ]] ; then
+if [[ ${PV} != *9999 ]] ; then
 	KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
 else
 	KEYWORDS=""


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-07-21 19:40 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-07-21 19:40 UTC (permalink / raw
  To: gentoo-commits

commit:     c4972973324ead9c47cc5ea9b09facde59724446
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 21 10:41:03 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul 21 19:40:31 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c4972973

sys-libs/libcxx: -9.0.9999 → -9.0.0.9999

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/{libcxx-9.0.9999.ebuild => libcxx-9.0.0.9999.ebuild} | 0
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-9.0.9999.ebuild b/sys-libs/libcxx/libcxx-9.0.0.9999.ebuild
similarity index 100%
rename from sys-libs/libcxx/libcxx-9.0.9999.ebuild
rename to sys-libs/libcxx/libcxx-9.0.0.9999.ebuild


^ permalink raw reply	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-08-18 10:07 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-08-18 10:07 UTC (permalink / raw
  To: gentoo-commits

commit:     c214cfae61197b65686e7bdda0a06483115f8c6f
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 18 08:56:33 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Aug 18 10:07:33 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c214cfae

sys-libs/libcxx: Update LICENSE for 9+

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/libcxx-10.0.0.9999.ebuild | 2 +-
 sys-libs/libcxx/libcxx-9.0.0.9999.ebuild  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild b/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
index 7f4a5523bd2..e1be8141143 100644
--- a/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
@@ -26,7 +26,7 @@ else
 	SRC_URI=""
 fi
 
-LICENSE="|| ( UoI-NCSA MIT )"
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
 SLOT="0"
 if [[ ${PV} != *9999 ]] ; then
 	KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"

diff --git a/sys-libs/libcxx/libcxx-9.0.0.9999.ebuild b/sys-libs/libcxx/libcxx-9.0.0.9999.ebuild
index 7e08263cf4b..4240c6da335 100644
--- a/sys-libs/libcxx/libcxx-9.0.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9.0.0.9999.ebuild
@@ -27,7 +27,7 @@ else
 	SRC_URI=""
 fi
 
-LICENSE="|| ( UoI-NCSA MIT )"
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
 SLOT="0"
 if [[ ${PV} != *9999 ]] ; then
 	KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-09-10  7:06 Agostino Sarubbo
  0 siblings, 0 replies; 605+ messages in thread
From: Agostino Sarubbo @ 2019-09-10  7:06 UTC (permalink / raw
  To: gentoo-commits

commit:     a09938c97dec8d711720af853b9ec0220ba4891b
Author:     Agostino Sarubbo <ago <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 10 07:05:58 2019 +0000
Commit:     Agostino Sarubbo <ago <AT> gentoo <DOT> org>
CommitDate: Tue Sep 10 07:05:58 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a09938c9

sys-libs/libcxx: amd64 stable wrt bug #693856

Package-Manager: Portage-2.3.69, Repoman-2.3.16
RepoMan-Options: --include-arches="amd64"
Signed-off-by: Agostino Sarubbo <ago <AT> gentoo.org>

 sys-libs/libcxx/libcxx-8.0.1.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/libcxx-8.0.1.ebuild b/sys-libs/libcxx/libcxx-8.0.1.ebuild
index cf4bd1b3b35..c424f2d7579 100644
--- a/sys-libs/libcxx/libcxx-8.0.1.ebuild
+++ b/sys-libs/libcxx/libcxx-8.0.1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
+KEYWORDS="amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-09-10  7:10 Agostino Sarubbo
  0 siblings, 0 replies; 605+ messages in thread
From: Agostino Sarubbo @ 2019-09-10  7:10 UTC (permalink / raw
  To: gentoo-commits

commit:     493de6b98e402307b2e5d062f01e477e8b6ba9ae
Author:     Agostino Sarubbo <ago <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 10 07:10:06 2019 +0000
Commit:     Agostino Sarubbo <ago <AT> gentoo <DOT> org>
CommitDate: Tue Sep 10 07:10:06 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=493de6b9

sys-libs/libcxx: x86 stable wrt bug #693856

Package-Manager: Portage-2.3.69, Repoman-2.3.16
RepoMan-Options: --include-arches="x86"
Signed-off-by: Agostino Sarubbo <ago <AT> gentoo.org>

 sys-libs/libcxx/libcxx-8.0.1.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/libcxx-8.0.1.ebuild b/sys-libs/libcxx/libcxx-8.0.1.ebuild
index c424f2d7579..fc365cc3332 100644
--- a/sys-libs/libcxx/libcxx-8.0.1.ebuild
+++ b/sys-libs/libcxx/libcxx-8.0.1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
+KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-fbsd"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-09-13 15:47 Mikle Kolyada
  0 siblings, 0 replies; 605+ messages in thread
From: Mikle Kolyada @ 2019-09-13 15:47 UTC (permalink / raw
  To: gentoo-commits

commit:     c9154f2c2016ed5732531f4fd056a1d50bf1180f
Author:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 13 15:46:28 2019 +0000
Commit:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Fri Sep 13 15:46:28 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c9154f2c

sys-libs/libcxx: arm stable wrt bug #693856

Package-Manager: Portage-2.3.69, Repoman-2.3.16
RepoMan-Options: --include-arches="arm"
Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>

 sys-libs/libcxx/libcxx-8.0.1.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/libcxx-8.0.1.ebuild b/sys-libs/libcxx/libcxx-8.0.1.ebuild
index fc365cc3332..d3a06927aff 100644
--- a/sys-libs/libcxx/libcxx-8.0.1.ebuild
+++ b/sys-libs/libcxx/libcxx-8.0.1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-fbsd"
+KEYWORDS="amd64 arm ~arm64 x86 ~amd64-fbsd"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-09-13 18:03 Mikle Kolyada
  0 siblings, 0 replies; 605+ messages in thread
From: Mikle Kolyada @ 2019-09-13 18:03 UTC (permalink / raw
  To: gentoo-commits

commit:     3a315e846e37f5c2b3e6e503fbe4a7880b5b185f
Author:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 13 18:03:25 2019 +0000
Commit:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Fri Sep 13 18:03:49 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3a315e84

sys-libs/libcxx: arm stable wrt bug #692104

Package-Manager: Portage-2.3.69, Repoman-2.3.16
RepoMan-Options: --include-arches="arm"
Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>

 sys-libs/libcxx/libcxx-7.1.0.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/libcxx-7.1.0.ebuild b/sys-libs/libcxx/libcxx-7.1.0.ebuild
index f1c848b8df7..6ef14eac495 100644
--- a/sys-libs/libcxx/libcxx-7.1.0.ebuild
+++ b/sys-libs/libcxx/libcxx-7.1.0.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86 ~amd64-fbsd"
+KEYWORDS="amd64 arm arm64 x86 ~amd64-fbsd"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-09-16 22:13 Aaron Bauman
  0 siblings, 0 replies; 605+ messages in thread
From: Aaron Bauman @ 2019-09-16 22:13 UTC (permalink / raw
  To: gentoo-commits

commit:     70c1071f0fd7f27650ea85d05035031427317efd
Author:     Aaron Bauman <bman <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 16 22:00:41 2019 +0000
Commit:     Aaron Bauman <bman <AT> gentoo <DOT> org>
CommitDate: Mon Sep 16 22:13:50 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=70c1071f

sys-libs/libcxx: arm64 stable (bug #693856)

Signed-off-by: Aaron Bauman <bman <AT> gentoo.org>
Package-Manager: Portage-2.3.76, Repoman-2.3.17

 sys-libs/libcxx/libcxx-8.0.1.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/libcxx-8.0.1.ebuild b/sys-libs/libcxx/libcxx-8.0.1.ebuild
index d3a06927aff..c772def7a37 100644
--- a/sys-libs/libcxx/libcxx-8.0.1.ebuild
+++ b/sys-libs/libcxx/libcxx-8.0.1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${
 
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS="amd64 arm ~arm64 x86 ~amd64-fbsd"
+KEYWORDS="amd64 arm arm64 x86 ~amd64-fbsd"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-09-17 21:01 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-09-17 21:01 UTC (permalink / raw
  To: gentoo-commits

commit:     65a07b2a08a6d2635e6ba5cd141aad586455fb86
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 17 21:00:22 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 17 21:00:54 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=65a07b2a

sys-libs/libcxx: Use BDEPEND semi-properly

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/libcxx-10.0.0.9999.ebuild | 6 +++---
 sys-libs/libcxx/libcxx-9.0.0.9999.ebuild  | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild b/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
index e1be8141143..04b405e517e 100644
--- a/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
@@ -46,10 +46,10 @@ RDEPEND="
 # clang-3.9.0 installs necessary target symlinks unconditionally
 # which removes the need for MULTILIB_USEDEP
 DEPEND="${RDEPEND}
-	test? ( >=sys-devel/clang-3.9.0
-		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
-	app-arch/xz-utils
 	>=sys-devel/llvm-6"
+BDEPEND="
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
 
 DOCS=( CREDITS.TXT )
 

diff --git a/sys-libs/libcxx/libcxx-9.0.0.9999.ebuild b/sys-libs/libcxx/libcxx-9.0.0.9999.ebuild
index 4240c6da335..2b9a0e1433d 100644
--- a/sys-libs/libcxx/libcxx-9.0.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9.0.0.9999.ebuild
@@ -47,10 +47,10 @@ RDEPEND="
 # clang-3.9.0 installs necessary target symlinks unconditionally
 # which removes the need for MULTILIB_USEDEP
 DEPEND="${RDEPEND}
-	test? ( >=sys-devel/clang-3.9.0
-		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
-	app-arch/xz-utils
 	>=sys-devel/llvm-6"
+BDEPEND="
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
 
 DOCS=( CREDITS.TXT )
 


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-09-20 22:12 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-09-20 22:12 UTC (permalink / raw
  To: gentoo-commits

commit:     c3c68acebfd1ebe4b216bc89e86c8ebd80f8a22f
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 20 09:33:37 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Sep 20 22:12:02 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c3c68ace

sys-libs/libcxx: Bump to 9.0.0

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/Manifest            |   1 +
 sys-libs/libcxx/libcxx-9.0.0.ebuild | 217 ++++++++++++++++++++++++++++++++++++
 2 files changed, 218 insertions(+)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 7e8a64bd013..32934db63b0 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -2,3 +2,4 @@ DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9f
 DIST libcxx-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf935d4e784e0bc835a4d2c3ce0790f5539bdca0466feafd668d7c6675b11b7fe14d9adb680c46fd7b28b42a3b423219 SHA512 925ce5093445f84dc17d5b1610e4297ef3606b254b7350c50f88ba042fcca62125ffd97d21cb612707d5e9511267634ca1779619199f95ce819e5f5c0c2b55d5
 DIST libcxx-8.0.0.src.tar.xz 1752308 BLAKE2B 1e8cd8c7100f5f8b943ba8f38b0b59a0fd5e5bea834953483a67502f67de3eb51eba4ed4be17cdb54406da4ad7ebc6fef33934c59db982afa55856ce9f1f46ff SHA512 2e0fcd3e78f7e15ea894e52c51351daef8e3a2aaf53b3df7497b11403d28f5269ff49a4674bacea1d565a5faa2b24502caaaeff9cd48518f0d141563d8f9cc03
 DIST libcxx-8.0.1.src.tar.xz 1739524 BLAKE2B 6e641cb6bda0de12c8408d3ab33f627389ac014aa65b3391c870aa96ffd347784e6b70b953bd1ee8eba56554e0f78a723ab77b9dba5f85e6219e2b95ca50c160 SHA512 75749d08b2b343c6f5f9aefb04be63e42f6d12efc51101d3647ed6f70c7a6d050afb3ab2f3636eae78cb523f5844de67b960a7a3145ed89ab0c7015deb14921e
+DIST libcxx-9.0.0.src.tar.xz 1814388 BLAKE2B 59b8967706d1f85b1c0d2b9932bd637aae7118ae461e2b31e1d17c9a2ee2e02ea0ea8b344074a9fc4b430b5c742b8ad30c10a0c44e5290528fdecd7571352879 SHA512 cbaca724c4f3e3a270dfd53aac50cbb920190fe55486b164d52e73845819dd22afb10c23f5875da59d433fd5b96a0f153208746117309ac1267a38fa56f4818e

diff --git a/sys-libs/libcxx/libcxx-9.0.0.ebuild b/sys-libs/libcxx/libcxx-9.0.0.ebuild
new file mode 100644
index 00000000000..c259d0f32e0
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-9.0.0.ebuild
@@ -0,0 +1,217 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+
+inherit cmake-multilib llvm multiprocessing python-any-r1 \
+	toolchain-funcs
+
+MY_P=${P}.src
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+SRC_URI="https://releases.llvm.org/${PV}/${MY_P}.tar.xz"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# llvm-6 for new lit options
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	>=sys-devel/llvm-6"
+BDEPEND="
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
+
+S=${WORKDIR}/${MY_P}
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+test_compiler() {
+	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+		<<<'int main() { return 0; }' &>/dev/null
+}
+
+src_configure() {
+	# note: we need to do this before multilib kicks in since it will
+	# alter the CHOST
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+			   ${LDFLAGS} -print-libgcc-file-name)
+			if [[ ${compiler_rt} == *libclang_rt* ]]; then
+				want_gcc_s=OFF
+				extra_libs+=( "${compiler_rt}" )
+			fi
+		fi
+	fi
+
+	# bootstrap: cmake is unhappy if compiler can't link to stdlib
+	local nolib_flags=( -nodefaultlibs -lc )
+	if ! test_compiler; then
+		if test_compiler "${nolib_flags[@]}"; then
+			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	local -x LIT_PRESERVES_TMP=1
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-09-21  9:15 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-09-21  9:15 UTC (permalink / raw
  To: gentoo-commits

commit:     0cc5129eff9fbb30b12c53ee50aca84f2a1749a3
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 21 08:33:05 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Sep 21 09:15:38 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0cc5129e

sys-libs/libcxx: Reorder ebuild vars in 9+

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/libcxx-9.0.0.ebuild | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-9.0.0.ebuild b/sys-libs/libcxx/libcxx-9.0.0.ebuild
index c259d0f32e0..d3f71fd8212 100644
--- a/sys-libs/libcxx/libcxx-9.0.0.ebuild
+++ b/sys-libs/libcxx/libcxx-9.0.0.ebuild
@@ -17,6 +17,7 @@ MY_P=${P}.src
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="https://libcxx.llvm.org/"
 SRC_URI="https://releases.llvm.org/${PV}/${MY_P}.tar.xz"
+S=${WORKDIR}/${MY_P}
 
 LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
 SLOT="0"
@@ -39,8 +40,6 @@ BDEPEND="
 	test? ( >=sys-devel/clang-3.9.0
 		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
 
-S=${WORKDIR}/${MY_P}
-
 DOCS=( CREDITS.TXT )
 
 PATCHES=(


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-09-21  9:15 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-09-21  9:15 UTC (permalink / raw
  To: gentoo-commits

commit:     7be1d385b317055e3f5367c7a952e6760dcc5e12
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 21 09:06:36 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Sep 21 09:15:42 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7be1d385

sys-libs/libcxx: Remove weird, unmaintainable PV-ifs

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/libcxx-10.0.0.9999.ebuild | 21 +++++----------------
 sys-libs/libcxx/libcxx-9.0.0.9999.ebuild  | 23 ++++++-----------------
 2 files changed, 11 insertions(+), 33 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild b/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
index 04b405e517e..83d8eeaa8c4 100644
--- a/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
@@ -8,31 +8,20 @@ EAPI=7
 : ${CMAKE_MAKEFILE_GENERATOR:=ninja}
 # (needed due to CMAKE_BUILD_TYPE != Gentoo)
 CMAKE_MIN_VERSION=3.7.0-r1
-EGIT_REPO_URI="https://git.llvm.org/git/libcxx.git
-	https://github.com/llvm-mirror/libcxx.git"
 PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
 
-[[ ${PV} == *9999 ]] && SCM="git-r3" || SCM=""
-
-inherit ${SCM} cmake-multilib llvm multiprocessing python-any-r1 \
+inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1 \
 	toolchain-funcs
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="https://libcxx.llvm.org/"
-if [[ ${PV} != *9999 ]] ; then
-	SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz"
-	S="${WORKDIR}/${P}.src"
-else
-	SRC_URI=""
-fi
+SRC_URI=""
+EGIT_REPO_URI="https://git.llvm.org/git/libcxx.git
+	https://github.com/llvm-mirror/libcxx.git"
 
 LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
 SLOT="0"
-if [[ ${PV} != *9999 ]] ; then
-	KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
-else
-	KEYWORDS=""
-fi
+KEYWORDS=""
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"

diff --git a/sys-libs/libcxx/libcxx-9.0.0.9999.ebuild b/sys-libs/libcxx/libcxx-9.0.0.9999.ebuild
index 2b9a0e1433d..5a84e2f5f99 100644
--- a/sys-libs/libcxx/libcxx-9.0.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9.0.0.9999.ebuild
@@ -8,32 +8,21 @@ EAPI=7
 : ${CMAKE_MAKEFILE_GENERATOR:=ninja}
 # (needed due to CMAKE_BUILD_TYPE != Gentoo)
 CMAKE_MIN_VERSION=3.7.0-r1
-EGIT_REPO_URI="https://git.llvm.org/git/libcxx.git
-	https://github.com/llvm-mirror/libcxx.git"
-EGIT_BRANCH="release_90"
 PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
 
-[[ ${PV} == *9999 ]] && SCM="git-r3" || SCM=""
-
-inherit ${SCM} cmake-multilib llvm multiprocessing python-any-r1 \
+inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1 \
 	toolchain-funcs
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="https://libcxx.llvm.org/"
-if [[ ${PV} != *9999 ]] ; then
-	SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz"
-	S="${WORKDIR}/${P}.src"
-else
-	SRC_URI=""
-fi
+SRC_URI=""
+EGIT_REPO_URI="https://git.llvm.org/git/libcxx.git
+	https://github.com/llvm-mirror/libcxx.git"
+EGIT_BRANCH="release_90"
 
 LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
 SLOT="0"
-if [[ ${PV} != *9999 ]] ; then
-	KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
-else
-	KEYWORDS=""
-fi
+KEYWORDS=""
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-10-11 18:57 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-10-11 18:57 UTC (permalink / raw
  To: gentoo-commits

commit:     f1a4a81a7a3c2e532dd7e6e4d9e83a8ba6349189
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 11 18:28:03 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Oct 11 18:57:18 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f1a4a81a

sys-libs/libcxx: Drop redundant 8.0.0

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/Manifest            |   1 -
 sys-libs/libcxx/libcxx-8.0.0.ebuild | 215 ------------------------------------
 2 files changed, 216 deletions(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 32934db63b0..0c0d35f81d8 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,5 +1,4 @@
 DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
 DIST libcxx-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf935d4e784e0bc835a4d2c3ce0790f5539bdca0466feafd668d7c6675b11b7fe14d9adb680c46fd7b28b42a3b423219 SHA512 925ce5093445f84dc17d5b1610e4297ef3606b254b7350c50f88ba042fcca62125ffd97d21cb612707d5e9511267634ca1779619199f95ce819e5f5c0c2b55d5
-DIST libcxx-8.0.0.src.tar.xz 1752308 BLAKE2B 1e8cd8c7100f5f8b943ba8f38b0b59a0fd5e5bea834953483a67502f67de3eb51eba4ed4be17cdb54406da4ad7ebc6fef33934c59db982afa55856ce9f1f46ff SHA512 2e0fcd3e78f7e15ea894e52c51351daef8e3a2aaf53b3df7497b11403d28f5269ff49a4674bacea1d565a5faa2b24502caaaeff9cd48518f0d141563d8f9cc03
 DIST libcxx-8.0.1.src.tar.xz 1739524 BLAKE2B 6e641cb6bda0de12c8408d3ab33f627389ac014aa65b3391c870aa96ffd347784e6b70b953bd1ee8eba56554e0f78a723ab77b9dba5f85e6219e2b95ca50c160 SHA512 75749d08b2b343c6f5f9aefb04be63e42f6d12efc51101d3647ed6f70c7a6d050afb3ab2f3636eae78cb523f5844de67b960a7a3145ed89ab0c7015deb14921e
 DIST libcxx-9.0.0.src.tar.xz 1814388 BLAKE2B 59b8967706d1f85b1c0d2b9932bd637aae7118ae461e2b31e1d17c9a2ee2e02ea0ea8b344074a9fc4b430b5c742b8ad30c10a0c44e5290528fdecd7571352879 SHA512 cbaca724c4f3e3a270dfd53aac50cbb920190fe55486b164d52e73845819dd22afb10c23f5875da59d433fd5b96a0f153208746117309ac1267a38fa56f4818e

diff --git a/sys-libs/libcxx/libcxx-8.0.0.ebuild b/sys-libs/libcxx/libcxx-8.0.0.ebuild
deleted file mode 100644
index 5f76d1a34cc..00000000000
--- a/sys-libs/libcxx/libcxx-8.0.0.ebuild
+++ /dev/null
@@ -1,215 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# Ninja provides better scalability and cleaner verbose output, and is used
-# throughout all LLVM projects.
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-multilib llvm multiprocessing python-any-r1 \
-	toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
-	?? ( libcxxabi libcxxrt )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# llvm-6 for new lit options
-# clang-3.9.0 installs necessary target symlinks unconditionally
-# which removes the need for MULTILIB_USEDEP
-DEPEND="${RDEPEND}
-	test? ( >=sys-devel/clang-3.9.0
-		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
-	app-arch/xz-utils
-	>=sys-devel/llvm-6"
-
-S=${WORKDIR}/${P/_/}.src
-
-DOCS=( CREDITS.TXT )
-
-PATCHES=(
-	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
-	# out-of-tree build.
-	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
-)
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
-	has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-	use test && python-any-r1_pkg_setup
-
-	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
-		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
-		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
-		eerror "and try again."
-		die
-	fi
-	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
-		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
-		eerror "conformant compilers). Please use gcc-config to switch to"
-		eerror "gcc-4.7 or later version."
-		die
-	fi
-}
-
-test_compiler() {
-	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
-		<<<'int main() { return 0; }' &>/dev/null
-}
-
-src_configure() {
-	# note: we need to do this before multilib kicks in since it will
-	# alter the CHOST
-	local cxxabi cxxabi_incs
-	if use libcxxabi; then
-		cxxabi=libcxxabi
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
-	elif use libcxxrt; then
-		cxxabi=libcxxrt
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
-	else
-		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-		cxxabi=libsupc++
-		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-	fi
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	# we want -lgcc_s for unwinder, and for compiler runtime when using
-	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON
-	if use libunwind; then
-		# work-around missing -lunwind upstream
-		extra_libs+=( -lunwind )
-		# if we're using libunwind and clang with compiler-rt, we want
-		# to link to compiler-rt instead of -lgcc_s
-		if tc-is-clang; then
-			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
-			   ${LDFLAGS} -print-libgcc-file-name)
-			if [[ ${compiler_rt} == *libclang_rt* ]]; then
-				want_gcc_s=OFF
-				extra_libs+=( "${compiler_rt}" )
-			fi
-		fi
-	fi
-
-	# bootstrap: cmake is unhappy if compiler can't link to stdlib
-	local nolib_flags=( -nodefaultlibs -lc )
-	if ! test_compiler; then
-		if test_compiler "${nolib_flags[@]}"; then
-			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
-			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
-		fi
-	fi
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
-		-DLIBCXX_ENABLE_SHARED=ON
-		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-		-DLIBCXX_CXX_ABI=${cxxabi}
-		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-		# we're using our own mechanism for generating linker scripts
-		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-		-DLIBCXX_INCLUDE_TESTS=$(usex test)
-		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
-	)
-
-	if use test; then
-		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
-
-		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
-		)
-	fi
-	cmake-utils_src_configure
-}
-
-multilib_src_test() {
-	cmake-utils_src_make check-libcxx
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
-
-	# Move it first.
-	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
-	# Generate libc++.a ldscript for inclusion of its dependencies so that
-	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
-	# On Linux/glibc it does not link without libpthread or libdl. It is
-	# fine on FreeBSD.
-	use elibc_glibc && deps+=" libpthread.a libdl.a"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
-}
-
-gen_shared_ldscript() {
-	local libdir=$(get_libdir)
-	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
-
-	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-	gen_shared_ldscript
-	use static-libs && gen_static_ldscript
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-10-12 11:27 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-10-12 11:27 UTC (permalink / raw
  To: gentoo-commits

commit:     784669c573014589ec3bc7e61153463ac2db90bd
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 12 11:24:39 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Oct 12 11:26:54 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=784669c5

sys-libs/libcxx: Upstream is now at 9.0.1

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/{libcxx-9.0.0.9999.ebuild => libcxx-9.0.1.9999.ebuild} | 0
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-9.0.0.9999.ebuild b/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild
similarity index 100%
rename from sys-libs/libcxx/libcxx-9.0.0.9999.ebuild
rename to sys-libs/libcxx/libcxx-9.0.1.9999.ebuild


^ permalink raw reply	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-11-01 13:16 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-11-01 13:16 UTC (permalink / raw
  To: gentoo-commits

commit:     6af202dc37ef6ec98c3f93b59a2cbd80040931eb
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Nov  1 08:34:52 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Nov  1 13:15:54 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6af202dc

sys-libs/libcxx: Switch live to monorepo

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/libcxx-10.0.0.9999.ebuild |  9 +++++++--
 sys-libs/libcxx/libcxx-9.0.1.9999.ebuild  | 11 ++++++++---
 2 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild b/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
index 83d8eeaa8c4..9c722cc3362 100644
--- a/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
@@ -16,8 +16,8 @@ inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1 \
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="https://libcxx.llvm.org/"
 SRC_URI=""
-EGIT_REPO_URI="https://git.llvm.org/git/libcxx.git
-	https://github.com/llvm-mirror/libcxx.git"
+EGIT_REPO_URI="https://github.com/llvm/llvm-project.git"
+S=${WORKDIR}/${P}/libcxx
 
 LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
 SLOT="0"
@@ -73,6 +73,11 @@ pkg_setup() {
 	fi
 }
 
+src_unpack() {
+	git-r3_fetch
+	git-r3_checkout '' '' '' libcxx
+}
+
 test_compiler() {
 	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
 		<<<'int main() { return 0; }' &>/dev/null

diff --git a/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild b/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild
index 5a84e2f5f99..f70527cd308 100644
--- a/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild
@@ -16,9 +16,9 @@ inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1 \
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="https://libcxx.llvm.org/"
 SRC_URI=""
-EGIT_REPO_URI="https://git.llvm.org/git/libcxx.git
-	https://github.com/llvm-mirror/libcxx.git"
-EGIT_BRANCH="release_90"
+EGIT_REPO_URI="https://github.com/llvm/llvm-project.git"
+EGIT_BRANCH="release/9.x"
+S=${WORKDIR}/${P}/libcxx
 
 LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
 SLOT="0"
@@ -74,6 +74,11 @@ pkg_setup() {
 	fi
 }
 
+src_unpack() {
+	git-r3_fetch
+	git-r3_checkout '' '' '' libcxx
+}
+
 test_compiler() {
 	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
 		<<<'int main() { return 0; }' &>/dev/null


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-11-03 10:00 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-11-03 10:00 UTC (permalink / raw
  To: gentoo-commits

commit:     e0c7d4dd86154133d0a6c260f664a1f6c39198ff
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Nov  3 09:44:12 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Nov  3 10:00:21 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e0c7d4dd

sys-libs/libcxx: Remove redundant CMAKE* in EAPI 7

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/libcxx-10.0.0.9999.ebuild | 6 ------
 sys-libs/libcxx/libcxx-9.0.0.ebuild       | 6 ------
 sys-libs/libcxx/libcxx-9.0.1.9999.ebuild  | 6 ------
 3 files changed, 18 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild b/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
index 9c722cc3362..cf08961e9c8 100644
--- a/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
@@ -3,13 +3,7 @@
 
 EAPI=7
 
-# Ninja provides better scalability and cleaner verbose output, and is used
-# throughout all LLVM projects.
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
 PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-
 inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1 \
 	toolchain-funcs
 

diff --git a/sys-libs/libcxx/libcxx-9.0.0.ebuild b/sys-libs/libcxx/libcxx-9.0.0.ebuild
index a4e2b51d8ab..a4208b8cb49 100644
--- a/sys-libs/libcxx/libcxx-9.0.0.ebuild
+++ b/sys-libs/libcxx/libcxx-9.0.0.ebuild
@@ -3,13 +3,7 @@
 
 EAPI=7
 
-# Ninja provides better scalability and cleaner verbose output, and is used
-# throughout all LLVM projects.
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
 PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-
 inherit cmake-multilib llvm multiprocessing python-any-r1 \
 	toolchain-funcs
 

diff --git a/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild b/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild
index f70527cd308..4124a2fbf98 100644
--- a/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild
@@ -3,13 +3,7 @@
 
 EAPI=7
 
-# Ninja provides better scalability and cleaner verbose output, and is used
-# throughout all LLVM projects.
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
 PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-
 inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1 \
 	toolchain-funcs
 


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-11-03 11:46 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-11-03 11:46 UTC (permalink / raw
  To: gentoo-commits

commit:     462a7e914eaf7d039b91b8e9fb55396fcdc68cea
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Nov  1 18:02:58 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Nov  3 11:46:23 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=462a7e91

sys-libs/libcxx: Port to llvm.org eclass

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/libcxx-10.0.0.9999.ebuild | 12 +++---------
 sys-libs/libcxx/libcxx-9.0.0.ebuild       |  7 +++----
 sys-libs/libcxx/libcxx-9.0.1.9999.ebuild  | 13 +++----------
 3 files changed, 9 insertions(+), 23 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild b/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
index cf08961e9c8..f5f67053d77 100644
--- a/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
@@ -4,14 +4,13 @@
 EAPI=7
 
 PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1 \
+inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1 \
 	toolchain-funcs
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="https://libcxx.llvm.org/"
-SRC_URI=""
-EGIT_REPO_URI="https://github.com/llvm/llvm-project.git"
-S=${WORKDIR}/${P}/libcxx
+LLVM_COMPONENTS=( libcxx )
+llvm.org_set_globals
 
 LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
 SLOT="0"
@@ -67,11 +66,6 @@ pkg_setup() {
 	fi
 }
 
-src_unpack() {
-	git-r3_fetch
-	git-r3_checkout '' '' '' libcxx
-}
-
 test_compiler() {
 	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
 		<<<'int main() { return 0; }' &>/dev/null

diff --git a/sys-libs/libcxx/libcxx-9.0.0.ebuild b/sys-libs/libcxx/libcxx-9.0.0.ebuild
index a4208b8cb49..76ae63ba35a 100644
--- a/sys-libs/libcxx/libcxx-9.0.0.ebuild
+++ b/sys-libs/libcxx/libcxx-9.0.0.ebuild
@@ -4,14 +4,13 @@
 EAPI=7
 
 PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-inherit cmake-multilib llvm multiprocessing python-any-r1 \
+inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1 \
 	toolchain-funcs
 
-MY_P=${P}.src
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="https://libcxx.llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV}/${MY_P}.tar.xz"
-S=${WORKDIR}/${MY_P}
+LLVM_COMPONENTS=( libcxx )
+llvm.org_set_globals
 
 LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
 SLOT="0"

diff --git a/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild b/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild
index 4124a2fbf98..f5f67053d77 100644
--- a/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild
@@ -4,15 +4,13 @@
 EAPI=7
 
 PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1 \
+inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1 \
 	toolchain-funcs
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="https://libcxx.llvm.org/"
-SRC_URI=""
-EGIT_REPO_URI="https://github.com/llvm/llvm-project.git"
-EGIT_BRANCH="release/9.x"
-S=${WORKDIR}/${P}/libcxx
+LLVM_COMPONENTS=( libcxx )
+llvm.org_set_globals
 
 LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
 SLOT="0"
@@ -68,11 +66,6 @@ pkg_setup() {
 	fi
 }
 
-src_unpack() {
-	git-r3_fetch
-	git-r3_checkout '' '' '' libcxx
-}
-
 test_compiler() {
 	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
 		<<<'int main() { return 0; }' &>/dev/null


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-11-23  7:58 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-11-23  7:58 UTC (permalink / raw
  To: gentoo-commits

commit:     272d04251d7706298434226ae34ac98d6cf9e32e
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 23 07:49:02 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Nov 23 07:55:25 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=272d0425

sys-libs/libcxx: Bump to 9.0.1_rc1

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/Manifest                |   1 +
 sys-libs/libcxx/libcxx-9.0.1_rc1.ebuild | 209 ++++++++++++++++++++++++++++++++
 2 files changed, 210 insertions(+)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 0c0d35f81d8..74c4dbd9e09 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -2,3 +2,4 @@ DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9f
 DIST libcxx-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf935d4e784e0bc835a4d2c3ce0790f5539bdca0466feafd668d7c6675b11b7fe14d9adb680c46fd7b28b42a3b423219 SHA512 925ce5093445f84dc17d5b1610e4297ef3606b254b7350c50f88ba042fcca62125ffd97d21cb612707d5e9511267634ca1779619199f95ce819e5f5c0c2b55d5
 DIST libcxx-8.0.1.src.tar.xz 1739524 BLAKE2B 6e641cb6bda0de12c8408d3ab33f627389ac014aa65b3391c870aa96ffd347784e6b70b953bd1ee8eba56554e0f78a723ab77b9dba5f85e6219e2b95ca50c160 SHA512 75749d08b2b343c6f5f9aefb04be63e42f6d12efc51101d3647ed6f70c7a6d050afb3ab2f3636eae78cb523f5844de67b960a7a3145ed89ab0c7015deb14921e
 DIST libcxx-9.0.0.src.tar.xz 1814388 BLAKE2B 59b8967706d1f85b1c0d2b9932bd637aae7118ae461e2b31e1d17c9a2ee2e02ea0ea8b344074a9fc4b430b5c742b8ad30c10a0c44e5290528fdecd7571352879 SHA512 cbaca724c4f3e3a270dfd53aac50cbb920190fe55486b164d52e73845819dd22afb10c23f5875da59d433fd5b96a0f153208746117309ac1267a38fa56f4818e
+DIST llvmorg-9.0.1-rc1.tar.gz 113193716 BLAKE2B 1ab52c778a139d33674589c27bf5a4d619dd4df49344b508c16de3ca6fad09c19480ceb615e0d9cf6d1981c7f28e106f087c0cd7bc2ccb844bec7099f5d227c2 SHA512 ed4b11cadbd57aa5f531d598e320a6bd54c67a8c713671af12ce62bc02283515ecbbc65ccbe3b0db3bad517cc4e6386cc3565be9eb9b9d06ca2a598428abf557

diff --git a/sys-libs/libcxx/libcxx-9.0.1_rc1.ebuild b/sys-libs/libcxx/libcxx-9.0.1_rc1.ebuild
new file mode 100644
index 00000000000..f5f67053d77
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-9.0.1_rc1.ebuild
@@ -0,0 +1,209 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1 \
+	toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+LLVM_COMPONENTS=( libcxx )
+llvm.org_set_globals
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS=""
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# llvm-6 for new lit options
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	>=sys-devel/llvm-6"
+BDEPEND="
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+test_compiler() {
+	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+		<<<'int main() { return 0; }' &>/dev/null
+}
+
+src_configure() {
+	# note: we need to do this before multilib kicks in since it will
+	# alter the CHOST
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+			   ${LDFLAGS} -print-libgcc-file-name)
+			if [[ ${compiler_rt} == *libclang_rt* ]]; then
+				want_gcc_s=OFF
+				extra_libs+=( "${compiler_rt}" )
+			fi
+		fi
+	fi
+
+	# bootstrap: cmake is unhappy if compiler can't link to stdlib
+	local nolib_flags=( -nodefaultlibs -lc )
+	if ! test_compiler; then
+		if test_compiler "${nolib_flags[@]}"; then
+			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	local -x LIT_PRESERVES_TMP=1
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-11-27  8:58 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-11-27  8:58 UTC (permalink / raw
  To: gentoo-commits

commit:     708fe7d2e647a6cf6257e04ed6c99639a1444e18
Author:     Yang Yang <geraint0923 <AT> gmail <DOT> com>
AuthorDate: Sun Nov 24 05:07:44 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Nov 27 08:58:41 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=708fe7d2

sys-libs/libcxx-9.0.0: add USE to explicitly link compiler-rt

According to
https://clang.llvm.org/docs/Toolchain.html#compiler-rt-llvm,
`-DLIBCXX_USE_COMPILER_RT=YES` is needed to linked to compiler-rt.

Otherwise building libcxx using clang+compiler-rt will fail.

Signed-off-by: Yang Yang <geraint0923 <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/13748
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/libcxx-10.0.0.9999.ebuild | 4 +++-
 sys-libs/libcxx/libcxx-9.0.0.ebuild       | 4 +++-
 sys-libs/libcxx/libcxx-9.0.1.9999.ebuild  | 4 +++-
 sys-libs/libcxx/libcxx-9.0.1_rc1.ebuild   | 4 +++-
 4 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild b/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
index f5f67053d77..db9250d5440 100644
--- a/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
@@ -93,7 +93,7 @@ src_configure() {
 multilib_src_configure() {
 	# we want -lgcc_s for unwinder, and for compiler runtime when using
 	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON
+	local extra_libs=() want_gcc_s=ON want_compiler_rt=OFF
 	if use libunwind; then
 		# work-around missing -lunwind upstream
 		extra_libs+=( -lunwind )
@@ -104,6 +104,7 @@ multilib_src_configure() {
 			   ${LDFLAGS} -print-libgcc-file-name)
 			if [[ ${compiler_rt} == *libclang_rt* ]]; then
 				want_gcc_s=OFF
+				want_compiler_rt=ON
 				extra_libs+=( "${compiler_rt}" )
 			fi
 		fi
@@ -130,6 +131,7 @@ multilib_src_configure() {
 		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
 		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
 		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
 		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
 	)
 

diff --git a/sys-libs/libcxx/libcxx-9.0.0.ebuild b/sys-libs/libcxx/libcxx-9.0.0.ebuild
index 76ae63ba35a..41c96a83d61 100644
--- a/sys-libs/libcxx/libcxx-9.0.0.ebuild
+++ b/sys-libs/libcxx/libcxx-9.0.0.ebuild
@@ -93,7 +93,7 @@ src_configure() {
 multilib_src_configure() {
 	# we want -lgcc_s for unwinder, and for compiler runtime when using
 	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON
+	local extra_libs=() want_gcc_s=ON want_compiler_rt=OFF
 	if use libunwind; then
 		# work-around missing -lunwind upstream
 		extra_libs+=( -lunwind )
@@ -104,6 +104,7 @@ multilib_src_configure() {
 			   ${LDFLAGS} -print-libgcc-file-name)
 			if [[ ${compiler_rt} == *libclang_rt* ]]; then
 				want_gcc_s=OFF
+				want_compiler_rt=ON
 				extra_libs+=( "${compiler_rt}" )
 			fi
 		fi
@@ -130,6 +131,7 @@ multilib_src_configure() {
 		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
 		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
 		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
 		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
 	)
 

diff --git a/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild b/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild
index f5f67053d77..db9250d5440 100644
--- a/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild
@@ -93,7 +93,7 @@ src_configure() {
 multilib_src_configure() {
 	# we want -lgcc_s for unwinder, and for compiler runtime when using
 	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON
+	local extra_libs=() want_gcc_s=ON want_compiler_rt=OFF
 	if use libunwind; then
 		# work-around missing -lunwind upstream
 		extra_libs+=( -lunwind )
@@ -104,6 +104,7 @@ multilib_src_configure() {
 			   ${LDFLAGS} -print-libgcc-file-name)
 			if [[ ${compiler_rt} == *libclang_rt* ]]; then
 				want_gcc_s=OFF
+				want_compiler_rt=ON
 				extra_libs+=( "${compiler_rt}" )
 			fi
 		fi
@@ -130,6 +131,7 @@ multilib_src_configure() {
 		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
 		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
 		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
 		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
 	)
 

diff --git a/sys-libs/libcxx/libcxx-9.0.1_rc1.ebuild b/sys-libs/libcxx/libcxx-9.0.1_rc1.ebuild
index f5f67053d77..db9250d5440 100644
--- a/sys-libs/libcxx/libcxx-9.0.1_rc1.ebuild
+++ b/sys-libs/libcxx/libcxx-9.0.1_rc1.ebuild
@@ -93,7 +93,7 @@ src_configure() {
 multilib_src_configure() {
 	# we want -lgcc_s for unwinder, and for compiler runtime when using
 	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON
+	local extra_libs=() want_gcc_s=ON want_compiler_rt=OFF
 	if use libunwind; then
 		# work-around missing -lunwind upstream
 		extra_libs+=( -lunwind )
@@ -104,6 +104,7 @@ multilib_src_configure() {
 			   ${LDFLAGS} -print-libgcc-file-name)
 			if [[ ${compiler_rt} == *libclang_rt* ]]; then
 				want_gcc_s=OFF
+				want_compiler_rt=ON
 				extra_libs+=( "${compiler_rt}" )
 			fi
 		fi
@@ -130,6 +131,7 @@ multilib_src_configure() {
 		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
 		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
 		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
 		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
 	)
 


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-12-07  9:15 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-12-07  9:15 UTC (permalink / raw
  To: gentoo-commits

commit:     5b5896e51eb31b3671b742516feac1c987f4c950
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec  7 07:30:04 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec  7 09:15:23 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b5896e5

sys-libs/libcxx: Bump to 9.0.1rc2

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/Manifest                |   1 +
 sys-libs/libcxx/libcxx-9.0.1_rc2.ebuild | 211 ++++++++++++++++++++++++++++++++
 2 files changed, 212 insertions(+)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 74c4dbd9e09..9206ca8550a 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -3,3 +3,4 @@ DIST libcxx-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf9
 DIST libcxx-8.0.1.src.tar.xz 1739524 BLAKE2B 6e641cb6bda0de12c8408d3ab33f627389ac014aa65b3391c870aa96ffd347784e6b70b953bd1ee8eba56554e0f78a723ab77b9dba5f85e6219e2b95ca50c160 SHA512 75749d08b2b343c6f5f9aefb04be63e42f6d12efc51101d3647ed6f70c7a6d050afb3ab2f3636eae78cb523f5844de67b960a7a3145ed89ab0c7015deb14921e
 DIST libcxx-9.0.0.src.tar.xz 1814388 BLAKE2B 59b8967706d1f85b1c0d2b9932bd637aae7118ae461e2b31e1d17c9a2ee2e02ea0ea8b344074a9fc4b430b5c742b8ad30c10a0c44e5290528fdecd7571352879 SHA512 cbaca724c4f3e3a270dfd53aac50cbb920190fe55486b164d52e73845819dd22afb10c23f5875da59d433fd5b96a0f153208746117309ac1267a38fa56f4818e
 DIST llvmorg-9.0.1-rc1.tar.gz 113193716 BLAKE2B 1ab52c778a139d33674589c27bf5a4d619dd4df49344b508c16de3ca6fad09c19480ceb615e0d9cf6d1981c7f28e106f087c0cd7bc2ccb844bec7099f5d227c2 SHA512 ed4b11cadbd57aa5f531d598e320a6bd54c67a8c713671af12ce62bc02283515ecbbc65ccbe3b0db3bad517cc4e6386cc3565be9eb9b9d06ca2a598428abf557
+DIST llvmorg-9.0.1-rc2.tar.gz 113203311 BLAKE2B 6e426060853e1587febedb75189444a1451236b713f800a4f3401c54318e48b0f5e0c484e9e4ef261faceed9b43b445a4153b061d4dadcc617047f9320b4f56a SHA512 fececd9365645920b9afdad1e94d5e10553ad4a39d84b3ac811b86014c395d51f7e4dabe54bb095a99481400c408bee3c9a2044168724d5e094e3258587a5d2c

diff --git a/sys-libs/libcxx/libcxx-9.0.1_rc2.ebuild b/sys-libs/libcxx/libcxx-9.0.1_rc2.ebuild
new file mode 100644
index 00000000000..db9250d5440
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-9.0.1_rc2.ebuild
@@ -0,0 +1,211 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1 \
+	toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+LLVM_COMPONENTS=( libcxx )
+llvm.org_set_globals
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS=""
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# llvm-6 for new lit options
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	>=sys-devel/llvm-6"
+BDEPEND="
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+test_compiler() {
+	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+		<<<'int main() { return 0; }' &>/dev/null
+}
+
+src_configure() {
+	# note: we need to do this before multilib kicks in since it will
+	# alter the CHOST
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON want_compiler_rt=OFF
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+			   ${LDFLAGS} -print-libgcc-file-name)
+			if [[ ${compiler_rt} == *libclang_rt* ]]; then
+				want_gcc_s=OFF
+				want_compiler_rt=ON
+				extra_libs+=( "${compiler_rt}" )
+			fi
+		fi
+	fi
+
+	# bootstrap: cmake is unhappy if compiler can't link to stdlib
+	local nolib_flags=( -nodefaultlibs -lc )
+	if ! test_compiler; then
+		if test_compiler "${nolib_flags[@]}"; then
+			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	local -x LIT_PRESERVES_TMP=1
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-12-07  9:15 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-12-07  9:15 UTC (permalink / raw
  To: gentoo-commits

commit:     c69107482acc52e465d4fdc1a97262c19600959b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec  7 07:49:27 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec  7 09:15:39 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c6910748

sys-libs/libcxx: Remove 9.0.1rc1

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/Manifest                |   1 -
 sys-libs/libcxx/libcxx-9.0.1_rc1.ebuild | 211 --------------------------------
 2 files changed, 212 deletions(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 9206ca8550a..0f23074bc87 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -2,5 +2,4 @@ DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9f
 DIST libcxx-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf935d4e784e0bc835a4d2c3ce0790f5539bdca0466feafd668d7c6675b11b7fe14d9adb680c46fd7b28b42a3b423219 SHA512 925ce5093445f84dc17d5b1610e4297ef3606b254b7350c50f88ba042fcca62125ffd97d21cb612707d5e9511267634ca1779619199f95ce819e5f5c0c2b55d5
 DIST libcxx-8.0.1.src.tar.xz 1739524 BLAKE2B 6e641cb6bda0de12c8408d3ab33f627389ac014aa65b3391c870aa96ffd347784e6b70b953bd1ee8eba56554e0f78a723ab77b9dba5f85e6219e2b95ca50c160 SHA512 75749d08b2b343c6f5f9aefb04be63e42f6d12efc51101d3647ed6f70c7a6d050afb3ab2f3636eae78cb523f5844de67b960a7a3145ed89ab0c7015deb14921e
 DIST libcxx-9.0.0.src.tar.xz 1814388 BLAKE2B 59b8967706d1f85b1c0d2b9932bd637aae7118ae461e2b31e1d17c9a2ee2e02ea0ea8b344074a9fc4b430b5c742b8ad30c10a0c44e5290528fdecd7571352879 SHA512 cbaca724c4f3e3a270dfd53aac50cbb920190fe55486b164d52e73845819dd22afb10c23f5875da59d433fd5b96a0f153208746117309ac1267a38fa56f4818e
-DIST llvmorg-9.0.1-rc1.tar.gz 113193716 BLAKE2B 1ab52c778a139d33674589c27bf5a4d619dd4df49344b508c16de3ca6fad09c19480ceb615e0d9cf6d1981c7f28e106f087c0cd7bc2ccb844bec7099f5d227c2 SHA512 ed4b11cadbd57aa5f531d598e320a6bd54c67a8c713671af12ce62bc02283515ecbbc65ccbe3b0db3bad517cc4e6386cc3565be9eb9b9d06ca2a598428abf557
 DIST llvmorg-9.0.1-rc2.tar.gz 113203311 BLAKE2B 6e426060853e1587febedb75189444a1451236b713f800a4f3401c54318e48b0f5e0c484e9e4ef261faceed9b43b445a4153b061d4dadcc617047f9320b4f56a SHA512 fececd9365645920b9afdad1e94d5e10553ad4a39d84b3ac811b86014c395d51f7e4dabe54bb095a99481400c408bee3c9a2044168724d5e094e3258587a5d2c

diff --git a/sys-libs/libcxx/libcxx-9.0.1_rc1.ebuild b/sys-libs/libcxx/libcxx-9.0.1_rc1.ebuild
deleted file mode 100644
index db9250d5440..00000000000
--- a/sys-libs/libcxx/libcxx-9.0.1_rc1.ebuild
+++ /dev/null
@@ -1,211 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1 \
-	toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-LLVM_COMPONENTS=( libcxx )
-llvm.org_set_globals
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS=""
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
-	?? ( libcxxabi libcxxrt )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# llvm-6 for new lit options
-# clang-3.9.0 installs necessary target symlinks unconditionally
-# which removes the need for MULTILIB_USEDEP
-DEPEND="${RDEPEND}
-	>=sys-devel/llvm-6"
-BDEPEND="
-	test? ( >=sys-devel/clang-3.9.0
-		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
-
-DOCS=( CREDITS.TXT )
-
-PATCHES=(
-	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
-	# out-of-tree build.
-	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
-)
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
-	has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-	use test && python-any-r1_pkg_setup
-
-	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
-		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
-		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
-		eerror "and try again."
-		die
-	fi
-	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
-		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
-		eerror "conformant compilers). Please use gcc-config to switch to"
-		eerror "gcc-4.7 or later version."
-		die
-	fi
-}
-
-test_compiler() {
-	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
-		<<<'int main() { return 0; }' &>/dev/null
-}
-
-src_configure() {
-	# note: we need to do this before multilib kicks in since it will
-	# alter the CHOST
-	local cxxabi cxxabi_incs
-	if use libcxxabi; then
-		cxxabi=libcxxabi
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
-	elif use libcxxrt; then
-		cxxabi=libcxxrt
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
-	else
-		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-		cxxabi=libsupc++
-		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-	fi
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	# we want -lgcc_s for unwinder, and for compiler runtime when using
-	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON want_compiler_rt=OFF
-	if use libunwind; then
-		# work-around missing -lunwind upstream
-		extra_libs+=( -lunwind )
-		# if we're using libunwind and clang with compiler-rt, we want
-		# to link to compiler-rt instead of -lgcc_s
-		if tc-is-clang; then
-			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
-			   ${LDFLAGS} -print-libgcc-file-name)
-			if [[ ${compiler_rt} == *libclang_rt* ]]; then
-				want_gcc_s=OFF
-				want_compiler_rt=ON
-				extra_libs+=( "${compiler_rt}" )
-			fi
-		fi
-	fi
-
-	# bootstrap: cmake is unhappy if compiler can't link to stdlib
-	local nolib_flags=( -nodefaultlibs -lc )
-	if ! test_compiler; then
-		if test_compiler "${nolib_flags[@]}"; then
-			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
-			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
-		fi
-	fi
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
-		-DLIBCXX_ENABLE_SHARED=ON
-		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-		-DLIBCXX_CXX_ABI=${cxxabi}
-		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-		# we're using our own mechanism for generating linker scripts
-		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-		-DLIBCXX_INCLUDE_TESTS=$(usex test)
-		-DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
-		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
-	)
-
-	if use test; then
-		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
-
-		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
-		)
-	fi
-	cmake-utils_src_configure
-}
-
-multilib_src_test() {
-	local -x LIT_PRESERVES_TMP=1
-	cmake-utils_src_make check-libcxx
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
-
-	# Move it first.
-	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
-	# Generate libc++.a ldscript for inclusion of its dependencies so that
-	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
-	# On Linux/glibc it does not link without libpthread or libdl. It is
-	# fine on FreeBSD.
-	use elibc_glibc && deps+=" libpthread.a libdl.a"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
-}
-
-gen_shared_ldscript() {
-	local libdir=$(get_libdir)
-	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
-
-	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-	gen_shared_ldscript
-	use static-libs && gen_static_ldscript
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-12-08 21:20 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-12-08 21:20 UTC (permalink / raw
  To: gentoo-commits

commit:     0833826fb938eb0b4053996146ce4609cd8abae7
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Dec  8 21:01:45 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Dec  8 21:20:17 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0833826f

sys-libs/libcxx: Add KEYWORDS to 9.0.0_rc2

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/libcxx-9.0.1_rc2.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libcxx/libcxx-9.0.1_rc2.ebuild b/sys-libs/libcxx/libcxx-9.0.1_rc2.ebuild
index db9250d5440..41c96a83d61 100644
--- a/sys-libs/libcxx/libcxx-9.0.1_rc2.ebuild
+++ b/sys-libs/libcxx/libcxx-9.0.1_rc2.ebuild
@@ -14,7 +14,7 @@ llvm.org_set_globals
 
 LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
 SLOT="0"
-KEYWORDS=""
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
 REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
 	?? ( libcxxabi libcxxrt )"


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-12-09 19:20 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-12-09 19:20 UTC (permalink / raw
  To: gentoo-commits

commit:     8f69fa96c423b4f476ba57fbe245d89c692d20b1
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Dec  8 09:29:08 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Dec  9 19:20:29 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8f69fa96

sys-libs/libcxx: Remove 6*

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/Manifest            |   1 -
 sys-libs/libcxx/libcxx-6.0.1.ebuild | 215 ------------------------------------
 2 files changed, 216 deletions(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 0f23074bc87..b9d29433c50 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,4 +1,3 @@
-DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
 DIST libcxx-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf935d4e784e0bc835a4d2c3ce0790f5539bdca0466feafd668d7c6675b11b7fe14d9adb680c46fd7b28b42a3b423219 SHA512 925ce5093445f84dc17d5b1610e4297ef3606b254b7350c50f88ba042fcca62125ffd97d21cb612707d5e9511267634ca1779619199f95ce819e5f5c0c2b55d5
 DIST libcxx-8.0.1.src.tar.xz 1739524 BLAKE2B 6e641cb6bda0de12c8408d3ab33f627389ac014aa65b3391c870aa96ffd347784e6b70b953bd1ee8eba56554e0f78a723ab77b9dba5f85e6219e2b95ca50c160 SHA512 75749d08b2b343c6f5f9aefb04be63e42f6d12efc51101d3647ed6f70c7a6d050afb3ab2f3636eae78cb523f5844de67b960a7a3145ed89ab0c7015deb14921e
 DIST libcxx-9.0.0.src.tar.xz 1814388 BLAKE2B 59b8967706d1f85b1c0d2b9932bd637aae7118ae461e2b31e1d17c9a2ee2e02ea0ea8b344074a9fc4b430b5c742b8ad30c10a0c44e5290528fdecd7571352879 SHA512 cbaca724c4f3e3a270dfd53aac50cbb920190fe55486b164d52e73845819dd22afb10c23f5875da59d433fd5b96a0f153208746117309ac1267a38fa56f4818e

diff --git a/sys-libs/libcxx/libcxx-6.0.1.ebuild b/sys-libs/libcxx/libcxx-6.0.1.ebuild
deleted file mode 100644
index 23be36cbff6..00000000000
--- a/sys-libs/libcxx/libcxx-6.0.1.ebuild
+++ /dev/null
@@ -1,215 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# Ninja provides better scalability and cleaner verbose output, and is used
-# throughout all LLVM projects.
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-multilib llvm multiprocessing python-any-r1 \
-	toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
-	?? ( libcxxabi libcxxrt )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# llvm-6 for new lit options
-# clang-3.9.0 installs necessary target symlinks unconditionally
-# which removes the need for MULTILIB_USEDEP
-DEPEND="${RDEPEND}
-	test? ( >=sys-devel/clang-3.9.0
-		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
-	app-arch/xz-utils
-	>=sys-devel/llvm-6"
-
-S=${WORKDIR}/${P/_/}.src
-
-DOCS=( CREDITS.TXT )
-
-PATCHES=(
-	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
-	# out-of-tree build.
-	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
-)
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
-	has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-	use test && python-any-r1_pkg_setup
-
-	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
-		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
-		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
-		eerror "and try again."
-		die
-	fi
-	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
-		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
-		eerror "conformant compilers). Please use gcc-config to switch to"
-		eerror "gcc-4.7 or later version."
-		die
-	fi
-}
-
-test_compiler() {
-	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
-		<<<'int main() { return 0; }' &>/dev/null
-}
-
-src_configure() {
-	# note: we need to do this before multilib kicks in since it will
-	# alter the CHOST
-	local cxxabi cxxabi_incs
-	if use libcxxabi; then
-		cxxabi=libcxxabi
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
-	elif use libcxxrt; then
-		cxxabi=libcxxrt
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
-	else
-		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-		cxxabi=libsupc++
-		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-	fi
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	# we want -lgcc_s for unwinder, and for compiler runtime when using
-	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON
-	if use libunwind; then
-		# work-around missing -lunwind upstream
-		extra_libs+=( -lunwind )
-		# if we're using libunwind and clang with compiler-rt, we want
-		# to link to compiler-rt instead of -lgcc_s
-		if tc-is-clang; then
-			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
-			   ${LDFLAGS} -print-libgcc-file-name)
-			if [[ ${compiler_rt} == *libclang_rt* ]]; then
-				want_gcc_s=OFF
-				extra_libs+=( "${compiler_rt}" )
-			fi
-		fi
-	fi
-
-	# bootstrap: cmake is unhappy if compiler can't link to stdlib
-	local nolib_flags=( -nodefaultlibs -lc )
-	if ! test_compiler; then
-		if test_compiler "${nolib_flags[@]}"; then
-			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
-			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
-		fi
-	fi
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
-		-DLIBCXX_ENABLE_SHARED=ON
-		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-		-DLIBCXX_CXX_ABI=${cxxabi}
-		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-		# we're using our own mechanism for generating linker scripts
-		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-		-DLIBCXX_INCLUDE_TESTS=$(usex test)
-		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
-	)
-
-	if use test; then
-		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
-
-		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
-		)
-	fi
-	cmake-utils_src_configure
-}
-
-multilib_src_test() {
-	cmake-utils_src_make check-libcxx
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
-
-	# Move it first.
-	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
-	# Generate libc++.a ldscript for inclusion of its dependencies so that
-	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
-	# On Linux/glibc it does not link without libpthread or libdl. It is
-	# fine on FreeBSD.
-	use elibc_glibc && deps+=" libpthread.a libdl.a"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
-}
-
-gen_shared_ldscript() {
-	local libdir=$(get_libdir)
-	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
-
-	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-	gen_shared_ldscript
-	use static-libs && gen_static_ldscript
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-12-14  9:55 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-12-14  9:55 UTC (permalink / raw
  To: gentoo-commits

commit:     69822ca0b2ba6b17c93e2224de95208e79b5acad
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 14 08:57:05 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 14 09:55:08 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69822ca0

sys-libs/libcxx: Bump to 9.0.1_rc3

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/Manifest                |   1 +
 sys-libs/libcxx/libcxx-9.0.1_rc3.ebuild | 211 ++++++++++++++++++++++++++++++++
 2 files changed, 212 insertions(+)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index b9d29433c50..881541a3b7c 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -2,3 +2,4 @@ DIST libcxx-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf9
 DIST libcxx-8.0.1.src.tar.xz 1739524 BLAKE2B 6e641cb6bda0de12c8408d3ab33f627389ac014aa65b3391c870aa96ffd347784e6b70b953bd1ee8eba56554e0f78a723ab77b9dba5f85e6219e2b95ca50c160 SHA512 75749d08b2b343c6f5f9aefb04be63e42f6d12efc51101d3647ed6f70c7a6d050afb3ab2f3636eae78cb523f5844de67b960a7a3145ed89ab0c7015deb14921e
 DIST libcxx-9.0.0.src.tar.xz 1814388 BLAKE2B 59b8967706d1f85b1c0d2b9932bd637aae7118ae461e2b31e1d17c9a2ee2e02ea0ea8b344074a9fc4b430b5c742b8ad30c10a0c44e5290528fdecd7571352879 SHA512 cbaca724c4f3e3a270dfd53aac50cbb920190fe55486b164d52e73845819dd22afb10c23f5875da59d433fd5b96a0f153208746117309ac1267a38fa56f4818e
 DIST llvmorg-9.0.1-rc2.tar.gz 113203311 BLAKE2B 6e426060853e1587febedb75189444a1451236b713f800a4f3401c54318e48b0f5e0c484e9e4ef261faceed9b43b445a4153b061d4dadcc617047f9320b4f56a SHA512 fececd9365645920b9afdad1e94d5e10553ad4a39d84b3ac811b86014c395d51f7e4dabe54bb095a99481400c408bee3c9a2044168724d5e094e3258587a5d2c
+DIST llvmorg-9.0.1-rc3.tar.gz 113205740 BLAKE2B 3ca81e812833ecc2ac1bacfdeb86f54609ee125ba7390ce6af0113e949496149102360f35a9a0194dff93fb5cb6ade40a68382a03a7e55771a13198abb7ca9de SHA512 ea56a4ee57aacdd00a1d6551cdc768ecce3124a0eb6a9d09fe060bb147019a5119b2a9eaca576474be42e0296293daa923edd86dadb6759df0c2d7fc7a74f9f1

diff --git a/sys-libs/libcxx/libcxx-9.0.1_rc3.ebuild b/sys-libs/libcxx/libcxx-9.0.1_rc3.ebuild
new file mode 100644
index 00000000000..41c96a83d61
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-9.0.1_rc3.ebuild
@@ -0,0 +1,211 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1 \
+	toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+LLVM_COMPONENTS=( libcxx )
+llvm.org_set_globals
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# llvm-6 for new lit options
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	>=sys-devel/llvm-6"
+BDEPEND="
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+test_compiler() {
+	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+		<<<'int main() { return 0; }' &>/dev/null
+}
+
+src_configure() {
+	# note: we need to do this before multilib kicks in since it will
+	# alter the CHOST
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON want_compiler_rt=OFF
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+			   ${LDFLAGS} -print-libgcc-file-name)
+			if [[ ${compiler_rt} == *libclang_rt* ]]; then
+				want_gcc_s=OFF
+				want_compiler_rt=ON
+				extra_libs+=( "${compiler_rt}" )
+			fi
+		fi
+	fi
+
+	# bootstrap: cmake is unhappy if compiler can't link to stdlib
+	local nolib_flags=( -nodefaultlibs -lc )
+	if ! test_compiler; then
+		if test_compiler "${nolib_flags[@]}"; then
+			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	local -x LIT_PRESERVES_TMP=1
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-12-21  8:30 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-12-21  8:30 UTC (permalink / raw
  To: gentoo-commits

commit:     69d278aca2f5041f96a1b3a9456dcc7d6abe81c3
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 21 07:29:24 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 21 08:29:59 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69d278ac

sys-libs/libcxx: Bump to 9.0.1 final

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/Manifest            |   1 +
 sys-libs/libcxx/libcxx-9.0.1.ebuild | 211 ++++++++++++++++++++++++++++++++++++
 2 files changed, 212 insertions(+)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 881541a3b7c..933947f5d2e 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -3,3 +3,4 @@ DIST libcxx-8.0.1.src.tar.xz 1739524 BLAKE2B 6e641cb6bda0de12c8408d3ab33f627389a
 DIST libcxx-9.0.0.src.tar.xz 1814388 BLAKE2B 59b8967706d1f85b1c0d2b9932bd637aae7118ae461e2b31e1d17c9a2ee2e02ea0ea8b344074a9fc4b430b5c742b8ad30c10a0c44e5290528fdecd7571352879 SHA512 cbaca724c4f3e3a270dfd53aac50cbb920190fe55486b164d52e73845819dd22afb10c23f5875da59d433fd5b96a0f153208746117309ac1267a38fa56f4818e
 DIST llvmorg-9.0.1-rc2.tar.gz 113203311 BLAKE2B 6e426060853e1587febedb75189444a1451236b713f800a4f3401c54318e48b0f5e0c484e9e4ef261faceed9b43b445a4153b061d4dadcc617047f9320b4f56a SHA512 fececd9365645920b9afdad1e94d5e10553ad4a39d84b3ac811b86014c395d51f7e4dabe54bb095a99481400c408bee3c9a2044168724d5e094e3258587a5d2c
 DIST llvmorg-9.0.1-rc3.tar.gz 113205740 BLAKE2B 3ca81e812833ecc2ac1bacfdeb86f54609ee125ba7390ce6af0113e949496149102360f35a9a0194dff93fb5cb6ade40a68382a03a7e55771a13198abb7ca9de SHA512 ea56a4ee57aacdd00a1d6551cdc768ecce3124a0eb6a9d09fe060bb147019a5119b2a9eaca576474be42e0296293daa923edd86dadb6759df0c2d7fc7a74f9f1
+DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59

diff --git a/sys-libs/libcxx/libcxx-9.0.1.ebuild b/sys-libs/libcxx/libcxx-9.0.1.ebuild
new file mode 100644
index 00000000000..41c96a83d61
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-9.0.1.ebuild
@@ -0,0 +1,211 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1 \
+	toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+LLVM_COMPONENTS=( libcxx )
+llvm.org_set_globals
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# llvm-6 for new lit options
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+	>=sys-devel/llvm-6"
+BDEPEND="
+	test? ( >=sys-devel/clang-3.9.0
+		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+	# out-of-tree build.
+	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+
+	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+		eerror "and try again."
+		die
+	fi
+	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+		eerror "conformant compilers). Please use gcc-config to switch to"
+		eerror "gcc-4.7 or later version."
+		die
+	fi
+}
+
+test_compiler() {
+	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+		<<<'int main() { return 0; }' &>/dev/null
+}
+
+src_configure() {
+	# note: we need to do this before multilib kicks in since it will
+	# alter the CHOST
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+	elif use libcxxrt; then
+		cxxabi=libcxxrt
+		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+	else
+		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+		cxxabi=libsupc++
+		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON want_compiler_rt=OFF
+	if use libunwind; then
+		# work-around missing -lunwind upstream
+		extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+			   ${LDFLAGS} -print-libgcc-file-name)
+			if [[ ${compiler_rt} == *libclang_rt* ]]; then
+				want_gcc_s=OFF
+				want_compiler_rt=ON
+				extra_libs+=( "${compiler_rt}" )
+			fi
+		fi
+	fi
+
+	# bootstrap: cmake is unhappy if compiler can't link to stdlib
+	local nolib_flags=( -nodefaultlibs -lc )
+	if ! test_compiler; then
+		if test_compiler "${nolib_flags[@]}"; then
+			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+		fi
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+		-DLIBCXX_ENABLE_SHARED=ON
+		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+		-DLIBCXX_CXX_ABI=${cxxabi}
+		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+		# we're using our own mechanism for generating linker scripts
+		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+		-DLIBCXX_INCLUDE_TESTS=$(usex test)
+		-DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
+		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+	)
+
+	if use test; then
+		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+multilib_src_test() {
+	local -x LIT_PRESERVES_TMP=1
+	cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+	elog "This package (${PN}) is mainly intended as a replacement for the C++"
+	elog "standard library when using clang."
+	elog "To use it, instead of libstdc++, use:"
+	elog "    clang++ -stdlib=libc++"
+	elog "to compile your C++ programs."
+}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2019-12-21  8:30 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2019-12-21  8:30 UTC (permalink / raw
  To: gentoo-commits

commit:     e8ce83842cfb3e1ed3fdace351f8ea5d6e3be927
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 21 08:26:40 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 21 08:30:06 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e8ce8384

sys-libs/libcxx: Remove 9.0.1 RCs and live

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/Manifest                 |   2 -
 sys-libs/libcxx/libcxx-9.0.1.9999.ebuild | 211 -------------------------------
 sys-libs/libcxx/libcxx-9.0.1_rc2.ebuild  | 211 -------------------------------
 sys-libs/libcxx/libcxx-9.0.1_rc3.ebuild  | 211 -------------------------------
 4 files changed, 635 deletions(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 933947f5d2e..f581d19370d 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,6 +1,4 @@
 DIST libcxx-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf935d4e784e0bc835a4d2c3ce0790f5539bdca0466feafd668d7c6675b11b7fe14d9adb680c46fd7b28b42a3b423219 SHA512 925ce5093445f84dc17d5b1610e4297ef3606b254b7350c50f88ba042fcca62125ffd97d21cb612707d5e9511267634ca1779619199f95ce819e5f5c0c2b55d5
 DIST libcxx-8.0.1.src.tar.xz 1739524 BLAKE2B 6e641cb6bda0de12c8408d3ab33f627389ac014aa65b3391c870aa96ffd347784e6b70b953bd1ee8eba56554e0f78a723ab77b9dba5f85e6219e2b95ca50c160 SHA512 75749d08b2b343c6f5f9aefb04be63e42f6d12efc51101d3647ed6f70c7a6d050afb3ab2f3636eae78cb523f5844de67b960a7a3145ed89ab0c7015deb14921e
 DIST libcxx-9.0.0.src.tar.xz 1814388 BLAKE2B 59b8967706d1f85b1c0d2b9932bd637aae7118ae461e2b31e1d17c9a2ee2e02ea0ea8b344074a9fc4b430b5c742b8ad30c10a0c44e5290528fdecd7571352879 SHA512 cbaca724c4f3e3a270dfd53aac50cbb920190fe55486b164d52e73845819dd22afb10c23f5875da59d433fd5b96a0f153208746117309ac1267a38fa56f4818e
-DIST llvmorg-9.0.1-rc2.tar.gz 113203311 BLAKE2B 6e426060853e1587febedb75189444a1451236b713f800a4f3401c54318e48b0f5e0c484e9e4ef261faceed9b43b445a4153b061d4dadcc617047f9320b4f56a SHA512 fececd9365645920b9afdad1e94d5e10553ad4a39d84b3ac811b86014c395d51f7e4dabe54bb095a99481400c408bee3c9a2044168724d5e094e3258587a5d2c
-DIST llvmorg-9.0.1-rc3.tar.gz 113205740 BLAKE2B 3ca81e812833ecc2ac1bacfdeb86f54609ee125ba7390ce6af0113e949496149102360f35a9a0194dff93fb5cb6ade40a68382a03a7e55771a13198abb7ca9de SHA512 ea56a4ee57aacdd00a1d6551cdc768ecce3124a0eb6a9d09fe060bb147019a5119b2a9eaca576474be42e0296293daa923edd86dadb6759df0c2d7fc7a74f9f1
 DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59

diff --git a/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild b/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild
deleted file mode 100644
index db9250d5440..00000000000
--- a/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild
+++ /dev/null
@@ -1,211 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1 \
-	toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-LLVM_COMPONENTS=( libcxx )
-llvm.org_set_globals
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS=""
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
-	?? ( libcxxabi libcxxrt )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# llvm-6 for new lit options
-# clang-3.9.0 installs necessary target symlinks unconditionally
-# which removes the need for MULTILIB_USEDEP
-DEPEND="${RDEPEND}
-	>=sys-devel/llvm-6"
-BDEPEND="
-	test? ( >=sys-devel/clang-3.9.0
-		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
-
-DOCS=( CREDITS.TXT )
-
-PATCHES=(
-	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
-	# out-of-tree build.
-	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
-)
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
-	has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-	use test && python-any-r1_pkg_setup
-
-	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
-		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
-		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
-		eerror "and try again."
-		die
-	fi
-	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
-		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
-		eerror "conformant compilers). Please use gcc-config to switch to"
-		eerror "gcc-4.7 or later version."
-		die
-	fi
-}
-
-test_compiler() {
-	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
-		<<<'int main() { return 0; }' &>/dev/null
-}
-
-src_configure() {
-	# note: we need to do this before multilib kicks in since it will
-	# alter the CHOST
-	local cxxabi cxxabi_incs
-	if use libcxxabi; then
-		cxxabi=libcxxabi
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
-	elif use libcxxrt; then
-		cxxabi=libcxxrt
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
-	else
-		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-		cxxabi=libsupc++
-		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-	fi
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	# we want -lgcc_s for unwinder, and for compiler runtime when using
-	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON want_compiler_rt=OFF
-	if use libunwind; then
-		# work-around missing -lunwind upstream
-		extra_libs+=( -lunwind )
-		# if we're using libunwind and clang with compiler-rt, we want
-		# to link to compiler-rt instead of -lgcc_s
-		if tc-is-clang; then
-			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
-			   ${LDFLAGS} -print-libgcc-file-name)
-			if [[ ${compiler_rt} == *libclang_rt* ]]; then
-				want_gcc_s=OFF
-				want_compiler_rt=ON
-				extra_libs+=( "${compiler_rt}" )
-			fi
-		fi
-	fi
-
-	# bootstrap: cmake is unhappy if compiler can't link to stdlib
-	local nolib_flags=( -nodefaultlibs -lc )
-	if ! test_compiler; then
-		if test_compiler "${nolib_flags[@]}"; then
-			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
-			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
-		fi
-	fi
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
-		-DLIBCXX_ENABLE_SHARED=ON
-		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-		-DLIBCXX_CXX_ABI=${cxxabi}
-		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-		# we're using our own mechanism for generating linker scripts
-		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-		-DLIBCXX_INCLUDE_TESTS=$(usex test)
-		-DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
-		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
-	)
-
-	if use test; then
-		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
-
-		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
-		)
-	fi
-	cmake-utils_src_configure
-}
-
-multilib_src_test() {
-	local -x LIT_PRESERVES_TMP=1
-	cmake-utils_src_make check-libcxx
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
-
-	# Move it first.
-	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
-	# Generate libc++.a ldscript for inclusion of its dependencies so that
-	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
-	# On Linux/glibc it does not link without libpthread or libdl. It is
-	# fine on FreeBSD.
-	use elibc_glibc && deps+=" libpthread.a libdl.a"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
-}
-
-gen_shared_ldscript() {
-	local libdir=$(get_libdir)
-	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
-
-	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-	gen_shared_ldscript
-	use static-libs && gen_static_ldscript
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}

diff --git a/sys-libs/libcxx/libcxx-9.0.1_rc2.ebuild b/sys-libs/libcxx/libcxx-9.0.1_rc2.ebuild
deleted file mode 100644
index 41c96a83d61..00000000000
--- a/sys-libs/libcxx/libcxx-9.0.1_rc2.ebuild
+++ /dev/null
@@ -1,211 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1 \
-	toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-LLVM_COMPONENTS=( libcxx )
-llvm.org_set_globals
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
-	?? ( libcxxabi libcxxrt )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# llvm-6 for new lit options
-# clang-3.9.0 installs necessary target symlinks unconditionally
-# which removes the need for MULTILIB_USEDEP
-DEPEND="${RDEPEND}
-	>=sys-devel/llvm-6"
-BDEPEND="
-	test? ( >=sys-devel/clang-3.9.0
-		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
-
-DOCS=( CREDITS.TXT )
-
-PATCHES=(
-	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
-	# out-of-tree build.
-	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
-)
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
-	has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-	use test && python-any-r1_pkg_setup
-
-	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
-		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
-		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
-		eerror "and try again."
-		die
-	fi
-	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
-		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
-		eerror "conformant compilers). Please use gcc-config to switch to"
-		eerror "gcc-4.7 or later version."
-		die
-	fi
-}
-
-test_compiler() {
-	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
-		<<<'int main() { return 0; }' &>/dev/null
-}
-
-src_configure() {
-	# note: we need to do this before multilib kicks in since it will
-	# alter the CHOST
-	local cxxabi cxxabi_incs
-	if use libcxxabi; then
-		cxxabi=libcxxabi
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
-	elif use libcxxrt; then
-		cxxabi=libcxxrt
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
-	else
-		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-		cxxabi=libsupc++
-		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-	fi
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	# we want -lgcc_s for unwinder, and for compiler runtime when using
-	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON want_compiler_rt=OFF
-	if use libunwind; then
-		# work-around missing -lunwind upstream
-		extra_libs+=( -lunwind )
-		# if we're using libunwind and clang with compiler-rt, we want
-		# to link to compiler-rt instead of -lgcc_s
-		if tc-is-clang; then
-			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
-			   ${LDFLAGS} -print-libgcc-file-name)
-			if [[ ${compiler_rt} == *libclang_rt* ]]; then
-				want_gcc_s=OFF
-				want_compiler_rt=ON
-				extra_libs+=( "${compiler_rt}" )
-			fi
-		fi
-	fi
-
-	# bootstrap: cmake is unhappy if compiler can't link to stdlib
-	local nolib_flags=( -nodefaultlibs -lc )
-	if ! test_compiler; then
-		if test_compiler "${nolib_flags[@]}"; then
-			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
-			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
-		fi
-	fi
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
-		-DLIBCXX_ENABLE_SHARED=ON
-		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-		-DLIBCXX_CXX_ABI=${cxxabi}
-		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-		# we're using our own mechanism for generating linker scripts
-		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-		-DLIBCXX_INCLUDE_TESTS=$(usex test)
-		-DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
-		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
-	)
-
-	if use test; then
-		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
-
-		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
-		)
-	fi
-	cmake-utils_src_configure
-}
-
-multilib_src_test() {
-	local -x LIT_PRESERVES_TMP=1
-	cmake-utils_src_make check-libcxx
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
-
-	# Move it first.
-	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
-	# Generate libc++.a ldscript for inclusion of its dependencies so that
-	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
-	# On Linux/glibc it does not link without libpthread or libdl. It is
-	# fine on FreeBSD.
-	use elibc_glibc && deps+=" libpthread.a libdl.a"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
-}
-
-gen_shared_ldscript() {
-	local libdir=$(get_libdir)
-	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
-
-	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-	gen_shared_ldscript
-	use static-libs && gen_static_ldscript
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}

diff --git a/sys-libs/libcxx/libcxx-9.0.1_rc3.ebuild b/sys-libs/libcxx/libcxx-9.0.1_rc3.ebuild
deleted file mode 100644
index 41c96a83d61..00000000000
--- a/sys-libs/libcxx/libcxx-9.0.1_rc3.ebuild
+++ /dev/null
@@ -1,211 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1 \
-	toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-LLVM_COMPONENTS=( libcxx )
-llvm.org_set_globals
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
-	?? ( libcxxabi libcxxrt )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# llvm-6 for new lit options
-# clang-3.9.0 installs necessary target symlinks unconditionally
-# which removes the need for MULTILIB_USEDEP
-DEPEND="${RDEPEND}
-	>=sys-devel/llvm-6"
-BDEPEND="
-	test? ( >=sys-devel/clang-3.9.0
-		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
-
-DOCS=( CREDITS.TXT )
-
-PATCHES=(
-	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
-	# out-of-tree build.
-	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
-)
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
-	has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-	use test && python-any-r1_pkg_setup
-
-	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
-		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
-		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
-		eerror "and try again."
-		die
-	fi
-	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
-		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
-		eerror "conformant compilers). Please use gcc-config to switch to"
-		eerror "gcc-4.7 or later version."
-		die
-	fi
-}
-
-test_compiler() {
-	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
-		<<<'int main() { return 0; }' &>/dev/null
-}
-
-src_configure() {
-	# note: we need to do this before multilib kicks in since it will
-	# alter the CHOST
-	local cxxabi cxxabi_incs
-	if use libcxxabi; then
-		cxxabi=libcxxabi
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
-	elif use libcxxrt; then
-		cxxabi=libcxxrt
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
-	else
-		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-		cxxabi=libsupc++
-		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-	fi
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	# we want -lgcc_s for unwinder, and for compiler runtime when using
-	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON want_compiler_rt=OFF
-	if use libunwind; then
-		# work-around missing -lunwind upstream
-		extra_libs+=( -lunwind )
-		# if we're using libunwind and clang with compiler-rt, we want
-		# to link to compiler-rt instead of -lgcc_s
-		if tc-is-clang; then
-			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
-			   ${LDFLAGS} -print-libgcc-file-name)
-			if [[ ${compiler_rt} == *libclang_rt* ]]; then
-				want_gcc_s=OFF
-				want_compiler_rt=ON
-				extra_libs+=( "${compiler_rt}" )
-			fi
-		fi
-	fi
-
-	# bootstrap: cmake is unhappy if compiler can't link to stdlib
-	local nolib_flags=( -nodefaultlibs -lc )
-	if ! test_compiler; then
-		if test_compiler "${nolib_flags[@]}"; then
-			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
-			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
-		fi
-	fi
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
-		-DLIBCXX_ENABLE_SHARED=ON
-		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-		-DLIBCXX_CXX_ABI=${cxxabi}
-		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-		# we're using our own mechanism for generating linker scripts
-		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-		-DLIBCXX_INCLUDE_TESTS=$(usex test)
-		-DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
-		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
-	)
-
-	if use test; then
-		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
-
-		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
-		)
-	fi
-	cmake-utils_src_configure
-}
-
-multilib_src_test() {
-	local -x LIT_PRESERVES_TMP=1
-	cmake-utils_src_make check-libcxx
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
-
-	# Move it first.
-	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
-	# Generate libc++.a ldscript for inclusion of its dependencies so that
-	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
-	# On Linux/glibc it does not link without libpthread or libdl. It is
-	# fine on FreeBSD.
-	use elibc_glibc && deps+=" libpthread.a libdl.a"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
-}
-
-gen_shared_ldscript() {
-	local libdir=$(get_libdir)
-	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
-
-	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-	gen_shared_ldscript
-	use static-libs && gen_static_ldscript
-}
-
-pkg_postinst() {
-	elog "This package (${PN}) is mainly intended as a replacement for the C++"
-	elog "standard library when using clang."
-	elog "To use it, instead of libstdc++, use:"
-	elog "    clang++ -stdlib=libc++"
-	elog "to compile your C++ programs."
-}


^ permalink raw reply related	[flat|nested] 605+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
@ 2020-01-06 14:04 Michał Górny
  0 siblings, 0 replies; 605+ messages in thread
From: Michał Górny @ 2020-01-06 14:04 UTC (permalink / raw
  To: gentoo-commits

commit:     d8995d2a338ca6c1603f69c6bdf82d32538a2b93
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jan  6 13:47:02 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jan  6 14:04:07 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d8995d2a

sys-libs/libcxx: Remove 9.0.0*

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/Manifest            |   1 -
 sys-libs/libcxx/libcxx-9.0.0.ebuild | 211 ------------------------------------
 2 files changed, 212 deletions(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index f581d19370d..a045639c84b 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,4 +1,3 @@
 DIST libcxx-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf935d4e784e0bc835a4d2c3ce0790f5539bdca0466feafd668d7c6675b11b7fe14d9adb680c46fd7b28b42a3b423219 SHA512 925ce5093445f84dc17d5b1610e4297ef3606b254b7350c50f88ba042fcca62125ffd97d21cb612707d5e9511267634ca1779619199f95ce819e5f5c0c2b55d5
 DIST libcxx-8.0.1.src.tar.xz 1739524 BLAKE2B 6e641cb6bda0de12c8408d3ab33f627389ac014aa65b3391c870aa96ffd347784e6b70b953bd1ee8eba56554e0f78a723ab77b9dba5f85e6219e2b95ca50c160 SHA512 75749d08b2b343c6f5f9aefb04be63e42f6d12efc51101d3647ed6f70c7a6d050afb3ab2f3636eae78cb523f5844de67b960a7a3145ed89ab0c7015deb14921e
-DIST libcxx-9.0.0.src.tar.xz 1814388 BLAKE2B 59b8967706d1f85b1c0d2b9932bd637aae7118ae461e2b31e1d17c9a2ee2e02ea0ea8b344074a9fc4b430b5c742b8ad30c10a0c44e5290528fdecd7571352879 SHA512 cbaca724c4f3e3a270dfd53aac50cbb920190fe55486b164d52e73845819dd22afb10c23f5875da59d433fd5b96a0f153208746117309ac1267a38fa56f4818e
 DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59

diff --git a/sys-libs/libcxx/libcxx-9.0.0.ebuild b/sys-libs/libcxx/libcxx-9.0.0.ebuild
deleted file mode 100644
index 091dfe7c349..00000000000
--- a/sys-libs/libcxx/libcxx-9.0.0.ebuild
+++ /dev/null
@@ -1,211 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{2_7,3_{6,7}} )
-inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1 \
-	toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-LLVM_COMPONENTS=( libcxx )
-llvm.org_set_globals
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
-	?? ( libcxxabi libcxxrt )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# llvm-6 for new lit options
-# clang-3.9.0 installs necessary target symlinks unconditionally
-# which removes the need for MULTILIB_USEDEP
-DEPEND="${RDEPEND}
-	>=sys-devel/llvm-6"
-BDEPEND="
-	test? ( >=sys-devel/clang-3.9.0
-		$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
-
-DOCS=( CREDITS.TXT )
-
-PATCHES=(
-	# Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
-	# out-of-tree build.
-	"${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
-)
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
-	has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-	use test && python-any-r1_pkg_setup
-
-	if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
-		eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
-		eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
-		eerror "and try again."
-		die
-	fi
-	if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
-		eerror "${PN} needs to be built with gcc-4.7 or later (or other"
-		eerror "conformant compilers). Please use gcc-config to switch to"
-		eerror "gcc-4.7 or later version."
-		die
-	fi
-}
-
-test_compiler() {
-	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
-		<<<'int main() { return 0; }' &>/dev/null
-}
-
-src_configure() {
-	# note: we need to do this before multilib kicks in since it will
-	# alter the CHOST
-	local cxxabi cxxabi_incs
-	if use libcxxabi; then
-		cxxabi=libcxxabi
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
-	elif use libcxxrt; then
-		cxxabi=libcxxrt
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
-	else
-		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-		cxxabi=libsupc++
-		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-	fi
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	# we want -lgcc_s for unwinder, and for compiler runtime when using
-	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON want_compiler_rt=OFF
-	if use libunwind; then
-		# work-around missing -lunwind upstream
-		extra_libs+=( -lunwind )
-		# if we're using libunwind and clang with compiler-rt, we want
-		# to link to compiler-rt instead of -lgcc_s
-		if tc-is-clang; then
-			local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
-			   ${LDFLAGS} -print-libgcc-file-name)
-			if [[ ${compiler_rt} == *libclang_rt* ]]; then
-				want_gcc_s=OFF
-				want_compiler_rt=ON
-				extra_libs+=( "${compiler_rt}" )
-			fi
-		fi
-	fi
-
-	# bootstrap: cmake is unhappy if compiler can't link to stdlib
-	local nolib_flags=( -nodefaultlibs -lc )
-	if ! test_compiler; then
-		if test_compiler "${nolib_flags[@]}"; then
-			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
-			ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
-		fi
-	fi
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
-		-DLIBCXX_ENABLE_SHARED=ON
-		-DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-		-DLIBCXX_CXX_ABI=${cxxabi}
-		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-		# we're using our own mechanism for generating linker scripts
-		-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-		-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-		-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-		-DLIBCXX_INCLUDE_TESTS=$(usex test)
-		-DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
-		-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
-	)
-
-	if use test; then
-		local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-		local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
-
-		[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
-		)
-	fi
-	cmake-utils_src_configure
-}
-
-multilib_src_test() {
-	local -x LIT_PRESERVES_TMP=1
-	cmake-utils_src_make check-libcxx
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
-
-	# Move it first.
-	mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
-	# Generate libc++.a ldscript for inclusion of its dependencies so that
-	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
-	# On Linux/glibc it does not link without libpthread or libdl. It is
-	# fine on FreeBSD.
-	use elibc_glibc && deps+=" libpthread.a libdl.a"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
-}
-
-gen_shared_ldscript() {
-	local libdir=$(get_libdir)
-	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
-
-	mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
-
-	gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-	gen_shared_ldscript
-	use static-libs &