From ffe933033442c27d5e99788f82f958f03ee0b7d0 Mon Sep 17 00:00:00 2001 From: Michał Górny Date: Fri, 22 Jun 2018 14:07:29 +0200 Subject: sys-devel/multilib-gcc-wrapper: Bump to EAPI=7 --- .../multilib-gcc-wrapper-0-r2.ebuild | 83 ++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 sys-devel/multilib-gcc-wrapper/multilib-gcc-wrapper-0-r2.ebuild (limited to 'sys-devel/multilib-gcc-wrapper') diff --git a/sys-devel/multilib-gcc-wrapper/multilib-gcc-wrapper-0-r2.ebuild b/sys-devel/multilib-gcc-wrapper/multilib-gcc-wrapper-0-r2.ebuild new file mode 100644 index 000000000000..f670a006b51a --- /dev/null +++ b/sys-devel/multilib-gcc-wrapper/multilib-gcc-wrapper-0-r2.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib + +DESCRIPTION="Wrappers for gcc tools to be used on non-native CHOSTs" +HOMEPAGE="https://www.gentoo.org" +SRC_URI="" + +LICENSE="public-domain" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +RDEPEND="sys-devel/gcc:=" + +S=${WORKDIR} + +mkwrap() { + einfo " ${2}" + + cat > "${T}"/wrapper <<-_EOF_ + #!${EPREFIX}/bin/sh + exec ${1} $(get_abi_CFLAGS) "\${@}" + _EOF_ + + newbin "${T}"/wrapper "${2}" +} + +src_install() { + local host_prefix=${CHOST} + # stolen from sys-devel/gcc-config + # TODO: check if all of them actually support $(get_ABI_CFLAGS) + local tools=( + cpp cc gcc c++ g++ f77 g77 gcj gcjh gdc gdmd gfortran gccgo + ) + + cd "${EROOT%/}"/usr/bin || die + shopt -s nullglob + + # same as toolchain.eclass + : ${TARGET_DEFAULT_ABI:=${DEFAULT_ABI}} + : ${TARGET_MULTILIB_ABIS:=${MULTILIB_ABIS}} + local ABI t e + for ABI in $(get_all_abis TARGET); do + [[ ${ABI} == ${TARGET_DEFAULT_ABI} ]] && continue + + einfo "Creating wrappers for ${ABI} ..." + for t in "${tools[@]}"; do + # look for both plain *-gcc and e.g. *-gcc-4.8.3 + # (but avoid *-gcc-nm) + # note: nullglob applied above + for e in ${host_prefix}[-]${t}{,-[0-9]*}; do + local newname=$(get_abi_CHOST)-${e#${host_prefix}-} + + einfo " ${newname}" + + cat > "${T}"/wrapper <<-_EOF_ + #!${EPREFIX}/bin/sh + exec ${e} $(get_abi_CFLAGS) "\${@}" + _EOF_ + + newbin "${T}"/wrapper "${newname}" + done + done + done + + shopt -u nullglob +} + +pkg_postinst() { + if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then + eselect compiler-shadow update all + fi +} + +pkg_postrm() { + if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then + eselect compiler-shadow clean all + fi +} -- cgit v1.2.3-65-gdbad