From 841e3220a7b30354bcd57a1ab92e2761f3097524 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Thu, 19 Jan 2017 09:45:01 +0100 Subject: sys-devel/clang: Add 4.0.0rc1 --- sys-devel/clang/clang-4.0.0_rc1.ebuild | 288 +++++++++++++++++++++++++++++++++ sys-devel/clang/clang-9999.ebuild | 2 +- 2 files changed, 289 insertions(+), 1 deletion(-) create mode 100644 sys-devel/clang/clang-4.0.0_rc1.ebuild (limited to 'sys-devel') diff --git a/sys-devel/clang/clang-4.0.0_rc1.ebuild b/sys-devel/clang/clang-4.0.0_rc1.ebuild new file mode 100644 index 00000000000..4914a709e48 --- /dev/null +++ b/sys-devel/clang/clang-4.0.0_rc1.ebuild @@ -0,0 +1,288 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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 check-reqs cmake-utils flag-o-matic git-r3 multilib-minimal \ + python-single-r1 toolchain-funcs pax-utils versionator + +DESCRIPTION="C language family frontend for LLVM" +HOMEPAGE="http://llvm.org/" +SRC_URI="" +EGIT_REPO_URI="http://llvm.org/git/clang.git + https://github.com/llvm-mirror/clang.git" +EGIT_BRANCH="release_40" +EGIT_COMMIT="3a631d565d41270fa80cb3d1e43a50d24cfc2f20" + +# Keep in sync with sys-devel/llvm +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430 + NVPTX PowerPC RISCV Sparc SystemZ X86 XCore ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?} + +LICENSE="UoI-NCSA" +SLOT="0/$(get_major_version)" +KEYWORDS="" +IUSE="debug default-compiler-rt default-libcxx +doc multitarget python + +static-analyzer test xml elibc_musl kernel_FreeBSD ${ALL_LLVM_TARGETS[*]}" + +RDEPEND=" + ~sys-devel/llvm-${PV}:=[debug=,${LLVM_TARGET_USEDEPS// /,},${MULTILIB_USEDEP}] + static-analyzer? ( dev-lang/perl:* ) + xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) + ! clang-X.Y + # - clang++, clang-cl, clang-cpp -> clang + # we want to have: + # - clang-X.Y + # - clang++-X.Y, clang-cl-X.Y, clang-cpp-X.Y -> clang-X.Y + # - clang, clang++, clang-cl, clang-cpp -> clang*-X.Y + # also in CHOST variant + for i in "${clang_tools[@]:1}"; do + rm "${ED%/}/usr/bin/${i}" || die + dosym "clang-${clang_version}" "/usr/bin/${i}-${clang_version}" + dosym "${i}-${clang_version}" "/usr/bin/${i}" + done + + # now create target symlinks for all supported ABIs + for abi in $(get_all_abis); do + local abi_chost=$(get_abi_CHOST "${abi}") + for i in "${clang_tools[@]}"; do + dosym "${i}-${clang_version}" \ + "/usr/bin/${abi_chost}-${i}-${clang_version}" + dosym "${abi_chost}-${i}-${clang_version}" \ + "/usr/bin/${abi_chost}-${i}" + done + done + + # Remove unnecessary headers on FreeBSD, bug #417171 + if use kernel_FreeBSD; then + rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h || die + fi +} + +multilib_src_install() { + cmake-utils_src_install + + # move headers to include/ to get them checked for ABI mismatch + # (then to the correct directory in src_install()) + insinto /usr/include/clangrt + doins -r "${ED}usr/$(get_libdir)/clang"/. + rm -r "${ED}usr/$(get_libdir)/clang" || die +} + +multilib_src_install_all() { + if use python ; then + pushd bindings/python/clang >/dev/null || die + + python_moduleinto clang + python_domodule *.py + + popd >/dev/null || die + fi + + python_fix_shebang "${ED}" + if use static-analyzer; then + python_optimize "${ED}"usr/share/scan-view + fi +} diff --git a/sys-devel/clang/clang-9999.ebuild b/sys-devel/clang/clang-9999.ebuild index 035ac3d3527..25e52b274ca 100644 --- a/sys-devel/clang/clang-9999.ebuild +++ b/sys-devel/clang/clang-9999.ebuild @@ -39,7 +39,7 @@ RDEPEND=" # configparser-3.2 breaks the build (3.3 or none at all are fine) DEPEND="${RDEPEND} doc? ( dev-python/sphinx ) - test? ( dev-python/lit[${PYTHON_USEDEP}] ) + test? ( ~dev-python/lit-${PV}[${PYTHON_USEDEP}] ) xml? ( virtual/pkgconfig ) !!