Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/compiler-rt/
Date: Thu, 28 Feb 2019 17:41:52
Message-Id: 1551375694.88274e9ea8e98b66c647b0a4fb7a0cb3db894044.mgorny@gentoo
commit:     88274e9ea8e98b66c647b0a4fb7a0cb3db894044
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 28 17:11:48 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Feb 28 17:41:34 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=88274e9e

sys-libs/compiler-rt: Bump to 8.0.0rc3

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

 sys-libs/compiler-rt/Manifest                     |   1 +
 sys-libs/compiler-rt/compiler-rt-8.0.0_rc3.ebuild | 109 ++++++++++++++++++++++
 2 files changed, 110 insertions(+)

diff --git a/sys-libs/compiler-rt/Manifest b/sys-libs/compiler-rt/Manifest
index 1899ace9dfa..b7f3bf50edd 100644
--- a/sys-libs/compiler-rt/Manifest
+++ b/sys-libs/compiler-rt/Manifest
@@ -3,3 +3,4 @@ DIST compiler-rt-5.0.2.src.tar.xz 1543256 BLAKE2B 09fa84b8f3e9b8627a14387bc6eaa3
 DIST compiler-rt-6.0.1.src.tar.xz 1686820 BLAKE2B 59fa3f6e478bd4d6dfa056c85dcdc4349cbce7cea7fc56519feddc9d66c88c9ca48bad7967432ceb81d754213577f12707035afd827cf630a58627575b73b798 SHA512 69850c1ad92c66977fa217cbfb42a6a3f502fbe3d1a08daa7fc4cfeb617a7736d231f8ad8d93b10b1ae29bd753315d2a2d70f9ff1f4d18a9a7cc81758d91f963
 DIST compiler-rt-7.0.1.src.tar.xz 1864520 BLAKE2B 14f72aad4379387f4212fb5efef3456cb5e8a03c7a91f98de2368e9b5ff2d02aeaed05da4fba6978b9e4e8698eb34c9c0c4c2df8d43b8c11e8e9d65079c7fa41 SHA512 b94a2a1fb9a6d587cef59b04b951628747bb35bdbcb67de8825aad402a2ba875916a347eef7a9575ac27264e8372e2d67cd477fe2d750c0ed3ce7d67bbbc7dba
 DIST compiler-rt-8.0.0rc2.src.tar.xz 1902996 BLAKE2B e1f0046d130a9214ddf00cdb50e303316b9207eb8df946872992dd28b9fa89505e0c136104d372ea95305c1a9e9ff802cae7781c73bea53ac92378032986689c SHA512 49a34055a27efcee9fca1c0a50fe9061ae09945174a9076f76fce001621a3f8fa177ca0356313087a6d2b949d1d5149714036e89790868b984949721ce646685
+DIST compiler-rt-8.0.0rc3.src.tar.xz 1904692 BLAKE2B 94faa29c6fc963da2cec5196547bf9814d94d4be45efdb0c057744b51055a8c0ab871cfab13bb21567f614d8da461398f35f8a7cf75475b925ffc4b2787f1683 SHA512 b40c4cae673c45763e722f32faf2db810591b92b1eb7ca46214f3686c2c96106d3eb4962f6ed4d340666502216994589269661f2169fc8f7044f0423d22c380f

diff --git a/sys-libs/compiler-rt/compiler-rt-8.0.0_rc3.ebuild b/sys-libs/compiler-rt/compiler-rt-8.0.0_rc3.ebuild
new file mode 100644
index 00000000000..42b690e9883
--- /dev/null
+++ b/sys-libs/compiler-rt/compiler-rt-8.0.0_rc3.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils flag-o-matic llvm multiprocessing \
+	python-any-r1 toolchain-funcs
+
+DESCRIPTION="Compiler runtime library for clang (built-in part)"
+HOMEPAGE="https://llvm.org/"
+SRC_URI="https://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="${PV%_*}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="+clang test"
+RESTRICT="!test? ( test ) !clang? ( test )"
+
+CLANG_SLOT=${SLOT%%.*}
+# llvm-6 for new lit options
+DEPEND="
+	>=sys-devel/llvm-6
+	clang? ( sys-devel/clang )
+	test? (
+		$(python_gen_any_dep "dev-python/lit[\${PYTHON_USEDEP}]")
+		=sys-devel/clang-${PV%_*}*:${CLANG_SLOT} )
+	${PYTHON_DEPS}"
+
+S=${WORKDIR}/${P/_/}.src
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+pkg_pretend() {
+	if ! use clang && ! tc-is-clang; then
+		ewarn "Building using a compiler other than clang may result in broken atomics"
+		ewarn "library. Enable USE=clang unless you have a very good reason not to."
+	fi
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	python-any-r1_pkg_setup
+}
+
+test_compiler() {
+	$(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \
+		<<<'int main() { return 0; }' &>/dev/null
+}
+
+src_configure() {
+	# pre-set since we need to pass it to cmake
+	BUILD_DIR=${WORKDIR}/${P}_build
+
+	local nolib_flags=( -nodefaultlibs -lc )
+	if use clang; then
+		local -x CC=${CHOST}-clang
+		local -x CXX=${CHOST}-clang++
+		# ensure we can use clang before installing compiler-rt
+		local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+		strip-unsupported-flags
+	elif ! test_compiler; then
+		if test_compiler "${nolib_flags[@]}"; then
+			local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+			ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}"
+		fi
+	fi
+
+	local mycmakeargs=(
+		-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}"
+
+		-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+		-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
+		-DCOMPILER_RT_BUILD_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_SANITIZERS=OFF
+		-DCOMPILER_RT_BUILD_XRAY=OFF
+	)
+
+	if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then
+		mycmakeargs+=(
+			# disable use of SDK for the system itself
+			-DDARWIN_macosx_CACHED_SYSROOT=/
+		)
+	fi
+
+	if use test; then
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+
+			-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang"
+			-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang++"
+		)
+	fi
+
+	cmake-utils_src_configure
+}
+
+src_test() {
+	# respect TMPDIR!
+	local -x LIT_PRESERVES_TMP=1
+
+	cmake-utils_src_make check-builtins
+}