commit:     7d87ccee33c922e1cbc7aba31f25cd75469ff7ce
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 28 22:07:12 2017 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Tue Nov 28 22:07:12 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d87ccee

sys-libs/uclibc-ng: remove older versions

Package-Manager: Portage-2.3.13, Repoman-2.3.3

 sys-libs/uclibc-ng/Manifest                   |   5 -
 sys-libs/uclibc-ng/uclibc-ng-1.0.19.ebuild    | 408 -------------------------
 sys-libs/uclibc-ng/uclibc-ng-1.0.20.ebuild    | 410 -------------------------
 sys-libs/uclibc-ng/uclibc-ng-1.0.22.ebuild    | 411 -------------------------
 sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild    | 411 -------------------------
 sys-libs/uclibc-ng/uclibc-ng-1.0.24-r1.ebuild | 412 --------------------------
 sys-libs/uclibc-ng/uclibc-ng-1.0.24.ebuild    | 411 -------------------------
 7 files changed, 2468 deletions(-)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index ed8e9dcd9cc..970351c1b28 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -1,8 +1,3 @@
-DIST uClibc-ng-1.0.19.tar.bz2 2748768 SHA256 
139c495d8f71ec31da97e0330b056302ff40f0acba66988fcd737cfb4eb445ed SHA512 
d385eca25c4a356b01b6d7acaef63daeeb172769d6306525fb95f62e818aca354cf04fae15af65bc346f19dcfdc601f87e52a8dc95f528d7392648d1b056fe63
 WHIRLPOOL 
1cc6b64df85df5f9e8c15c9cad3ed5641add20f402657a7d9c6283527ba7feac3c90ce293f2b15578c6d816c19018467336e50cd469a46482c2e4168f2addaf5
-DIST uClibc-ng-1.0.20.tar.bz2 2414313 SHA256 
0d0ee9d4df82958f65088f446ffd7548d88deb1f1b949f9ec3e673decb910597 SHA512 
c0d4fc442f087d9bf994a7b84fa12cfae96f2980061cbb39b1c2cf243692d44fcab79d4a686ac5a7889b9081682aa13d013da0ad99cb30ad2b7150bdb19de0de
 WHIRLPOOL 
16035dd540629aa453e023b6ea96eab5e577579e7bb940ed3411107ffd12bc78148e7a14222184207ae40633d30871d9e583c3456a04cc28b96dfd40b287e713
-DIST uClibc-ng-1.0.22.tar.bz2 2435181 SHA256 
430bebc26545022c5c3e9cebd4ee682db0053b94235e0be5df7eeab7ff19a9e0 SHA512 
d29a14813f6b795fbd380a9593742f696cd32ec8fd22001ce092382ca0059357bc921b8eac7d0a6ae2a9cab724b0ddd15f9959ec789b4824a5db820cbd00b6e7
 WHIRLPOOL 
14336e9e159585472a9a01cb69acc0cb59d8df89769e532c4deec4c1a6a0056d8ff091904163ad9ab29c2c5107fe57f3241c8d4e898fe831f21b1a8e685aaec1
-DIST uClibc-ng-1.0.23.tar.bz2 2350186 SHA256 
3eeb53a2aa5a32f455fb9d197f7b598f2ff46bbf35d72073f5e554e70c17c782 SHA512 
eca892a0773cfbabaf5037347b1969706c040c903c93c612d2e0aca8d66b51d6d1cb7f3811a688898bc7e25ca235cc14b6bbd741c51dc135300a0e1408c6d1c3
 WHIRLPOOL 
1fb96469fb7860c05660fae7e58e9c60704cd76ad163a4c46e402e98ada35041a2069f6573498cf596a754044c08f30b4e3fd8fcba2d92c48ee7a7af9376af79
-DIST uClibc-ng-1.0.24.tar.bz2 2299126 SHA256 
d7a3ddc0af8f750abd74e2f677664faafd491f40b62ae0676957e411ca203782 SHA512 
4d25035f2355a2b5549fa89cdd7754fc20c6a5a1001a06a81ee47de18855db368e412eb10e38dcbe2e364d3108cefe50029379a3e222972ceced3b693f4ffcc4
 WHIRLPOOL 
05932258636f041ee12ca2aeec332098e4f61fff92f055a30d024fe7cc953014b93b0ba231cdca2bc0a600e526155734266a71f2f95135dfa305b984f2f2bcd5
 DIST uClibc-ng-1.0.25.tar.bz2 2234505 SHA256 
e20d4a2c78cd76554747e58f35220301afb0fb600ed18f8c9096c98179120a8b SHA512 
3bc5e3f0626a529a688e56649b34c48d0ddf733c09279c84fad0954880aa7c0ec3440664811196d11bbc3f05cbea99f3ba47efaad7f315a55ba3d8d587d3b313
 WHIRLPOOL 
f422d05e1d9aa6ae0ecfc0b7808dd115614877d5a602effdc815123e61808b43558c9a9a530ef4ef918bbd5793bb77eb690660f563bc1f97120cc2a3c0b3650b
 DIST uClibc-ng-1.0.26.tar.bz2 2285709 SHA256 
899e2ae37ba9266d20fc2bf290cece484455555b284140b6442c24a24cddb909 SHA512 
48c37ab2000af13848ef007ce89f226bded5188f37839c11371bab48497670d30d39fda2a031c6aff95f429a4abadc431ddd77c0e023810a341e2c2d2645f71b
 WHIRLPOOL 
32527dde77f30d1394271978e311fdc6ed69ef47b65d00f19efdf37b700a2dca4e6fc5b126c4cfa05321baf2a47fa1335d8d1843991e78eb1d44f4bfe032f818
 DIST uClibc-ng-1.0.27.tar.bz2 2306274 BLAKE2B 
64ad0634ca548960ad3ff003d98981853b0658cad75fcf3b7391b5b965656dc15daa06ae312ca34672caa47a2a3e33fbe6291c94df10547eef5dc395c2cbd0cc
 SHA512 
bf8f56f75465f7b793e0356df495a00a41ed2478ea90e8d686e8591dcb1bb75be27fadedd8adf2494f5053ceefa4b0ba2223758efa2a920ea0f55bf104e433a2

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.19.ebuild 
b/sys-libs/uclibc-ng/uclibc-ng-1.0.19.ebuild
deleted file mode 100644
index 9069233fee3..00000000000
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.19.ebuild
+++ /dev/null
@@ -1,408 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit flag-o-matic multilib savedconfig toolchain-funcs versionator
-
-if [[ ${PV} == "9999" ]] ; then
-       EGIT_REPO_URI="git://uclibc-ng.org/git/uclibc-ng"
-       inherit git-r3
-       MY_P=uclibc-ng-${PV}
-else
-       MY_P=uClibc-ng-${PV}
-fi
-
-DESCRIPTION="C library for developing embedded Linux systems"
-HOMEPAGE="http://www.uclibc-ng.org/";
-if [[ ${PV} != "9999" ]] ; then
-       PATCH_VER=""
-       SRC_URI="http://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2";
-       KEYWORDS="-* amd64 arm ~mips ppc x86"
-fi
-
-LICENSE="LGPL-2"
-SLOT="0"
-IUSE="debug hardened iconv ipv6 rpc crosscompile_opts_headers-only"
-RESTRICT="strip"
-
-# 1) We can't upgrade from uclibc to uclibc-ng via a soft blocker since portage
-#    will delete the ld.so sym link prematurely and break the system. So we
-#    will hard block and give manual migration instructions.
-# 2) Currently uclibc and uclibc-ng's iconv are in bad shape.  We've been using
-#    the breakout library.  The disadvantage here is that we have to sprinkle
-#    LDFAGS=-liconv on build systems that need to link against libiconv.
-RDEPEND="
-       !!sys-libs/uclibc
-       iconv? ( dev-libs/libiconv )"
-
-S=${WORKDIR}/${MY_P}
-
-export CBUILD=${CBUILD:-${CHOST}}
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CHOST} == ${CTARGET} ]] ; then
-       if [[ ${CATEGORY} == cross-* ]] ; then
-               export CTARGET=${CATEGORY#cross-}
-       fi
-fi
-
-is_crosscompile() {
-       [[ ${CHOST} != ${CTARGET} ]]
-}
-
-alt_build_kprefix() {
-       if [[ ${CBUILD} == ${CHOST} && ${CHOST} == ${CTARGET} ]] ; then
-               echo /usr/include
-       else
-               echo /usr/${CTARGET}/usr/include
-       fi
-}
-
-just_headers() {
-       use crosscompile_opts_headers-only && is_crosscompile
-}
-
-uclibc_endian() {
-       # XXX: this wont work for a toolchain which is bi-endian, but we
-       #      dont have any such thing at the moment, so not a big deal
-       touch "${T}"/endian.s
-       $(tc-getAS ${CTARGET}) "${T}"/endian.s -o "${T}"/endian.o
-       case $(file "${T}"/endian.o) in
-               *" MSB "*) echo "BIG";;
-               *" LSB "*) echo "LITTLE";;
-               *)         echo "NFC";;
-       esac
-       rm -f "${T}"/endian.{s,o}
-}
-
-kconfig_q_opt() {
-       local flag=$1; shift
-       case ${flag} in
-               y|n) ;;
-               *) flag=$(usex ${flag} y n) ;;
-       esac
-
-       local var="defs_${flag}"
-       eval "${var}+=( $* )"
-}
-
-get_opt() {
-       (
-       unset ${1}
-       . ${2:-"${S}"/.config}
-       echo ${!1}
-       )
-}
-
-make_oldconfig() {
-       yes "" 2>/dev/null | emake -s oldconfig >/dev/null
-}
-
-make_config() {
-       restore_config .config
-       if [ -f .config ]; then
-               make_oldconfig
-               return 0
-       else
-               ewarn "Could not locate user configfile, so we will save a 
default one"
-       fi
-
-       emake ARCH=$1 defconfig >/dev/null
-
-       local defs_{y,n}
-
-       # These are forced off
-       defs_n=(
-               DOASSERTS
-               DODEBUG_PT
-               HAS_NO_THREADS
-               PROPOLICE_BLOCK_ABRT
-               SSP_QUICK_CANARY
-               SUPPORT_LD_DEBUG_EARLY
-               UCLIBC_HAS_CTYPE_UNSAFE
-               UCLIBC_HAS_LOCALE
-               UCLIBC_HAS_SSP_COMPAT
-       )
-
-       # These are forced on
-       defs_y=(
-               COMPAT_ATEXIT
-               DO_C99_MATH
-               DO_XSI_MATH
-               FORCE_SHAREABLE_TEXT_SEGMENTS
-               LDSO_GNU_HASH_SUPPORT
-               LDSO_PRELINK_SUPPORT
-               LDSO_PRELOAD_FILE_SUPPORT
-               LDSO_RUNPATH_OF_EXECUTABLE
-               LDSO_STANDALONE_SUPPORT
-               MALLOC_GLIBC_COMPAT
-               PROPOLICE_BLOCK_SEGV
-               PTHREADS_DEBUG_SUPPORT
-               UCLIBC_HAS_ARC4RANDOM
-               UCLIBC_HAS_BACKTRACE
-               UCLIBC_HAS_BSD_RES_CLOSE
-               UCLIBC_HAS_CONTEXT_FUNCS
-               UCLIBC_HAS_CTYPE_CHECKED
-               UCLIBC_HAS_EXTRA_COMPAT_RES_STATE
-               UCLIBC_HAS_FENV
-               UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE
-               UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE
-               UCLIBC_HAS_FOPEN_LARGEFILE_MODE
-               UCLIBC_HAS_FTS
-               UCLIBC_HAS_FTW
-               UCLIBC_HAS_GETPT
-               UCLIBC_HAS_GLIBC_CUSTOM_PRINTF
-               UCLIBC_HAS_GLIBC_CUSTOM_STREAMS
-               UCLIBC_HAS_GNU_GLOB
-               UCLIBC_HAS_HEXADECIMAL_FLOATS
-               UCLIBC_HAS_LIBNSL_STUB
-               UCLIBC_HAS_LIBRESOLV_STUB
-               UCLIBC_HAS_LIBUTIL
-               UCLIBC_HAS_NFTW
-               UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
-               UCLIBC_HAS_OBSTACK
-               UCLIBC_HAS_PRINTF_M_SPEC
-               UCLIBC_HAS_PROGRAM_INVOCATION_NAME
-               UCLIBC_HAS_RESOLVER_SUPPORT
-               UCLIBC_HAS_SHA256_CRYPT_IMPL
-               UCLIBC_HAS_SHA512_CRYPT_IMPL
-               UCLIBC_HAS_SSP
-               UCLIBC_HAS_STUBS
-               UCLIBC_HAS_SYS_ERRLIST
-               UCLIBC_HAS_SYS_SIGLIST
-               UCLIBC_HAS_THREADS_NATIVE
-               UCLIBC_HAS_TZ_FILE_READ_MANY
-               UCLIBC_HAS_UTMP
-               UCLIBC_HAS_UTMPX
-               UCLIBC_HAS_WCHAR
-               UCLIBC_HAS_WORDEXP
-               UCLIBC_NTP_LEGACY
-               UCLIBC_SUPPORT_AI_ADDRCONFIG
-               UCLIBC_SUSV2_LEGACY
-               UCLIBC_SUSV3_LEGACY
-               UCLIBC_SUSV3_LEGACY_MACROS
-               UCLIBC_SUSV4_LEGACY
-               UCLIBC_USE_NETLINK
-       )
-
-       sed -i -e '/ARCH_.*_ENDIAN/d' .config
-       kconfig_q_opt y "ARCH_WANTS_$(uclibc_endian)_ENDIAN"
-
-       kconfig_q_opt debug DODEBUG
-       kconfig_q_opt debug SUPPORT_LD_DEBUG
-       kconfig_q_opt debug UCLIBC_HAS_PROFILING
-
-       kconfig_q_opt ipv6 UCLIBC_HAS_IPV6
-
-       kconfig_q_opt rpc UCLIBC_HAS_RPC
-       kconfig_q_opt rpc UCLIBC_HAS_FULL_RPC
-       kconfig_q_opt rpc UCLIBC_HAS_REENTRANT_RPC
-
-       kconfig_q_opt hardened UCLIBC_BUILD_NOEXECSTACK
-       kconfig_q_opt hardened UCLIBC_BUILD_NOW
-       kconfig_q_opt hardened UCLIBC_BUILD_PIE
-       kconfig_q_opt hardened UCLIBC_BUILD_RELRO
-       kconfig_q_opt hardened UCLIBC_BUILD_SSP
-
-       local count def
-       for count in 1 2 ; do
-               # Run twice as some config opts depend on others being enabled 
first.
-               for def in ${defs_y[@]} ; do
-                       sed -i -e "s|.*\<${def}\>.*set|${def}=y|g" .config
-               done
-               for def in ${defs_n[@]} ; do
-                       sed -i -e "s|${def}=y|# ${def} is not set|g" .config
-               done
-               make_oldconfig
-       done
-
-       einfo "Enabled options:"
-       for def in ${defs_y[@]} ; do
-               einfo " " $(grep "^${def}=y" .config || echo "could not find 
${def}")
-       done
-       einfo "Disabled options:"
-       for def in ${defs_n[@]} ; do
-               einfo " " $(grep "^# ${def} is not set" .config || echo "could 
not find ${def}")
-       done
-
-       # setup build and run paths
-       sed -i \
-               -e "/^CROSS_COMPILER_PREFIX/s|=.*|=\"${CTARGET}-\"|" \
-               -e "/^KERNEL_HEADERS/s|=.*|=\"$(alt_build_kprefix)\"|" \
-               -e "/^SHARED_LIB_LOADER_PREFIX/s|=.*|=\"/$(get_libdir)\"|" \
-               -e "/^DEVEL_PREFIX/s|=.*|=\"/usr\"|" \
-               -e "/^RUNTIME_PREFIX/s|=.*|=\"/\"|" \
-               -e "/^UCLIBC_EXTRA_CFLAGS/s|=.*|=\"${UCLIBC_EXTRA_CFLAGS}\"|" \
-               .config || die
-
-       make_oldconfig
-}
-
-pkg_setup() {
-       # Make sure our CHOST is a uclibc toolchain for native compiling
-       if [[ ${CHOST} == ${CTARGET} ]]; then
-               case ${CHOST} in
-                       *-uclinux*|*-uclibc*) ;;
-                       *) die "Use sys-devel/crossdev to build a uclibc 
toolchain" ;;
-               esac
-       fi
-
-       # uClibc-ng doesn't carry old Linux threads, and since we force
-       # threading our only choice is NPTL which requires i486 and later.
-       [[ ${CTARGET} == i386* ]] && die "i386 can't support Native Posix 
Threads (NPTL)."
-}
-
-src_prepare() {
-       local version subversion extraversion
-
-       # uclibc-ng tries to create a two sym link with ld.so,
-       # ld-uClibc.so.{0,MAJOR_VERSION} -> ld-uClibc-<version>.so
-       # where MAJOR_VERSION != 0 indicates the ABI verison.
-       # We want to get rid of this and just have ABI = 0.
-       eapply "${FILESDIR}"/uclibc-compat-r1.patch
-
-       # We need to change the major.minor.sublevel of uclibc-ng.
-       # Upstream sets MAJOR_VERSION = 1 which breaks runtime linking.
-       # If we really want the ABI bump, we'll have to hack the gcc
-       # spec file and change the '*link:' rule.
-       version=( $(get_version_components) )
-       if [[ -z ${version[1]} ]]; then
-               subversion=0
-               extraversion=0
-       else
-               subversion=${version[1]}
-               if [[ -z ${version[2]} ]]; then
-                       extraversion=0
-               else
-                       extraversion=.${version[2]}
-               fi
-       fi
-
-       sed -i \
-               -e "/^MAJOR_VERSION/s|:=.*|:= 0|" \
-               -e "/^MINOR_VERSION/s|:=.*|:= ${version[0]}|" \
-               -e "/^SUBLEVEL/s|:=.*|:= ${subversion}|" \
-               -e "/^EXTRAVERSION/s|:=.*|:= ${extraversion}|" \
-               Rules.mak || die
-
-       eapply_user
-}
-
-src_configure() {
-       # Map our toolchain arch name to the name expected by uClibc-ng.
-       local target=$(tc-arch)
-       case ${target} in
-               amd64) target="x86_64";;
-               arm)   target="arm";;
-               mips)  target="mips";;
-               ppc)   target="powerpc";;
-               x86)   target="i386";;
-       esac
-
-       # Do arch specific configuration by changing the defaults in
-       # extra/Configs/Config.<arch>.  If these are not overridden
-       # by an save .config, they will be selected by default.
-
-       # For i386, i486, i586 and i686
-       local cpu
-       if [[ ${target} == "i386" ]]; then
-               [[ ${CTARGET} == i[456]86* ]] && cpu="${CTARGET:1:1}86"
-               sed -i -e "s|default CONFIG_686|default CONFIG_${cpu:-486}|" \
-                       extra/Configs/Config.i386 || die
-       fi
-
-       # For arm
-       if [[ ${target} == "arm" ]]; then
-               sed -i -e '/Build for EABI/a \\tdefault y' 
extra/Configs/Config.arm
-       fi
-
-       # We set HOSTCC to the proper tuple rather than just 'gcc'
-       sed -i -e "s|^HOSTCC.*=.*|HOSTCC=$(tc-getBUILD_CC)|" Rules.mak
-
-       make_config ${target}
-
-       einfo
-       einfo "Runtime Prefix: /"
-       einfo "Devel Prefix:   /usr"
-       einfo "Kernel Prefix:  $(alt_build_kprefix)"
-       einfo "CBUILD:         ${CBUILD}"
-       einfo "CHOST:          ${CHOST}"
-       einfo "CTARGET:        ${CTARGET}"
-       einfo "ABI:            ${ABI}"
-       einfo "ENDIAN:         $(uclibc_endian)"
-       einfo
-}
-
-src_compile() {
-       emake headers
-       just_headers && return 0
-
-       emake
-       if is_crosscompile ; then
-               emake -C utils hostutils
-       else
-               emake utils
-       fi
-}
-
-src_test() {
-       is_crosscompile && return 0
-
-       # assert test fails on pax/grsec enabled kernels
-       # normal vfork test fails in sandbox (both glibc/uclibc)
-       emake UCLIBC_ONLY=1 check
-}
-
-src_install() {
-       local sysroot=${D}
-       is_crosscompile && sysroot+="/usr/${CTARGET}"
-
-       local target="install"
-       just_headers && target="install_headers"
-       emake DESTDIR="${sysroot}" ${target}
-
-       save_config .config
-
-       # remove files coming from kernel-headers
-       rm -rf "${sysroot}"/usr/include/{linux,asm*}
-
-       # Make sure we install the sys-include symlink so that when
-       # we build a 2nd stage cross-compiler, gcc finds the target
-       # system headers correctly.  See gcc/doc/gccinstall.info
-       if is_crosscompile ; then
-               dosym usr/include /usr/${CTARGET}/sys-include
-               if ! just_headers && [[ -n $(get_opt HAVE_SHARED) ]] ; then
-                       newbin utils/ldconfig.host ${CTARGET}-ldconfig
-                       newbin utils/ldd.host ${CTARGET}-ldd
-               fi
-               return 0
-       fi
-
-       dosym libc.so.0 "${DESTDIR}"/lib/libcrypt.so.0
-       dosym libc.so.0 "${DESTDIR}"/lib/libdl.so.0
-       dosym libc.so.0 "${DESTDIR}"/lib/libm.so.0
-       dosym libc.so.0 "${DESTDIR}"/lib/libpthread.so.0
-       dosym libc.so.0 "${DESTDIR}"/lib/librt.so.0
-       dosym libc.so.0 "${DESTDIR}"/lib/libresolv.so.0
-       dosym libc.so.0 "${DESTDIR}"/lib/libubacktrace.so.0
-       dosym libc.so.0 "${DESTDIR}"/lib/libutil.so.0
-
-       emake DESTDIR="${D}" install_utils
-       dobin extra/scripts/getent
-       dodoc README docs/*.txt
-}
-
-pkg_postinst() {
-       is_crosscompile && return 0
-
-       if [ ! -e "${ROOT}"/etc/TZ ] ; then
-               ewarn "Please remember to set your timezone in /etc/TZ"
-               mkdir -p "${ROOT}"/etc
-               echo "UTC" > "${ROOT}"/etc/TZ
-       fi
-       [ "${ROOT}" != "/" ] && return 0
-       # update cache before reloading init
-       ldconfig
-       # reload init ...
-       /sbin/telinit U 2>/dev/null
-}

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.20.ebuild 
b/sys-libs/uclibc-ng/uclibc-ng-1.0.20.ebuild
deleted file mode 100644
index 89d2e372716..00000000000
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.20.ebuild
+++ /dev/null
@@ -1,410 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit flag-o-matic multilib savedconfig toolchain-funcs versionator
-
-if [[ ${PV} == "9999" ]] ; then
-       EGIT_REPO_URI="git://uclibc-ng.org/git/uclibc-ng"
-       inherit git-r3
-       MY_P=uclibc-ng-${PV}
-else
-       MY_P=uClibc-ng-${PV}
-fi
-
-DESCRIPTION="C library for developing embedded Linux systems"
-HOMEPAGE="http://www.uclibc-ng.org/";
-if [[ ${PV} != "9999" ]] ; then
-       PATCH_VER=""
-       SRC_URI="http://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2";
-       KEYWORDS="-* amd64 arm ~mips ppc x86"
-fi
-
-LICENSE="LGPL-2"
-SLOT="0"
-IUSE="debug hardened iconv ipv6 rpc symlink-compat 
crosscompile_opts_headers-only"
-RESTRICT="strip"
-
-# 1) We can't upgrade from uclibc to uclibc-ng via a soft blocker since portage
-#    will delete the ld.so sym link prematurely and break the system. So we
-#    will hard block and give manual migration instructions.
-# 2) Currently uclibc and uclibc-ng's iconv are in bad shape.  We've been using
-#    the breakout library.  The disadvantage here is that we have to sprinkle
-#    LDFAGS=-liconv on build systems that need to link against libiconv.
-RDEPEND="
-       !!sys-libs/uclibc
-       iconv? ( dev-libs/libiconv )"
-
-S=${WORKDIR}/${MY_P}
-
-export CBUILD=${CBUILD:-${CHOST}}
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CHOST} == ${CTARGET} ]] ; then
-       if [[ ${CATEGORY} == cross-* ]] ; then
-               export CTARGET=${CATEGORY#cross-}
-       fi
-fi
-
-is_crosscompile() {
-       [[ ${CHOST} != ${CTARGET} ]]
-}
-
-alt_build_kprefix() {
-       if [[ ${CBUILD} == ${CHOST} && ${CHOST} == ${CTARGET} ]] ; then
-               echo /usr/include
-       else
-               echo /usr/${CTARGET}/usr/include
-       fi
-}
-
-just_headers() {
-       use crosscompile_opts_headers-only && is_crosscompile
-}
-
-uclibc_endian() {
-       # XXX: this wont work for a toolchain which is bi-endian, but we
-       #      dont have any such thing at the moment, so not a big deal
-       touch "${T}"/endian.s
-       $(tc-getAS ${CTARGET}) "${T}"/endian.s -o "${T}"/endian.o
-       case $(file "${T}"/endian.o) in
-               *" MSB "*) echo "BIG";;
-               *" LSB "*) echo "LITTLE";;
-               *)         echo "NFC";;
-       esac
-       rm -f "${T}"/endian.{s,o}
-}
-
-kconfig_q_opt() {
-       local flag=$1; shift
-       case ${flag} in
-               y|n) ;;
-               *) flag=$(usex ${flag} y n) ;;
-       esac
-
-       local var="defs_${flag}"
-       eval "${var}+=( $* )"
-}
-
-get_opt() {
-       (
-       unset ${1}
-       . ${2:-"${S}"/.config}
-       echo ${!1}
-       )
-}
-
-make_oldconfig() {
-       yes "" 2>/dev/null | emake -s oldconfig >/dev/null
-}
-
-make_config() {
-       restore_config .config
-       if [ -f .config ]; then
-               make_oldconfig
-               return 0
-       else
-               ewarn "Could not locate user configfile, so we will save a 
default one"
-       fi
-
-       emake ARCH=$1 defconfig >/dev/null
-
-       local defs_{y,n}
-
-       # These are forced off
-       defs_n=(
-               DOASSERTS
-               DODEBUG_PT
-               HAS_NO_THREADS
-               PROPOLICE_BLOCK_ABRT
-               SSP_QUICK_CANARY
-               SUPPORT_LD_DEBUG_EARLY
-               UCLIBC_HAS_CTYPE_UNSAFE
-               UCLIBC_HAS_LOCALE
-               UCLIBC_HAS_SSP_COMPAT
-       )
-
-       # These are forced on
-       defs_y=(
-               COMPAT_ATEXIT
-               DO_C99_MATH
-               DO_XSI_MATH
-               FORCE_SHAREABLE_TEXT_SEGMENTS
-               LDSO_GNU_HASH_SUPPORT
-               LDSO_PRELINK_SUPPORT
-               LDSO_PRELOAD_FILE_SUPPORT
-               LDSO_RUNPATH_OF_EXECUTABLE
-               LDSO_STANDALONE_SUPPORT
-               MALLOC_GLIBC_COMPAT
-               PROPOLICE_BLOCK_SEGV
-               PTHREADS_DEBUG_SUPPORT
-               UCLIBC_HAS_ARC4RANDOM
-               UCLIBC_HAS_BACKTRACE
-               UCLIBC_HAS_BSD_RES_CLOSE
-               UCLIBC_HAS_CONTEXT_FUNCS
-               UCLIBC_HAS_CTYPE_CHECKED
-               UCLIBC_HAS_EXTRA_COMPAT_RES_STATE
-               UCLIBC_HAS_FENV
-               UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE
-               UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE
-               UCLIBC_HAS_FOPEN_LARGEFILE_MODE
-               UCLIBC_HAS_FTS
-               UCLIBC_HAS_FTW
-               UCLIBC_HAS_GETPT
-               UCLIBC_HAS_GLIBC_CUSTOM_PRINTF
-               UCLIBC_HAS_GLIBC_CUSTOM_STREAMS
-               UCLIBC_HAS_GNU_GLOB
-               UCLIBC_HAS_HEXADECIMAL_FLOATS
-               UCLIBC_HAS_LIBNSL_STUB
-               UCLIBC_HAS_LIBRESOLV_STUB
-               UCLIBC_HAS_LIBUTIL
-               UCLIBC_HAS_NFTW
-               UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
-               UCLIBC_HAS_OBSTACK
-               UCLIBC_HAS_PRINTF_M_SPEC
-               UCLIBC_HAS_PROGRAM_INVOCATION_NAME
-               UCLIBC_HAS_RESOLVER_SUPPORT
-               UCLIBC_HAS_SHA256_CRYPT_IMPL
-               UCLIBC_HAS_SHA512_CRYPT_IMPL
-               UCLIBC_HAS_SSP
-               UCLIBC_HAS_STUBS
-               UCLIBC_HAS_SYS_ERRLIST
-               UCLIBC_HAS_SYS_SIGLIST
-               UCLIBC_HAS_THREADS_NATIVE
-               UCLIBC_HAS_TZ_FILE_READ_MANY
-               UCLIBC_HAS_UTMP
-               UCLIBC_HAS_UTMPX
-               UCLIBC_HAS_WCHAR
-               UCLIBC_HAS_WORDEXP
-               UCLIBC_NTP_LEGACY
-               UCLIBC_SUPPORT_AI_ADDRCONFIG
-               UCLIBC_SUSV2_LEGACY
-               UCLIBC_SUSV3_LEGACY
-               UCLIBC_SUSV3_LEGACY_MACROS
-               UCLIBC_SUSV4_LEGACY
-               UCLIBC_USE_NETLINK
-       )
-
-       sed -i -e '/ARCH_.*_ENDIAN/d' .config
-       kconfig_q_opt y "ARCH_WANTS_$(uclibc_endian)_ENDIAN"
-
-       kconfig_q_opt debug DODEBUG
-       kconfig_q_opt debug SUPPORT_LD_DEBUG
-       kconfig_q_opt debug UCLIBC_HAS_PROFILING
-
-       kconfig_q_opt ipv6 UCLIBC_HAS_IPV6
-
-       kconfig_q_opt rpc UCLIBC_HAS_RPC
-       kconfig_q_opt rpc UCLIBC_HAS_FULL_RPC
-       kconfig_q_opt rpc UCLIBC_HAS_REENTRANT_RPC
-
-       kconfig_q_opt hardened UCLIBC_BUILD_NOEXECSTACK
-       kconfig_q_opt hardened UCLIBC_BUILD_NOW
-       kconfig_q_opt hardened UCLIBC_BUILD_PIE
-       kconfig_q_opt hardened UCLIBC_BUILD_RELRO
-       kconfig_q_opt hardened UCLIBC_BUILD_SSP
-
-       local count def
-       for count in 1 2 ; do
-               # Run twice as some config opts depend on others being enabled 
first.
-               for def in ${defs_y[@]} ; do
-                       sed -i -e "s|.*\<${def}\>.*set|${def}=y|g" .config
-               done
-               for def in ${defs_n[@]} ; do
-                       sed -i -e "s|${def}=y|# ${def} is not set|g" .config
-               done
-               make_oldconfig
-       done
-
-       einfo "Enabled options:"
-       for def in ${defs_y[@]} ; do
-               einfo " " $(grep "^${def}=y" .config || echo "could not find 
${def}")
-       done
-       einfo "Disabled options:"
-       for def in ${defs_n[@]} ; do
-               einfo " " $(grep "^# ${def} is not set" .config || echo "could 
not find ${def}")
-       done
-
-       # setup build and run paths
-       sed -i \
-               -e "/^CROSS_COMPILER_PREFIX/s|=.*|=\"${CTARGET}-\"|" \
-               -e "/^KERNEL_HEADERS/s|=.*|=\"$(alt_build_kprefix)\"|" \
-               -e "/^SHARED_LIB_LOADER_PREFIX/s|=.*|=\"/$(get_libdir)\"|" \
-               -e "/^DEVEL_PREFIX/s|=.*|=\"/usr\"|" \
-               -e "/^RUNTIME_PREFIX/s|=.*|=\"/\"|" \
-               -e "/^UCLIBC_EXTRA_CFLAGS/s|=.*|=\"${UCLIBC_EXTRA_CFLAGS}\"|" \
-               .config || die
-
-       make_oldconfig
-}
-
-pkg_setup() {
-       # Make sure our CHOST is a uclibc toolchain for native compiling
-       if [[ ${CHOST} == ${CTARGET} ]]; then
-               case ${CHOST} in
-                       *-uclinux*|*-uclibc*) ;;
-                       *) die "Use sys-devel/crossdev to build a uclibc 
toolchain" ;;
-               esac
-       fi
-
-       # uClibc-ng doesn't carry old Linux threads, and since we force
-       # threading our only choice is NPTL which requires i486 and later.
-       [[ ${CTARGET} == i386* ]] && die "i386 can't support Native Posix 
Threads (NPTL)."
-}
-
-src_prepare() {
-       local version subversion extraversion
-
-       # uclibc-ng tries to create a two sym link with ld.so,
-       # ld-uClibc.so.{0,MAJOR_VERSION} -> ld-uClibc-<version>.so
-       # where MAJOR_VERSION != 0 indicates the ABI verison.
-       # We want to get rid of this and just have ABI = 0.
-       eapply "${FILESDIR}"/uclibc-compat-r1.patch
-
-       # We need to change the major.minor.sublevel of uclibc-ng.
-       # Upstream sets MAJOR_VERSION = 1 which breaks runtime linking.
-       # If we really want the ABI bump, we'll have to hack the gcc
-       # spec file and change the '*link:' rule.
-       version=( $(get_version_components) )
-       if [[ -z ${version[1]} ]]; then
-               subversion=0
-               extraversion=0
-       else
-               subversion=${version[1]}
-               if [[ -z ${version[2]} ]]; then
-                       extraversion=0
-               else
-                       extraversion=.${version[2]}
-               fi
-       fi
-
-       sed -i \
-               -e "/^MAJOR_VERSION/s|:=.*|:= 0|" \
-               -e "/^MINOR_VERSION/s|:=.*|:= ${version[0]}|" \
-               -e "/^SUBLEVEL/s|:=.*|:= ${subversion}|" \
-               -e "/^EXTRAVERSION/s|:=.*|:= ${extraversion}|" \
-               Rules.mak || die
-
-       eapply_user
-}
-
-src_configure() {
-       # Map our toolchain arch name to the name expected by uClibc-ng.
-       local target=$(tc-arch)
-       case ${target} in
-               amd64) target="x86_64";;
-               arm)   target="arm";;
-               mips)  target="mips";;
-               ppc)   target="powerpc";;
-               x86)   target="i386";;
-       esac
-
-       # Do arch specific configuration by changing the defaults in
-       # extra/Configs/Config.<arch>.  If these are not overridden
-       # by an save .config, they will be selected by default.
-
-       # For i386, i486, i586 and i686
-       local cpu
-       if [[ ${target} == "i386" ]]; then
-               [[ ${CTARGET} == i[456]86* ]] && cpu="${CTARGET:1:1}86"
-               sed -i -e "s|default CONFIG_686|default CONFIG_${cpu:-486}|" \
-                       extra/Configs/Config.i386 || die
-       fi
-
-       # For arm
-       if [[ ${target} == "arm" ]]; then
-               sed -i -e '/Build for EABI/a \\tdefault y' 
extra/Configs/Config.arm
-       fi
-
-       # We set HOSTCC to the proper tuple rather than just 'gcc'
-       sed -i -e "s|^HOSTCC.*=.*|HOSTCC=$(tc-getBUILD_CC)|" Rules.mak
-
-       make_config ${target}
-
-       einfo
-       einfo "Runtime Prefix: /"
-       einfo "Devel Prefix:   /usr"
-       einfo "Kernel Prefix:  $(alt_build_kprefix)"
-       einfo "CBUILD:         ${CBUILD}"
-       einfo "CHOST:          ${CHOST}"
-       einfo "CTARGET:        ${CTARGET}"
-       einfo "ABI:            ${ABI}"
-       einfo "ENDIAN:         $(uclibc_endian)"
-       einfo
-}
-
-src_compile() {
-       emake headers
-       just_headers && return 0
-
-       emake
-       if is_crosscompile ; then
-               emake -C utils hostutils
-       else
-               emake utils
-       fi
-}
-
-src_test() {
-       is_crosscompile && return 0
-
-       # assert test fails on pax/grsec enabled kernels
-       # normal vfork test fails in sandbox (both glibc/uclibc)
-       emake UCLIBC_ONLY=1 check
-}
-
-src_install() {
-       local sysroot=${D}
-       is_crosscompile && sysroot+="/usr/${CTARGET}"
-
-       local target="install"
-       just_headers && target="install_headers"
-       emake DESTDIR="${sysroot}" ${target}
-
-       save_config .config
-
-       # remove files coming from kernel-headers
-       rm -rf "${sysroot}"/usr/include/{linux,asm*}
-
-       # Make sure we install the sys-include symlink so that when
-       # we build a 2nd stage cross-compiler, gcc finds the target
-       # system headers correctly.  See gcc/doc/gccinstall.info
-       if is_crosscompile ; then
-               dosym usr/include /usr/${CTARGET}/sys-include
-               if ! just_headers && [[ -n $(get_opt HAVE_SHARED) ]] ; then
-                       newbin utils/ldconfig.host ${CTARGET}-ldconfig
-                       newbin utils/ldd.host ${CTARGET}-ldd
-               fi
-               return 0
-       fi
-
-       if use symlink-compat; then
-               dosym libc.so.0 "${DESTDIR}"/lib/libcrypt.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libdl.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libm.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libpthread.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/librt.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libresolv.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libubacktrace.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libutil.so.0
-       fi
-
-       emake DESTDIR="${D}" install_utils
-       dobin extra/scripts/getent
-       dodoc README docs/*.txt
-}
-
-pkg_postinst() {
-       is_crosscompile && return 0
-
-       if [ ! -e "${ROOT}"/etc/TZ ] ; then
-               ewarn "Please remember to set your timezone in /etc/TZ"
-               mkdir -p "${ROOT}"/etc
-               echo "UTC" > "${ROOT}"/etc/TZ
-       fi
-       [ "${ROOT}" != "/" ] && return 0
-       # update cache before reloading init
-       ldconfig
-       # reload init ...
-       /sbin/telinit U 2>/dev/null
-}

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.22.ebuild 
b/sys-libs/uclibc-ng/uclibc-ng-1.0.22.ebuild
deleted file mode 100644
index c0d6e8d0953..00000000000
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.22.ebuild
+++ /dev/null
@@ -1,411 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit flag-o-matic multilib savedconfig toolchain-funcs versionator
-
-if [[ ${PV} == "9999" ]] ; then
-       EGIT_REPO_URI="git://uclibc-ng.org/git/uclibc-ng"
-       inherit git-r3
-       MY_P=uclibc-ng-${PV}
-else
-       MY_P=uClibc-ng-${PV}
-fi
-
-DESCRIPTION="C library for developing embedded Linux systems"
-HOMEPAGE="http://www.uclibc-ng.org/";
-if [[ ${PV} != "9999" ]] ; then
-       PATCH_VER=""
-       SRC_URI="http://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2";
-       #KEYWORDS="-* ~amd64 ~arm ~mips ~ppc ~x86"
-       KEYWORDS="-* ~amd64 ~arm ~ppc ~x86"
-fi
-
-LICENSE="LGPL-2"
-SLOT="0"
-IUSE="debug hardened iconv ipv6 rpc symlink-compat 
crosscompile_opts_headers-only"
-RESTRICT="strip"
-
-# 1) We can't upgrade from uclibc to uclibc-ng via a soft blocker since portage
-#    will delete the ld.so sym link prematurely and break the system. So we
-#    will hard block and give manual migration instructions.
-# 2) Currently uclibc and uclibc-ng's iconv are in bad shape.  We've been using
-#    the breakout library.  The disadvantage here is that we have to sprinkle
-#    LDFAGS=-liconv on build systems that need to link against libiconv.
-RDEPEND="
-       !!sys-libs/uclibc
-       iconv? ( dev-libs/libiconv )"
-
-S=${WORKDIR}/${MY_P}
-
-export CBUILD=${CBUILD:-${CHOST}}
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CHOST} == ${CTARGET} ]] ; then
-       if [[ ${CATEGORY} == cross-* ]] ; then
-               export CTARGET=${CATEGORY#cross-}
-       fi
-fi
-
-is_crosscompile() {
-       [[ ${CHOST} != ${CTARGET} ]]
-}
-
-alt_build_kprefix() {
-       if [[ ${CBUILD} == ${CHOST} && ${CHOST} == ${CTARGET} ]] ; then
-               echo /usr/include
-       else
-               echo /usr/${CTARGET}/usr/include
-       fi
-}
-
-just_headers() {
-       use crosscompile_opts_headers-only && is_crosscompile
-}
-
-uclibc_endian() {
-       # XXX: this wont work for a toolchain which is bi-endian, but we
-       #      dont have any such thing at the moment, so not a big deal
-       touch "${T}"/endian.s
-       $(tc-getAS ${CTARGET}) "${T}"/endian.s -o "${T}"/endian.o
-       case $(file "${T}"/endian.o) in
-               *" MSB "*) echo "BIG";;
-               *" LSB "*) echo "LITTLE";;
-               *)         echo "NFC";;
-       esac
-       rm -f "${T}"/endian.{s,o}
-}
-
-kconfig_q_opt() {
-       local flag=$1; shift
-       case ${flag} in
-               y|n) ;;
-               *) flag=$(usex ${flag} y n) ;;
-       esac
-
-       local var="defs_${flag}"
-       eval "${var}+=( $* )"
-}
-
-get_opt() {
-       (
-       unset ${1}
-       . ${2:-"${S}"/.config}
-       echo ${!1}
-       )
-}
-
-make_oldconfig() {
-       yes "" 2>/dev/null | emake -s oldconfig >/dev/null
-}
-
-make_config() {
-       restore_config .config
-       if [ -f .config ]; then
-               make_oldconfig
-               return 0
-       else
-               ewarn "Could not locate user configfile, so we will save a 
default one"
-       fi
-
-       emake ARCH=$1 defconfig >/dev/null
-
-       local defs_{y,n}
-
-       # These are forced off
-       defs_n=(
-               DOASSERTS
-               DODEBUG_PT
-               HAS_NO_THREADS
-               PROPOLICE_BLOCK_ABRT
-               SSP_QUICK_CANARY
-               SUPPORT_LD_DEBUG_EARLY
-               UCLIBC_HAS_CTYPE_UNSAFE
-               UCLIBC_HAS_LOCALE
-               UCLIBC_HAS_SSP_COMPAT
-       )
-
-       # These are forced on
-       defs_y=(
-               COMPAT_ATEXIT
-               DO_C99_MATH
-               DO_XSI_MATH
-               FORCE_SHAREABLE_TEXT_SEGMENTS
-               LDSO_GNU_HASH_SUPPORT
-               LDSO_PRELINK_SUPPORT
-               LDSO_PRELOAD_FILE_SUPPORT
-               LDSO_RUNPATH_OF_EXECUTABLE
-               LDSO_STANDALONE_SUPPORT
-               MALLOC_GLIBC_COMPAT
-               PROPOLICE_BLOCK_SEGV
-               PTHREADS_DEBUG_SUPPORT
-               UCLIBC_HAS_ARC4RANDOM
-               UCLIBC_HAS_BACKTRACE
-               UCLIBC_HAS_BSD_RES_CLOSE
-               UCLIBC_HAS_CONTEXT_FUNCS
-               UCLIBC_HAS_CTYPE_CHECKED
-               UCLIBC_HAS_EXTRA_COMPAT_RES_STATE
-               UCLIBC_HAS_FENV
-               UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE
-               UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE
-               UCLIBC_HAS_FOPEN_LARGEFILE_MODE
-               UCLIBC_HAS_FTS
-               UCLIBC_HAS_FTW
-               UCLIBC_HAS_GETPT
-               UCLIBC_HAS_GLIBC_CUSTOM_PRINTF
-               UCLIBC_HAS_GLIBC_CUSTOM_STREAMS
-               UCLIBC_HAS_GNU_GLOB
-               UCLIBC_HAS_HEXADECIMAL_FLOATS
-               UCLIBC_HAS_LIBNSL_STUB
-               UCLIBC_HAS_LIBRESOLV_STUB
-               UCLIBC_HAS_LIBUTIL
-               UCLIBC_HAS_NFTW
-               UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
-               UCLIBC_HAS_OBSTACK
-               UCLIBC_HAS_PRINTF_M_SPEC
-               UCLIBC_HAS_PROGRAM_INVOCATION_NAME
-               UCLIBC_HAS_RESOLVER_SUPPORT
-               UCLIBC_HAS_SHA256_CRYPT_IMPL
-               UCLIBC_HAS_SHA512_CRYPT_IMPL
-               UCLIBC_HAS_SSP
-               UCLIBC_HAS_STUBS
-               UCLIBC_HAS_SYS_ERRLIST
-               UCLIBC_HAS_SYS_SIGLIST
-               UCLIBC_HAS_THREADS_NATIVE
-               UCLIBC_HAS_TZ_FILE_READ_MANY
-               UCLIBC_HAS_UTMP
-               UCLIBC_HAS_UTMPX
-               UCLIBC_HAS_WCHAR
-               UCLIBC_HAS_WORDEXP
-               UCLIBC_NTP_LEGACY
-               UCLIBC_SUPPORT_AI_ADDRCONFIG
-               UCLIBC_SUSV2_LEGACY
-               UCLIBC_SUSV3_LEGACY
-               UCLIBC_SUSV3_LEGACY_MACROS
-               UCLIBC_SUSV4_LEGACY
-               UCLIBC_USE_NETLINK
-       )
-
-       sed -i -e '/ARCH_.*_ENDIAN/d' .config
-       kconfig_q_opt y "ARCH_WANTS_$(uclibc_endian)_ENDIAN"
-
-       kconfig_q_opt debug DODEBUG
-       kconfig_q_opt debug SUPPORT_LD_DEBUG
-       kconfig_q_opt debug UCLIBC_HAS_PROFILING
-
-       kconfig_q_opt ipv6 UCLIBC_HAS_IPV6
-
-       kconfig_q_opt rpc UCLIBC_HAS_RPC
-       kconfig_q_opt rpc UCLIBC_HAS_FULL_RPC
-       kconfig_q_opt rpc UCLIBC_HAS_REENTRANT_RPC
-
-       kconfig_q_opt hardened UCLIBC_BUILD_NOEXECSTACK
-       kconfig_q_opt hardened UCLIBC_BUILD_NOW
-       kconfig_q_opt hardened UCLIBC_BUILD_PIE
-       kconfig_q_opt hardened UCLIBC_BUILD_RELRO
-       kconfig_q_opt hardened UCLIBC_BUILD_SSP
-
-       local count def
-       for count in 1 2 ; do
-               # Run twice as some config opts depend on others being enabled 
first.
-               for def in ${defs_y[@]} ; do
-                       sed -i -e "s|.*\<${def}\>.*set|${def}=y|g" .config
-               done
-               for def in ${defs_n[@]} ; do
-                       sed -i -e "s|${def}=y|# ${def} is not set|g" .config
-               done
-               make_oldconfig
-       done
-
-       einfo "Enabled options:"
-       for def in ${defs_y[@]} ; do
-               einfo " " $(grep "^${def}=y" .config || echo "could not find 
${def}")
-       done
-       einfo "Disabled options:"
-       for def in ${defs_n[@]} ; do
-               einfo " " $(grep "^# ${def} is not set" .config || echo "could 
not find ${def}")
-       done
-
-       # setup build and run paths
-       sed -i \
-               -e "/^CROSS_COMPILER_PREFIX/s|=.*|=\"${CTARGET}-\"|" \
-               -e "/^KERNEL_HEADERS/s|=.*|=\"$(alt_build_kprefix)\"|" \
-               -e "/^SHARED_LIB_LOADER_PREFIX/s|=.*|=\"/$(get_libdir)\"|" \
-               -e "/^DEVEL_PREFIX/s|=.*|=\"/usr\"|" \
-               -e "/^RUNTIME_PREFIX/s|=.*|=\"/\"|" \
-               -e "/^UCLIBC_EXTRA_CFLAGS/s|=.*|=\"${UCLIBC_EXTRA_CFLAGS}\"|" \
-               .config || die
-
-       make_oldconfig
-}
-
-pkg_setup() {
-       # Make sure our CHOST is a uclibc toolchain for native compiling
-       if [[ ${CHOST} == ${CTARGET} ]]; then
-               case ${CHOST} in
-                       *-uclinux*|*-uclibc*) ;;
-                       *) die "Use sys-devel/crossdev to build a uclibc 
toolchain" ;;
-               esac
-       fi
-
-       # uClibc-ng doesn't carry old Linux threads, and since we force
-       # threading our only choice is NPTL which requires i486 and later.
-       [[ ${CTARGET} == i386* ]] && die "i386 can't support Native Posix 
Threads (NPTL)."
-}
-
-src_prepare() {
-       local version subversion extraversion
-
-       # uclibc-ng tries to create a two sym link with ld.so,
-       # ld-uClibc.so.{0,MAJOR_VERSION} -> ld-uClibc-<version>.so
-       # where MAJOR_VERSION != 0 indicates the ABI verison.
-       # We want to get rid of this and just have ABI = 0.
-       eapply "${FILESDIR}"/uclibc-compat-r1.patch
-
-       # We need to change the major.minor.sublevel of uclibc-ng.
-       # Upstream sets MAJOR_VERSION = 1 which breaks runtime linking.
-       # If we really want the ABI bump, we'll have to hack the gcc
-       # spec file and change the '*link:' rule.
-       version=( $(get_version_components) )
-       if [[ -z ${version[1]} ]]; then
-               subversion=0
-               extraversion=0
-       else
-               subversion=${version[1]}
-               if [[ -z ${version[2]} ]]; then
-                       extraversion=0
-               else
-                       extraversion=.${version[2]}
-               fi
-       fi
-
-       sed -i \
-               -e "/^MAJOR_VERSION/s|:=.*|:= 0|" \
-               -e "/^MINOR_VERSION/s|:=.*|:= ${version[0]}|" \
-               -e "/^SUBLEVEL/s|:=.*|:= ${subversion}|" \
-               -e "/^EXTRAVERSION/s|:=.*|:= ${extraversion}|" \
-               Rules.mak || die
-
-       eapply_user
-}
-
-src_configure() {
-       # Map our toolchain arch name to the name expected by uClibc-ng.
-       local target=$(tc-arch)
-       case ${target} in
-               amd64) target="x86_64";;
-               arm)   target="arm";;
-               mips)  target="mips";;
-               ppc)   target="powerpc";;
-               x86)   target="i386";;
-       esac
-
-       # Do arch specific configuration by changing the defaults in
-       # extra/Configs/Config.<arch>.  If these are not overridden
-       # by an save .config, they will be selected by default.
-
-       # For i386, i486, i586 and i686
-       local cpu
-       if [[ ${target} == "i386" ]]; then
-               [[ ${CTARGET} == i[456]86* ]] && cpu="${CTARGET:1:1}86"
-               sed -i -e "s|default CONFIG_686|default CONFIG_${cpu:-486}|" \
-                       extra/Configs/Config.i386 || die
-       fi
-
-       # For arm
-       if [[ ${target} == "arm" ]]; then
-               sed -i -e '/Build for EABI/a \\tdefault y' 
extra/Configs/Config.arm
-       fi
-
-       # We set HOSTCC to the proper tuple rather than just 'gcc'
-       sed -i -e "s|^HOSTCC.*=.*|HOSTCC=$(tc-getBUILD_CC)|" Rules.mak
-
-       make_config ${target}
-
-       einfo
-       einfo "Runtime Prefix: /"
-       einfo "Devel Prefix:   /usr"
-       einfo "Kernel Prefix:  $(alt_build_kprefix)"
-       einfo "CBUILD:         ${CBUILD}"
-       einfo "CHOST:          ${CHOST}"
-       einfo "CTARGET:        ${CTARGET}"
-       einfo "ABI:            ${ABI}"
-       einfo "ENDIAN:         $(uclibc_endian)"
-       einfo
-}
-
-src_compile() {
-       emake headers
-       just_headers && return 0
-
-       emake
-       if is_crosscompile ; then
-               emake -C utils hostutils
-       else
-               emake utils
-       fi
-}
-
-src_test() {
-       is_crosscompile && return 0
-
-       # assert test fails on pax/grsec enabled kernels
-       # normal vfork test fails in sandbox (both glibc/uclibc)
-       emake UCLIBC_ONLY=1 check
-}
-
-src_install() {
-       local sysroot=${D}
-       is_crosscompile && sysroot+="/usr/${CTARGET}"
-
-       local target="install"
-       just_headers && target="install_headers"
-       emake DESTDIR="${sysroot}" ${target}
-
-       save_config .config
-
-       # remove files coming from kernel-headers
-       rm -rf "${sysroot}"/usr/include/{linux,asm*}
-
-       # Make sure we install the sys-include symlink so that when
-       # we build a 2nd stage cross-compiler, gcc finds the target
-       # system headers correctly.  See gcc/doc/gccinstall.info
-       if is_crosscompile ; then
-               dosym usr/include /usr/${CTARGET}/sys-include
-               if ! just_headers && [[ -n $(get_opt HAVE_SHARED) ]] ; then
-                       newbin utils/ldconfig.host ${CTARGET}-ldconfig
-                       newbin utils/ldd.host ${CTARGET}-ldd
-               fi
-               return 0
-       fi
-
-       if use symlink-compat; then
-               dosym libc.so.0 "${DESTDIR}"/lib/libcrypt.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libdl.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libm.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libpthread.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/librt.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libresolv.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libubacktrace.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libutil.so.0
-       fi
-
-       emake DESTDIR="${D}" install_utils
-       dobin extra/scripts/getent
-       dodoc README docs/*.txt
-}
-
-pkg_postinst() {
-       is_crosscompile && return 0
-
-       if [ ! -e "${ROOT}"/etc/TZ ] ; then
-               ewarn "Please remember to set your timezone in /etc/TZ"
-               mkdir -p "${ROOT}"/etc
-               echo "UTC" > "${ROOT}"/etc/TZ
-       fi
-       [ "${ROOT}" != "/" ] && return 0
-       # update cache before reloading init
-       ldconfig
-       # reload init ...
-       /sbin/telinit U 2>/dev/null
-}

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild 
b/sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild
deleted file mode 100644
index d10bebbe0ba..00000000000
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild
+++ /dev/null
@@ -1,411 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit flag-o-matic multilib savedconfig toolchain-funcs versionator
-
-if [[ ${PV} == "9999" ]] ; then
-       EGIT_REPO_URI="git://uclibc-ng.org/git/uclibc-ng"
-       inherit git-r3
-       MY_P=uclibc-ng-${PV}
-else
-       MY_P=uClibc-ng-${PV}
-fi
-
-DESCRIPTION="C library for developing embedded Linux systems"
-HOMEPAGE="http://www.uclibc-ng.org/";
-if [[ ${PV} != "9999" ]] ; then
-       PATCH_VER=""
-       SRC_URI="http://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2";
-       #KEYWORDS="-* ~amd64 ~arm ~mips ~ppc ~x86"
-       KEYWORDS="-* amd64 arm ~mips ppc x86"
-fi
-
-LICENSE="LGPL-2"
-SLOT="0"
-IUSE="debug hardened iconv ipv6 rpc symlink-compat 
crosscompile_opts_headers-only"
-RESTRICT="strip"
-
-# 1) We can't upgrade from uclibc to uclibc-ng via a soft blocker since portage
-#    will delete the ld.so sym link prematurely and break the system. So we
-#    will hard block and give manual migration instructions.
-# 2) Currently uclibc and uclibc-ng's iconv are in bad shape.  We've been using
-#    the breakout library.  The disadvantage here is that we have to sprinkle
-#    LDFAGS=-liconv on build systems that need to link against libiconv.
-RDEPEND="
-       !!sys-libs/uclibc
-       iconv? ( dev-libs/libiconv )"
-
-S=${WORKDIR}/${MY_P}
-
-export CBUILD=${CBUILD:-${CHOST}}
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CHOST} == ${CTARGET} ]] ; then
-       if [[ ${CATEGORY} == cross-* ]] ; then
-               export CTARGET=${CATEGORY#cross-}
-       fi
-fi
-
-is_crosscompile() {
-       [[ ${CHOST} != ${CTARGET} ]]
-}
-
-alt_build_kprefix() {
-       if [[ ${CBUILD} == ${CHOST} && ${CHOST} == ${CTARGET} ]] ; then
-               echo /usr/include
-       else
-               echo /usr/${CTARGET}/usr/include
-       fi
-}
-
-just_headers() {
-       use crosscompile_opts_headers-only && is_crosscompile
-}
-
-uclibc_endian() {
-       # XXX: this wont work for a toolchain which is bi-endian, but we
-       #      dont have any such thing at the moment, so not a big deal
-       touch "${T}"/endian.s
-       $(tc-getAS ${CTARGET}) "${T}"/endian.s -o "${T}"/endian.o
-       case $(file "${T}"/endian.o) in
-               *" MSB "*) echo "BIG";;
-               *" LSB "*) echo "LITTLE";;
-               *)         echo "NFC";;
-       esac
-       rm -f "${T}"/endian.{s,o}
-}
-
-kconfig_q_opt() {
-       local flag=$1; shift
-       case ${flag} in
-               y|n) ;;
-               *) flag=$(usex ${flag} y n) ;;
-       esac
-
-       local var="defs_${flag}"
-       eval "${var}+=( $* )"
-}
-
-get_opt() {
-       (
-       unset ${1}
-       . ${2:-"${S}"/.config}
-       echo ${!1}
-       )
-}
-
-make_oldconfig() {
-       yes "" 2>/dev/null | emake -s oldconfig >/dev/null
-}
-
-make_config() {
-       restore_config .config
-       if [ -f .config ]; then
-               make_oldconfig
-               return 0
-       else
-               ewarn "Could not locate user configfile, so we will save a 
default one"
-       fi
-
-       emake ARCH=$1 defconfig >/dev/null
-
-       local defs_{y,n}
-
-       # These are forced off
-       defs_n=(
-               DOASSERTS
-               DODEBUG_PT
-               HAS_NO_THREADS
-               PROPOLICE_BLOCK_ABRT
-               SSP_QUICK_CANARY
-               SUPPORT_LD_DEBUG_EARLY
-               UCLIBC_HAS_CTYPE_UNSAFE
-               UCLIBC_HAS_LOCALE
-               UCLIBC_HAS_SSP_COMPAT
-       )
-
-       # These are forced on
-       defs_y=(
-               COMPAT_ATEXIT
-               DO_C99_MATH
-               DO_XSI_MATH
-               FORCE_SHAREABLE_TEXT_SEGMENTS
-               LDSO_GNU_HASH_SUPPORT
-               LDSO_PRELINK_SUPPORT
-               LDSO_PRELOAD_FILE_SUPPORT
-               LDSO_RUNPATH_OF_EXECUTABLE
-               LDSO_STANDALONE_SUPPORT
-               MALLOC_GLIBC_COMPAT
-               PROPOLICE_BLOCK_SEGV
-               PTHREADS_DEBUG_SUPPORT
-               UCLIBC_HAS_ARC4RANDOM
-               UCLIBC_HAS_BACKTRACE
-               UCLIBC_HAS_BSD_RES_CLOSE
-               UCLIBC_HAS_CONTEXT_FUNCS
-               UCLIBC_HAS_CTYPE_CHECKED
-               UCLIBC_HAS_EXTRA_COMPAT_RES_STATE
-               UCLIBC_HAS_FENV
-               UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE
-               UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE
-               UCLIBC_HAS_FOPEN_LARGEFILE_MODE
-               UCLIBC_HAS_FTS
-               UCLIBC_HAS_FTW
-               UCLIBC_HAS_GETPT
-               UCLIBC_HAS_GLIBC_CUSTOM_PRINTF
-               UCLIBC_HAS_GLIBC_CUSTOM_STREAMS
-               UCLIBC_HAS_GNU_GLOB
-               UCLIBC_HAS_HEXADECIMAL_FLOATS
-               UCLIBC_HAS_LIBNSL_STUB
-               UCLIBC_HAS_LIBRESOLV_STUB
-               UCLIBC_HAS_LIBUTIL
-               UCLIBC_HAS_NFTW
-               UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
-               UCLIBC_HAS_OBSTACK
-               UCLIBC_HAS_PRINTF_M_SPEC
-               UCLIBC_HAS_PROGRAM_INVOCATION_NAME
-               UCLIBC_HAS_RESOLVER_SUPPORT
-               UCLIBC_HAS_SHA256_CRYPT_IMPL
-               UCLIBC_HAS_SHA512_CRYPT_IMPL
-               UCLIBC_HAS_SSP
-               UCLIBC_HAS_STUBS
-               UCLIBC_HAS_SYS_ERRLIST
-               UCLIBC_HAS_SYS_SIGLIST
-               UCLIBC_HAS_THREADS_NATIVE
-               UCLIBC_HAS_TZ_FILE_READ_MANY
-               UCLIBC_HAS_UTMP
-               UCLIBC_HAS_UTMPX
-               UCLIBC_HAS_WCHAR
-               UCLIBC_HAS_WORDEXP
-               UCLIBC_NTP_LEGACY
-               UCLIBC_SUPPORT_AI_ADDRCONFIG
-               UCLIBC_SUSV2_LEGACY
-               UCLIBC_SUSV3_LEGACY
-               UCLIBC_SUSV3_LEGACY_MACROS
-               UCLIBC_SUSV4_LEGACY
-               UCLIBC_USE_NETLINK
-       )
-
-       sed -i -e '/ARCH_.*_ENDIAN/d' .config
-       kconfig_q_opt y "ARCH_WANTS_$(uclibc_endian)_ENDIAN"
-
-       kconfig_q_opt debug DODEBUG
-       kconfig_q_opt debug SUPPORT_LD_DEBUG
-       kconfig_q_opt debug UCLIBC_HAS_PROFILING
-
-       kconfig_q_opt ipv6 UCLIBC_HAS_IPV6
-
-       kconfig_q_opt rpc UCLIBC_HAS_RPC
-       kconfig_q_opt rpc UCLIBC_HAS_FULL_RPC
-       kconfig_q_opt rpc UCLIBC_HAS_REENTRANT_RPC
-
-       kconfig_q_opt hardened UCLIBC_BUILD_NOEXECSTACK
-       kconfig_q_opt hardened UCLIBC_BUILD_NOW
-       kconfig_q_opt hardened UCLIBC_BUILD_PIE
-       kconfig_q_opt hardened UCLIBC_BUILD_RELRO
-       kconfig_q_opt hardened UCLIBC_BUILD_SSP
-
-       local count def
-       for count in 1 2 ; do
-               # Run twice as some config opts depend on others being enabled 
first.
-               for def in ${defs_y[@]} ; do
-                       sed -i -e "s|.*\<${def}\>.*set|${def}=y|g" .config
-               done
-               for def in ${defs_n[@]} ; do
-                       sed -i -e "s|${def}=y|# ${def} is not set|g" .config
-               done
-               make_oldconfig
-       done
-
-       einfo "Enabled options:"
-       for def in ${defs_y[@]} ; do
-               einfo " " $(grep "^${def}=y" .config || echo "could not find 
${def}")
-       done
-       einfo "Disabled options:"
-       for def in ${defs_n[@]} ; do
-               einfo " " $(grep "^# ${def} is not set" .config || echo "could 
not find ${def}")
-       done
-
-       # setup build and run paths
-       sed -i \
-               -e "/^CROSS_COMPILER_PREFIX/s|=.*|=\"${CTARGET}-\"|" \
-               -e "/^KERNEL_HEADERS/s|=.*|=\"$(alt_build_kprefix)\"|" \
-               -e "/^SHARED_LIB_LOADER_PREFIX/s|=.*|=\"/$(get_libdir)\"|" \
-               -e "/^DEVEL_PREFIX/s|=.*|=\"/usr\"|" \
-               -e "/^RUNTIME_PREFIX/s|=.*|=\"/\"|" \
-               -e "/^UCLIBC_EXTRA_CFLAGS/s|=.*|=\"${UCLIBC_EXTRA_CFLAGS}\"|" \
-               .config || die
-
-       make_oldconfig
-}
-
-pkg_setup() {
-       # Make sure our CHOST is a uclibc toolchain for native compiling
-       if [[ ${CHOST} == ${CTARGET} ]]; then
-               case ${CHOST} in
-                       *-uclinux*|*-uclibc*) ;;
-                       *) die "Use sys-devel/crossdev to build a uclibc 
toolchain" ;;
-               esac
-       fi
-
-       # uClibc-ng doesn't carry old Linux threads, and since we force
-       # threading our only choice is NPTL which requires i486 and later.
-       [[ ${CTARGET} == i386* ]] && die "i386 can't support Native Posix 
Threads (NPTL)."
-}
-
-src_prepare() {
-       local version subversion extraversion
-
-       # uclibc-ng tries to create a two sym link with ld.so,
-       # ld-uClibc.so.{0,MAJOR_VERSION} -> ld-uClibc-<version>.so
-       # where MAJOR_VERSION != 0 indicates the ABI verison.
-       # We want to get rid of this and just have ABI = 0.
-       eapply "${FILESDIR}"/uclibc-compat-r1.patch
-
-       # We need to change the major.minor.sublevel of uclibc-ng.
-       # Upstream sets MAJOR_VERSION = 1 which breaks runtime linking.
-       # If we really want the ABI bump, we'll have to hack the gcc
-       # spec file and change the '*link:' rule.
-       version=( $(get_version_components) )
-       if [[ -z ${version[1]} ]]; then
-               subversion=0
-               extraversion=0
-       else
-               subversion=${version[1]}
-               if [[ -z ${version[2]} ]]; then
-                       extraversion=0
-               else
-                       extraversion=.${version[2]}
-               fi
-       fi
-
-       sed -i \
-               -e "/^MAJOR_VERSION/s|:=.*|:= 0|" \
-               -e "/^MINOR_VERSION/s|:=.*|:= ${version[0]}|" \
-               -e "/^SUBLEVEL/s|:=.*|:= ${subversion}|" \
-               -e "/^EXTRAVERSION/s|:=.*|:= ${extraversion}|" \
-               Rules.mak || die
-
-       eapply_user
-}
-
-src_configure() {
-       # Map our toolchain arch name to the name expected by uClibc-ng.
-       local target=$(tc-arch)
-       case ${target} in
-               amd64) target="x86_64";;
-               arm)   target="arm";;
-               mips)  target="mips";;
-               ppc)   target="powerpc";;
-               x86)   target="i386";;
-       esac
-
-       # Do arch specific configuration by changing the defaults in
-       # extra/Configs/Config.<arch>.  If these are not overridden
-       # by an save .config, they will be selected by default.
-
-       # For i386, i486, i586 and i686
-       local cpu
-       if [[ ${target} == "i386" ]]; then
-               [[ ${CTARGET} == i[456]86* ]] && cpu="${CTARGET:1:1}86"
-               sed -i -e "s|default CONFIG_686|default CONFIG_${cpu:-486}|" \
-                       extra/Configs/Config.i386 || die
-       fi
-
-       # For arm
-       if [[ ${target} == "arm" ]]; then
-               sed -i -e '/Build for EABI/a \\tdefault y' 
extra/Configs/Config.arm
-       fi
-
-       # We set HOSTCC to the proper tuple rather than just 'gcc'
-       sed -i -e "s|^HOSTCC.*=.*|HOSTCC=$(tc-getBUILD_CC)|" Rules.mak
-
-       make_config ${target}
-
-       einfo
-       einfo "Runtime Prefix: /"
-       einfo "Devel Prefix:   /usr"
-       einfo "Kernel Prefix:  $(alt_build_kprefix)"
-       einfo "CBUILD:         ${CBUILD}"
-       einfo "CHOST:          ${CHOST}"
-       einfo "CTARGET:        ${CTARGET}"
-       einfo "ABI:            ${ABI}"
-       einfo "ENDIAN:         $(uclibc_endian)"
-       einfo
-}
-
-src_compile() {
-       emake headers
-       just_headers && return 0
-
-       emake
-       if is_crosscompile ; then
-               emake -C utils hostutils
-       else
-               emake utils
-       fi
-}
-
-src_test() {
-       is_crosscompile && return 0
-
-       # assert test fails on pax/grsec enabled kernels
-       # normal vfork test fails in sandbox (both glibc/uclibc)
-       emake UCLIBC_ONLY=1 check
-}
-
-src_install() {
-       local sysroot=${D}
-       is_crosscompile && sysroot+="/usr/${CTARGET}"
-
-       local target="install"
-       just_headers && target="install_headers"
-       emake DESTDIR="${sysroot}" ${target}
-
-       save_config .config
-
-       # remove files coming from kernel-headers
-       rm -rf "${sysroot}"/usr/include/{linux,asm*}
-
-       # Make sure we install the sys-include symlink so that when
-       # we build a 2nd stage cross-compiler, gcc finds the target
-       # system headers correctly.  See gcc/doc/gccinstall.info
-       if is_crosscompile ; then
-               dosym usr/include /usr/${CTARGET}/sys-include
-               if ! just_headers && [[ -n $(get_opt HAVE_SHARED) ]] ; then
-                       newbin utils/ldconfig.host ${CTARGET}-ldconfig
-                       newbin utils/ldd.host ${CTARGET}-ldd
-               fi
-               return 0
-       fi
-
-       if use symlink-compat; then
-               dosym libc.so.0 "${DESTDIR}"/lib/libcrypt.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libdl.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libm.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libpthread.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/librt.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libresolv.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libubacktrace.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libutil.so.0
-       fi
-
-       emake DESTDIR="${D}" install_utils
-       dobin extra/scripts/getent
-       dodoc README docs/*.txt
-}
-
-pkg_postinst() {
-       is_crosscompile && return 0
-
-       if [ ! -e "${ROOT}"/etc/TZ ] ; then
-               ewarn "Please remember to set your timezone in /etc/TZ"
-               mkdir -p "${ROOT}"/etc
-               echo "UTC" > "${ROOT}"/etc/TZ
-       fi
-       [ "${ROOT}" != "/" ] && return 0
-       # update cache before reloading init
-       ldconfig
-       # reload init ...
-       /sbin/telinit U 2>/dev/null
-}

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.24-r1.ebuild 
b/sys-libs/uclibc-ng/uclibc-ng-1.0.24-r1.ebuild
deleted file mode 100644
index de763355387..00000000000
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.24-r1.ebuild
+++ /dev/null
@@ -1,412 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit flag-o-matic multilib savedconfig toolchain-funcs versionator
-
-if [[ ${PV} == "9999" ]] ; then
-       EGIT_REPO_URI="git://uclibc-ng.org/git/uclibc-ng"
-       inherit git-r3
-       MY_P=uclibc-ng-${PV}
-else
-       MY_P=uClibc-ng-${PV}
-fi
-
-DESCRIPTION="C library for developing embedded Linux systems"
-HOMEPAGE="http://www.uclibc-ng.org/";
-if [[ ${PV} != "9999" ]] ; then
-       PATCH_VER=""
-       SRC_URI="http://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2";
-       #KEYWORDS="-* ~amd64 ~arm ~mips ~ppc ~x86"
-       KEYWORDS="-* ~amd64 ~arm ~ppc ~x86"
-fi
-
-LICENSE="LGPL-2"
-SLOT="0"
-IUSE="debug hardened iconv ipv6 rpc symlink-compat 
crosscompile_opts_headers-only"
-RESTRICT="strip"
-
-# 1) We can't upgrade from uclibc to uclibc-ng via a soft blocker since portage
-#    will delete the ld.so sym link prematurely and break the system. So we
-#    will hard block and give manual migration instructions.
-# 2) Currently uclibc and uclibc-ng's iconv are in bad shape.  We've been using
-#    the breakout library.  The disadvantage here is that we have to sprinkle
-#    LDFAGS=-liconv on build systems that need to link against libiconv.
-RDEPEND="
-       !!sys-libs/uclibc
-       iconv? ( dev-libs/libiconv )"
-
-S=${WORKDIR}/${MY_P}
-
-export CBUILD=${CBUILD:-${CHOST}}
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CHOST} == ${CTARGET} ]] ; then
-       if [[ ${CATEGORY} == cross-* ]] ; then
-               export CTARGET=${CATEGORY#cross-}
-       fi
-fi
-
-is_crosscompile() {
-       [[ ${CHOST} != ${CTARGET} ]]
-}
-
-alt_build_kprefix() {
-       if [[ ${CBUILD} == ${CHOST} && ${CHOST} == ${CTARGET} ]] ; then
-               echo /usr/include
-       else
-               echo /usr/${CTARGET}/usr/include
-       fi
-}
-
-just_headers() {
-       use crosscompile_opts_headers-only && is_crosscompile
-}
-
-uclibc_endian() {
-       # XXX: this wont work for a toolchain which is bi-endian, but we
-       #      dont have any such thing at the moment, so not a big deal
-       touch "${T}"/endian.s
-       $(tc-getAS ${CTARGET}) "${T}"/endian.s -o "${T}"/endian.o
-       case $(file "${T}"/endian.o) in
-               *" MSB "*) echo "BIG";;
-               *" LSB "*) echo "LITTLE";;
-               *)         echo "NFC";;
-       esac
-       rm -f "${T}"/endian.{s,o}
-}
-
-kconfig_q_opt() {
-       local flag=$1; shift
-       case ${flag} in
-               y|n) ;;
-               *) flag=$(usex ${flag} y n) ;;
-       esac
-
-       local var="defs_${flag}"
-       eval "${var}+=( $* )"
-}
-
-get_opt() {
-       (
-       unset ${1}
-       . ${2:-"${S}"/.config}
-       echo ${!1}
-       )
-}
-
-make_oldconfig() {
-       yes "" 2>/dev/null | emake -s oldconfig >/dev/null
-}
-
-make_config() {
-       restore_config .config
-       if [ -f .config ]; then
-               make_oldconfig
-               return 0
-       else
-               ewarn "Could not locate user configfile, so we will save a 
default one"
-       fi
-
-       emake ARCH=$1 defconfig >/dev/null
-
-       local defs_{y,n}
-
-       # These are forced off
-       defs_n=(
-               DOASSERTS
-               DODEBUG_PT
-               HAS_NO_THREADS
-               PROPOLICE_BLOCK_ABRT
-               SSP_QUICK_CANARY
-               SUPPORT_LD_DEBUG_EARLY
-               UCLIBC_HAS_CTYPE_UNSAFE
-               UCLIBC_HAS_LOCALE
-               UCLIBC_HAS_SSP_COMPAT
-       )
-
-       # These are forced on
-       defs_y=(
-               COMPAT_ATEXIT
-               DO_C99_MATH
-               DO_XSI_MATH
-               FORCE_SHAREABLE_TEXT_SEGMENTS
-               LDSO_GNU_HASH_SUPPORT
-               LDSO_PRELINK_SUPPORT
-               LDSO_PRELOAD_FILE_SUPPORT
-               LDSO_RUNPATH_OF_EXECUTABLE
-               LDSO_STANDALONE_SUPPORT
-               MALLOC_GLIBC_COMPAT
-               PROPOLICE_BLOCK_SEGV
-               PTHREADS_DEBUG_SUPPORT
-               UCLIBC_HAS_ARC4RANDOM
-               UCLIBC_HAS_BACKTRACE
-               UCLIBC_HAS_BSD_RES_CLOSE
-               UCLIBC_HAS_CONTEXT_FUNCS
-               UCLIBC_HAS_CTYPE_CHECKED
-               UCLIBC_HAS_EXTRA_COMPAT_RES_STATE
-               UCLIBC_HAS_FENV
-               UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE
-               UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE
-               UCLIBC_HAS_FOPEN_LARGEFILE_MODE
-               UCLIBC_HAS_FTS
-               UCLIBC_HAS_FTW
-               UCLIBC_HAS_GETPT
-               UCLIBC_HAS_GLIBC_CUSTOM_PRINTF
-               UCLIBC_HAS_GLIBC_CUSTOM_STREAMS
-               UCLIBC_HAS_GNU_GLOB
-               UCLIBC_HAS_HEXADECIMAL_FLOATS
-               UCLIBC_HAS_LIBNSL_STUB
-               UCLIBC_HAS_LIBRESOLV_STUB
-               UCLIBC_HAS_LIBUTIL
-               UCLIBC_HAS_NFTW
-               UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
-               UCLIBC_HAS_OBSTACK
-               UCLIBC_HAS_PRINTF_M_SPEC
-               UCLIBC_HAS_PROGRAM_INVOCATION_NAME
-               UCLIBC_HAS_RESOLVER_SUPPORT
-               UCLIBC_HAS_SHA256_CRYPT_IMPL
-               UCLIBC_HAS_SHA512_CRYPT_IMPL
-               UCLIBC_HAS_SSP
-               UCLIBC_HAS_STUBS
-               UCLIBC_HAS_SYS_ERRLIST
-               UCLIBC_HAS_SYS_SIGLIST
-               UCLIBC_HAS_THREADS_NATIVE
-               UCLIBC_HAS_TZ_FILE_READ_MANY
-               UCLIBC_HAS_UTMP
-               UCLIBC_HAS_UTMPX
-               UCLIBC_HAS_WCHAR
-               UCLIBC_HAS_WORDEXP
-               UCLIBC_NTP_LEGACY
-               UCLIBC_SUPPORT_AI_ADDRCONFIG
-               UCLIBC_SUSV2_LEGACY
-               UCLIBC_SUSV3_LEGACY
-               UCLIBC_SUSV3_LEGACY_MACROS
-               UCLIBC_SUSV4_LEGACY
-               UCLIBC_USE_NETLINK
-       )
-
-       sed -i -e '/ARCH_.*_ENDIAN/d' .config
-       kconfig_q_opt y "ARCH_WANTS_$(uclibc_endian)_ENDIAN"
-
-       kconfig_q_opt debug DODEBUG
-       kconfig_q_opt debug SUPPORT_LD_DEBUG
-       kconfig_q_opt debug UCLIBC_HAS_PROFILING
-
-       kconfig_q_opt ipv6 UCLIBC_HAS_IPV6
-
-       kconfig_q_opt rpc UCLIBC_HAS_RPC
-       kconfig_q_opt rpc UCLIBC_HAS_FULL_RPC
-       kconfig_q_opt rpc UCLIBC_HAS_REENTRANT_RPC
-
-       kconfig_q_opt hardened UCLIBC_BUILD_NOEXECSTACK
-       kconfig_q_opt hardened UCLIBC_BUILD_NOW
-       kconfig_q_opt hardened UCLIBC_BUILD_PIE
-       kconfig_q_opt hardened UCLIBC_BUILD_RELRO
-       kconfig_q_opt hardened UCLIBC_BUILD_SSP
-
-       local count def
-       for count in 1 2 ; do
-               # Run twice as some config opts depend on others being enabled 
first.
-               for def in ${defs_y[@]} ; do
-                       sed -i -e "s|.*\<${def}\>.*set|${def}=y|g" .config
-               done
-               for def in ${defs_n[@]} ; do
-                       sed -i -e "s|${def}=y|# ${def} is not set|g" .config
-               done
-               make_oldconfig
-       done
-
-       einfo "Enabled options:"
-       for def in ${defs_y[@]} ; do
-               einfo " " $(grep "^${def}=y" .config || echo "could not find 
${def}")
-       done
-       einfo "Disabled options:"
-       for def in ${defs_n[@]} ; do
-               einfo " " $(grep "^# ${def} is not set" .config || echo "could 
not find ${def}")
-       done
-
-       # setup build and run paths
-       sed -i \
-               -e "/^CROSS_COMPILER_PREFIX/s|=.*|=\"${CTARGET}-\"|" \
-               -e "/^KERNEL_HEADERS/s|=.*|=\"$(alt_build_kprefix)\"|" \
-               -e "/^SHARED_LIB_LOADER_PREFIX/s|=.*|=\"/$(get_libdir)\"|" \
-               -e "/^DEVEL_PREFIX/s|=.*|=\"/usr\"|" \
-               -e "/^RUNTIME_PREFIX/s|=.*|=\"/\"|" \
-               -e "/^UCLIBC_EXTRA_CFLAGS/s|=.*|=\"${UCLIBC_EXTRA_CFLAGS}\"|" \
-               .config || die
-
-       make_oldconfig
-}
-
-pkg_setup() {
-       # Make sure our CHOST is a uclibc toolchain for native compiling
-       if [[ ${CHOST} == ${CTARGET} ]]; then
-               case ${CHOST} in
-                       *-uclinux*|*-uclibc*) ;;
-                       *) die "Use sys-devel/crossdev to build a uclibc 
toolchain" ;;
-               esac
-       fi
-
-       # uClibc-ng doesn't carry old Linux threads, and since we force
-       # threading our only choice is NPTL which requires i486 and later.
-       [[ ${CTARGET} == i386* ]] && die "i386 can't support Native Posix 
Threads (NPTL)."
-}
-
-src_prepare() {
-       local version subversion extraversion
-
-       # uclibc-ng tries to create a two sym link with ld.so,
-       # ld-uClibc.so.{0,MAJOR_VERSION} -> ld-uClibc-<version>.so
-       # where MAJOR_VERSION != 0 indicates the ABI verison.
-       # We want to get rid of this and just have ABI = 0.
-       eapply "${FILESDIR}"/uclibc-compat-r1.patch
-       eapply "${FILESDIR}"/${PN}-update-reboot_h.patch
-
-       # We need to change the major.minor.sublevel of uclibc-ng.
-       # Upstream sets MAJOR_VERSION = 1 which breaks runtime linking.
-       # If we really want the ABI bump, we'll have to hack the gcc
-       # spec file and change the '*link:' rule.
-       version=( $(get_version_components) )
-       if [[ -z ${version[1]} ]]; then
-               subversion=0
-               extraversion=0
-       else
-               subversion=${version[1]}
-               if [[ -z ${version[2]} ]]; then
-                       extraversion=0
-               else
-                       extraversion=.${version[2]}
-               fi
-       fi
-
-       sed -i \
-               -e "/^MAJOR_VERSION/s|:=.*|:= 0|" \
-               -e "/^MINOR_VERSION/s|:=.*|:= ${version[0]}|" \
-               -e "/^SUBLEVEL/s|:=.*|:= ${subversion}|" \
-               -e "/^EXTRAVERSION/s|:=.*|:= ${extraversion}|" \
-               Rules.mak || die
-
-       eapply_user
-}
-
-src_configure() {
-       # Map our toolchain arch name to the name expected by uClibc-ng.
-       local target=$(tc-arch)
-       case ${target} in
-               amd64) target="x86_64";;
-               arm)   target="arm";;
-               mips)  target="mips";;
-               ppc)   target="powerpc";;
-               x86)   target="i386";;
-       esac
-
-       # Do arch specific configuration by changing the defaults in
-       # extra/Configs/Config.<arch>.  If these are not overridden
-       # by an save .config, they will be selected by default.
-
-       # For i386, i486, i586 and i686
-       local cpu
-       if [[ ${target} == "i386" ]]; then
-               [[ ${CTARGET} == i[456]86* ]] && cpu="${CTARGET:1:1}86"
-               sed -i -e "s|default CONFIG_686|default CONFIG_${cpu:-486}|" \
-                       extra/Configs/Config.i386 || die
-       fi
-
-       # For arm
-       if [[ ${target} == "arm" ]]; then
-               sed -i -e '/Build for EABI/a \\tdefault y' 
extra/Configs/Config.arm
-       fi
-
-       # We set HOSTCC to the proper tuple rather than just 'gcc'
-       sed -i -e "s|^HOSTCC.*=.*|HOSTCC=$(tc-getBUILD_CC)|" Rules.mak
-
-       make_config ${target}
-
-       einfo
-       einfo "Runtime Prefix: /"
-       einfo "Devel Prefix:   /usr"
-       einfo "Kernel Prefix:  $(alt_build_kprefix)"
-       einfo "CBUILD:         ${CBUILD}"
-       einfo "CHOST:          ${CHOST}"
-       einfo "CTARGET:        ${CTARGET}"
-       einfo "ABI:            ${ABI}"
-       einfo "ENDIAN:         $(uclibc_endian)"
-       einfo
-}
-
-src_compile() {
-       emake headers
-       just_headers && return 0
-
-       emake
-       if is_crosscompile ; then
-               emake -C utils hostutils
-       else
-               emake utils
-       fi
-}
-
-src_test() {
-       is_crosscompile && return 0
-
-       # assert test fails on pax/grsec enabled kernels
-       # normal vfork test fails in sandbox (both glibc/uclibc)
-       emake UCLIBC_ONLY=1 check
-}
-
-src_install() {
-       local sysroot=${D}
-       is_crosscompile && sysroot+="/usr/${CTARGET}"
-
-       local target="install"
-       just_headers && target="install_headers"
-       emake DESTDIR="${sysroot}" ${target}
-
-       save_config .config
-
-       # remove files coming from kernel-headers
-       rm -rf "${sysroot}"/usr/include/{linux,asm*}
-
-       # Make sure we install the sys-include symlink so that when
-       # we build a 2nd stage cross-compiler, gcc finds the target
-       # system headers correctly.  See gcc/doc/gccinstall.info
-       if is_crosscompile ; then
-               dosym usr/include /usr/${CTARGET}/sys-include
-               if ! just_headers && [[ -n $(get_opt HAVE_SHARED) ]] ; then
-                       newbin utils/ldconfig.host ${CTARGET}-ldconfig
-                       newbin utils/ldd.host ${CTARGET}-ldd
-               fi
-               return 0
-       fi
-
-       if use symlink-compat; then
-               dosym libc.so.0 "${DESTDIR}"/lib/libcrypt.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libdl.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libm.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libpthread.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/librt.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libresolv.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libubacktrace.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libutil.so.0
-       fi
-
-       emake DESTDIR="${D}" install_utils
-       dobin extra/scripts/getent
-       dodoc README docs/*.txt
-}
-
-pkg_postinst() {
-       is_crosscompile && return 0
-
-       if [ ! -e "${ROOT}"/etc/TZ ] ; then
-               ewarn "Please remember to set your timezone in /etc/TZ"
-               mkdir -p "${ROOT}"/etc
-               echo "UTC" > "${ROOT}"/etc/TZ
-       fi
-       [ "${ROOT}" != "/" ] && return 0
-       # update cache before reloading init
-       ldconfig
-       # reload init ...
-       /sbin/telinit U 2>/dev/null
-}

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.24.ebuild 
b/sys-libs/uclibc-ng/uclibc-ng-1.0.24.ebuild
deleted file mode 100644
index c0d6e8d0953..00000000000
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.24.ebuild
+++ /dev/null
@@ -1,411 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit flag-o-matic multilib savedconfig toolchain-funcs versionator
-
-if [[ ${PV} == "9999" ]] ; then
-       EGIT_REPO_URI="git://uclibc-ng.org/git/uclibc-ng"
-       inherit git-r3
-       MY_P=uclibc-ng-${PV}
-else
-       MY_P=uClibc-ng-${PV}
-fi
-
-DESCRIPTION="C library for developing embedded Linux systems"
-HOMEPAGE="http://www.uclibc-ng.org/";
-if [[ ${PV} != "9999" ]] ; then
-       PATCH_VER=""
-       SRC_URI="http://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2";
-       #KEYWORDS="-* ~amd64 ~arm ~mips ~ppc ~x86"
-       KEYWORDS="-* ~amd64 ~arm ~ppc ~x86"
-fi
-
-LICENSE="LGPL-2"
-SLOT="0"
-IUSE="debug hardened iconv ipv6 rpc symlink-compat 
crosscompile_opts_headers-only"
-RESTRICT="strip"
-
-# 1) We can't upgrade from uclibc to uclibc-ng via a soft blocker since portage
-#    will delete the ld.so sym link prematurely and break the system. So we
-#    will hard block and give manual migration instructions.
-# 2) Currently uclibc and uclibc-ng's iconv are in bad shape.  We've been using
-#    the breakout library.  The disadvantage here is that we have to sprinkle
-#    LDFAGS=-liconv on build systems that need to link against libiconv.
-RDEPEND="
-       !!sys-libs/uclibc
-       iconv? ( dev-libs/libiconv )"
-
-S=${WORKDIR}/${MY_P}
-
-export CBUILD=${CBUILD:-${CHOST}}
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CHOST} == ${CTARGET} ]] ; then
-       if [[ ${CATEGORY} == cross-* ]] ; then
-               export CTARGET=${CATEGORY#cross-}
-       fi
-fi
-
-is_crosscompile() {
-       [[ ${CHOST} != ${CTARGET} ]]
-}
-
-alt_build_kprefix() {
-       if [[ ${CBUILD} == ${CHOST} && ${CHOST} == ${CTARGET} ]] ; then
-               echo /usr/include
-       else
-               echo /usr/${CTARGET}/usr/include
-       fi
-}
-
-just_headers() {
-       use crosscompile_opts_headers-only && is_crosscompile
-}
-
-uclibc_endian() {
-       # XXX: this wont work for a toolchain which is bi-endian, but we
-       #      dont have any such thing at the moment, so not a big deal
-       touch "${T}"/endian.s
-       $(tc-getAS ${CTARGET}) "${T}"/endian.s -o "${T}"/endian.o
-       case $(file "${T}"/endian.o) in
-               *" MSB "*) echo "BIG";;
-               *" LSB "*) echo "LITTLE";;
-               *)         echo "NFC";;
-       esac
-       rm -f "${T}"/endian.{s,o}
-}
-
-kconfig_q_opt() {
-       local flag=$1; shift
-       case ${flag} in
-               y|n) ;;
-               *) flag=$(usex ${flag} y n) ;;
-       esac
-
-       local var="defs_${flag}"
-       eval "${var}+=( $* )"
-}
-
-get_opt() {
-       (
-       unset ${1}
-       . ${2:-"${S}"/.config}
-       echo ${!1}
-       )
-}
-
-make_oldconfig() {
-       yes "" 2>/dev/null | emake -s oldconfig >/dev/null
-}
-
-make_config() {
-       restore_config .config
-       if [ -f .config ]; then
-               make_oldconfig
-               return 0
-       else
-               ewarn "Could not locate user configfile, so we will save a 
default one"
-       fi
-
-       emake ARCH=$1 defconfig >/dev/null
-
-       local defs_{y,n}
-
-       # These are forced off
-       defs_n=(
-               DOASSERTS
-               DODEBUG_PT
-               HAS_NO_THREADS
-               PROPOLICE_BLOCK_ABRT
-               SSP_QUICK_CANARY
-               SUPPORT_LD_DEBUG_EARLY
-               UCLIBC_HAS_CTYPE_UNSAFE
-               UCLIBC_HAS_LOCALE
-               UCLIBC_HAS_SSP_COMPAT
-       )
-
-       # These are forced on
-       defs_y=(
-               COMPAT_ATEXIT
-               DO_C99_MATH
-               DO_XSI_MATH
-               FORCE_SHAREABLE_TEXT_SEGMENTS
-               LDSO_GNU_HASH_SUPPORT
-               LDSO_PRELINK_SUPPORT
-               LDSO_PRELOAD_FILE_SUPPORT
-               LDSO_RUNPATH_OF_EXECUTABLE
-               LDSO_STANDALONE_SUPPORT
-               MALLOC_GLIBC_COMPAT
-               PROPOLICE_BLOCK_SEGV
-               PTHREADS_DEBUG_SUPPORT
-               UCLIBC_HAS_ARC4RANDOM
-               UCLIBC_HAS_BACKTRACE
-               UCLIBC_HAS_BSD_RES_CLOSE
-               UCLIBC_HAS_CONTEXT_FUNCS
-               UCLIBC_HAS_CTYPE_CHECKED
-               UCLIBC_HAS_EXTRA_COMPAT_RES_STATE
-               UCLIBC_HAS_FENV
-               UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE
-               UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE
-               UCLIBC_HAS_FOPEN_LARGEFILE_MODE
-               UCLIBC_HAS_FTS
-               UCLIBC_HAS_FTW
-               UCLIBC_HAS_GETPT
-               UCLIBC_HAS_GLIBC_CUSTOM_PRINTF
-               UCLIBC_HAS_GLIBC_CUSTOM_STREAMS
-               UCLIBC_HAS_GNU_GLOB
-               UCLIBC_HAS_HEXADECIMAL_FLOATS
-               UCLIBC_HAS_LIBNSL_STUB
-               UCLIBC_HAS_LIBRESOLV_STUB
-               UCLIBC_HAS_LIBUTIL
-               UCLIBC_HAS_NFTW
-               UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
-               UCLIBC_HAS_OBSTACK
-               UCLIBC_HAS_PRINTF_M_SPEC
-               UCLIBC_HAS_PROGRAM_INVOCATION_NAME
-               UCLIBC_HAS_RESOLVER_SUPPORT
-               UCLIBC_HAS_SHA256_CRYPT_IMPL
-               UCLIBC_HAS_SHA512_CRYPT_IMPL
-               UCLIBC_HAS_SSP
-               UCLIBC_HAS_STUBS
-               UCLIBC_HAS_SYS_ERRLIST
-               UCLIBC_HAS_SYS_SIGLIST
-               UCLIBC_HAS_THREADS_NATIVE
-               UCLIBC_HAS_TZ_FILE_READ_MANY
-               UCLIBC_HAS_UTMP
-               UCLIBC_HAS_UTMPX
-               UCLIBC_HAS_WCHAR
-               UCLIBC_HAS_WORDEXP
-               UCLIBC_NTP_LEGACY
-               UCLIBC_SUPPORT_AI_ADDRCONFIG
-               UCLIBC_SUSV2_LEGACY
-               UCLIBC_SUSV3_LEGACY
-               UCLIBC_SUSV3_LEGACY_MACROS
-               UCLIBC_SUSV4_LEGACY
-               UCLIBC_USE_NETLINK
-       )
-
-       sed -i -e '/ARCH_.*_ENDIAN/d' .config
-       kconfig_q_opt y "ARCH_WANTS_$(uclibc_endian)_ENDIAN"
-
-       kconfig_q_opt debug DODEBUG
-       kconfig_q_opt debug SUPPORT_LD_DEBUG
-       kconfig_q_opt debug UCLIBC_HAS_PROFILING
-
-       kconfig_q_opt ipv6 UCLIBC_HAS_IPV6
-
-       kconfig_q_opt rpc UCLIBC_HAS_RPC
-       kconfig_q_opt rpc UCLIBC_HAS_FULL_RPC
-       kconfig_q_opt rpc UCLIBC_HAS_REENTRANT_RPC
-
-       kconfig_q_opt hardened UCLIBC_BUILD_NOEXECSTACK
-       kconfig_q_opt hardened UCLIBC_BUILD_NOW
-       kconfig_q_opt hardened UCLIBC_BUILD_PIE
-       kconfig_q_opt hardened UCLIBC_BUILD_RELRO
-       kconfig_q_opt hardened UCLIBC_BUILD_SSP
-
-       local count def
-       for count in 1 2 ; do
-               # Run twice as some config opts depend on others being enabled 
first.
-               for def in ${defs_y[@]} ; do
-                       sed -i -e "s|.*\<${def}\>.*set|${def}=y|g" .config
-               done
-               for def in ${defs_n[@]} ; do
-                       sed -i -e "s|${def}=y|# ${def} is not set|g" .config
-               done
-               make_oldconfig
-       done
-
-       einfo "Enabled options:"
-       for def in ${defs_y[@]} ; do
-               einfo " " $(grep "^${def}=y" .config || echo "could not find 
${def}")
-       done
-       einfo "Disabled options:"
-       for def in ${defs_n[@]} ; do
-               einfo " " $(grep "^# ${def} is not set" .config || echo "could 
not find ${def}")
-       done
-
-       # setup build and run paths
-       sed -i \
-               -e "/^CROSS_COMPILER_PREFIX/s|=.*|=\"${CTARGET}-\"|" \
-               -e "/^KERNEL_HEADERS/s|=.*|=\"$(alt_build_kprefix)\"|" \
-               -e "/^SHARED_LIB_LOADER_PREFIX/s|=.*|=\"/$(get_libdir)\"|" \
-               -e "/^DEVEL_PREFIX/s|=.*|=\"/usr\"|" \
-               -e "/^RUNTIME_PREFIX/s|=.*|=\"/\"|" \
-               -e "/^UCLIBC_EXTRA_CFLAGS/s|=.*|=\"${UCLIBC_EXTRA_CFLAGS}\"|" \
-               .config || die
-
-       make_oldconfig
-}
-
-pkg_setup() {
-       # Make sure our CHOST is a uclibc toolchain for native compiling
-       if [[ ${CHOST} == ${CTARGET} ]]; then
-               case ${CHOST} in
-                       *-uclinux*|*-uclibc*) ;;
-                       *) die "Use sys-devel/crossdev to build a uclibc 
toolchain" ;;
-               esac
-       fi
-
-       # uClibc-ng doesn't carry old Linux threads, and since we force
-       # threading our only choice is NPTL which requires i486 and later.
-       [[ ${CTARGET} == i386* ]] && die "i386 can't support Native Posix 
Threads (NPTL)."
-}
-
-src_prepare() {
-       local version subversion extraversion
-
-       # uclibc-ng tries to create a two sym link with ld.so,
-       # ld-uClibc.so.{0,MAJOR_VERSION} -> ld-uClibc-<version>.so
-       # where MAJOR_VERSION != 0 indicates the ABI verison.
-       # We want to get rid of this and just have ABI = 0.
-       eapply "${FILESDIR}"/uclibc-compat-r1.patch
-
-       # We need to change the major.minor.sublevel of uclibc-ng.
-       # Upstream sets MAJOR_VERSION = 1 which breaks runtime linking.
-       # If we really want the ABI bump, we'll have to hack the gcc
-       # spec file and change the '*link:' rule.
-       version=( $(get_version_components) )
-       if [[ -z ${version[1]} ]]; then
-               subversion=0
-               extraversion=0
-       else
-               subversion=${version[1]}
-               if [[ -z ${version[2]} ]]; then
-                       extraversion=0
-               else
-                       extraversion=.${version[2]}
-               fi
-       fi
-
-       sed -i \
-               -e "/^MAJOR_VERSION/s|:=.*|:= 0|" \
-               -e "/^MINOR_VERSION/s|:=.*|:= ${version[0]}|" \
-               -e "/^SUBLEVEL/s|:=.*|:= ${subversion}|" \
-               -e "/^EXTRAVERSION/s|:=.*|:= ${extraversion}|" \
-               Rules.mak || die
-
-       eapply_user
-}
-
-src_configure() {
-       # Map our toolchain arch name to the name expected by uClibc-ng.
-       local target=$(tc-arch)
-       case ${target} in
-               amd64) target="x86_64";;
-               arm)   target="arm";;
-               mips)  target="mips";;
-               ppc)   target="powerpc";;
-               x86)   target="i386";;
-       esac
-
-       # Do arch specific configuration by changing the defaults in
-       # extra/Configs/Config.<arch>.  If these are not overridden
-       # by an save .config, they will be selected by default.
-
-       # For i386, i486, i586 and i686
-       local cpu
-       if [[ ${target} == "i386" ]]; then
-               [[ ${CTARGET} == i[456]86* ]] && cpu="${CTARGET:1:1}86"
-               sed -i -e "s|default CONFIG_686|default CONFIG_${cpu:-486}|" \
-                       extra/Configs/Config.i386 || die
-       fi
-
-       # For arm
-       if [[ ${target} == "arm" ]]; then
-               sed -i -e '/Build for EABI/a \\tdefault y' 
extra/Configs/Config.arm
-       fi
-
-       # We set HOSTCC to the proper tuple rather than just 'gcc'
-       sed -i -e "s|^HOSTCC.*=.*|HOSTCC=$(tc-getBUILD_CC)|" Rules.mak
-
-       make_config ${target}
-
-       einfo
-       einfo "Runtime Prefix: /"
-       einfo "Devel Prefix:   /usr"
-       einfo "Kernel Prefix:  $(alt_build_kprefix)"
-       einfo "CBUILD:         ${CBUILD}"
-       einfo "CHOST:          ${CHOST}"
-       einfo "CTARGET:        ${CTARGET}"
-       einfo "ABI:            ${ABI}"
-       einfo "ENDIAN:         $(uclibc_endian)"
-       einfo
-}
-
-src_compile() {
-       emake headers
-       just_headers && return 0
-
-       emake
-       if is_crosscompile ; then
-               emake -C utils hostutils
-       else
-               emake utils
-       fi
-}
-
-src_test() {
-       is_crosscompile && return 0
-
-       # assert test fails on pax/grsec enabled kernels
-       # normal vfork test fails in sandbox (both glibc/uclibc)
-       emake UCLIBC_ONLY=1 check
-}
-
-src_install() {
-       local sysroot=${D}
-       is_crosscompile && sysroot+="/usr/${CTARGET}"
-
-       local target="install"
-       just_headers && target="install_headers"
-       emake DESTDIR="${sysroot}" ${target}
-
-       save_config .config
-
-       # remove files coming from kernel-headers
-       rm -rf "${sysroot}"/usr/include/{linux,asm*}
-
-       # Make sure we install the sys-include symlink so that when
-       # we build a 2nd stage cross-compiler, gcc finds the target
-       # system headers correctly.  See gcc/doc/gccinstall.info
-       if is_crosscompile ; then
-               dosym usr/include /usr/${CTARGET}/sys-include
-               if ! just_headers && [[ -n $(get_opt HAVE_SHARED) ]] ; then
-                       newbin utils/ldconfig.host ${CTARGET}-ldconfig
-                       newbin utils/ldd.host ${CTARGET}-ldd
-               fi
-               return 0
-       fi
-
-       if use symlink-compat; then
-               dosym libc.so.0 "${DESTDIR}"/lib/libcrypt.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libdl.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libm.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libpthread.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/librt.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libresolv.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libubacktrace.so.0
-               dosym libc.so.0 "${DESTDIR}"/lib/libutil.so.0
-       fi
-
-       emake DESTDIR="${D}" install_utils
-       dobin extra/scripts/getent
-       dodoc README docs/*.txt
-}
-
-pkg_postinst() {
-       is_crosscompile && return 0
-
-       if [ ! -e "${ROOT}"/etc/TZ ] ; then
-               ewarn "Please remember to set your timezone in /etc/TZ"
-               mkdir -p "${ROOT}"/etc
-               echo "UTC" > "${ROOT}"/etc/TZ
-       fi
-       [ "${ROOT}" != "/" ] && return 0
-       # update cache before reloading init
-       ldconfig
-       # reload init ...
-       /sbin/telinit U 2>/dev/null
-}

Reply via email to