summaryrefslogtreecommitdiff
path: root/sys-devel/multilib-gcc-wrapper
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel/multilib-gcc-wrapper')
-rw-r--r--sys-devel/multilib-gcc-wrapper/Manifest3
-rw-r--r--sys-devel/multilib-gcc-wrapper/multilib-gcc-wrapper-0-r1.ebuild (renamed from sys-devel/multilib-gcc-wrapper/multilib-gcc-wrapper-0.ebuild)14
-rw-r--r--sys-devel/multilib-gcc-wrapper/multilib-gcc-wrapper-0-r2.ebuild83
3 files changed, 98 insertions, 2 deletions
diff --git a/sys-devel/multilib-gcc-wrapper/Manifest b/sys-devel/multilib-gcc-wrapper/Manifest
index 1e39ed58d5ce..39b9c7efc29b 100644
--- a/sys-devel/multilib-gcc-wrapper/Manifest
+++ b/sys-devel/multilib-gcc-wrapper/Manifest
@@ -1,2 +1,3 @@
-EBUILD multilib-gcc-wrapper-0.ebuild 1523 BLAKE2B a7e7fa98c3a148473fa2ca30f71000904514d2dcd8b5dad6f245cb72c577623988cabd1e7ace59de517231b4119b1fb4dbe3c80fac562d3686291a707629e893 SHA512 3c52476f072da9c8626868ab44b5147fafcf05f07eced28268a45b000fc2bd8e82744f4a368d155f06b32af6f6126486f357a84f51986e3c6f146f85dcff0c61
+EBUILD multilib-gcc-wrapper-0-r1.ebuild 1836 BLAKE2B b66fbba658f674471be3a687ca2793460ec04635e2d00d572fe443e3dae1006376d727b675fec2a255628ac8e2da94429d16d39aef8bea188dcd1afe6dfa75d1 SHA512 f545bf6c88eb58d89ea5d220d93be7e848dbae4b23c1c9c61a191377e9c59ef0fa051e81ae7a61486ec8f7cb0bc9964cd01b52fda6d4053289f8000f67615c96
+EBUILD multilib-gcc-wrapper-0-r2.ebuild 1828 BLAKE2B f9fa2f2dbf7b0cc256df2a9469d7f1dbf787fceaf21558a8931aa4a67abf3d95d7e084fd7443246c7281cb15c5e459550581131c642c86eb356afd06d7aa19f6 SHA512 34ee91a978c506009a7624cac9696e7bd25dacab08d303c502a94ccaf90e344b442893949d69e2f88af9ec753097b25b49e7362704f32815296bc37de3b1d198
MISC metadata.xml 247 BLAKE2B 1750cec57189e711ca5eba89a78e1d317f0839fa53564fbd39b4e955c28d98f4ae04caf9069afc20a18536cdc92b30fe7b15eb086767c742bad07d9980cfd24b SHA512 d6e2ea8a9d74791bcbf3d6311a66bafc20b8f4db3a576d9a8d54b86d7afb231122b8d87f71f3f46360980adf8d815c633b6d5041f9a30fc8656e8fb66057a282
diff --git a/sys-devel/multilib-gcc-wrapper/multilib-gcc-wrapper-0.ebuild b/sys-devel/multilib-gcc-wrapper/multilib-gcc-wrapper-0-r1.ebuild
index 8094a33d1a12..d003e7aadf61 100644
--- a/sys-devel/multilib-gcc-wrapper/multilib-gcc-wrapper-0.ebuild
+++ b/sys-devel/multilib-gcc-wrapper/multilib-gcc-wrapper-0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@@ -69,3 +69,15 @@ src_install() {
eshopts_pop
}
+
+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
+}
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
+}