From: Michał Górny Date: Sun, 29 Jan 2017 15:04:45 +0000 (+0100) Subject: sys-devel/clang: Re-introduce slotting X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=b20e6ef1303c6b04aeb70d281c13a6d3acaed780;p=gentoo.git sys-devel/clang: Re-introduce slotting --- diff --git a/sys-devel/clang/clang-4.0.0_rc1.ebuild b/sys-devel/clang/clang-4.0.0_rc1-r1.ebuild similarity index 76% rename from sys-devel/clang/clang-4.0.0_rc1.ebuild rename to sys-devel/clang/clang-4.0.0_rc1-r1.ebuild index db09b6754cc7..0c882c4d7c0c 100644 --- a/sys-devel/clang/clang-4.0.0_rc1.ebuild +++ b/sys-devel/clang/clang-4.0.0_rc1-r1.ebuild @@ -9,7 +9,7 @@ EAPI=6 CMAKE_MIN_VERSION=3.7.0-r1 PYTHON_COMPAT=( python2_7 ) -inherit check-reqs cmake-utils flag-o-matic multilib-minimal \ +inherit check-reqs cmake-utils flag-o-matic llvm multilib-minimal \ python-single-r1 toolchain-funcs pax-utils versionator DESCRIPTION="C language family frontend for LLVM" @@ -25,16 +25,15 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?} LICENSE="UoI-NCSA" -SLOT="0/$(get_major_version)" +SLOT="$(get_major_version)" KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="debug default-compiler-rt default-libcxx +doc multitarget python +IUSE="debug default-compiler-rt default-libcxx +doc multitarget +static-analyzer test xml elibc_musl kernel_FreeBSD ${ALL_LLVM_TARGETS[*]}" RDEPEND=" - ~sys-devel/llvm-${PV}:=[debug=,${LLVM_TARGET_USEDEPS// /,},${MULTILIB_USEDEP}] + ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${LLVM_TARGET_USEDEPS// /,},${MULTILIB_USEDEP}] static-analyzer? ( dev-lang/perl:* ) xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) - ! 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}" + rm "${ED%/}/usr/lib/llvm/${SLOT}/bin/${i}" || die + dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}" + dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}" done # now create target symlinks for all supported ABIs @@ -240,40 +251,31 @@ src_install() { local abi_chost=$(get_abi_CHOST "${abi}") for i in "${clang_tools[@]}"; do dosym "${i}-${clang_version}" \ - "/usr/bin/${abi_chost}-${i}-${clang_version}" + "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}" dosym "${abi_chost}-${i}-${clang_version}" \ - "/usr/bin/${abi_chost}-${i}" + "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}" done done # Remove unnecessary headers on FreeBSD, bug #417171 if use kernel_FreeBSD; then - rm "${ED}"usr/lib/clang/${llvm_version}/include/{std,float,iso,limits,tgmath,varargs}*.h || die + rm "${ED}"usr/lib/clang/${clang_full_version}/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 + # move headers to /usr/include for wrapping & ABI mismatch checks + # (also drop the version suffix from runtime headers) + rm -rf "${ED%/}"/usr/include || die + mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die + mv "${ED%/}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED%/}"/usr/include/clangrt || 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 + python_optimize "${ED}"usr/lib/llvm/${SLOT}/share/scan-view fi } diff --git a/sys-devel/clang/clang-9999.ebuild b/sys-devel/clang/clang-9999.ebuild index 3cad65beaf03..f9c6af3584e3 100644 --- a/sys-devel/clang/clang-9999.ebuild +++ b/sys-devel/clang/clang-9999.ebuild @@ -9,7 +9,7 @@ EAPI=6 CMAKE_MIN_VERSION=3.7.0-r1 PYTHON_COMPAT=( python2_7 ) -inherit check-reqs cmake-utils flag-o-matic git-r3 multilib-minimal \ +inherit check-reqs cmake-utils flag-o-matic git-r3 llvm multilib-minimal \ python-single-r1 toolchain-funcs pax-utils versionator DESCRIPTION="C language family frontend for LLVM" @@ -25,16 +25,15 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?} LICENSE="UoI-NCSA" -SLOT="0/$(get_major_version)" +SLOT="5" KEYWORDS="" -IUSE="debug default-compiler-rt default-libcxx +doc multitarget python +IUSE="debug default-compiler-rt default-libcxx +doc multitarget +static-analyzer test xml elibc_musl kernel_FreeBSD ${ALL_LLVM_TARGETS[*]}" RDEPEND=" - ~sys-devel/llvm-${PV}:=[debug=,${LLVM_TARGET_USEDEPS// /,},${MULTILIB_USEDEP}] + ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${LLVM_TARGET_USEDEPS// /,},${MULTILIB_USEDEP}] static-analyzer? ( dev-lang/perl:* ) xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) - ! 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}" + rm "${ED%/}/usr/lib/llvm/${SLOT}/bin/${i}" || die + dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}" + dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}" done # now create target symlinks for all supported ABIs @@ -249,40 +262,31 @@ src_install() { local abi_chost=$(get_abi_CHOST "${abi}") for i in "${clang_tools[@]}"; do dosym "${i}-${clang_version}" \ - "/usr/bin/${abi_chost}-${i}-${clang_version}" + "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}" dosym "${abi_chost}-${i}-${clang_version}" \ - "/usr/bin/${abi_chost}-${i}" + "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}" done done # Remove unnecessary headers on FreeBSD, bug #417171 if use kernel_FreeBSD; then - rm "${ED}"usr/lib/clang/${llvm_version}/include/{std,float,iso,limits,tgmath,varargs}*.h || die + rm "${ED}"usr/lib/clang/${clang_full_version}/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 + # move headers to /usr/include for wrapping & ABI mismatch checks + # (also drop the version suffix from runtime headers) + rm -rf "${ED%/}"/usr/include || die + mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die + mv "${ED%/}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED%/}"/usr/include/clangrt || 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 + python_optimize "${ED}"usr/lib/llvm/${SLOT}/share/scan-view fi }