public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/proj/prefix:master commit in: sys-devel/gcc-config/, sys-devel/gcc-config/files/
@ 2017-11-25 19:46 Fabian Groffen
  0 siblings, 0 replies; 3+ messages in thread
From: Fabian Groffen @ 2017-11-25 19:46 UTC (permalink / raw
  To: gentoo-commits

commit:     03f39731a884d2b38f60e3ed44f93c0a3529240c
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 25 19:45:56 2017 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sat Nov 25 19:45:56 2017 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=03f39731

sys-devel/gcc-config: sync

Package-Manager: Portage-2.3.13-prefix, Repoman-2.3.4

 sys-devel/gcc-config/Manifest                      |    2 +-
 sys-devel/gcc-config/files/gcc-config-1.5          | 1054 --------------------
 .../gcc-config-1.8-copy-gcc-libs-darwin.patch      |    4 +-
 .../files/gcc-config-1.8-copy-gcc-libs.patch       |  212 ----
 ...8-dont_source_functions_sh_from_etc_initd.patch |   47 -
 ....8-cygwin.patch => gcc-config-1.9-cygwin.patch} |   14 +-
 .../files/gcc-config-prefix-1.8-r221-r1.patch      |  342 -------
 .../files/gcc-config-prefix-1.8-r221.patch         |  344 -------
 sys-devel/gcc-config/gcc-config-1.5-r2.ebuild      |   65 --
 sys-devel/gcc-config/gcc-config-1.8-r00.1.ebuild   |   59 --
 sys-devel/gcc-config/gcc-config-1.8-r01.1.ebuild   |   62 --
 ...onfig-1.8-r1.ebuild => gcc-config-1.9.0.ebuild} |   34 +-
 12 files changed, 23 insertions(+), 2216 deletions(-)

diff --git a/sys-devel/gcc-config/Manifest b/sys-devel/gcc-config/Manifest
index 6776ccd9a6..2a177c0f99 100644
--- a/sys-devel/gcc-config/Manifest
+++ b/sys-devel/gcc-config/Manifest
@@ -1 +1 @@
-DIST gcc-config-1.8.tar.xz 15020 SHA256 2453e2a07521b12267ca62b9b860eb2d2bc606cad0f29bf42a1c9543673f5a1b SHA512 3b84af2d961a0527834759e047330dbab7bac0ff3d6aae103f14fca2d44bd612bd4a1005649e8b4198036231ed8a8319fb13326b4d2c40474826cf53f7bc0826 WHIRLPOOL 4899bc1da43a158cc486022f68661e5318db7e4e83afdb5d892fc7ce5098a4bdb059dbab3c50e632901e577cd8760b2386da3ee24f5e944db12d3e246d9c26b6
+DIST gcc-config-1.9.0.tar.xz 17468 SHA256 3e0acf3fe683dc6193b0135fe4b26ce7f959210296fff040a10bccc33a247d1a SHA512 658c8ce26fdddd6f3e519310001cdf0f8fb01226df2d575fec81b39c083613ef0675024b79b285fab89a930c4ada7a1aef04433eb21947b4e9c0a9cb12f8fabc WHIRLPOOL ed341f1fa72958008d4e1c1a814a2cf025be7404d21c963c6b82c36dc951ba15849f7809211fb21e5fb4a18ce5c12f4f4b36242822e568d4b4f39a8f9f26aa0a

diff --git a/sys-devel/gcc-config/files/gcc-config-1.5 b/sys-devel/gcc-config/files/gcc-config-1.5
deleted file mode 100755
index 6b7d1a102f..0000000000
--- a/sys-devel/gcc-config/files/gcc-config-1.5
+++ /dev/null
@@ -1,1054 +0,0 @@
-#!/bin/bash
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc-config/files/gcc-config-1.5,v 1.7 2011/12/07 05:42:19 vapier Exp $
-
-# Format of /etc/env.d/gcc/:
-#  config-TARGET:	CURRENT=version for TARGET
-#  TARGET-VER:		has a TARGET and VER variable
-
-: ${ROOT:=/}
-[[ ${ROOT} != */ ]] && ROOT="${ROOT}/"
-[[ ${ROOT} != /* ]] && ROOT="${PWD}${ROOT}"
-EPREFIX="@GENTOO_PORTAGE_EPREFIX@"
-EROOT="${ROOT%/}${EPREFIX}/"
-
-cd /
-
-trap ":" INT QUIT TSTP
-
-argv0=${0##*/}
-source "@GENTOO_PORTAGE_EPREFIX@"/etc/init.d/functions.sh || {
-	echo "${argv0}: Could not source @GENTOO_PORTAGE_EPREFIX@/etc/init.d/functions.sh!" 1>&2
-	exit 1
-}
-esyslog() { :; }
-umask 022
-
-die_eerror() {
-	eerror "${argv0}: $*"
-	exit 1
-}
-
-# *BSD are plain stupid ... copy a GNU extension but don't just copy it,
-# change it so it works differently.  Wish Darwin did selective evolution
-# on software developers.
-SED=$(type -P gsed)
-: ${SED:=$(type -P sed)}
-
-# Further pain: `tac` is not available everywhere #390179
-if ! type -P tac >/dev/null ; then
-	tac() { ${SED} -e '1!G;h;$!d' "$@" ; }
-fi
-
-GENTOO_LIBDIR="@GENTOO_LIBDIR@"
-[[ ${GENTOO_LIBDIR} == @*@ ]] && GENTOO_LIBDIR="lib"
-
-usage() {
-cat << "USAGE_END"
-Usage: gcc-config [options] [CC Profile]
-Change the current cc/gcc profile, or give info about profiles.
-
-Options:
-  -C, --nocolor              Disable color output
-  -O, --use-old              Use the old profile if one was selected.
-  -f, --force                Make sure all config files are regenerated.
-  -P, --use-portage-chost    Only set to given profile if its CHOST is the
-                             same as that set in /etc/portage/make.conf
-                             (or one of other portage config files...).
-  -c, --get-current-profile  Print current used gcc profile.
-  -l, --list-profiles        Print a list of available profiles.
-  -S, --split-profile        Split profiles into their components
-  -E, --print-environ        Print environment that can be used to setup the
-                             current gcc profile, or a specified one.
-  -B, --get-bin-path         Print path where binaries of the given/current
-                             profile are located.
-  -L, --get-lib-path         Print path where libraries of the given/current
-                             profile are located.
-
-Profile names are of the form:  <CHOST>-<gcc version>
-For example:                    i686-pc-linux-gnu-3.2.1
-USAGE_END
-	exit ${1:-1}
-}
-[[ $# -lt 1 ]] && usage 1
-
-# Usage: source_var <var> <file> [default value]
-source_var() {
-	unset $1
-	local val=$(source "$2"; echo ${!1})
-	: ${val:=$3}
-	eval $1=\"${val}\"
-}
-show_var() {
-	source_var "$@"
-	echo "${!1}"
-}
-
-try_real_hard_to_find_CHOST() {
-	#
-	# First we read make.conf
-	#
-
-	local varname=${1:-CHOST}
-	local conf=${EROOT}/etc/portage/make.conf
-	if [[ ! -e ${conf} && -e ${EROOT}/etc/make.conf ]] ; then
-		conf=${EROOT}/etc/make.conf
-	fi
-	local ret=$(source "${conf}" 2>/dev/null ; echo ${!varname})
-	if [[ -z ${ret} ]] ; then
-		# newer portage supports spaces between the var and =
-		# CHOST     =  "this-is-retarded"
-		ret=$(eval $(
-			sed -n \
-				-e 's:[[:space:]]::g' \
-				-e "/^${varname}=/p" \
-				"${conf}"
-			) ; echo ${!varname}
-		)
-	fi
-
-	if [[ -n ${ret} ]] ; then
-		echo ${ret}
-		return 0
-	fi
-
-	#
-	# Then we try /etc/env.d/gcc/config-${CTARGET}
-	#
-	if [[ -s ${EROOT}/etc/env.d/gcc/config-${CTARGET} ]] ; then
-		ret=$(split_gcc_ver $(show_var CURRENT "${EROOT}"/etc/env.d/gcc/config-${CTARGET}))
-		echo ${ret% *}
-	fi
-}
-
-get_real_chost() {
-	[[ -n ${REAL_CHOST} ]] && return 0
-
-	# shortcut for switching compilers in a cross chroot
-	if [[ -n ${CHOST} && ${ROOT} != "/" ]] ; then
-		REAL_CHOST=${CHOST}
-		return 0
-	fi
-
-	# make sure portage isnt broken
-	if python -V &>/dev/null ; then
-		export REAL_CHOST=$(env -i EPREFIX="${EPREFIX}" "$(PATH="${EPREFIX}/usr/bin:${PATH}" type -P portageq)" envvar CHOST 2>/dev/null)
-	else
-		ewarn "Python seems to be broken, attempting to locate CHOST ourselves ..."
-		export REAL_CHOST=$(try_real_hard_to_find_CHOST)
-	fi
-
-	if [[ -z ${REAL_CHOST} ]] ; then
-		eerror "${argv0}: Could not get portage CHOST!"
-		eerror "${argv0}: You should verify that CHOST is set in one of these places:"
-		eerror "${argv0}:  - ${EROOT}/etc/portage/make.conf"
-		eerror "${argv0}:  - active environment"
-		exit 1
-	fi
-}
-
-is_cross_compiler() {
-	get_real_chost
-	[[ ${CC_COMP/${REAL_CHOST}} == ${CC_COMP} ]]
-}
-
-convert_profile_paths() {
-	# Older gcc's used PATH= and ROOTPATH= in the env.d files.
-	# Newer one's only use GCC_PATH=.  Convert old to new here.
-	cp -p "${GCC_ENV_D}/${CC_COMP}" "${GCC_ENV_D}/${CC_COMP}.gcc-config-ref" || return 1
-	GCC_PATH=$(
-		unset GCC_PATH PATH ROOTPATH
-		source "${GCC_ENV_D}/${CC_COMP}"
-		echo ${GCC_PATH:-${PATH:-${ROOTPATH}}}
-	)
-	${SED} -i \
-		-e '/^PATH=/d' \
-		-e '/^ROOTPATH=/d' \
-		-e '/^GCC_PATH=/d' \
-		"${GCC_ENV_D}/${CC_COMP}" || return 1
-	echo "GCC_PATH=\"${GCC_PATH}\"" >> "${GCC_ENV_D}/${CC_COMP}" || return 1
-	touch -r "${GCC_ENV_D}/${CC_COMP}.gcc-config-ref" "${GCC_ENV_D}/${CC_COMP}" || return 1
-	rm -f "${GCC_ENV_D}/${CC_COMP}.gcc-config-ref" || return 1
-	return 0
-}
-
-update_wrappers() {
-	local CTARGET=$1
-
-	# Find the bin wrapper
-	local wrapper
-	for wrapper in ${GENTOO_LIBDIR} lib lib64 lib32 lib ; do
-		wrapper="${EROOT}usr/${wrapper}/misc/gcc-config"
-		[[ -e ${wrapper} ]] && break
-	done
-
-	# Update the wrappers for this profile.  We maintain this list
-	# by hand as the tools that are available can come & go if the
-	# user re-emerges gcc with dif USE flags.  We need to clean out
-	# the old wrappers if the functionality no longer exists.
-	# XXX: Future work: save the list of wrappers we generated in
-	# the generated env.d file so we can scrub things better.
-	# After that, we can use a dynamic list based on what tools are
-	# actually available in ${GCC_PATH}/.
-	for x in {,${CTARGET}-}{cpp,cc,gcc,c++,g++,f77,g77,gcj,gcjh,gcov,gdc,gdmd,gfortran,gccgo} ; do
-		# Obviously don't want to touch native stuff for cross-compilers
-		[[ ${x} != ${CTARGET}-* ]] && is_cross_compiler && continue
-
-		# Make sure we have no stale wrappers
-		rm -f "${EROOT}/usr/bin/${x}"
-		[[ ${x:${#x}-3} == "gcc" || ${x:${#x}-3} == "g++" ]] \
-			&& rm -f "${EROOT}/usr/bin/${x}"{32,64}
-
-		# Only install a wrapper if the binary exists ...
-		# We want to figure out the 'reference file' for each
-		# wrapper (the binary we're 'wrapping') so that we can
-		# sync mtimes together.  This makes things like ccache
-		# happy.  See Bug #70548 for more info.
-		local ref
-		case ${x} in
-			cc)  ref=gcc;;
-			f77) ref=g77;;
-			*)   ref=${x};;
-		esac
-		ref="${ROOT}/${GCC_PATH}/${ref}"
-		if [[ -x ${ref} ]] ; then
-			cp -f "${wrapper}" "${EROOT}/usr/bin/${x}"
-			touch -r "${ref}" "${EROOT}/usr/bin/${x}"
-		fi
-	done
-	# legacy cruft, make sure we dont leave it laying around #143205
-	rm -f "${EROOT}/usr/bin/${CTARGET}-cc"
-
-	# install the canonical cpp wrapper
-	if ! is_cross_compiler ; then
-		cp -f "${wrapper}" "${EROOT}/lib/cpp"
-		touch -r "${EROOT}/usr/bin/${CTARGET}-cpp" "${EROOT}/lib/cpp"
-	fi
-}
-
-mv_if_diff() {
-	if cmp -s "$1" "$2" ; then
-		rm -f "$1"
-		return 0
-	else
-		mv -f "$1" "$2"
-		return 1
-	fi
-}
-
-switch_profile() {
-	local MY_LDPATH=
-	local GCC_PROFILES=
-	local OLD_CC_COMP=
-	local GCC_PATH=
-
-	[[ $(id -u) != $(python -c 'import portage.const as c; print(c.rootuid)') ]] && die_eerror "Must be root"
-
-	if is_cross_compiler ; then
-		ebegin "Switching cross-compiler to ${CC_COMP}"
-	else
-		ebegin "Switching native-compiler to ${CC_COMP}"
-	fi
-
-	if egrep -q '^(PATH|ROOTPATH)=' "${GCC_ENV_D}/${CC_COMP}" ; then
-		convert_profile_paths "${GCC_ENV_D}/${CC_COMP}" || return 1
-	fi
-	source_var GCC_PATH "${GCC_ENV_D}/${CC_COMP}"
-
-	# Setup things properly again for this profile
-	unset GCC_SPECS LDPATH
-	source "${GCC_ENV_D}/${CC_COMP}"
-	# Ignore active profile errors here since we're switching away
-	OLD_CC_COMP=$(get_current_profile 2>/dev/null)
-
-	# GCC_SPECS have long been stable, and people messing with
-	# them know better than to install bad paths, so don't bother
-	# with sanity checks.
-	local envd="${ENV_D}/05gcc-${CTARGET}"
-	cat <<-EOF > "${envd}.tmp"
-	PATH="${GCC_PATH}"
-	ROOTPATH="${GCC_PATH}"
-	GCC_SPECS="${GCC_SPECS}"
-	EOF
-	echo "CURRENT=${CC_COMP}" > "${GCC_ENV_D}/config-${CTARGET}"
-	if ! is_cross_compiler ; then
-		# Order our profiles to have the default first ...
-		# We do this so that we can have them ordered with default
-		# first in /etc/ld.so.conf, as the logical is that all
-		# compilers for default CHOST will be used to compile stuff,
-		# and thus we want all their lib paths in /etc/ld.so.conf ...
-		get_real_chost
-		MY_LDPATH=$(${SED} -n \
-			-e '/^LDPATH=/{s|LDPATH=||;s|"||g;s|:|\n|g;p}' \
-			"${GCC_ENV_D}"/${REAL_CHOST}-* \
-			"${GCC_ENV_D}"/${CC_COMP} | tac
-		)
-
-		# Pass all by default
-		awk '!/^(STDCXX_INCDIR|LDPATH|CC|CXX|CTARGET|GCCBITS|GCC_SPECS|GCC_PATH)=/ {print $0}' \
-			"${GCC_ENV_D}/${CC_COMP}" >> "${envd}.tmp"
-		if [[ -z ${EPREFIX} && -d ${ROOT}/etc/ld.so.conf.d ]] ; then
-			echo "${MY_LDPATH}" > "${ROOT}"/etc/ld.so.conf.d/05gcc-${CTARGET}.conf
-		else
-			echo "LDPATH=\"${MY_LDPATH}\"" >> "${envd}.tmp"
-		fi
-
-		# Punt old files; maybe globs too much, but oh well
-		rm -f \
-			"${GCC_ENV_D}/NATIVE" "${GCC_ENV_D}/.NATIVE" \
-			"${ENV_D}/05gcc" "${GCC_ENV_D}/config" \
-			"${ENV_D}/05gcc-${CTARGET}"-* "${GCC_ENV_D}/config-${CTARGET}"-*
-
-		# Help out the gcc wrapper
-		ln -sf ${CC_COMP} "${GCC_ENV_D}/.NATIVE"
-
-
-		# Relocate random crap
-		if [[ -e ${EROOT}/usr/${GENTOO_LIBDIR}/pkgconfig/libgcj-${CC_COMP_VERSION}.pc ]] ; then
-			local mver=${CC_COMP_VERSION:0:3}
-			for x in "" "-${mver}" ; do
-				x="${EROOT}/usr/lib/pkgconfig/libgcj${x}.pc"
-				rm -f "${x}"
-				ln -s libgcj-${CC_COMP_VERSION}.pc "${x}"
-			done
-		fi
-
-		# We need to make sure that libgcc_s.so / libunwind.so make it into /lib.
-		# On many systems (x86/amd64/etc...), this will probably never matter,
-		# but on other systems (arm/mips/etc...), this is quite critical.
-		# http://bugs.gentoo.org/60190
-		#
-		# The funky move magic is required for proper updating of in-use files.
-		#
-		# Need to cut out extra paths in multilib case and pray the first path
-		# is the "root" multilib path ... maybe some day change this to use
-		# `gcc -print-file-name` ...
-		LDPATH=${LDPATH%%:*}
-
-		# We can copy the other libs to /usr/lib without funky copying,
-		# don't use symlinks as on Darwin we need to fix the
-		# install_names of the objects.
-		# Remember that Prefix doesn't do multilib!
-		#
-		# To emulate properly what ld.so.conf magic does for non-prefix,
-		# we have to copy the libs of all installed (native) GCC's and
-		# make sure we do the current one as last, such that the
-		# pointers for the unversioned libs point to the currently
-		# selected version.
-		GCC_PROFILES=$(LC_ALL="C" ls ${GCC_ENV_D}/${REAL_CHOST}-*)
-
-		local dstlibgcc=${EROOT}/usr/${REAL_CHOST}/lib/gcc
-		local dstlib=${EROOT}/lib
-
-		# Prepare empty directories first
-		local temporary=.gcc.config.new
-		rm -rf   "${dstlib}"/${temporary} "${dstlibgcc}"/${temporary} || return 1
-		mkdir -p "${dstlib}"/${temporary} "${dstlibgcc}"/${temporary} || return 1
-
-		dumpargs() {
-			return 0
-			local x
-			echo "$1 \\"; shift
-			for x in "$@"; do
-				echo "  '$x' \\"
-			done
-			echo
-		}
-
-		case ${REAL_CHOST} in
-		*-mint*)
-			do_single_runtime() {
-				return 0
-			}
-			finish_runtime_dir() {
-				return 0
-			}
-			;;
-		*-aix*)
-			LIBSUFFIX="a"
-			AIXLIBS=
-
-			do_single_runtime() {
-				dumpargs do_single_runtime "$@"
-				local sourcedir=$1; shift
-				local libname=$1; shift
-				local targetdir=$1; shift
-				local finaldir=$1; shift
-
-				aixdll \
-					--merge-runtime \
-					--finish=false \
-					--target="${targetdir}"/lib${libname}.${LIBSUFFIX} \
-					"${sourcedir}"/lib${libname}.${LIBSUFFIX} \
-				|| return 1
-				[[ ${AIXLIBS} == *":${targetdir}/lib${libname}.${LIBSUFFIX}:"* ]] \
-				|| AIXLIBS="${AIXLIBS}:${targetdir}/lib${libname}.${LIBSUFFIX}:"
-			}
-
-			finish_runtime_dir() {
-				dumpargs finish_runtime_dir "$@"
-				local sourcedir=$1; shift
-				local targetdir=$1; shift
-				local cleanup=$1; shift
-
-				local f save_IFS
-				save_IFS=$IFS; IFS=:
-				for f in ${AIXLIBS}; do
-					IFS=$save_IFS
-					[[ -n ${f} ]] || continue
-					aixdll \
-						--finish-merge \
-						--keepdir=false \
-						"${f}" \
-					|| return 1
-				done
-				IFS=$save_IFS
-				unset AIXLIBS
-
-				finish_runtime_dir_elf \
-					"${sourcedir}" \
-					"${targetdir}" \
-					${cleanup} \
-				|| return 1
-			}
-			;;
-		*-darwin*)
-			LIBSUFFIX="dylib"
-
-			do_single_runtime() {
-				local sourcedir=$1; shift
-				local libname=$1; shift
-				local targetdir=$1; shift
-				local finaldir=$1; shift
-			
-				do_single_runtime_elf \
-					"${sourcedir}" \
-					${libname} \
-					"${targetdir}" \
-					"${finaldir}" \
-				|| return 1
-
-				# fix install_name on Darwin
-				local lib
-				for lib in "${targetdir}"/lib*; do
-					# we use otool because scanmacho need not to be
-					# available yet during bootstrap
-					soname=$(otool -LX "${lib}" | sed -e '1!d' -e 's/^\t//' -e 's/ (compatibility.*$//')
-					install_name_tool \
-						-id "${finaldir}"/${soname##*/} \
-						"${lib}" \
-						&> /dev/null || true
-				done
-			}
-
-			finish_runtime_dir() {
-				finish_runtime_dir_elf "$@" 
-			}
-			;;
-		hppa64*-hpux*)
-			LIBSUFFIX="sl"
-			do_single_runtime() {
-				do_single_runtime_elf "$@"
-			}
-			finish_runtime_dir() {
-				finish_runtime_dir_elf "$@" 
-			}
-			;;
-		hppa*-hpux*)
-			LIBSUFFIX="sl"
-			do_single_runtime() {
-				dumpargs do_single_runtime "$@"
-				local sourcedir=$1; shift
-				local libname=$1; shift
-				local targetdir=$1; shift
-				local finaldir=$1; shift
-
-				# when using some simple shell script wrappers (again :)),
-				# there may be no libs around!
-				if [[ -n $(ls "${sourcedir}"/lib${libname}.*${LIBSUFFIX}* 2>/dev/null) ]]; then
-					cp -fpP "${sourcedir}"/lib${libname}.*${LIBSUFFIX}* "${targetdir}" || return 1
-					# gcc creates "libgcc_s.4" with symlink "libgcc_s.sl -> libgcc_s.4", and
-					# we patch it to also set the 'internal name' (=soname) (gcc-PR40913).
-					if [[ ${libname} == 'gcc_s' ]]; then
-						if [[ -n $(ls "${sourcedir}"/lib${libname}.[0-9] 2>/dev/null) ]]; then
-							cp -fpP "${sourcedir}"/lib${libname}.[0-9] "${targetdir}" || return 1
-						fi
-					fi
-					# we do not need the unversioned lib, as linking
-					# is done against the used gcc's private copy.
-					rm -f "${targetdir}"/lib${libname}.${LIBSUFFIX} || return 1
-				fi
-			}
-			finish_runtime_dir() {
-				finish_runtime_dir_elf "$@" 
-			}
-			;;
-		*)
-			LIBSUFFIX="so"
-			do_single_runtime() {
-				do_single_runtime_elf "$@"
-			}
-			finish_runtime_dir() {
-				finish_runtime_dir_elf "$@" 
-			}
-			;;
-		esac
-
-		do_single_runtime_elf() {
-			dumpargs do_single_runtime_elf "$@"
-			local sourcedir=$1; shift
-			local libname=$1; shift
-			local targetdir=$1; shift
-			local finaldir=$1; shift
-
-			# when using some simple shell script wrappers (again :)),
-			# there may be no libs around!
-			if [[ -n $(ls "${sourcedir}"/lib${libname}.*${LIBSUFFIX}* 2>/dev/null) ]]; then
-				cp -fpP "${sourcedir}"/lib${libname}.*${LIBSUFFIX}* "${targetdir}" || return 1
-				# we do not need the unversioned lib, as linking
-				# is done against the used gcc's private copy.
-				rm -f "${targetdir}"/lib${libname}.${LIBSUFFIX} || return 1
-			fi
-		}
-
-		finish_runtime_dir_elf() {
-			dumpargs finish_runtime_dir_elf "$@"
-			local sourcedir=$1; shift
-			local targetdir=$1; shift
-			local cleanup=$1; shift
-
-			if [[ ${cleanup} == clean ]]; then
-				if [[ ${targetdir} == *${EPREFIX}/lib ]]; then
-					echo "WARNING: not cleaning ${targetdir}" >&2
-				else
-					for f in "${targetdir}"/*; do
-						[[ ${f} == ${sourcedir} ]] && continue
-						[[ -e "${sourcedir}/${f##*/}" ]] && continue
-						rm -f "${f}"
-					done
-				fi
-			fi
-
-			# move symlinks first:
-			# because of file ordering, the real files may be
-			# moved before the symlinks, causing the symlinks
-			# going broken.
-			for f in "${sourcedir}"/*; do
-				[[ -e ${f} && -L ${f} ]] || continue
-				# use backups: hpux cannot overwrite sharedlibs in use: "Text file busy"
-				rm -f "${targetdir}"/${f##*/}*'~' >/dev/null 2>&1
-				mv -f --backup=numbered --suffix='~' "${f}" "${targetdir}"/${f##*/} || return 1
-				rm -f "${targetdir}"/${f##*/}*'~' >/dev/null 2>&1
-			done
-
-			for f in "${sourcedir}"/*; do
-				[[ -f "${f}" ]] || continue
-				# use backups: hpux cannot overwrite sharedlibs in use: "Text file busy"
-				rm -f "${targetdir}"/${f##*/}*'~' >/dev/null 2>&1
-				mv -f --backup=numbered --suffix='~' "${f}" "${targetdir}"/${f##*/} || return 1
-				rm -f "${targetdir}"/${f##*/}*'~' >/dev/null 2>&1
-			done
-			rmdir "${sourcedir}"
-		}
-
-		for x in ${GCC_PROFILES} ; do
-
-			unset GCC_PATH LDPATH
-			eval $(
-				source "${x}"
-				echo "GCC_PATH='${GCC_PATH}'"
-				echo "LDPATH='${LDPATH%%:*}'"
-			)
-
-			for multilib in $(
-				# ensure we always operate on base libdir first
-				[[ -n ${EPREFIX} ]] && echo ".;@X" ;
-				"${ROOT}/${GCC_PATH}"/gcc -print-multi-lib
-			); do
-
-			multiarg=${multilib#*;}
-			multiarg=${multiarg/@/-}
-			multilibdir=${multilib%;*}
-			# in Prefix we don't do multilib, and the os-directory call
-			# from below results in getting a subdir for our 64-bits
-			# targets which breaks things badly...
-			if [[ ${multilib} == ".;@X" ]] ; then
-				libdir="lib/${multilibdir}"
-			else
-				libdir="lib/"$("${ROOT}/${GCC_PATH}"/gcc ${multiarg} -print-multi-os-directory)
-			fi
-
-			pushd "${ROOT%/}${LDPATH}/${multilibdir}" > /dev/null || return 1
-
-			local donelibs=
-			for lib in lib*.${LIBSUFFIX}; do
-				[[ ${lib} != *.la ]] || continue # skip libtool files.
-				gcclib=${lib#lib}
-				gcclib=${gcclib%.${LIBSUFFIX}}
-				gcclib=${gcclib%%.[0-9]*} # we need the unversioned libname.
-				[[ ${donelibs} != *" ${gcclib} "* ]] || continue
-				donelibs="${donelibs} ${gcclib} "
-				if [[ ${gcclib} == gcc_s* || ${gcclib} == unwind* ]]; then
-
-					targetdir="${EPREFIX}/${libdir}"
-
-					# finish lib/lib* at first, as the others may depend on it, and newer
-					# libs normally are compatible to older ones with same soname.
-					[[ ${targetdirs} == *":${targetdir},:"* ]] ||
-						targetdirs=":${targetdir},:${targetdirs}"
-
-					do_single_runtime \
-						"${ROOT%/}${LDPATH}/${multilibdir}" \
-						${gcclib} \
-						"${ROOT%/}${targetdir}"/${temporary} \
-						"${targetdir}" \
-					|| return 1
-
-					continue
-				fi
-
-				targetdir="${EPREFIX}/usr/${REAL_CHOST}/lib/gcc/${multilibdir}"
-
-				# finish usr/<chost>/lib/gcc/lib* after lib/lib*
-				[[ ${targetdirs} == *":${targetdir},clean:"* ]] ||
-					targetdirs="${targetdirs}:${targetdir},clean:"
-
-				do_single_runtime \
-					"${ROOT%/}${LDPATH}/${multilibdir}" \
-					${gcclib} \
-					"${ROOT%/}${targetdir}"/${temporary} \
-					"${targetdir}" \
-				|| return 1
-
-			done
-			popd > /dev/null
-
-			# we do not do multilib in Prefix any more, so stop
-			[[ ${multilib} == ".;@X" ]] && break
-
-			done # multilib
-		done # GCC_PROFILES
-
-		save_IFS=$IFS
-		IFS=:
-		for targetdir in ${targetdirs}; do
-			IFS=$save_IFS
-			[[ -n ${targetdir} ]] || continue
-
-			# eventually cleanup old files (not from $EPREFIX/lib)
-			clean=${targetdir##*,}
-
-			targetdir=${targetdir%,*}
-
-			finish_runtime_dir \
-				"${ROOT%/}${targetdir}"/${temporary} \
-				"${ROOT%/}${targetdir}" \
-				${clean} \
-			|| return 1
-		done
-		IFS=$save_IFS
-
-		unset dstlibgcc dstlib temporary
-		unset LIBSUFFIX AIXLIBS
-		unset targetdirs targetdir
-		unset x
-		unset multilib
-		unset multilibdir
-		unset multiarg
-		unset libdir
-	fi
-	mv_if_diff "${envd}.tmp" "${envd}"
-	local envd_changed=$?
-
-	# reset correct value, since we have overwritten it in the above loop
-	source_var GCC_PATH "${GCC_ENV_D}/${CC_COMP}"
-	update_wrappers ${CTARGET}
-
-	if [[ ${ROOT} == "/" ]] && \
-	   [[ ${OLD_CC_COMP} != ${CC_COMP} || ${FORCE} == "yes" ]] && \
-	   [[ ${envd_changed} -eq 1 ]]
-	then
-		# in case python is broken ...
-		if ! env-update ; then
-			echo ""
-			ewarn "env-update failed to work properly; making sure ld.so.conf paths"
-			ewarn "are setup properly.  Please rerun gcc-config with the -f option."
-			echo ""
-			if [[ -z ${EPREFIX} && ! -d /etc/ld.so.conf.d ]] ; then
-				show_var LDPATH "${ROOT}"/etc/env.d/05gcc-${CTARGET} \
-					| sed -e 's|:|\n|g' >> /etc/ld.so.conf
-			fi
-			ldconfig
-		fi
-	else
-		envd_changed=0
-	fi
-
-	eend 0
-
-	if [[ ${envd_changed} -ne 0 ]] ; then
-		echo
-		ewarn "If you intend to use the gcc from the new profile in an already"
-		ewarn "running shell, please remember to do:"
-		echo
-		ewarn " (bash) # . ${EPREFIX}/etc/profile"
-		ewarn "or"
-		ewarn " (tcsh) # source ${EPREFIX}/etc/csh.login"
-		echo
-	fi
-
-	return 0
-}
-
-get_current_profile() {
-	local conf="${GCC_ENV_D}/config-${CTARGET}"
-	if [[ ! -f ${conf} ]] ; then
-		conf="${GCC_ENV_D}/config" # old name
-	elif [[ -n ${CC_COMP} ]] && is_cross_compiler ; then
-		conf="${conf}-${CC_COMP}"
-	fi
-
-	if [[ ! -f ${conf} ]] ; then
-		eerror "${argv0}: No gcc profile is active!"
-		return 1
-	fi
-
-	source_var CURRENT "${conf}"
-
-	if [[ -z ${CURRENT} ]] ; then
-		eerror "${argv0}: No gcc profile is active!"
-		return 1
-	elif [[ ! -f ${GCC_ENV_D}/${CURRENT} ]] ; then
-		eerror "${argv0}: Active gcc profile is invalid!"
-		return 1
-	fi
-
-	echo "${CURRENT}"
-
-	return 0
-}
-
-list_profiles() {
-	local i=0
-	local filter=
-
-	if [[ ${ROOT} != "/" ]] ; then
-		echo "Using gcc-config info in ${ROOT}"
-	fi
-
-	if [[ ! -f ${GCC_ENV_D}/config-${CTARGET} ]] ; then
-		if ! is_cross_compiler && [[ -e ${GCC_ENV_D}/config ]] ; then
-			[[ -w ${GCC_ENV_D}/config ]] && mv ${GCC_ENV_D}/config ${GCC_ENV_D}/config-${CTARGET}
-		else
-			# get_current_profile already warns
-			#eerror "${argv0}: No gcc profile is active; please select one!"
-			filter=${CTARGET}
-		fi
-	fi
-
-	source_var CURRENT "${GCC_ENV_D}"/config-${CTARGET}
-	CURRENT_NATIVE=${CURRENT}
-	local target=
-	for x in "${GCC_ENV_D}"/* ; do
-		[[ -f ${x} ]] || continue
-		[[ ${x} == */config* ]] && continue
-
-		source_var CTARGET "${x}"
-
-		((++i))
-
-		[[ -n ${filter} ]] && [[ ${filter} != ${CTARGET} ]] && continue
-
-		if [[ ${target} != ${CTARGET} ]] ; then
-			[[ ${i} -gt 1 ]] && echo
-			target=${CTARGET}
-			CTARGET=""
-		fi
-
-		x=${x##*/}
-		if [[ ${x} == ${CURRENT_NATIVE} ]] ; then
-			x="${x} ${GOOD}*${NORMAL}"
-		elif [[ -e ${GCC_ENV_D}/config-${target} ]] ; then
-			source "${GCC_ENV_D}/config-${target}"
-			[[ ${x} == ${CURRENT} ]] && x="${x} ${HILITE}*${NORMAL}"
-		fi
-		echo " [${i}] ${x}"
-	done
-}
-
-print_environ() {
-	local GCC_PATH=
-	local ENV_CMD=
-	local SET_ELEMENT=
-
-	source_var GCC_PATH "${GCC_ENV_D}/${CC_COMP}" "${PATH}"
-
-	case ${SHELL} in
-		*/csh|*/tcsh)
-			ENV_CMD="setenv"
-			SET_ELEMENT=" "
-			;;
-		*)
-			ENV_CMD="export"
-			SET_ELEMENT="="
-			;;
-	esac
-
-	(
-	PATH=${GCC_PATH}:${PATH}
-	for var in PATH GCC_SPECS ; do
-		echo "${ENV_CMD} ${var}${SET_ELEMENT}\"${!var}\""
-	done
-	)
-}
-
-get_bin_path() { show_var GCC_PATH "${GCC_ENV_D}/${CC_COMP}" ; }
-get_lib_path() { show_var LDPATH "${GCC_ENV_D}/${CC_COMP}" ; }
-
-split_gcc_ver() {
-	# Split up the gcc profile into components:
-	# TARGET-VER[-specs] -> TARGET VER [specs]
-	# arm-linux-3.3.6 -> arm-linux 3.3.6
-	# x86_64-linux-4.0.1-pre1234 -> x86_64-linux 4.0.1-pre1234
-	# sh-linux-3.4.4-hardened -> sh-linux 3.4.4 hardened
-	#
-	# So below we will start at the end and run a small state machine ...
-	# specs [3]
-	#    accept everything
-	# specs -> version transition [3->2]
-	#    when we find a version component
-	# version [2]
-	#    accept only version components (see the regex)
-	# version -> target transition [2->1]
-	#    when we hit a non version component
-	# target [1]
-	#    accept everything we have left
-	#
-	echo "$@" | awk -F- '
-	function pushit(onme, pushee) {
-		return (onme == "" ? pushee : pushee"-"onme);
-	}
-	{
-		state=3
-		targ=""
-		ver=""
-		spec=""
-		for (i=NF; i > 0; --i) {
-			if (state >= 2) {
-				if ($i ~ /^(alpha|beta|pre|rc|p)?[[:digit:].]+$/) {
-					ver=pushit(ver, $i)
-					state=2
-				} else if (state == 3)
-					spec=pushit(spec, $i)
-				else
-					state=1
-			}
-			if (state == 1)
-				targ = pushit(targ, $i)
-		}
-
-		if (targ == "") {
-			if (ver == "") {
-				ver=spec
-				spec=""
-			}
-			targ=ver
-			ver=""
-		}
-		print targ " " ver (spec != "" ? " " spec : "")
-	}'
-}
-chop_gcc_ver_spec() {
-	local splitTED=$(split_gcc_ver $@) # target ver spec
-	splitTED=${splitTED#* }            # ver spec
-	echo ${splitTED/ /-}               # ver-spec
-}
-
-SET_X=false
-NEED_ACTION="yes"
-DOIT="switch_profile"
-CHECK_CHOST="no"
-FORCE="no"
-
-CC_COMP=
-ENV_D="${EROOT}etc/env.d"
-GCC_ENV_D="${ENV_D}/gcc"
-
-for x in "$@" ; do
-	case "${x}" in
-		# Only use specified compiler if one is not already selected.
-		-O|--use-old)
-			: ${CTARGET:=$(try_real_hard_to_find_CHOST)}
-			if get_current_profile &>/dev/null ; then
-				CC_COMP=$(get_current_profile)
-			else
-				die_eerror "No profile selected, unable to utilize --use-old"
-			fi
-			;;
-		-f|--force)
-			FORCE="yes"
-			;;
-		-P|--use-portage-chost)
-			CHECK_CHOST="yes"
-			;;
-		-c|--get-current-profile)
-			if [[ ${NEED_ACTION} == "yes" ]] ; then
-				NEED_ACTION="no"
-				DOIT="get_current_profile"
-			fi
-			;;
-		-l|--list-profiles)
-			if [[ ${NEED_ACTION} == "yes" ]] ; then
-				NEED_ACTION="no"
-				DOIT="list_profiles"
-			fi
-			;;
-		-S|--split-profile)
-			if [[ ( $1 != "-S" && $1 != "--split-profile" ) || $# -eq 1 ]] ; then
-				usage 1
-			fi
-			shift # push -S out
-			for x in "$@" ; do
-				split_gcc_ver ${x}
-			done
-			exit 0
-			;;
-		-E|--print-environ)
-			if [[ ${NEED_ACTION} == "yes" ]] ; then
-				NEED_ACTION="no"
-				DOIT="print_environ"
-			fi
-			;;
-		-B|--get-bin-path)
-			if [[ ${NEED_ACTION} == "yes" ]] ; then
-				NEED_ACTION="no"
-				DOIT="get_bin_path"
-			fi
-			;;
-		-L|--get-lib-path)
-			if [[ ${NEED_ACTION} == "yes" ]] ; then
-				NEED_ACTION="no"
-				DOIT="get_lib_path"
-			fi
-			;;
-		-x|--debug)
-			SET_X=true
-			;;
-		-C|--nocolor)
-			# nothing to do; functions.sh parsed this for us
-			;;
-		-h|--help)
-			usage 0
-			;;
-		-V|--version)
-			unset RCSfile Revision Date
-			rcsfile="$RCSfile: gcc-config-1.5,v $"
-			rcsfile=${rcsfile#: }
-			rcsfile=${rcsfile%,v*}
-			cvsrev="$Revision: 1.7 $"
-			cvsrev=${cvsrev#: }
-			cvsdate="$Date: 2011/12/07 05:42:19 $"
-			cvsdate=${cvsdate#: }
-			echo "${rcsfile} (r${cvsrev% *} @ ${cvsdate% *})"
-			exit 0
-			;;
-		-*)
-			die_eerror "Invalid switch!  Run ${argv0} without parameters for help."
-			;;
-		*)
-			${SET_X} && set -x
-			if [[ -z ${CC_COMP} ]] ; then
-				if [[ -z $(echo ${x} | tr -d '[:digit:]') ]] ; then
-					# User gave us a # representing the profile
-					i=1
-					for y in "${GCC_ENV_D}"/* ; do
-						[[ -f ${y} ]] || continue
-						[[ ${y} == */config* ]] && continue
-
-						if [[ -f ${y} ]] && [[ ${x} == ${i} ]] ; then
-							CC_COMP=${y##*/}
-							break
-						fi
-						((++i))
-					done
-					if [[ -z ${CC_COMP} ]] ; then
-						die_eerror "Could not locate profile #$x !"
-					fi
-				else
-					# User gave us a full HOST-gccver
-					x=${x##*/}
-					if [[ ${DOIT} == "get_current_profile" && -z $(ls "${GCC_ENV_D}"/${x}-* 2>/dev/null) ]] || \
-					   [[ ${DOIT} != "get_current_profile" && ! -f ${GCC_ENV_D}/${x} ]]
-					then
-						# Maybe they just gave us a gccver ...
-						get_real_chost
-						if [[ -f ${GCC_ENV_D}/${REAL_CHOST}-${x} ]] ; then
-							x=${REAL_CHOST}-${x}
-						else
-							die_eerror "Could not locate '$x' in '${GCC_ENV_D}/' !"
-						fi
-					fi
-					CC_COMP=${x}
-				fi
-			else
-				die_eerror "Too many arguments!  Run ${argv0} without parameters for help."
-			fi
-			;;
-	esac
-done
-
-${SET_X} && set -x
-
-if [[ ${DOIT} == "switch_profile" ]] && [[ -z ${CC_COMP} ]] ; then
-	usage 1
-fi
-
-get_real_chost
-[[ ${DOIT} == "get_current_profile" ]] \
-	&& : ${CTARGET:=${CC_COMP:-${REAL_CHOST}}} \
-	|| : ${CTARGET:=${REAL_CHOST}}
-
-if [[ -z ${CC_COMP} ]] ; then
-	CC_COMP=$(get_current_profile)
-	if [[ $? -ne 0 ]] ; then
-		echo "${CC_COMP}"
-		list_profiles
-		exit 1
-	fi
-fi
-
-if [[ ${DOIT} != "get_current_profile" ]] ; then
-	GCC_LIB=$(
-		show_var LDPATH "${GCC_ENV_D}/${CC_COMP}" | \
- 			sed -e "s|${EPREFIX}/*|/|g" | \
-			awk -F/ '{ print "/"$2"/"$3"/"$4"/" }'
-	)
-
-	CC_COMP_VERSION=$(chop_gcc_ver_spec ${CC_COMP})
-	CC_COMP_TARGET=${CC_COMP%-${CC_COMP_VERSION}*}
-
-	if [[ ! -d ${EROOT}/${GCC_LIB}/${CC_COMP_TARGET}/${CC_COMP_VERSION} ]]; then
-		CC_COMP_VERSION=${CC_COMP_VERSION%-*}
-	fi
-
-	if [[ ! -d ${EROOT}/${GCC_LIB}/${CC_COMP_TARGET}/${CC_COMP_VERSION} ]] || \
-	   [[ ! -f ${GCC_ENV_D}/${CC_COMP} ]]
-	then
-		eerror "${argv0}: Profile does not exist or invalid setting for ${GCC_ENV_D}/${CC_COMP}" 1>&2
-		#exit 1
-	fi
-fi
-
-if [[ ${CHECK_CHOST} == "yes" ]] ; then
-	# Chosen CHOST are not the same as the real CHOST according to
-	# make.conf, and --use-portage-chost option was given, so do nothing
-	get_real_chost
-	CC_COMP_VERSION=$(chop_gcc_ver_spec ${CC_COMP})
-	CC_COMP_TARGET=${CC_COMP:0:${#CC_COMP}-${#CC_COMP_VERSION}-1}
-	[[ ${CC_COMP_TARGET} != ${REAL_CHOST} ]] && exit 0
-fi
-
-${DOIT}
-
-# vim:ts=4

diff --git a/sys-devel/gcc-config/files/gcc-config-1.8-copy-gcc-libs-darwin.patch b/sys-devel/gcc-config/files/gcc-config-1.8-copy-gcc-libs-darwin.patch
index bfcae2df60..28d666e22e 100644
--- a/sys-devel/gcc-config/files/gcc-config-1.8-copy-gcc-libs-darwin.patch
+++ b/sys-devel/gcc-config/files/gcc-config-1.8-copy-gcc-libs-darwin.patch
@@ -1,7 +1,7 @@
 diff --git a/a/gcc-config b/b/gcc-config
 index d747840..b1e0517 100755
---- a/a/gcc-config
-+++ b/b/gcc-config
+--- a/gcc-config
++++ b/gcc-config
 @@ -364,11 +364,6 @@ prefix_copy_gcc_libs() {
  			# static only, nothing to do here
  			return 0

diff --git a/sys-devel/gcc-config/files/gcc-config-1.8-copy-gcc-libs.patch b/sys-devel/gcc-config/files/gcc-config-1.8-copy-gcc-libs.patch
deleted file mode 100644
index 3e62f85bec..0000000000
--- a/sys-devel/gcc-config/files/gcc-config-1.8-copy-gcc-libs.patch
+++ /dev/null
@@ -1,212 +0,0 @@
-essential missing bit that makes sure libgcc_s.so.1 (amongst others)
-remains available on Solaris
-
-diff --git a/gcc-config b/gcc-config
---- a/gcc-config
-+++ b/gcc-config
-@@ -336,6 +339,197 @@ handle_split_usr() {
- 	return 0
- }
- 
-+prefix_copy_gcc_libs() {
-+	# no business here if not Prefix
-+	[[ -z ${EPREFIX} ]] && return 0
-+
-+	# To emulate properly what ld.so.conf magic does for non-prefix,
-+	# we have to copy the libs of all installed (native) GCC's and
-+	# make sure we do the current one as last, such that the
-+	# pointers for the unversioned libs point to the currently
-+	# selected version.  This is only necessary for platforms that use
-+	# shared libs, and only record the object name (not the full path).
-+	case ${CHOST} in
-+		*-mint*)
-+			# static only, nothing to do here
-+			return 0
-+			;;
-+		*-darwin*)
-+			# Mach-O records all references with full path, hence each
-+			# object has links to the GCC-specific version of the lib.
-+			return 0
-+			;;
-+	esac
-+
-+	# dstlibgcc location is added to RPATH by the binutils wrapper
-+	local dstlibgcc=${EROOT}/usr/${CHOST}/lib/gcc
-+
-+	# Prepare empty directories first
-+	local temporary=.gcc.config.new
-+	rm -rf   "${dstlibgcc}"/${temporary} || return 1
-+	mkdir -p "${dstlibgcc}"/${temporary} || return 1
-+
-+	local LIBSUFFIX
-+	case ${CHOST} in
-+		hppa64*-hpux*)
-+			LIBSUFFIX="sl"
-+			do_single_runtime() {
-+				do_single_runtime_elf "$@"
-+			}
-+			finish_runtime_dir() {
-+				finish_runtime_dir_elf "$@" 
-+			}
-+			;;
-+		hppa*-hpux*)
-+			LIBSUFFIX="sl"
-+			do_single_runtime() {
-+				local sourcedir=$1; shift
-+				local libname=$1; shift
-+				local targetdir=$1; shift
-+				local finaldir=$1; shift
-+
-+				# when using some simple shell script wrappers (again :)),
-+				# there may be no libs around!
-+				if [[ -n $(ls "${sourcedir}"/lib${libname}.*${LIBSUFFIX}* 2>/dev/null) ]]; then
-+					cp -fpP "${sourcedir}"/lib${libname}.*${LIBSUFFIX}* "${targetdir}" || return 1
-+					# gcc creates "libgcc_s.4" with symlink "libgcc_s.sl -> libgcc_s.4", and
-+					# we patch it to also set the 'internal name' (=soname) (gcc-PR40913).
-+					if [[ ${libname} == 'gcc_s' ]]; then
-+						if [[ -n $(ls "${sourcedir}"/lib${libname}.[0-9] 2>/dev/null) ]]; then
-+							cp -fpP "${sourcedir}"/lib${libname}.[0-9] "${targetdir}" || return 1
-+						fi
-+					fi
-+					# we do not need the unversioned lib, as linking
-+					# is done against the used gcc's private copy.
-+					rm -f "${targetdir}"/lib${libname}.${LIBSUFFIX} || return 1
-+				fi
-+			}
-+			finish_runtime_dir() {
-+				finish_runtime_dir_elf "$@" 
-+			}
-+			;;
-+		*)
-+			LIBSUFFIX="so"
-+			do_single_runtime() {
-+				do_single_runtime_elf "$@"
-+			}
-+			finish_runtime_dir() {
-+				finish_runtime_dir_elf "$@" 
-+			}
-+			;;
-+	esac
-+
-+	do_single_runtime_elf() {
-+		local sourcedir=$1; shift
-+		local libname=$1; shift
-+		local targetdir=$1; shift
-+		local finaldir=$1; shift
-+
-+		# when using some simple shell script wrappers (again :)),
-+		# there may be no libs around!
-+		if [[ -n $(ls "${sourcedir}"/lib${libname}.*${LIBSUFFIX}* 2>/dev/null) ]]; then
-+			cp -fpP "${sourcedir}"/lib${libname}.*${LIBSUFFIX}* "${targetdir}" || return 1
-+			# we do not need the unversioned lib, as linking
-+			# is done against the used gcc's private copy.
-+			rm -f "${targetdir}"/lib${libname}.${LIBSUFFIX} || return 1
-+		fi
-+	}
-+
-+	finish_runtime_dir_elf() {
-+		local sourcedir=$1; shift
-+		local targetdir=$1; shift
-+		local cleanup=$1; shift
-+
-+		if [[ ${cleanup} == clean ]]; then
-+			if [[ ${targetdir} == *${EPREFIX}/lib ]]; then
-+				echo "WARNING: not cleaning ${targetdir}" >&2
-+			else
-+				for f in "${targetdir}"/*; do
-+					[[ ${f} == ${sourcedir} ]] && continue
-+					[[ -e "${sourcedir}/${f##*/}" ]] && continue
-+					rm -f "${f}"
-+				done
-+			fi
-+		fi
-+
-+		# move symlinks first:
-+		# because of file ordering, the real files may be
-+		# moved before the symlinks, causing the symlinks
-+		# going broken.
-+		for f in "${sourcedir}"/*; do
-+			[[ -e ${f} && -L ${f} ]] || continue
-+			# use backups: hpux cannot overwrite sharedlibs in use: "Text file busy"
-+			rm -f "${targetdir}"/${f##*/}*'~' >/dev/null 2>&1
-+			mv -f --backup=numbered --suffix='~' "${f}" "${targetdir}"/${f##*/} || return 1
-+			rm -f "${targetdir}"/${f##*/}*'~' >/dev/null 2>&1
-+		done
-+
-+		for f in "${sourcedir}"/*; do
-+			[[ -f "${f}" ]] || continue
-+			# use backups: hpux cannot overwrite sharedlibs in use: "Text file busy"
-+			rm -f "${targetdir}"/${f##*/}*'~' >/dev/null 2>&1
-+			mv -f --backup=numbered --suffix='~' "${f}" "${targetdir}"/${f##*/} || return 1
-+			rm -f "${targetdir}"/${f##*/}*'~' >/dev/null 2>&1
-+		done
-+		rmdir "${sourcedir}"
-+	}
-+
-+	local GCC_PROFILES=$(LC_ALL="C" ls ${GCC_ENV_D}/${CHOST}-*)
-+
-+	local targetdirs=
-+	for x in ${GCC_PROFILES} ; do
-+		unset GCC_PATH LDPATH
-+		eval $(
-+			source "${x}"
-+			echo "GCC_PATH='${GCC_PATH}'"
-+			echo "LDPATH='${LDPATH%%:*}'"
-+		)
-+
-+		pushd "${ROOT%/}${LDPATH}" > /dev/null || return 1
-+
-+		local donelibs= lib= gcclib=
-+		for lib in lib*.${LIBSUFFIX}; do
-+			gcclib=${lib#lib}
-+			gcclib=${gcclib%.${LIBSUFFIX}}
-+			gcclib=${gcclib%%.[0-9]*} # we need the unversioned libname.
-+			[[ ${donelibs} != *" ${gcclib} "* ]] || continue
-+			donelibs="${donelibs} ${gcclib} "
-+
-+			[[ ${targetdirs} == *":${dstlibgcc},clean:"* ]] ||
-+				targetdirs="${targetdirs}:${dstlibgcc},clean:"
-+
-+			do_single_runtime \
-+				"${ROOT%/}${LDPATH}" \
-+				${gcclib} \
-+				"${ROOT%/}${dstlibgcc}"/${temporary} \
-+				"${dstlibgcc}" \
-+			|| return 1
-+		done
-+
-+		popd > /dev/null
-+	done
-+
-+	local clean= targetdir=
-+	local save_IFS=$IFS
-+	IFS=:
-+	for targetdir in ${targetdirs}; do
-+		IFS=$save_IFS
-+		[[ -n ${targetdir} ]] || continue
-+
-+		# eventually cleanup old files (not from $EPREFIX/lib)
-+		clean=${targetdir##*,}
-+
-+		targetdir=${targetdir%,*}
-+
-+		finish_runtime_dir \
-+			"${ROOT%/}${targetdir}"/${temporary} \
-+			"${ROOT%/}${targetdir}" \
-+			${clean} \
-+		|| return 1
-+	done
-+	IFS=$save_IFS
-+}
-+
- switch_profile() {
- 	local OLD_CC_COMP OLD_CC_COMP_VERSION OLD_GCC_PATH OLD_GCC_VER
- 	local GCC_PATH
-@@ -443,6 +637,7 @@ switch_profile() {
- 		done
- 
-+		prefix_copy_gcc_libs
- 		handle_split_usr
- 		: $(( envd_changed += $? ))
- 	fi
- 	mv_if_diff "${envd}.tmp" "${envd}"

diff --git a/sys-devel/gcc-config/files/gcc-config-1.8-dont_source_functions_sh_from_etc_initd.patch b/sys-devel/gcc-config/files/gcc-config-1.8-dont_source_functions_sh_from_etc_initd.patch
deleted file mode 100644
index a4b7de2ffc..0000000000
--- a/sys-devel/gcc-config/files/gcc-config-1.8-dont_source_functions_sh_from_etc_initd.patch
+++ /dev/null
@@ -1,47 +0,0 @@
---- gcc-config-1.8/gcc-config
-+++ gcc-config-1.8/gcc-config
-@@ -15,8 +15,9 @@
- trap ":" INT QUIT TSTP
- 
- argv0=${0##*/}
--source /etc/init.d/functions.sh || {
--	echo "${argv0}: Could not source /etc/init.d/functions.sh!" 1>&2
-+functions_script="/lib/gentoo/functions.sh"
-+source ${functions_script} || {
-+	echo "${argv0}: Could not source ${functions_script}!" 1>&2
- 	exit 1
- }
- esyslog() { :; }
-
-From d45de09450ffb63b138bbb7f78cae43e1101e2ec Mon Sep 17 00:00:00 2001
-From: Ryan Hill <rhill@gentoo.org>
-Date: Tue, 12 May 2015 22:09:28 -0600
-Subject: [PATCH] Ignore whitespace when diffing test results.
-
-The amount of whitespace output by ebegin/eend from gentoo-functions
-is dynamic (seems to be dependent on terminal width).  Since we can't
-predict this we have to ignore all whitespace differences.
-
-URL: https://bugs.gentoo.org/547586
-Reported-by: tka <tka@kamph.org>
-Signed-off-by: Ryan Hill <rhill@gentoo.org>
----
- tests/run_tests | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/run_tests b/tests/run_tests
-index 2ff7d77..397d667 100755
---- a/tests/run_tests
-+++ b/tests/run_tests
-@@ -44,7 +44,7 @@ cmp_log() {
- 	args+=( -e "s|: line [0-9]*: |: |g" )
- 	sed "${args[@]}" "${exp}" > "${exp}.tmp"
- 	sed "${args[@]}" "${log}" > "${log}.tmp"
--	diff -u "${exp}.tmp" "${log}.tmp" > "${log}.diff"
-+	diff -uw "${exp}.tmp" "${log}.tmp" > "${log}.diff"
- 	ret=$?
- 	rm "${exp}.tmp"
- 	return ${ret}
--- 
-2.4.4
-

diff --git a/sys-devel/gcc-config/files/gcc-config-1.8-cygwin.patch b/sys-devel/gcc-config/files/gcc-config-1.9-cygwin.patch
similarity index 75%
rename from sys-devel/gcc-config/files/gcc-config-1.8-cygwin.patch
rename to sys-devel/gcc-config/files/gcc-config-1.9-cygwin.patch
index 267d85990f..26bc7428e9 100644
--- a/sys-devel/gcc-config/files/gcc-config-1.8-cygwin.patch
+++ b/sys-devel/gcc-config/files/gcc-config-1.9-cygwin.patch
@@ -1,14 +1,14 @@
---- gcc-config-1.8/gcc-config.orig	2016-11-21 17:50:00.700959745 +0100
-+++ gcc-config-1.8/gcc-config	2016-11-21 17:55:03.354280232 +0100
+--- a/gcc-config
++++ b/gcc-config
 @@ -9,6 +9,7 @@
  : ${ROOT:=/}
  [[ ${ROOT} != */ ]] && ROOT="${ROOT}/"
  [[ ${ROOT} != /* ]] && ROOT="${PWD%/}/${ROOT}"
 +[[ // -ef / ]] || ROOT="/.${ROOT}" # stick to filesystem (Cygwin)
- BPREFIX="@GENTOO_PORTAGE_EPREFIX@"
- : ${EPREFIX:=${BPREFIX}}
+ EPREFIX="@GENTOO_EPREFIX@"
+ [[ ${EPREFIX} == @*@ ]] && EPREFIX=""
  EROOT="${ROOT%/}${EPREFIX}/"
-@@ -181,6 +182,8 @@
+@@ -182,6 +183,8 @@
  
  uniq_wrapper_list() {
  	local ver=$1; shift
@@ -17,7 +17,7 @@
  	# We want to normalize away existing target prefix.
  	set -- "${@#${CTARGET}-*}"
  	# And we want to filter out any version suffixed progs.
-@@ -659,7 +662,7 @@
+@@ -693,7 +696,7 @@
  
  	update_wrappers ${CTARGET}
  
@@ -26,7 +26,7 @@
  	   [[ ${FORCE} == "yes" || ${envd_changed} -gt 0 ]]
  	then
  		# in case python is broken ...
-@@ -720,7 +723,7 @@
+@@ -752,7 +755,7 @@
  	local i=0
  	local filter=
  

diff --git a/sys-devel/gcc-config/files/gcc-config-prefix-1.8-r221-r1.patch b/sys-devel/gcc-config/files/gcc-config-prefix-1.8-r221-r1.patch
deleted file mode 100644
index 4aa3e6fbb6..0000000000
--- a/sys-devel/gcc-config/files/gcc-config-prefix-1.8-r221-r1.patch
+++ /dev/null
@@ -1,342 +0,0 @@
-diff --git a/a/Makefile b/b/Makefile
---- a/a/Makefile
-+++ b/b/Makefile
-@@ -5,7 +5,8 @@ PN = gcc-config
- PV = git
- P = $(PN)-$(PV)
- 
--PREFIX = /usr
-+EPREFIX =
-+PREFIX = $(EPREFIX)/usr
- BINDIR = $(PREFIX)/bin
- SUBLIBDIR = lib
- LIBDIR = $(PREFIX)/$(SUBLIBDIR)
-@@ -16,6 +17,11 @@ INSTALL_EXE = install -m 755
- 
- all: wrapper
- 
-+wrapper.c: wrapper.c.in
-+	sed \
-+		-e 's:@GENTOO_PORTAGE_EPREFIX@:$(EPREFIX):g' \
-+		wrapper.c.in > wrapper.c
-+
- clean:
- 	rm -f wrapper *.o core
- 
-@@ -23,6 +29,7 @@ install: all
- 	$(MKDIR_P) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBEXECDIR)
- 	$(INSTALL_EXE) wrapper $(DESTDIR)$(LIBEXECDIR)/$(PN)
- 	sed \
-+		-e 's:@GENTOO_PORTAGE_EPREFIX@:$(EPREFIX):g' \
- 		-e 's:@GENTOO_LIBDIR@:$(SUBLIBDIR):g' \
- 		-e 's:@PV@:$(PV):g' \
- 		gcc-config > $(DESTDIR)$(BINDIR)/gcc-config
-diff --git a/a/gcc-config b/b/gcc-config
-index 18d0b48..935b4c8 100755
---- a/a/gcc-config
-+++ b/b/gcc-config
-@@ -9,13 +9,16 @@
- : ${ROOT:=/}
- [[ ${ROOT} != */ ]] && ROOT="${ROOT}/"
- [[ ${ROOT} != /* ]] && ROOT="${PWD%/}/${ROOT}"
-+BPREFIX="@GENTOO_PORTAGE_EPREFIX@"
-+: ${EPREFIX:=${BPREFIX}}
-+EROOT="${ROOT%/}${EPREFIX}/"
- 
- cd /
- 
- trap ":" INT QUIT TSTP
- 
- argv0=${0##*/}
--functions_script="/lib/gentoo/functions.sh"
-+functions_script="${BPREFIX}/lib/gentoo/functions.sh"
- source ${functions_script} || {
- 	echo "${argv0}: Could not source ${functions_script}!" 1>&2
- 	exit 1
-@@ -84,16 +87,16 @@ try_real_hard_to_find_CHOST() {
- 	#
- 
- 	local varname=${1:-CHOST}
--	local conf=${ROOT}/etc/portage/make.conf
--	if [[ ! -e ${conf} && -e ${ROOT}/etc/make.conf ]] ; then
--		conf=${ROOT}/etc/make.conf
-+	local conf=${EROOT}/etc/portage/make.conf
-+	if [[ ! -e ${conf} && -e ${EROOT}/etc/make.conf ]] ; then
-+		conf=${EROOT}/etc/make.conf
- 	fi
- 	local ret=$(source "${conf}" 2>/dev/null ; echo ${!varname})
- 	if [[ -z ${ret} ]] ; then
- 		# newer portage supports spaces between the var and =
- 		# CHOST     =  "this-is-retarded"
- 		ret=$(eval $(
--			sed -n \
-+			${SED} -n \
- 				-e 's:[[:space:]]::g' \
- 				-e "/^${varname}=/p" \
- 				"${conf}"
-@@ -109,8 +112,8 @@ try_real_hard_to_find_CHOST() {
- 	#
- 	# Then we try /etc/env.d/gcc/config-${CTARGET}
- 	#
--	if [[ -s ${ROOT}/etc/env.d/gcc/config-${CTARGET} ]] ; then
--		ret=$(split_gcc_ver $(show_var CURRENT "${ROOT}"/etc/env.d/gcc/config-${CTARGET}))
-+	if [[ -s ${EROOT}/etc/env.d/gcc/config-${CTARGET} ]] ; then
-+		ret=$(split_gcc_ver $(show_var CURRENT "${EROOT}"/etc/env.d/gcc/config-${CTARGET}))
- 		echo ${ret% *}
- 	fi
- }
-@@ -124,7 +127,7 @@ get_chost() {
- 
- 	# make sure portage isnt broken
- 	if python -V &>/dev/null ; then
--		CHOST=$(portageq envvar CHOST 2>/dev/null)
-+		CHOST=$(env -i EPREFIX="${BPREFIX}" "$(PATH="${BPREFIX}/usr/bin:${PATH}" type -P portageq)" envvar CHOST 2>/dev/null)
- 	else
- 		ewarn "Python seems to be broken, attempting to locate CHOST ourselves ..."
- 		CHOST=$(try_real_hard_to_find_CHOST)
-@@ -133,7 +136,7 @@ get_chost() {
- 	if [[ -z ${CHOST} ]] ; then
- 		eerror "${argv0}: Could not get portage CHOST!"
- 		eerror "${argv0}: You should verify that CHOST is set in one of these places:"
--		eerror "${argv0}:  - ${ROOT}/etc/portage/make.conf"
-+		eerror "${argv0}:  - ${EROOT}/etc/portage/make.conf"
- 		eerror "${argv0}:  - active environment"
- 		exit 1
- 	fi
-@@ -196,7 +199,7 @@ update_wrappers() {
- 	# Find the bin wrapper
- 	local wrapper
- 	for wrapper in ${GENTOO_LIBDIR} lib lib64 lib32 lib ; do
--		wrapper="${ROOT}usr/${wrapper}/misc/gcc-config"
-+		wrapper="${EROOT}usr/${wrapper}/misc/gcc-config"
- 		[[ -e ${wrapper} ]] && break
- 	done
- 
-@@ -222,7 +225,7 @@ update_wrappers() {
- 	# new one does not.
- 	for x in "${old_wrappers[@]}" ; do
- 		has "${x}" "${new_wrappers[@]}" && continue
--		rm -f "${ROOT}usr/bin/${x}" "${ROOT}usr/bin/${CTARGET}-${x}"
-+		rm -f "${EROOT}usr/bin/${x}" "${EROOT}usr/bin/${CTARGET}-${x}"
- 	done
- 
- 	# For all toolchains, we want to create the fully qualified
-@@ -259,20 +262,19 @@ update_wrappers() {
- 
- 		# Now do the actual wrapper copy with paths to the reference binary
- 		if [[ -x ${ref} ]] ; then
--			atomic_cp "${wrapper}" "${ROOT}usr/bin" "${x}" "${ref}"
-+			atomic_cp "${wrapper}" "${EROOT}usr/bin" "${x}" "${ref}"
- 		else
- 			ewarn "double insanity with ${x} and ${ref}"
- 			# Make sure we have no stale wrappers
--			rm -f "${ROOT}usr/bin/${x}"
-+			rm -f "${EROOT}usr/bin/${x}"
- 		fi
- 	done
- 	# legacy cruft, make sure we dont leave it laying around #143205
--	rm -f "${ROOT}usr/bin/${CTARGET}-cc" "${ROOT}usr/bin"/{${CTARGET}-,}g{cc,++}{32,64}
-+	rm -f "${EROOT}usr/bin/${CTARGET}-cc" "${EROOT}usr/bin"/{${CTARGET}-,}g{cc,++}{32,64}
- 
- 	# install the canonical cpp wrapper
--	[[ ${CTARGET} == *-solaris* ]] && return 0
- 	if ! is_cross_compiler ; then
--		atomic_cp "${wrapper}" "${ROOT}lib" "cpp" "${ROOT}usr/bin/cpp"
-+		atomic_cp "${wrapper}" "${EROOT}lib" "cpp" "${EROOT}usr/bin/cpp"
- 	fi
- }
- 
-@@ -301,33 +303,45 @@ handle_split_usr() {
- 	eval $(grep -h '^LDPATH=' "${GCC_ENV_D}"/${CHOST}-* | tail -1)
- 	LDPATH=${LDPATH%%:*}
- 
--	# If /usr isn't a sep mount, then don't bother with linking stuff.
--	if ln "${ROOT}/${LDPATH}/libgcc.a" "${ROOT}"/lib/.gcc.config.$$ 2>/dev/null ; then
--		rm -f "${ROOT}"/lib/.gcc.config.$$
--		if [[ -n $(find "${ROOT}"/lib*/lib{gcc_s,unwind}.so* 2>/dev/null) ]] ; then
-+	# If /usr isn't a sep mount or EPREFIX is set, then don't bother with linking stuff.
-+	if [[ -n ${EPREFIX} ]] || ln "${ROOT}/${LDPATH}/libgcc.a" "${EROOT}"/lib/.gcc.config.$$ 2>/dev/null ; then
-+		rm -f "${EROOT}"/lib/.gcc.config.$$
-+		if [[ -n $(find "${EROOT}"/lib*/lib{gcc_s,unwind}{.so*,*dylib} 2>/dev/null) ]] ; then
- 			# If we previously had stuff in /, make sure ldconfig gets re-run.
--			rm -f "${ROOT}"/lib*/lib{gcc_s,unwind}.so*
-+			rm -f "${EROOT}"/lib*/lib{gcc_s,unwind}{.so*,*dylib}
- 			return 1
- 		fi
- 		return 0
- 	fi
- 
--	# Only bother with this stuff for the native ABI.  We assume the user
--	# doesn't have critical binaries for non-native ABIs which is fair.
--	local gcclib
--	local libdir="${ROOT}${GENTOO_LIBDIR}"
--	mkdir -p "${libdir}"/.gcc.config.new || return 0 # !?!?!
--	for gcclib in gcc_s unwind ; do
--		# This assumes that we always have the .so symlink,
--		# but for now, that should be safe ...
--		for gcclib in "${ROOT}${LDPATH}"/lib${gcclib}.so.* ; do
--			[[ -e ${gcclib} ]] || continue
--			cp -pP "${gcclib}" "${libdir}"/.gcc.config.new/
--			# no need to sanity `rm` this as the `mv` should take care
--			# of it.  we also need this step to be completely atomic
--			# for systems that have even `mv` linked against libgcc_s.so.
--			# http://bugs.gentoo.org/150257
--			mv -f "${libdir}"/.gcc.config.new/* "${libdir}"/
-+	gcc="${ROOT}${LATEST_GCC_PATH}/gcc"
-+
-+	local multilib
-+	for multilib in $("${gcc}" -print-multi-lib); do
-+		local multiarg=${multilib#*;}
-+		multiarg=${multiarg/@/-}
-+		local multilibdir=${multilib%;*}
-+		local libdir="${EROOT}lib/"$("${gcc}" ${multiarg} -print-multi-os-directory)
-+
-+		mkdir -p "${libdir}"/.gcc.config.new || continue # !?!?!
-+
-+		# Only bother with this stuff for the native ABI.  We assume the user
-+		# doesn't have critical binaries for non-native ABIs which is fair.
-+		local gcclib
-+		local libdir="${ROOT}${GENTOO_LIBDIR}"
-+		mkdir -p "${libdir}"/.gcc.config.new || return 0 # !?!?!
-+		for gcclib in gcc_s unwind ; do
-+			# This assumes that we always have the .so symlink,
-+			# but for now, that should be safe ...
-+			for gcclib in "${ROOT}${LDPATH}"/lib${gcclib}.so.* ; do
-+				[[ -e ${gcclib} ]] || continue
-+				cp -pP "${gcclib}" "${libdir}"/.gcc.config.new/
-+				# no need to sanity `rm` this as the `mv` should take care
-+				# of it.  we also need this step to be completely atomic
-+				# for systems that have even `mv` linked against libgcc_s.so.
-+				# http://bugs.gentoo.org/150257
-+				mv -f "${libdir}"/.gcc.config.new/* "${libdir}"/
-+			done
- 		done
- 	done
- 	rmdir "${libdir}"/.gcc.config.new
-@@ -341,7 +355,7 @@ switch_profile() {
- 
- 	# Make sure we have write access to the dirs.  Do not require `root`
- 	# so that we work with prefix/cross/etc... setups that run as user.
--	[[ ! -w ${ROOT} ]] && die "need write access to ${ROOT}"
-+	[[ ! -w ${EROOT} ]] && die "need write access to ${EROOT}"
- 
- 	if is_cross_compiler ; then
- 		ebegin "Switching cross-compiler to ${CC_COMP}"
-@@ -408,7 +422,7 @@ switch_profile() {
- 		# Pass all by default
- 		awk '!/^(STDCXX_INCDIR|LDPATH|CC|CXX|CTARGET|GCCBITS|GCC_SPECS|GCC_PATH|MULTIOSDIRS)=/ {print $0}' \
- 			"${GCC_ENV_D}/${CC_COMP}" >> "${envd}.tmp"
--		if [[ -d ${ROOT}/etc/ld.so.conf.d ]] ; then
-+		if [[ -z ${EPREFIX} && -d ${ROOT}/etc/ld.so.conf.d ]] ; then
- 			echo "${MY_LDPATH}" > "${ROOT}"/etc/ld.so.conf.d/05gcc-${CTARGET}.conf
- 		else
- 			echo "LDPATH=\"${MY_LDPATH}\"" >> "${envd}.tmp"
-@@ -427,7 +441,7 @@ switch_profile() {
- 		local x libdir pkgconfdir
- 		local mver=${CC_COMP_VERSION:0:3}
- 		for libdir in ${MULTIOSDIRS//:/ } ; do
--			pkgconfdir="${ROOT}/usr/lib/${libdir}/pkgconfig"
-+			pkgconfdir="${EROOT}/usr/lib/${libdir}/pkgconfig"
- 			for x in "" "-${mver}" ; do
- 				x="${pkgconfdir}/libgcj${x}.pc"
- 				if [[ -e ${pkgconfdir}/libgcj-${CC_COMP_VERSION}.pc ]] ; then
-@@ -458,7 +472,7 @@ switch_profile() {
- 			ewarn "env-update failed to work properly; making sure ld.so.conf paths"
- 			ewarn "are setup properly.  Please rerun gcc-config with the -f option."
- 			echo ""
--			if [[ ! -d /etc/ld.so.conf.d ]] ; then
-+			if [[ -z ${EPREFIX} && ! -d /etc/ld.so.conf.d ]] ; then
- 				show_var LDPATH "${ROOT}"/etc/env.d/05gcc-${CTARGET} \
- 					| sed -e 's|:|\n|g' >> /etc/ld.so.conf
- 			fi
-@@ -475,7 +489,9 @@ switch_profile() {
- 		ewarn "If you intend to use the gcc from the new profile in an already"
- 		ewarn "running shell, please remember to do:"
- 		echo
--		ewarn "  . /etc/profile"
-+		ewarn " (bash) # . ${EPREFIX}/etc/profile"
-+		ewarn "or"
-+		ewarn " (tcsh) # source ${EPREFIX}/etc/csh.login"
- 		echo
- 	fi
- 
-@@ -653,7 +669,7 @@ DOIT=""
- FORCE="no"
- 
- CC_COMP=
--ENV_D="${ROOT}etc/env.d"
-+ENV_D="${EROOT}etc/env.d"
- GCC_ENV_D="${ENV_D}/gcc"
- 
- for x in "$@" ; do
-@@ -784,7 +800,11 @@ if [[ -z ${CC_COMP} ]] ; then
- fi
- 
- if [[ ${DOIT} != "get_current_profile" ]] ; then
--	GCC_LIB=$(get_lib_path | awk -F/ '{ print  "/"$2"/"$3"/"$4"/" }')
-+	GCC_LIB=$(
-+		get_lib_path | \
-+ 			sed -e "s|${EPREFIX}/*|/|g" | \
-+			awk -F/ '{ print "/"$2"/"$3"/"$4"/" }'
-+	)
- 
- 	# For people who insist on using funky version strings ("4.6.x"
- 	# rather than "4.6.2"), allow them to manually specify it.
-@@ -797,11 +817,11 @@ if [[ ${DOIT} != "get_current_profile" ]] ; then
- 		CC_COMP_TARGET=${CC_COMP%-${CC_COMP_VERSION}*}
- 	fi
- 
--	if [[ ! -d ${ROOT}/${GCC_LIB}/${CC_COMP_TARGET}/${CC_COMP_VERSION} ]]; then
-+	if [[ ! -d ${EROOT}/${GCC_LIB}/${CC_COMP_TARGET}/${CC_COMP_VERSION} ]]; then
- 		CC_COMP_VERSION=${CC_COMP_VERSION%-*}
- 	fi
- 
--	if [[ ! -d ${ROOT}/${GCC_LIB}/${CC_COMP_TARGET}/${CC_COMP_VERSION} ]] || \
-+	if [[ ! -d ${EROOT}/${GCC_LIB}/${CC_COMP_TARGET}/${CC_COMP_VERSION} ]] || \
- 	   [[ ! -f ${GCC_ENV_D}/${CC_COMP} ]]
- 	then
- 		eerror "${argv0}: Profile does not exist or invalid setting for ${GCC_ENV_D}/${CC_COMP}" 1>&2
-diff --git a/a/wrapper.c.in b/b/wrapper.c.in
-index 65e5317..afa03bc 100644
---- a/a/wrapper.c.in
-+++ b/b/wrapper.c.in
-@@ -21,8 +21,8 @@
- #include <sys/stat.h>
- #include <sys/types.h>
- 
--#define GCC_CONFIG "/usr/bin/gcc-config"
--#define ENVD_BASE  "/etc/env.d/05gcc"
-+#define GCC_CONFIG "@GENTOO_PORTAGE_EPREFIX@/usr/bin/gcc-config"
-+#define ENVD_BASE  "@GENTOO_PORTAGE_EPREFIX@/etc/env.d/05gcc"
- 
- #define ARRAY_SIZE(arr) (sizeof(arr)/sizeof(arr[0]))
- 
-@@ -146,7 +146,7 @@ static int find_target_in_envd(struct wrapper_data *data, int cross_compile)
- 		/* for the sake of speed, we'll keep a symlink around for
- 		 * the native compiler.  #190260
- 		 */
--		snprintf(envd_file, sizeof(envd_file)-1, "/etc/env.d/gcc/.NATIVE");
-+		snprintf(envd_file, sizeof(envd_file)-1, "@GENTOO_PORTAGE_EPREFIX@/etc/env.d/gcc/.NATIVE");
- 	} else {
- 		char *ctarget, *end = strrchr(data->name, '-');
- 		if (end == NULL)
-@@ -213,7 +213,7 @@ static void find_wrapper_target(struct wrapper_data *data)
- 	/* Only our wrapper is in PATH, so get the CC path using
- 	 * gcc-config and execute the real binary in there ...
- 	 */
--	FILE *inpipe = popen("ROOT= " GCC_CONFIG " --get-bin-path", "r");
-+	FILE *inpipe = popen("ROOT= EPREFIX=\"@GENTOO_PORTAGE_EPREFIX@\" " GCC_CONFIG " --get-bin-path", "r");
- 	if (inpipe == NULL)
- 		wrapper_errp("could not open pipe");
- 
-@@ -289,8 +289,8 @@ int main(int argc, char *argv[])
- 			data.name = wrapper_aliases[i].target;
- 
- 	/* What is the full name of our wrapper? */
--	data.fullname = xmalloc(strlen(data.name) + sizeof("/usr/bin/") + 1);
--	sprintf(data.fullname, "/usr/bin/%s", data.name);
-+	data.fullname = xmalloc(strlen(data.name) + sizeof("@GENTOO_PORTAGE_EPREFIX@/usr/bin/") + 1);
-+	sprintf(data.fullname, "@GENTOO_PORTAGE_EPREFIX@/usr/bin/%s", data.name);
- 
- 	find_wrapper_target(&data);
- 

diff --git a/sys-devel/gcc-config/files/gcc-config-prefix-1.8-r221.patch b/sys-devel/gcc-config/files/gcc-config-prefix-1.8-r221.patch
deleted file mode 100644
index cef133812b..0000000000
--- a/sys-devel/gcc-config/files/gcc-config-prefix-1.8-r221.patch
+++ /dev/null
@@ -1,344 +0,0 @@
-diff --git a/a/Makefile b/b/Makefile
---- a/a/Makefile
-+++ b/b/Makefile
-@@ -5,7 +5,8 @@ PN = gcc-config
- PV = git
- P = $(PN)-$(PV)
- 
--PREFIX = /usr
-+EPREFIX =
-+PREFIX = $(EPREFIX)/usr
- BINDIR = $(PREFIX)/bin
- SUBLIBDIR = lib
- LIBDIR = $(PREFIX)/$(SUBLIBDIR)
-@@ -16,6 +17,11 @@ INSTALL_EXE = install -m 755
- 
- all: wrapper
- 
-+wrapper.c: wrapper.c.in
-+	sed \
-+		-e 's:@GENTOO_PORTAGE_EPREFIX@:$(EPREFIX):g' \
-+		wrapper.c.in > wrapper.c
-+
- clean:
- 	rm -f wrapper *.o core
- 
-@@ -23,6 +29,7 @@ install: all
- 	$(MKDIR_P) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBEXECDIR)
- 	$(INSTALL_EXE) wrapper $(DESTDIR)$(LIBEXECDIR)/$(PN)
- 	sed \
-+		-e 's:@GENTOO_PORTAGE_EPREFIX@:$(EPREFIX):g' \
- 		-e 's:@GENTOO_LIBDIR@:$(SUBLIBDIR):g' \
- 		-e 's:@PV@:$(PV):g' \
- 		gcc-config > $(DESTDIR)$(BINDIR)/gcc-config
-diff --git a/a/gcc-config b/b/gcc-config
-index 18d0b48..935b4c8 100755
---- a/a/gcc-config
-+++ b/b/gcc-config
-@@ -9,14 +9,17 @@
- : ${ROOT:=/}
- [[ ${ROOT} != */ ]] && ROOT="${ROOT}/"
- [[ ${ROOT} != /* ]] && ROOT="${PWD%/}/${ROOT}"
-+BPREFIX="@GENTOO_PORTAGE_EPREFIX@"
-+: ${EPREFIX:=${BPREFIX}}
-+EROOT="${ROOT%/}${EPREFIX}/"
- 
- cd /
- 
- trap ":" INT QUIT TSTP
- 
- argv0=${0##*/}
--source /etc/init.d/functions.sh || {
--	echo "${argv0}: Could not source /etc/init.d/functions.sh!" 1>&2
-+source "${BPREFIX}"/etc/init.d/functions.sh || {
-+	echo "${argv0}: Could not source ${BPREFIX}/etc/init.d/functions.sh!" 1>&2
- 	exit 1
- }
- esyslog() { :; }
-@@ -84,16 +87,16 @@ try_real_hard_to_find_CHOST() {
- 	#
- 
- 	local varname=${1:-CHOST}
--	local conf=${ROOT}/etc/portage/make.conf
--	if [[ ! -e ${conf} && -e ${ROOT}/etc/make.conf ]] ; then
--		conf=${ROOT}/etc/make.conf
-+	local conf=${EROOT}/etc/portage/make.conf
-+	if [[ ! -e ${conf} && -e ${EROOT}/etc/make.conf ]] ; then
-+		conf=${EROOT}/etc/make.conf
- 	fi
- 	local ret=$(source "${conf}" 2>/dev/null ; echo ${!varname})
- 	if [[ -z ${ret} ]] ; then
- 		# newer portage supports spaces between the var and =
- 		# CHOST     =  "this-is-retarded"
- 		ret=$(eval $(
--			sed -n \
-+			${SED} -n \
- 				-e 's:[[:space:]]::g' \
- 				-e "/^${varname}=/p" \
- 				"${conf}"
-@@ -109,8 +112,8 @@ try_real_hard_to_find_CHOST() {
- 	#
- 	# Then we try /etc/env.d/gcc/config-${CTARGET}
- 	#
--	if [[ -s ${ROOT}/etc/env.d/gcc/config-${CTARGET} ]] ; then
--		ret=$(split_gcc_ver $(show_var CURRENT "${ROOT}"/etc/env.d/gcc/config-${CTARGET}))
-+	if [[ -s ${EROOT}/etc/env.d/gcc/config-${CTARGET} ]] ; then
-+		ret=$(split_gcc_ver $(show_var CURRENT "${EROOT}"/etc/env.d/gcc/config-${CTARGET}))
- 		echo ${ret% *}
- 	fi
- }
-@@ -124,7 +127,7 @@ get_chost() {
- 
- 	# make sure portage isnt broken
- 	if python -V &>/dev/null ; then
--		CHOST=$(portageq envvar CHOST 2>/dev/null)
-+		CHOST=$(env -i EPREFIX="${BPREFIX}" "$(PATH="${BPREFIX}/usr/bin:${PATH}" type -P portageq)" envvar CHOST 2>/dev/null)
- 	else
- 		ewarn "Python seems to be broken, attempting to locate CHOST ourselves ..."
- 		CHOST=$(try_real_hard_to_find_CHOST)
-@@ -133,7 +136,7 @@ get_chost() {
- 	if [[ -z ${CHOST} ]] ; then
- 		eerror "${argv0}: Could not get portage CHOST!"
- 		eerror "${argv0}: You should verify that CHOST is set in one of these places:"
--		eerror "${argv0}:  - ${ROOT}/etc/portage/make.conf"
-+		eerror "${argv0}:  - ${EROOT}/etc/portage/make.conf"
- 		eerror "${argv0}:  - active environment"
- 		exit 1
- 	fi
-@@ -196,7 +199,7 @@ update_wrappers() {
- 	# Find the bin wrapper
- 	local wrapper
- 	for wrapper in ${GENTOO_LIBDIR} lib lib64 lib32 lib ; do
--		wrapper="${ROOT}usr/${wrapper}/misc/gcc-config"
-+		wrapper="${EROOT}usr/${wrapper}/misc/gcc-config"
- 		[[ -e ${wrapper} ]] && break
- 	done
- 
-@@ -222,7 +225,7 @@ update_wrappers() {
- 	# new one does not.
- 	for x in "${old_wrappers[@]}" ; do
- 		has "${x}" "${new_wrappers[@]}" && continue
--		rm -f "${ROOT}usr/bin/${x}" "${ROOT}usr/bin/${CTARGET}-${x}"
-+		rm -f "${EROOT}usr/bin/${x}" "${EROOT}usr/bin/${CTARGET}-${x}"
- 	done
- 
- 	# For all toolchains, we want to create the fully qualified
-@@ -259,20 +262,19 @@ update_wrappers() {
- 
- 		# Now do the actual wrapper copy with paths to the reference binary
- 		if [[ -x ${ref} ]] ; then
--			atomic_cp "${wrapper}" "${ROOT}usr/bin" "${x}" "${ref}"
-+			atomic_cp "${wrapper}" "${EROOT}usr/bin" "${x}" "${ref}"
- 		else
- 			ewarn "double insanity with ${x} and ${ref}"
- 			# Make sure we have no stale wrappers
--			rm -f "${ROOT}usr/bin/${x}"
-+			rm -f "${EROOT}usr/bin/${x}"
- 		fi
- 	done
- 	# legacy cruft, make sure we dont leave it laying around #143205
--	rm -f "${ROOT}usr/bin/${CTARGET}-cc" "${ROOT}usr/bin"/{${CTARGET}-,}g{cc,++}{32,64}
-+	rm -f "${EROOT}usr/bin/${CTARGET}-cc" "${EROOT}usr/bin"/{${CTARGET}-,}g{cc,++}{32,64}
- 
- 	# install the canonical cpp wrapper
--	[[ ${CTARGET} == *-solaris* ]] && return 0
- 	if ! is_cross_compiler ; then
--		atomic_cp "${wrapper}" "${ROOT}lib" "cpp" "${ROOT}usr/bin/cpp"
-+		atomic_cp "${wrapper}" "${EROOT}lib" "cpp" "${EROOT}usr/bin/cpp"
- 	fi
- }
- 
-@@ -301,33 +303,45 @@ handle_split_usr() {
- 	eval $(grep -h '^LDPATH=' "${GCC_ENV_D}"/${CHOST}-* | tail -1)
- 	LDPATH=${LDPATH%%:*}
- 
--	# If /usr isn't a sep mount, then don't bother with linking stuff.
--	if ln "${ROOT}/${LDPATH}/libgcc.a" "${ROOT}"/lib/.gcc.config.$$ 2>/dev/null ; then
--		rm -f "${ROOT}"/lib/.gcc.config.$$
--		if [[ -n $(find "${ROOT}"/lib*/lib{gcc_s,unwind}.so* 2>/dev/null) ]] ; then
-+	# If /usr isn't a sep mount or EPREFIX is set, then don't bother with linking stuff.
-+	if [[ -n ${EPREFIX} ]] || ln "${ROOT}/${LDPATH}/libgcc.a" "${EROOT}"/lib/.gcc.config.$$ 2>/dev/null ; then
-+		rm -f "${EROOT}"/lib/.gcc.config.$$
-+		if [[ -n $(find "${EROOT}"/lib*/lib{gcc_s,unwind}{.so*,*dylib} 2>/dev/null) ]] ; then
- 			# If we previously had stuff in /, make sure ldconfig gets re-run.
--			rm -f "${ROOT}"/lib*/lib{gcc_s,unwind}.so*
-+			rm -f "${EROOT}"/lib*/lib{gcc_s,unwind}{.so*,*dylib}
- 			return 1
- 		fi
- 		return 0
- 	fi
- 
--	# Only bother with this stuff for the native ABI.  We assume the user
--	# doesn't have critical binaries for non-native ABIs which is fair.
--	local gcclib
--	local libdir="${ROOT}${GENTOO_LIBDIR}"
--	mkdir -p "${libdir}"/.gcc.config.new || return 0 # !?!?!
--	for gcclib in gcc_s unwind ; do
--		# This assumes that we always have the .so symlink,
--		# but for now, that should be safe ...
--		for gcclib in "${ROOT}${LDPATH}"/lib${gcclib}.so.* ; do
--			[[ -e ${gcclib} ]] || continue
--			cp -pP "${gcclib}" "${libdir}"/.gcc.config.new/
--			# no need to sanity `rm` this as the `mv` should take care
--			# of it.  we also need this step to be completely atomic
--			# for systems that have even `mv` linked against libgcc_s.so.
--			# http://bugs.gentoo.org/150257
--			mv -f "${libdir}"/.gcc.config.new/* "${libdir}"/
-+	gcc="${ROOT}${LATEST_GCC_PATH}/gcc"
-+
-+	local multilib
-+	for multilib in $("${gcc}" -print-multi-lib); do
-+		local multiarg=${multilib#*;}
-+		multiarg=${multiarg/@/-}
-+		local multilibdir=${multilib%;*}
-+		local libdir="${EROOT}lib/"$("${gcc}" ${multiarg} -print-multi-os-directory)
-+
-+		mkdir -p "${libdir}"/.gcc.config.new || continue # !?!?!
-+
-+		# Only bother with this stuff for the native ABI.  We assume the user
-+		# doesn't have critical binaries for non-native ABIs which is fair.
-+		local gcclib
-+		local libdir="${ROOT}${GENTOO_LIBDIR}"
-+		mkdir -p "${libdir}"/.gcc.config.new || return 0 # !?!?!
-+		for gcclib in gcc_s unwind ; do
-+			# This assumes that we always have the .so symlink,
-+			# but for now, that should be safe ...
-+			for gcclib in "${ROOT}${LDPATH}"/lib${gcclib}.so.* ; do
-+				[[ -e ${gcclib} ]] || continue
-+				cp -pP "${gcclib}" "${libdir}"/.gcc.config.new/
-+				# no need to sanity `rm` this as the `mv` should take care
-+				# of it.  we also need this step to be completely atomic
-+				# for systems that have even `mv` linked against libgcc_s.so.
-+				# http://bugs.gentoo.org/150257
-+				mv -f "${libdir}"/.gcc.config.new/* "${libdir}"/
-+			done
- 		done
- 	done
- 	rmdir "${libdir}"/.gcc.config.new
-@@ -341,7 +355,7 @@ switch_profile() {
- 
- 	# Make sure we have write access to the dirs.  Do not require `root`
- 	# so that we work with prefix/cross/etc... setups that run as user.
--	[[ ! -w ${ROOT} ]] && die "need write access to ${ROOT}"
-+	[[ ! -w ${EROOT} ]] && die "need write access to ${EROOT}"
- 
- 	if is_cross_compiler ; then
- 		ebegin "Switching cross-compiler to ${CC_COMP}"
-@@ -408,7 +422,7 @@ switch_profile() {
- 		# Pass all by default
- 		awk '!/^(STDCXX_INCDIR|LDPATH|CC|CXX|CTARGET|GCCBITS|GCC_SPECS|GCC_PATH|MULTIOSDIRS)=/ {print $0}' \
- 			"${GCC_ENV_D}/${CC_COMP}" >> "${envd}.tmp"
--		if [[ -d ${ROOT}/etc/ld.so.conf.d ]] ; then
-+		if [[ -z ${EPREFIX} && -d ${ROOT}/etc/ld.so.conf.d ]] ; then
- 			echo "${MY_LDPATH}" > "${ROOT}"/etc/ld.so.conf.d/05gcc-${CTARGET}.conf
- 		else
- 			echo "LDPATH=\"${MY_LDPATH}\"" >> "${envd}.tmp"
-@@ -427,7 +441,7 @@ switch_profile() {
- 		local x libdir pkgconfdir
- 		local mver=${CC_COMP_VERSION:0:3}
- 		for libdir in ${MULTIOSDIRS//:/ } ; do
--			pkgconfdir="${ROOT}/usr/lib/${libdir}/pkgconfig"
-+			pkgconfdir="${EROOT}/usr/lib/${libdir}/pkgconfig"
- 			for x in "" "-${mver}" ; do
- 				x="${pkgconfdir}/libgcj${x}.pc"
- 				if [[ -e ${pkgconfdir}/libgcj-${CC_COMP_VERSION}.pc ]] ; then
-@@ -458,7 +472,7 @@ switch_profile() {
- 			ewarn "env-update failed to work properly; making sure ld.so.conf paths"
- 			ewarn "are setup properly.  Please rerun gcc-config with the -f option."
- 			echo ""
--			if [[ ! -d /etc/ld.so.conf.d ]] ; then
-+			if [[ -z ${EPREFIX} && ! -d /etc/ld.so.conf.d ]] ; then
- 				show_var LDPATH "${ROOT}"/etc/env.d/05gcc-${CTARGET} \
- 					| sed -e 's|:|\n|g' >> /etc/ld.so.conf
- 			fi
-@@ -475,7 +489,9 @@ switch_profile() {
- 		ewarn "If you intend to use the gcc from the new profile in an already"
- 		ewarn "running shell, please remember to do:"
- 		echo
--		ewarn "  . /etc/profile"
-+		ewarn " (bash) # . ${EPREFIX}/etc/profile"
-+		ewarn "or"
-+		ewarn " (tcsh) # source ${EPREFIX}/etc/csh.login"
- 		echo
- 	fi
- 
-@@ -653,7 +669,7 @@ DOIT=""
- FORCE="no"
- 
- CC_COMP=
--ENV_D="${ROOT}etc/env.d"
-+ENV_D="${EROOT}etc/env.d"
- GCC_ENV_D="${ENV_D}/gcc"
- 
- for x in "$@" ; do
-@@ -784,7 +800,11 @@ if [[ -z ${CC_COMP} ]] ; then
- fi
- 
- if [[ ${DOIT} != "get_current_profile" ]] ; then
--	GCC_LIB=$(get_lib_path | awk -F/ '{ print  "/"$2"/"$3"/"$4"/" }')
-+	GCC_LIB=$(
-+		get_lib_path | \
-+ 			sed -e "s|${EPREFIX}/*|/|g" | \
-+			awk -F/ '{ print "/"$2"/"$3"/"$4"/" }'
-+	)
- 
- 	# For people who insist on using funky version strings ("4.6.x"
- 	# rather than "4.6.2"), allow them to manually specify it.
-@@ -797,11 +817,11 @@ if [[ ${DOIT} != "get_current_profile" ]] ; then
- 		CC_COMP_TARGET=${CC_COMP%-${CC_COMP_VERSION}*}
- 	fi
- 
--	if [[ ! -d ${ROOT}/${GCC_LIB}/${CC_COMP_TARGET}/${CC_COMP_VERSION} ]]; then
-+	if [[ ! -d ${EROOT}/${GCC_LIB}/${CC_COMP_TARGET}/${CC_COMP_VERSION} ]]; then
- 		CC_COMP_VERSION=${CC_COMP_VERSION%-*}
- 	fi
- 
--	if [[ ! -d ${ROOT}/${GCC_LIB}/${CC_COMP_TARGET}/${CC_COMP_VERSION} ]] || \
-+	if [[ ! -d ${EROOT}/${GCC_LIB}/${CC_COMP_TARGET}/${CC_COMP_VERSION} ]] || \
- 	   [[ ! -f ${GCC_ENV_D}/${CC_COMP} ]]
- 	then
- 		eerror "${argv0}: Profile does not exist or invalid setting for ${GCC_ENV_D}/${CC_COMP}" 1>&2
-diff --git a/a/wrapper.c.in b/b/wrapper.c.in
-index 65e5317..afa03bc 100644
---- a/a/wrapper.c.in
-+++ b/b/wrapper.c.in
-@@ -21,8 +21,8 @@
- #include <sys/stat.h>
- #include <sys/types.h>
- 
--#define GCC_CONFIG "/usr/bin/gcc-config"
--#define ENVD_BASE  "/etc/env.d/05gcc"
-+#define GCC_CONFIG "@GENTOO_PORTAGE_EPREFIX@/usr/bin/gcc-config"
-+#define ENVD_BASE  "@GENTOO_PORTAGE_EPREFIX@/etc/env.d/05gcc"
- 
- #define ARRAY_SIZE(arr) (sizeof(arr)/sizeof(arr[0]))
- 
-@@ -146,7 +146,7 @@ static int find_target_in_envd(struct wrapper_data *data, int cross_compile)
- 		/* for the sake of speed, we'll keep a symlink around for
- 		 * the native compiler.  #190260
- 		 */
--		snprintf(envd_file, sizeof(envd_file)-1, "/etc/env.d/gcc/.NATIVE");
-+		snprintf(envd_file, sizeof(envd_file)-1, "@GENTOO_PORTAGE_EPREFIX@/etc/env.d/gcc/.NATIVE");
- 	} else {
- 		char *ctarget, *end = strrchr(data->name, '-');
- 		if (end == NULL)
-@@ -213,7 +213,7 @@ static void find_wrapper_target(struct wrapper_data *data)
- 	/* Only our wrapper is in PATH, so get the CC path using
- 	 * gcc-config and execute the real binary in there ...
- 	 */
--	FILE *inpipe = popen("ROOT= " GCC_CONFIG " --get-bin-path", "r");
-+	FILE *inpipe = popen("ROOT= EPREFIX=\"@GENTOO_PORTAGE_EPREFIX@\" " GCC_CONFIG " --get-bin-path", "r");
- 	if (inpipe == NULL)
- 		wrapper_errp("could not open pipe");
- 
-@@ -289,8 +289,8 @@ int main(int argc, char *argv[])
- 			data.name = wrapper_aliases[i].target;
- 
- 	/* What is the full name of our wrapper? */
--	data.fullname = xmalloc(strlen(data.name) + sizeof("/usr/bin/") + 1);
--	sprintf(data.fullname, "/usr/bin/%s", data.name);
-+	data.fullname = xmalloc(strlen(data.name) + sizeof("@GENTOO_PORTAGE_EPREFIX@/usr/bin/") + 1);
-+	sprintf(data.fullname, "@GENTOO_PORTAGE_EPREFIX@/usr/bin/%s", data.name);
- 
- 	find_wrapper_target(&data);
- 

diff --git a/sys-devel/gcc-config/gcc-config-1.5-r2.ebuild b/sys-devel/gcc-config/gcc-config-1.5-r2.ebuild
deleted file mode 100644
index b8ae28c836..0000000000
--- a/sys-devel/gcc-config/gcc-config-1.5-r2.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc-config/gcc-config-1.5-r2.ebuild,v 1.7 2012/03/15 15:45:05 vapier Exp $
-
-inherit eutils flag-o-matic toolchain-funcs multilib prefix
-
-# Version of .c wrapper to use
-W_VER="1.5.2"
-
-DESCRIPTION="Utility to change the gcc compiler being used"
-HOMEPAGE="http://www.gentoo.org/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE=""
-
-RDEPEND="!app-admin/eselect-compiler
-	>=sys-devel/binutils-config-1.9-r04.3"
-
-S=${WORKDIR}
-
-src_unpack() {
-	cp "${FILESDIR}"/wrapper-${W_VER}.c "${S}"/wrapper.c || die
-	cp "${FILESDIR}"/${PN}-${PV}  "${S}/"${PN}-${PV} || die
-	eprefixify "${S}"/wrapper.c "${S}"/${PN}-${PV}
-}
-
-src_compile() {
-	strip-flags
-
-	emake CC="$(tc-getCC)" wrapper || die "compile wrapper"
-}
-
-src_install() {
-	newbin ${PN}-${PV} ${PN} || die "install gcc-config"
-	sed -i \
-		-e "s:@GENTOO_LIBDIR@:$(get_libdir):g" \
-		"${ED}"/usr/bin/${PN}
-
-	exeinto /usr/$(get_libdir)/misc
-	newexe wrapper gcc-config || die "install wrapper"
-}
-
-pkg_postinst() {
-	# Scrub eselect-compiler remains
-	if [[ -e ${EROOT}/etc/env.d/05compiler ]] ; then
-		rm -f "${EROOT}"/etc/env.d/05compiler
-	fi
-
-	# Make sure old versions dont exist #79062
-	rm -f "${EROOT}"/usr/sbin/gcc-config
-
-	# We not longer use the /usr/include/g++-v3 hacks, as
-	# it is not needed ...
-	[[ -L ${EROOT}/usr/include/g++ ]] && rm -f "${EROOT}"/usr/include/g++
-	[[ -L ${EROOT}/usr/include/g++-v3 ]] && rm -f "${EROOT}"/usr/include/g++-v3
-
-	# Do we have a valid multi ver setup ?
-	local x
-	for x in $(gcc-config -C -l 2>/dev/null | awk '$NF == "*" { print $2 }') ; do
-		gcc-config ${x}
-	done
-}

diff --git a/sys-devel/gcc-config/gcc-config-1.8-r00.1.ebuild b/sys-devel/gcc-config/gcc-config-1.8-r00.1.ebuild
deleted file mode 100644
index bd400001c9..0000000000
--- a/sys-devel/gcc-config/gcc-config-1.8-r00.1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc-config/gcc-config-1.8.ebuild,v 1.2 2014/01/18 03:08:29 vapier Exp $
-
-EAPI=3
-
-inherit unpacker toolchain-funcs multilib eutils
-
-# http://prefix.gentooexperimental.org:8000/gcc-config-prefix/graph/6d287a1709c6
-PREFIXREV=221
-
-DESCRIPTION="utility to manage compilers"
-HOMEPAGE="http://git.overlays.gentoo.org/gitweb/?p=proj/gcc-config.git"
-SRC_URI="mirror://gentoo/${P}.tar.xz
-	http://dev.gentoo.org/~vapier/dist/${P}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE=""
-
-src_prepare() {
-	mv wrapper.c wrapper.c.in || die
-	epatch "${FILESDIR}"/${PN}-prefix-${PV}-r${PREFIXREV}.patch
-	epatch "${FILESDIR}"/${P}-copy-gcc-libs.patch
-}
-
-src_compile() {
-	emake EPREFIX="${EPREFIX}" CC="$(tc-getCC)" || die
-}
-
-src_install() {
-	emake \
-		EPREFIX="${EPREFIX}" \
-		DESTDIR="${D}" \
-		PV="${PV}" \
-		SUBLIBDIR="$(get_libdir)" \
-		install || die
-}
-
-pkg_postinst() {
-	# Scrub eselect-compiler remains
-	rm -f "${EROOT}"/etc/env.d/05compiler &
-
-	# Make sure old versions dont exist #79062
-	rm -f "${EROOT}"/usr/sbin/gcc-config &
-
-	# We not longer use the /usr/include/g++-v3 hacks, as
-	# it is not needed ...
-	rm -f "${EROOT}"/usr/include/g++{,-v3} &
-
-	# Do we have a valid multi ver setup ?
-	local x
-	for x in $(gcc-config -C -l 2>/dev/null | awk '$NF == "*" { print $2 }') ; do
-		gcc-config ${x}
-	done
-
-	wait
-}

diff --git a/sys-devel/gcc-config/gcc-config-1.8-r01.1.ebuild b/sys-devel/gcc-config/gcc-config-1.8-r01.1.ebuild
deleted file mode 100644
index a3b63564e5..0000000000
--- a/sys-devel/gcc-config/gcc-config-1.8-r01.1.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc-config/gcc-config-1.8.ebuild,v 1.1 2012/11/19 06:55:06 vapier Exp $
-
-EAPI=3
-
-inherit unpacker toolchain-funcs multilib eutils
-
-# http://prefix.gentooexperimental.org:8000/gcc-config-prefix/graph/6d287a1709c6
-PREFIXREV=221
-
-DESCRIPTION="utility to manage compilers"
-HOMEPAGE="http://git.overlays.gentoo.org/gitweb/?p=proj/gcc-config.git"
-SRC_URI="mirror://gentoo/${P}.tar.xz
-	http://dev.gentoo.org/~vapier/dist/${P}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE=""
-
-src_prepare() {
-	epatch "${FILESDIR}/${PN}-1.8-dont_source_functions_sh_from_etc_initd.patch" # 504118
-	mv wrapper.c wrapper.c.in || die
-	epatch "${FILESDIR}"/${PN}-prefix-${PV}-r${PREFIXREV}-r1.patch
-	epatch "${FILESDIR}"/${P}-copy-gcc-libs.patch
-	epatch "${FILESDIR}"/${P}-copy-gcc-libs-darwin.patch
-	epatch "${FILESDIR}"/${P}-cygwin.patch
-}
-
-src_compile() {
-	emake EPREFIX="${EPREFIX}" CC="$(tc-getCC)" || die
-}
-
-src_install() {
-	emake \
-		EPREFIX="${EPREFIX}" \
-		DESTDIR="${D}" \
-		PV="${PV}" \
-		SUBLIBDIR="$(get_libdir)" \
-		install || die
-}
-
-pkg_postinst() {
-	# Scrub eselect-compiler remains
-	rm -f "${EROOT}"/etc/env.d/05compiler &
-
-	# Make sure old versions dont exist #79062
-	rm -f "${EROOT}"/usr/sbin/gcc-config &
-
-	# We not longer use the /usr/include/g++-v3 hacks, as
-	# it is not needed ...
-	rm -f "${EROOT}"/usr/include/g++{,-v3} &
-
-	# Do we have a valid multi ver setup ?
-	local x
-	for x in $(gcc-config -C -l 2>/dev/null | awk '$NF == "*" { print $2 }') ; do
-		gcc-config ${x}
-	done
-
-	wait
-}

diff --git a/sys-devel/gcc-config/gcc-config-1.8-r1.ebuild b/sys-devel/gcc-config/gcc-config-1.9.0.ebuild
similarity index 50%
rename from sys-devel/gcc-config/gcc-config-1.8-r1.ebuild
rename to sys-devel/gcc-config/gcc-config-1.9.0.ebuild
index f0c022f072..6c39598837 100644
--- a/sys-devel/gcc-config/gcc-config-1.8-r1.ebuild
+++ b/sys-devel/gcc-config/gcc-config-1.9.0.ebuild
@@ -1,34 +1,29 @@
 # Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc-config/gcc-config-1.8.ebuild,v 1.1 2012/11/19 06:55:06 vapier Exp $
 
-EAPI=3
+EAPI=6
 
-inherit unpacker toolchain-funcs multilib eutils
+inherit eutils toolchain-funcs multilib
 
-# http://prefix.gentooexperimental.org:8000/gcc-config-prefix/graph/6d287a1709c6
-PREFIXREV=221
-
-DESCRIPTION="utility to manage compilers"
-HOMEPAGE="http://git.overlays.gentoo.org/gitweb/?p=proj/gcc-config.git"
+DESCRIPTION="Utility to manage compilers"
+HOMEPAGE="https://gitweb.gentoo.org/proj/gcc-config.git/"
 SRC_URI="mirror://gentoo/${P}.tar.xz
-	http://dev.gentoo.org/~vapier/dist/${P}.tar.xz"
+	https://dev.gentoo.org/~dilfridge/distfiles/${P}.tar.xz"
 
 LICENSE="GPL-2"
 SLOT="0"
 KEYWORDS="~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
 IUSE=""
 
-src_prepare() {
-	mv wrapper.c wrapper.c.in || die
-	epatch "${FILESDIR}"/${PN}-prefix-${PV}-r${PREFIXREV}.patch
-	epatch "${FILESDIR}"/${P}-copy-gcc-libs.patch
-	epatch "${FILESDIR}"/${P}-copy-gcc-libs-darwin.patch
-	epatch "${FILESDIR}"/${P}-cygwin.patch
-}
+RDEPEND=">=sys-apps/gentoo-functions-0.10"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.8-copy-gcc-libs-darwin.patch
+	"${FILESDIR}"/${PN}-1.9-cygwin.patch
+)
 
 src_compile() {
-	emake EPREFIX="${EPREFIX}" CC="$(tc-getCC)" || die
+	emake EPREFIX="${EPREFIX}" CC="$(tc-getCC)"
 }
 
 src_install() {
@@ -37,16 +32,13 @@ src_install() {
 		DESTDIR="${D}" \
 		PV="${PV}" \
 		SUBLIBDIR="$(get_libdir)" \
-		install || die
+		install
 }
 
 pkg_postinst() {
 	# Scrub eselect-compiler remains
 	rm -f "${EROOT}"/etc/env.d/05compiler &
 
-	# Make sure old versions dont exist #79062
-	rm -f "${EROOT}"/usr/sbin/gcc-config &
-
 	# We not longer use the /usr/include/g++-v3 hacks, as
 	# it is not needed ...
 	rm -f "${EROOT}"/usr/include/g++{,-v3} &


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] repo/proj/prefix:master commit in: sys-devel/gcc-config/, sys-devel/gcc-config/files/
@ 2018-01-19 10:44 Michael Haubenwallner
  0 siblings, 0 replies; 3+ messages in thread
From: Michael Haubenwallner @ 2018-01-19 10:44 UTC (permalink / raw
  To: gentoo-commits

commit:     7c116df5b34e6e8f1ae9c2121b1f01d02bb978ff
Author:     Michael Haubenwallner <haubi <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 19 10:44:30 2018 +0000
Commit:     Michael Haubenwallner <haubi <AT> gentoo <DOT> org>
CommitDate: Fri Jan 19 10:44:30 2018 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=7c116df5

sys-devel/gcc-config: sync, use /usr/bin/env bash

For prefix-chaining there eventually is no EPREFIX/bin/bash, so we need
to /usr/bin/env bash instead.

Package-Manager: Portage-2.3.18-prefix, Repoman-2.3.6

 sys-devel/gcc-config/Manifest                      |  1 +
 .../files/gcc-config-1.9-usrbinenv-bash.patch      | 18 +++++++
 sys-devel/gcc-config/gcc-config-1.9.1.ebuild       | 62 ++++++++++++++++++++++
 3 files changed, 81 insertions(+)

diff --git a/sys-devel/gcc-config/Manifest b/sys-devel/gcc-config/Manifest
index ccd59688f9..3a3f29ce03 100644
--- a/sys-devel/gcc-config/Manifest
+++ b/sys-devel/gcc-config/Manifest
@@ -1 +1,2 @@
 DIST gcc-config-1.9.0.tar.xz 17468 BLAKE2B 3e0b6faff3ac582fc0fed921958ff849ba8b1be5b0c25609790cd56400c05371e47ecd955b7bc79362179a559def94463a3667858a70d6edd283d2c064ff0734 SHA512 658c8ce26fdddd6f3e519310001cdf0f8fb01226df2d575fec81b39c083613ef0675024b79b285fab89a930c4ada7a1aef04433eb21947b4e9c0a9cb12f8fabc
+DIST gcc-config-1.9.1.tar.xz 17628 BLAKE2B 8fce87038d9aed625d833327a7e335c311aeb04d44a07a7738def235333a9428664314ddd4da3a1d59d030136734377a838f25ff411b249aba25ea22a88460ee SHA512 6c518c266698277a1ad00a1624fc1ada15ed7096d05a520700c60a27180885169bd2051fb6869e6a958503c8eebc1cd6c211098501c5fe258ee11d96c6a0b069

diff --git a/sys-devel/gcc-config/files/gcc-config-1.9-usrbinenv-bash.patch b/sys-devel/gcc-config/files/gcc-config-1.9-usrbinenv-bash.patch
new file mode 100644
index 0000000000..5df08b42f6
--- /dev/null
+++ b/sys-devel/gcc-config/files/gcc-config-1.9-usrbinenv-bash.patch
@@ -0,0 +1,18 @@
+--- gcc-config-1.9.0/gcc-config
++++ gcc-config-1.9.0/gcc-config
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/usr/bin/env bash
+ # Copyright 1999-2012 Gentoo Foundation
+ # Distributed under the terms of the GNU General Public License v2
+ 
+--- gcc-config-1.9.1/Makefile
++++ gcc-config-1.9.1/Makefile
+@@ -26,7 +26,6 @@
+ 
+ .gcc-config: gcc-config
+ 	sed \
+-		-e '1s:/:$(EPREFIX)/:' \
+ 		-e 's:@GENTOO_EPREFIX@:$(EPREFIX):g' \
+ 		-e 's:@GENTOO_LIBDIR@:$(SUBLIBDIR):g' \
+ 		-e 's:@PV@:$(PV):g' \

diff --git a/sys-devel/gcc-config/gcc-config-1.9.1.ebuild b/sys-devel/gcc-config/gcc-config-1.9.1.ebuild
new file mode 100644
index 0000000000..3605471f2d
--- /dev/null
+++ b/sys-devel/gcc-config/gcc-config-1.9.1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+if [[ ${PV} == 9999 ]]; then
+	EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gcc-config.git"
+	inherit git-r3
+else
+	SRC_URI="mirror://gentoo/${P}.tar.xz
+		https://dev.gentoo.org/~dilfridge/distfiles/${P}.tar.xz"
+	KEYWORDS="~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+fi
+
+DESCRIPTION="Utility to manage compilers"
+HOMEPAGE="https://gitweb.gentoo.org/proj/gcc-config.git/"
+LICENSE="GPL-2"
+SLOT="0"
+IUSE=""
+
+RDEPEND=">=sys-apps/gentoo-functions-0.10"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.8-copy-gcc-libs-darwin.patch
+	"${FILESDIR}"/${PN}-1.9-cygwin.patch
+	"${FILESDIR}"/${PN}-1.9-usrbinenv-bash.patch
+)
+
+src_compile() {
+	emake CC="$(tc-getCC)" \
+		EPREFIX="${EPREFIX}" \
+		PV="${PV}" \
+		SUBLIBDIR="$(get_libdir)"
+}
+
+src_install() {
+	emake \
+		EPREFIX="${EPREFIX}" \
+		DESTDIR="${D}" \
+		PV="${PV}" \
+		SUBLIBDIR="$(get_libdir)" \
+		install
+}
+
+pkg_postinst() {
+	# Scrub eselect-compiler remains
+	rm -f "${EROOT}"/etc/env.d/05compiler &
+
+	# We not longer use the /usr/include/g++-v3 hacks, as
+	# it is not needed ...
+	rm -f "${EROOT}"/usr/include/g++{,-v3} &
+
+	# Do we have a valid multi ver setup ?
+	local x
+	for x in $(gcc-config -C -l 2>/dev/null | awk '$NF == "*" { print $2 }') ; do
+		gcc-config ${x}
+	done
+
+	wait
+}


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] repo/proj/prefix:master commit in: sys-devel/gcc-config/, sys-devel/gcc-config/files/
@ 2024-10-09  7:17 Fabian Groffen
  0 siblings, 0 replies; 3+ messages in thread
From: Fabian Groffen @ 2024-10-09  7:17 UTC (permalink / raw
  To: gentoo-commits

commit:     dff843372e572e30bd93e825c11e9d749fbbfbf8
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Wed Oct  9 07:06:53 2024 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Wed Oct  9 07:16:53 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=dff84337

sys-devel/gcc-config-1.9.1: cleanup old

Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>

 .../files/gcc-config-1.9-usrbinenv-bash.patch      | 18 -------
 ...config-1.9.0-ensure-env-update-for-prefix.patch | 46 ----------------
 sys-devel/gcc-config/gcc-config-1.9.1.ebuild       | 62 ----------------------
 3 files changed, 126 deletions(-)

diff --git a/sys-devel/gcc-config/files/gcc-config-1.9-usrbinenv-bash.patch b/sys-devel/gcc-config/files/gcc-config-1.9-usrbinenv-bash.patch
deleted file mode 100644
index 5df08b42f6..0000000000
--- a/sys-devel/gcc-config/files/gcc-config-1.9-usrbinenv-bash.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- gcc-config-1.9.0/gcc-config
-+++ gcc-config-1.9.0/gcc-config
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/usr/bin/env bash
- # Copyright 1999-2012 Gentoo Foundation
- # Distributed under the terms of the GNU General Public License v2
- 
---- gcc-config-1.9.1/Makefile
-+++ gcc-config-1.9.1/Makefile
-@@ -26,7 +26,6 @@
- 
- .gcc-config: gcc-config
- 	sed \
--		-e '1s:/:$(EPREFIX)/:' \
- 		-e 's:@GENTOO_EPREFIX@:$(EPREFIX):g' \
- 		-e 's:@GENTOO_LIBDIR@:$(SUBLIBDIR):g' \
- 		-e 's:@PV@:$(PV):g' \

diff --git a/sys-devel/gcc-config/files/gcc-config-1.9.0-ensure-env-update-for-prefix.patch b/sys-devel/gcc-config/files/gcc-config-1.9.0-ensure-env-update-for-prefix.patch
deleted file mode 100644
index 744d8a1bc3..0000000000
--- a/sys-devel/gcc-config/files/gcc-config-1.9.0-ensure-env-update-for-prefix.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 748d20380aa1b27149dc1b80c7eaf15fde7c6aba Mon Sep 17 00:00:00 2001
-From: Fabian Groffen <grobian@gentoo.org>
-Date: Fri, 15 Dec 2017 09:30:17 +0100
-Subject: gcc-config: ensure we run env-update for prefix too
-
-The intention of commit cfbb9e94ca23c360d5801946e39da29c7d422dfc was to
-disable running ldconfig and updating ld.so.conf for prefix, but the
-implementation was too greedy and also disabled env-update, which we
-need to activate a compiler, see bug #641096.
-
-Bug: https://bugs.gentoo.org/641096
----
- gcc-config | 12 +++++++-----
- 1 file changed, 7 insertions(+), 5 deletions(-)
-
-diff --git a/gcc-config b/gcc-config
-index 7fcde15..ff8d8ac 100755
---- a/gcc-config
-+++ b/gcc-config
-@@ -693,16 +693,18 @@ switch_profile() {
- 	   [[ ${FORCE} == "yes" || ${envd_changed} -gt 0 ]]
- 	then
- 		# in case python is broken ...
--		if [[ -z ${EPREFIX} ]] && ! env-update ; then
-+		if ! env-update ; then
- 			echo ""
- 			ewarn "env-update failed to work properly; making sure ld.so.conf paths"
- 			ewarn "are setup properly.  Please rerun gcc-config with the -f option."
- 			echo ""
--			if [[ ! -d /etc/ld.so.conf.d ]] ; then
--				show_var LDPATH "${ROOT}"/etc/env.d/05gcc-${CTARGET} \
--					| ${SED} -e 's|:|\n|g' >> /etc/ld.so.conf
-+			if [[ -z ${EPREFIX} ]] ; then
-+				if [[ ! -d /etc/ld.so.conf.d ]] ; then
-+					show_var LDPATH "${ROOT}"/etc/env.d/05gcc-${CTARGET} \
-+						| ${SED} -e 's|:|\n|g' >> /etc/ld.so.conf
-+				fi
-+				ldconfig
- 			fi
--			ldconfig
- 		fi
- 	else
- 		envd_changed=0
--- 
-cgit v1.1
-

diff --git a/sys-devel/gcc-config/gcc-config-1.9.1.ebuild b/sys-devel/gcc-config/gcc-config-1.9.1.ebuild
deleted file mode 100644
index 3746c85755..0000000000
--- a/sys-devel/gcc-config/gcc-config-1.9.1.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit toolchain-funcs
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gcc-config.git"
-	inherit git-r3
-else
-	SRC_URI="mirror://gentoo/${P}.tar.xz
-		https://dev.gentoo.org/~dilfridge/distfiles/${P}.tar.xz"
-	KEYWORDS="~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-fi
-
-DESCRIPTION="Utility to manage compilers"
-HOMEPAGE="https://gitweb.gentoo.org/proj/gcc-config.git/"
-LICENSE="GPL-2"
-SLOT="0"
-IUSE=""
-
-RDEPEND=">=sys-apps/gentoo-functions-0.10"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-1.8-copy-gcc-libs-darwin.patch
-	"${FILESDIR}"/${PN}-1.9-cygwin.patch
-	"${FILESDIR}"/${PN}-1.9-usrbinenv-bash.patch
-)
-
-src_compile() {
-	emake CC="$(tc-getCC)" \
-		EPREFIX="${EPREFIX}" \
-		PV="${PV}" \
-		SUBLIBDIR="$(get_libdir)"
-}
-
-src_install() {
-	emake \
-		EPREFIX="${EPREFIX}" \
-		DESTDIR="${D}" \
-		PV="${PV}" \
-		SUBLIBDIR="$(get_libdir)" \
-		install
-}
-
-pkg_postinst() {
-	# Scrub eselect-compiler remains
-	rm -f "${EROOT}"/etc/env.d/05compiler &
-
-	# We not longer use the /usr/include/g++-v3 hacks, as
-	# it is not needed ...
-	rm -f "${EROOT}"/usr/include/g++{,-v3} &
-
-	# Do we have a valid multi ver setup ?
-	local x
-	for x in $(gcc-config -C -l 2>/dev/null | awk '$NF == "*" { print $2 }') ; do
-		gcc-config ${x}
-	done
-
-	wait
-}


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-10-09  7:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-09  7:17 [gentoo-commits] repo/proj/prefix:master commit in: sys-devel/gcc-config/, sys-devel/gcc-config/files/ Fabian Groffen
  -- strict thread matches above, loose matches on Subject: below --
2018-01-19 10:44 Michael Haubenwallner
2017-11-25 19:46 Fabian Groffen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox