public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2017-04-25 22:48 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2017-04-25 22:48 UTC (permalink / raw
  To: gentoo-commits

commit:     5098699183e65b667c6d0e6f76531ce1c5065a23
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 25 22:47:57 2017 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Tue Apr 25 22:47:57 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=50986991

sys-libs/uclibc-ng: version 1.0.23 stable on amd64 and x86

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild
index c0d6e8d0953..2492d87f815 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild
@@ -19,7 +19,7 @@ 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"
+	KEYWORDS="-* amd64 ~arm ~ppc x86"
 fi
 
 LICENSE="LGPL-2"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2020-09-04 16:50 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2020-09-04 16:50 UTC (permalink / raw
  To: gentoo-commits

commit:     efff22eefacf8ee517dd5bab475e504896e21334
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Fri Sep  4 16:50:08 2020 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Sep  4 16:50:18 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=efff22ee

sys-libs/uclibc-ng: version bump to 1.0.35

Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 sys-libs/uclibc-ng/Manifest                |   1 +
 sys-libs/uclibc-ng/uclibc-ng-1.0.35.ebuild | 402 +++++++++++++++++++++++++++++
 2 files changed, 403 insertions(+)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index e1e3317ae7c..cd8ee877e8b 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -1,3 +1,4 @@
 DIST uClibc-ng-1.0.30.tar.bz2 2302796 BLAKE2B 21888dfe5a68f83b7ba56bb557ecc5aa19fd75cedc82f2ed48073f47655888719feb27943e0309f8101a24fd2fd9165af31d5679f21c00b12f27ebfccf354bac SHA512 ddd1d91dcfdf7be8471afecf13196563ad348c41e2fa8b63ae50b83f103cf8ed8d9f003b51a54a58db2935b84692b7c011a4779582f30610ede44cb583aae742
 DIST uClibc-ng-1.0.32.tar.bz2 2352471 BLAKE2B 887b67f7f03fc8610d8236a18f90584720a78bfc3a036cd6616453bea6e31140f5fd1dfd1d207cc5100854bf3e0c5cc1ca38fe6c31cf97b631892767ae23ec27 SHA512 1de5d4e99b94eeeada4233c53a95ea1b9e704ce1d4aa19ca9b17535c0328b2372ed93d24591c6ea5bfbc0b950aa575c18dcf6950fb04342924bb2b5f9ee235e8
 DIST uClibc-ng-1.0.33.tar.bz2 2399235 BLAKE2B c20fd767487b2f24a0af432a1366bfb6ddf02243495d2f1c3fa95db25551a8d6215be184608528ee544661ec2ddbc2f439299245ff3dff4597b376dc7a4658ec SHA512 cab89fb6a6e314c6cc8ac964604bdfae01d2e45dc71678bbb6a8985871f625ac680fec3ddc1cb29f6d15585b7fcb782eaf40fa6c89207cde2a04286c3d610169
+DIST uClibc-ng-1.0.35.tar.bz2 2396789 BLAKE2B b4e08ccb2bbf15d6a63e279f80792520edba78a9b95cde0432a2dbfc10d4830a621d71af97d4f2bbd867e6367182847c35b62f3c315dff85ecf0c680122238e0 SHA512 da2a1bc6e4a9ce1e3f436b9987fc5f6bb968e52f09508bef6588b409b861ece29d9c1411ffb88863de3a700cb19ad52a8d38596955d3b7bbfb3b0d3745daa25f

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.35.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.35.ebuild
new file mode 100644
index 00000000000..5ef7e61a3a9
--- /dev/null
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.35.ebuild
@@ -0,0 +1,402 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit flag-o-matic multilib savedconfig toolchain-funcs
+
+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="https://uclibc-ng.org/"
+if [[ ${PV} != "9999" ]] ; then
+	PATCH_VER=""
+	SRC_URI="https://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 symlink-compat headers-only"
+# tests fail due to unusual makefile
+RESTRICT="strip test"
+
+# 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 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
+		LDSO_SAFE_RUNPATH
+	)
+
+	# These are forced on
+	defs_y=(
+		DO_C99_MATH
+		DO_XSI_MATH
+		FORCE_SHAREABLE_TEXT_SEGMENTS
+		LDSO_GNU_HASH_SUPPORT
+		LDSO_PRELOAD_FILE_SUPPORT
+		LDSO_RUNPATH
+		LDSO_RUNPATH_OF_EXECUTABLE
+		LDSO_STANDALONE_SUPPORT
+		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_LIBUTIL
+		UCLIBC_HAS_NFTW
+		UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
+		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 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_0=$(ver_cut 1)
+	version_1=$(ver_cut 2)
+	version_2=$(ver_cut 3)
+	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
+}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2020-05-30 15:34 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2020-05-30 15:34 UTC (permalink / raw
  To: gentoo-commits

commit:     db145202cebf184b2f8131a4e3be5da7ba577765
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sat May 30 15:34:30 2020 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sat May 30 15:34:30 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=db145202

sys-libs/uclibc-ng: 1.0.33 stable on x86

Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 sys-libs/uclibc-ng/uclibc-ng-1.0.33.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.33.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.33.ebuild
index 6f884b80c8c..4dd7db70cc0 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.33.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.33.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://uclibc-ng.org/"
 if [[ ${PV} != "9999" ]] ; then
 	PATCH_VER=""
 	SRC_URI="https://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"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2020-05-06  1:44 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2020-05-06  1:44 UTC (permalink / raw
  To: gentoo-commits

commit:     f6052335bc0a6abbeda482056b60701612e179f3
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Wed May  6 01:43:56 2020 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Wed May  6 01:43:56 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f6052335

sys-libs/uclibc-ng: fix manifest for 1.0.33, bug #721146

Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 sys-libs/uclibc-ng/Manifest | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index ce1d01823f9..e1e3317ae7c 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -1,3 +1,3 @@
 DIST uClibc-ng-1.0.30.tar.bz2 2302796 BLAKE2B 21888dfe5a68f83b7ba56bb557ecc5aa19fd75cedc82f2ed48073f47655888719feb27943e0309f8101a24fd2fd9165af31d5679f21c00b12f27ebfccf354bac SHA512 ddd1d91dcfdf7be8471afecf13196563ad348c41e2fa8b63ae50b83f103cf8ed8d9f003b51a54a58db2935b84692b7c011a4779582f30610ede44cb583aae742
 DIST uClibc-ng-1.0.32.tar.bz2 2352471 BLAKE2B 887b67f7f03fc8610d8236a18f90584720a78bfc3a036cd6616453bea6e31140f5fd1dfd1d207cc5100854bf3e0c5cc1ca38fe6c31cf97b631892767ae23ec27 SHA512 1de5d4e99b94eeeada4233c53a95ea1b9e704ce1d4aa19ca9b17535c0328b2372ed93d24591c6ea5bfbc0b950aa575c18dcf6950fb04342924bb2b5f9ee235e8
-DIST uClibc-ng-1.0.33.tar.bz2 2531571 BLAKE2B abc4f0eb5585a1c29b2fbf2edae4387c12ba00298f2a6ef43e7a3e5df6d8fcd537e73fef4af3d15acc53930e6499e7ba7c60992b337c409b656951d032ccf7be SHA512 379f2ebc0f5e2abb60bbfc17a4ce65da09555d6177b634688f6cd4d3f4bdd44fade8120429c81364eb94feda68baed9e7846f4162367bffa6eedf44744ebb33c
+DIST uClibc-ng-1.0.33.tar.bz2 2399235 BLAKE2B c20fd767487b2f24a0af432a1366bfb6ddf02243495d2f1c3fa95db25551a8d6215be184608528ee544661ec2ddbc2f439299245ff3dff4597b376dc7a4658ec SHA512 cab89fb6a6e314c6cc8ac964604bdfae01d2e45dc71678bbb6a8985871f625ac680fec3ddc1cb29f6d15585b7fcb782eaf40fa6c89207cde2a04286c3d610169


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2020-04-24 18:44 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2020-04-24 18:44 UTC (permalink / raw
  To: gentoo-commits

commit:     7408af53f05999c2b20675d716848d0ada9e001d
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 24 18:44:35 2020 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Apr 24 18:44:49 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7408af53

sys-libs/uclibc-ng: 1.0.33 stable on amd64

Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 sys-libs/uclibc-ng/uclibc-ng-1.0.33.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.33.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.33.ebuild
index 5ef7e61a3a9..6f884b80c8c 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.33.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.33.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://uclibc-ng.org/"
 if [[ ${PV} != "9999" ]] ; then
 	PATCH_VER=""
 	SRC_URI="https://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"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2020-04-24 16:18 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2020-04-24 16:18 UTC (permalink / raw
  To: gentoo-commits

commit:     18624d5d3da05bd6de7cd2b45fc212f70fc2d4d4
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 24 16:18:17 2020 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Apr 24 16:18:43 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18624d5d

sys-libs/uclibc-ng: drop 1.0.31

Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 sys-libs/uclibc-ng/Manifest                |   1 -
 sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild | 400 -----------------------------
 2 files changed, 401 deletions(-)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index 1e76a46780d..ce1d01823f9 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -1,4 +1,3 @@
 DIST uClibc-ng-1.0.30.tar.bz2 2302796 BLAKE2B 21888dfe5a68f83b7ba56bb557ecc5aa19fd75cedc82f2ed48073f47655888719feb27943e0309f8101a24fd2fd9165af31d5679f21c00b12f27ebfccf354bac SHA512 ddd1d91dcfdf7be8471afecf13196563ad348c41e2fa8b63ae50b83f103cf8ed8d9f003b51a54a58db2935b84692b7c011a4779582f30610ede44cb583aae742
-DIST uClibc-ng-1.0.31.tar.bz2 2351728 BLAKE2B e2cad8500fdafdd98db11cbc756f3277845fedf545598c9861b1d1ef51b3a24744afe635d6894929eb537891323b0627577c2a5e5dbe1ff0ae588c5aa53a1219 SHA512 489e5f5e8952ebfad1d8a5528a04420d9d2e58fa5092029ccdae91d81dfcf8b3e00092453432da94c76fc18cab542192040bfb271e367fa42ca4926f4b45c372
 DIST uClibc-ng-1.0.32.tar.bz2 2352471 BLAKE2B 887b67f7f03fc8610d8236a18f90584720a78bfc3a036cd6616453bea6e31140f5fd1dfd1d207cc5100854bf3e0c5cc1ca38fe6c31cf97b631892767ae23ec27 SHA512 1de5d4e99b94eeeada4233c53a95ea1b9e704ce1d4aa19ca9b17535c0328b2372ed93d24591c6ea5bfbc0b950aa575c18dcf6950fb04342924bb2b5f9ee235e8
 DIST uClibc-ng-1.0.33.tar.bz2 2531571 BLAKE2B abc4f0eb5585a1c29b2fbf2edae4387c12ba00298f2a6ef43e7a3e5df6d8fcd537e73fef4af3d15acc53930e6499e7ba7c60992b337c409b656951d032ccf7be SHA512 379f2ebc0f5e2abb60bbfc17a4ce65da09555d6177b634688f6cd4d3f4bdd44fade8120429c81364eb94feda68baed9e7846f4162367bffa6eedf44744ebb33c

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild
deleted file mode 100644
index 48fcf29fa83..00000000000
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild
+++ /dev/null
@@ -1,400 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# 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="https://uclibc-ng.org/"
-if [[ ${PV} != "9999" ]] ; then
-	PATCH_VER=""
-	SRC_URI="https://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2"
-	KEYWORDS="-* amd64 ~mips ppc x86"
-fi
-
-LICENSE="LGPL-2"
-SLOT="0"
-IUSE="debug hardened iconv ipv6 symlink-compat headers-only"
-# tests fail due to unusual makefile
-RESTRICT="strip test"
-
-# 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 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
-		LDSO_SAFE_RUNPATH
-	)
-
-	# These are forced on
-	defs_y=(
-		DO_C99_MATH
-		DO_XSI_MATH
-		FORCE_SHAREABLE_TEXT_SEGMENTS
-		LDSO_GNU_HASH_SUPPORT
-		LDSO_PRELOAD_FILE_SUPPORT
-		LDSO_RUNPATH
-		LDSO_RUNPATH_OF_EXECUTABLE
-		LDSO_STANDALONE_SUPPORT
-		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_LIBUTIL
-		UCLIBC_HAS_NFTW
-		UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
-		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 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
-}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2020-04-24 16:18 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2020-04-24 16:18 UTC (permalink / raw
  To: gentoo-commits

commit:     1f2b9ab05542aa5323d174be9a21327bba67a737
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 24 16:16:55 2020 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Apr 24 16:18:42 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1f2b9ab0

sys-libs/uclibc-ng: version bump to 1.0.33

Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 sys-libs/uclibc-ng/Manifest                |   1 +
 sys-libs/uclibc-ng/uclibc-ng-1.0.33.ebuild | 402 +++++++++++++++++++++++++++++
 2 files changed, 403 insertions(+)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index 5d5669a9a97..1e76a46780d 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -1,3 +1,4 @@
 DIST uClibc-ng-1.0.30.tar.bz2 2302796 BLAKE2B 21888dfe5a68f83b7ba56bb557ecc5aa19fd75cedc82f2ed48073f47655888719feb27943e0309f8101a24fd2fd9165af31d5679f21c00b12f27ebfccf354bac SHA512 ddd1d91dcfdf7be8471afecf13196563ad348c41e2fa8b63ae50b83f103cf8ed8d9f003b51a54a58db2935b84692b7c011a4779582f30610ede44cb583aae742
 DIST uClibc-ng-1.0.31.tar.bz2 2351728 BLAKE2B e2cad8500fdafdd98db11cbc756f3277845fedf545598c9861b1d1ef51b3a24744afe635d6894929eb537891323b0627577c2a5e5dbe1ff0ae588c5aa53a1219 SHA512 489e5f5e8952ebfad1d8a5528a04420d9d2e58fa5092029ccdae91d81dfcf8b3e00092453432da94c76fc18cab542192040bfb271e367fa42ca4926f4b45c372
 DIST uClibc-ng-1.0.32.tar.bz2 2352471 BLAKE2B 887b67f7f03fc8610d8236a18f90584720a78bfc3a036cd6616453bea6e31140f5fd1dfd1d207cc5100854bf3e0c5cc1ca38fe6c31cf97b631892767ae23ec27 SHA512 1de5d4e99b94eeeada4233c53a95ea1b9e704ce1d4aa19ca9b17535c0328b2372ed93d24591c6ea5bfbc0b950aa575c18dcf6950fb04342924bb2b5f9ee235e8
+DIST uClibc-ng-1.0.33.tar.bz2 2531571 BLAKE2B abc4f0eb5585a1c29b2fbf2edae4387c12ba00298f2a6ef43e7a3e5df6d8fcd537e73fef4af3d15acc53930e6499e7ba7c60992b337c409b656951d032ccf7be SHA512 379f2ebc0f5e2abb60bbfc17a4ce65da09555d6177b634688f6cd4d3f4bdd44fade8120429c81364eb94feda68baed9e7846f4162367bffa6eedf44744ebb33c

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.33.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.33.ebuild
new file mode 100644
index 00000000000..5ef7e61a3a9
--- /dev/null
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.33.ebuild
@@ -0,0 +1,402 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit flag-o-matic multilib savedconfig toolchain-funcs
+
+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="https://uclibc-ng.org/"
+if [[ ${PV} != "9999" ]] ; then
+	PATCH_VER=""
+	SRC_URI="https://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 symlink-compat headers-only"
+# tests fail due to unusual makefile
+RESTRICT="strip test"
+
+# 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 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
+		LDSO_SAFE_RUNPATH
+	)
+
+	# These are forced on
+	defs_y=(
+		DO_C99_MATH
+		DO_XSI_MATH
+		FORCE_SHAREABLE_TEXT_SEGMENTS
+		LDSO_GNU_HASH_SUPPORT
+		LDSO_PRELOAD_FILE_SUPPORT
+		LDSO_RUNPATH
+		LDSO_RUNPATH_OF_EXECUTABLE
+		LDSO_STANDALONE_SUPPORT
+		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_LIBUTIL
+		UCLIBC_HAS_NFTW
+		UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
+		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 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_0=$(ver_cut 1)
+	version_1=$(ver_cut 2)
+	version_2=$(ver_cut 3)
+	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
+}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2020-02-02 13:04 Sergei Trofimovich
  0 siblings, 0 replies; 70+ messages in thread
From: Sergei Trofimovich @ 2020-02-02 13:04 UTC (permalink / raw
  To: gentoo-commits

commit:     4c743c383847e1aa27dd928ba9f79575d199a392
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun Feb  2 13:03:42 2020 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sun Feb  2 13:04:48 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c743c38

sys-libs/uclibc-ng: drop 'telinit U' call

Bug: https://bugs.gentoo.org/642784
Package-Manager: Portage-2.3.87, Repoman-2.3.20
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild | 2 --
 sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild    | 2 --
 sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild    | 2 --
 sys-libs/uclibc-ng/uclibc-ng-9999.ebuild      | 4 +---
 4 files changed, 1 insertion(+), 9 deletions(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild
index a795cffae54..375d030fc40 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild
@@ -400,6 +400,4 @@ pkg_postinst() {
 	[ "${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.31.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild
index 93b0b01a0fc..48fcf29fa83 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild
@@ -397,6 +397,4 @@ pkg_postinst() {
 	[ "${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.32.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild
index 82ccf77573e..fffc7f103fb 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild
@@ -399,6 +399,4 @@ pkg_postinst() {
 	[ "${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-9999.ebuild b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
index 46dcc44af01..5ef7e61a3a9 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="7"
@@ -399,6 +399,4 @@ pkg_postinst() {
 	[ "${ROOT}" != "/" ] && return 0
 	# update cache before reloading init
 	ldconfig
-	# reload init ...
-	/sbin/telinit U 2>/dev/null
 }


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2020-01-15  0:31 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2020-01-15  0:31 UTC (permalink / raw
  To: gentoo-commits

commit:     4f84e4ab7a18343834b6f9a6966412d37df3b05a
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 15 00:30:57 2020 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Wed Jan 15 00:30:57 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4f84e4ab

sys-libs/uclibc-ng: mark 1.0.30-r1 stable for arm

Package-Manager: Portage-2.3.79, Repoman-2.3.16
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild
index ffc8453e07f..a795cffae54 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://uclibc-ng.org/"
 if [[ ${PV} != "9999" ]] ; then
 	PATCH_VER=""
 	SRC_URI="https://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2"
-	KEYWORDS="-* ~arm"
+	KEYWORDS="-* arm"
 fi
 
 LICENSE="LGPL-2"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2020-01-14 22:26 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2020-01-14 22:26 UTC (permalink / raw
  To: gentoo-commits

commit:     73daa37e54c46f9027b7c02143ac3bfa743136b5
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 14 22:26:04 2020 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Tue Jan 14 22:26:24 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=73daa37e

sys-libs/uclibc-ng: 1.0.32 is broken on arm

Package-Manager: Portage-2.3.79, Repoman-2.3.16
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild
index c4498ecfcd3..fae0c97e7b5 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://uclibc-ng.org/"
 if [[ ${PV} != "9999" ]] ; then
 	PATCH_VER=""
 	SRC_URI="https://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"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2020-01-14 20:10 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2020-01-14 20:10 UTC (permalink / raw
  To: gentoo-commits

commit:     77da48e5d70ec56909f97fcf04eb69853a4e36c4
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 14 20:10:22 2020 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Tue Jan 14 20:10:22 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=77da48e5

sys-libs/uclibc-ng: 1.0.32 stable on arm

Package-Manager: Portage-2.3.79, Repoman-2.3.16
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild
index 62423b51aec..c4498ecfcd3 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="7"
@@ -18,7 +18,7 @@ HOMEPAGE="https://uclibc-ng.org/"
 if [[ ${PV} != "9999" ]] ; then
 	PATCH_VER=""
 	SRC_URI="https://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"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2019-11-18 13:38 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2019-11-18 13:38 UTC (permalink / raw
  To: gentoo-commits

commit:     62ae8449047e8efcb669eb6d4602f2ae5073d7f8
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 18 13:38:32 2019 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Mon Nov 18 13:38:32 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=62ae8449

sys-libs/uclibc-ng: 1.0.32 stable on ppc

Package-Manager: Portage-2.3.76, Repoman-2.3.16
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild
index 5e58388e402..62423b51aec 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://uclibc-ng.org/"
 if [[ ${PV} != "9999" ]] ; then
 	PATCH_VER=""
 	SRC_URI="https://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"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2019-11-17 16:29 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2019-11-17 16:29 UTC (permalink / raw
  To: gentoo-commits

commit:     6c3900366099220296f7765bd1f0668d980d0d29
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 17 16:29:04 2019 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Nov 17 16:29:04 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6c390036

sys-libs/uclibc-ng: 1.0.32 stable on amd64 and x86

Package-Manager: Portage-2.3.76, Repoman-2.3.16
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild
index b534fa8966e..5e58388e402 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://uclibc-ng.org/"
 if [[ ${PV} != "9999" ]] ; then
 	PATCH_VER=""
 	SRC_URI="https://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"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2019-10-27  2:13 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2019-10-27  2:13 UTC (permalink / raw
  To: gentoo-commits

commit:     66063d78eafb7cd8b3d9f09aaad789d531f6f70d
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 27 02:12:00 2019 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Oct 27 02:12:57 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=66063d78

sys-libs/uclibc-ng: remove older versions

Package-Manager: Portage-2.3.76, Repoman-2.3.16
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 sys-libs/uclibc-ng/Manifest                   |   2 -
 sys-libs/uclibc-ng/metadata.xml               |   1 -
 sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild    | 411 --------------------------
 sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild | 405 -------------------------
 4 files changed, 819 deletions(-)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index dd21e427d50..de7fae1db80 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -1,4 +1,2 @@
-DIST uClibc-ng-1.0.26.tar.bz2 2285709 BLAKE2B 6276f1d080f0c90b5a0ce4a4fc3556070852ad157b9c0a15305108b2f46a2d0f5371dde12ac0a8f05cad7db942cceb8057b5ef351e100a52609f2ebdc6b19634 SHA512 48c37ab2000af13848ef007ce89f226bded5188f37839c11371bab48497670d30d39fda2a031c6aff95f429a4abadc431ddd77c0e023810a341e2c2d2645f71b
-DIST uClibc-ng-1.0.30.tar.bz2 2302796 BLAKE2B 21888dfe5a68f83b7ba56bb557ecc5aa19fd75cedc82f2ed48073f47655888719feb27943e0309f8101a24fd2fd9165af31d5679f21c00b12f27ebfccf354bac SHA512 ddd1d91dcfdf7be8471afecf13196563ad348c41e2fa8b63ae50b83f103cf8ed8d9f003b51a54a58db2935b84692b7c011a4779582f30610ede44cb583aae742
 DIST uClibc-ng-1.0.31.tar.bz2 2351728 BLAKE2B e2cad8500fdafdd98db11cbc756f3277845fedf545598c9861b1d1ef51b3a24744afe635d6894929eb537891323b0627577c2a5e5dbe1ff0ae588c5aa53a1219 SHA512 489e5f5e8952ebfad1d8a5528a04420d9d2e58fa5092029ccdae91d81dfcf8b3e00092453432da94c76fc18cab542192040bfb271e367fa42ca4926f4b45c372
 DIST uClibc-ng-1.0.32.tar.bz2 2352471 BLAKE2B 887b67f7f03fc8610d8236a18f90584720a78bfc3a036cd6616453bea6e31140f5fd1dfd1d207cc5100854bf3e0c5cc1ca38fe6c31cf97b631892767ae23ec27 SHA512 1de5d4e99b94eeeada4233c53a95ea1b9e704ce1d4aa19ca9b17535c0328b2372ed93d24591c6ea5bfbc0b950aa575c18dcf6950fb04342924bb2b5f9ee235e8

diff --git a/sys-libs/uclibc-ng/metadata.xml b/sys-libs/uclibc-ng/metadata.xml
index 12420ae8d3b..a06e85b4368 100644
--- a/sys-libs/uclibc-ng/metadata.xml
+++ b/sys-libs/uclibc-ng/metadata.xml
@@ -15,7 +15,6 @@
 	also work perfectly with uClibc-ng.
 	</longdescription>
 	<use>
-		<flag name="rpc">Enable sun nis/rpc support (you should use libtirpc though)</flag>
 		<flag name="symlink-compat">Explicitly add sym links for libdl.so.0, libm.so.0, and
 		friends for backward compatibility with sys-libs/uclibc-ng-1.0.17 and earlier</flag>
 	</use>

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
deleted file mode 100644
index 572b3800cec..00000000000
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
+++ /dev/null
@@ -1,411 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# 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="https://uclibc-ng.org/"
-if [[ ${PV} != "9999" ]] ; then
-	PATCH_VER=""
-	SRC_URI="https://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 headers-only"
-# tests fail due to unusual makefile
-RESTRICT="strip test"
-
-# 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 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.30-r1.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild
deleted file mode 100644
index c7b7bac0f3e..00000000000
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild
+++ /dev/null
@@ -1,405 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# 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="https://uclibc-ng.org/"
-if [[ ${PV} != "9999" ]] ; then
-	PATCH_VER=""
-	SRC_URI="https://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 symlink-compat headers-only"
-# tests fail due to unusual makefile
-RESTRICT="strip test"
-
-# 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 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
-		LDSO_SAFE_RUNPATH
-	)
-
-	# These are forced on
-	defs_y=(
-		DO_C99_MATH
-		DO_XSI_MATH
-		FORCE_SHAREABLE_TEXT_SEGMENTS
-		LDSO_GNU_HASH_SUPPORT
-		LDSO_PRELOAD_FILE_SUPPORT
-		LDSO_RUNPATH
-		LDSO_RUNPATH_OF_EXECUTABLE
-		LDSO_STANDALONE_SUPPORT
-		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_LIBUTIL
-		UCLIBC_HAS_NFTW
-		UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
-		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 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
-
-	# Critical fix for ld.so.cache
-	eapply "${FILESDIR}"/${P}-fix-ld.so.cache.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
-}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2019-10-27  2:13 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2019-10-27  2:13 UTC (permalink / raw
  To: gentoo-commits

commit:     db632692f43e79d82ab873f4b1162ea74835f5e7
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 27 02:10:06 2019 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Oct 27 02:12:56 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=db632692

sys-libs/uclibc-ng: version bump to 1.0.32

Package-Manager: Portage-2.3.76, Repoman-2.3.16
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 sys-libs/uclibc-ng/Manifest                |   1 +
 sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild | 404 +++++++++++++++++++++++++++++
 2 files changed, 405 insertions(+)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index 646c35652be..dd21e427d50 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -1,3 +1,4 @@
 DIST uClibc-ng-1.0.26.tar.bz2 2285709 BLAKE2B 6276f1d080f0c90b5a0ce4a4fc3556070852ad157b9c0a15305108b2f46a2d0f5371dde12ac0a8f05cad7db942cceb8057b5ef351e100a52609f2ebdc6b19634 SHA512 48c37ab2000af13848ef007ce89f226bded5188f37839c11371bab48497670d30d39fda2a031c6aff95f429a4abadc431ddd77c0e023810a341e2c2d2645f71b
 DIST uClibc-ng-1.0.30.tar.bz2 2302796 BLAKE2B 21888dfe5a68f83b7ba56bb557ecc5aa19fd75cedc82f2ed48073f47655888719feb27943e0309f8101a24fd2fd9165af31d5679f21c00b12f27ebfccf354bac SHA512 ddd1d91dcfdf7be8471afecf13196563ad348c41e2fa8b63ae50b83f103cf8ed8d9f003b51a54a58db2935b84692b7c011a4779582f30610ede44cb583aae742
 DIST uClibc-ng-1.0.31.tar.bz2 2351728 BLAKE2B e2cad8500fdafdd98db11cbc756f3277845fedf545598c9861b1d1ef51b3a24744afe635d6894929eb537891323b0627577c2a5e5dbe1ff0ae588c5aa53a1219 SHA512 489e5f5e8952ebfad1d8a5528a04420d9d2e58fa5092029ccdae91d81dfcf8b3e00092453432da94c76fc18cab542192040bfb271e367fa42ca4926f4b45c372
+DIST uClibc-ng-1.0.32.tar.bz2 2352471 BLAKE2B 887b67f7f03fc8610d8236a18f90584720a78bfc3a036cd6616453bea6e31140f5fd1dfd1d207cc5100854bf3e0c5cc1ca38fe6c31cf97b631892767ae23ec27 SHA512 1de5d4e99b94eeeada4233c53a95ea1b9e704ce1d4aa19ca9b17535c0328b2372ed93d24591c6ea5bfbc0b950aa575c18dcf6950fb04342924bb2b5f9ee235e8

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild
new file mode 100644
index 00000000000..b534fa8966e
--- /dev/null
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild
@@ -0,0 +1,404 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit flag-o-matic multilib savedconfig toolchain-funcs
+
+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="https://uclibc-ng.org/"
+if [[ ${PV} != "9999" ]] ; then
+	PATCH_VER=""
+	SRC_URI="https://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 symlink-compat headers-only"
+# tests fail due to unusual makefile
+RESTRICT="strip test"
+
+# 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 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
+		LDSO_SAFE_RUNPATH
+	)
+
+	# These are forced on
+	defs_y=(
+		DO_C99_MATH
+		DO_XSI_MATH
+		FORCE_SHAREABLE_TEXT_SEGMENTS
+		LDSO_GNU_HASH_SUPPORT
+		LDSO_PRELOAD_FILE_SUPPORT
+		LDSO_RUNPATH
+		LDSO_RUNPATH_OF_EXECUTABLE
+		LDSO_STANDALONE_SUPPORT
+		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_LIBUTIL
+		UCLIBC_HAS_NFTW
+		UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
+		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 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_0=$(ver_cut 1)
+	version_1=$(ver_cut 2)
+	version_2=$(ver_cut 3)
+	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
+}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2018-12-31 18:24 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2018-12-31 18:24 UTC (permalink / raw
  To: gentoo-commits

commit:     45c0e9cd021cb7079fc62a057e8c1402b6be2fbd
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 31 18:24:34 2018 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Mon Dec 31 18:24:34 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=45c0e9cd

sys-libs/uclibc-ng: bump 9999 to EAPI=7

Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11

 sys-libs/uclibc-ng/uclibc-ng-9999.ebuild | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
index 9e216067cb3..46dcc44af01 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
@@ -1,9 +1,9 @@
 # Copyright 1999-2018 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
-inherit flag-o-matic multilib savedconfig toolchain-funcs versionator
+inherit flag-o-matic multilib savedconfig toolchain-funcs
 
 if [[ ${PV} == "9999" ]] ; then
 	EGIT_REPO_URI="git://uclibc-ng.org/git/uclibc-ng"
@@ -257,22 +257,24 @@ src_prepare() {
 	# 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
+	version_0=$(ver_cut 1)
+	version_1=$(ver_cut 2)
+	version_2=$(ver_cut 3)
+	if [[ -z ${version_1} ]]; then
 		subversion=0
 		extraversion=0
 	else
-		subversion=${version[1]}
-		if [[ -z ${version[2]} ]]; then
+		subversion=${version_1}
+		if [[ -z ${version_2} ]]; then
 			extraversion=0
 		else
-			extraversion=.${version[2]}
+			extraversion=.${version_2}
 		fi
 	fi
 
 	sed -i \
 		-e "/^MAJOR_VERSION/s|:=.*|:= 0|" \
-		-e "/^MINOR_VERSION/s|:=.*|:= ${version[0]}|" \
+		-e "/^MINOR_VERSION/s|:=.*|:= ${version_0}|" \
 		-e "/^SUBLEVEL/s|:=.*|:= ${subversion}|" \
 		-e "/^EXTRAVERSION/s|:=.*|:= ${extraversion}|" \
 		Rules.mak || die


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2018-12-31 17:55 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2018-12-31 17:55 UTC (permalink / raw
  To: gentoo-commits

commit:     d04ac05f36c1fd564b53b88fe5f720490fd44915
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 31 17:55:04 2018 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Mon Dec 31 17:55:04 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d04ac05f

sys-libs/uclibc-ng: 1.0.31 stable on amd64 arm ppc x86

Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11

 sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild
index 9e216067cb3..36f1b9db8bb 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://uclibc-ng.org/"
 if [[ ${PV} != "9999" ]] ; then
 	PATCH_VER=""
 	SRC_URI="https://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"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2018-12-02 12:22 Sergei Trofimovich
  0 siblings, 0 replies; 70+ messages in thread
From: Sergei Trofimovich @ 2018-12-02 12:22 UTC (permalink / raw
  To: gentoo-commits

commit:     15d22f086aa4663cd9c684e35f5580cbfcbe0bfe
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun Dec  2 12:22:28 2018 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sun Dec  2 12:22:46 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=15d22f08

sys-libs/uclibc-ng: RESTRICT=test (missing tests)

Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 sys-libs/uclibc-ng/metadata.xml               | 2 +-
 sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild    | 5 +++--
 sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild | 5 +++--
 sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild    | 3 ++-
 sys-libs/uclibc-ng/uclibc-ng-9999.ebuild      | 5 +++--
 5 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/sys-libs/uclibc-ng/metadata.xml b/sys-libs/uclibc-ng/metadata.xml
index c54e93bc9e0..12420ae8d3b 100644
--- a/sys-libs/uclibc-ng/metadata.xml
+++ b/sys-libs/uclibc-ng/metadata.xml
@@ -12,7 +12,7 @@
 	<longdescription>
 	uClibc-ng is a small C library for developing embedded Linux systems. It is much
 	smaller than the GNU C Library, but nearly all applications supported by glibc
-	also work perfectly with uClibc-ng. 
+	also work perfectly with uClibc-ng.
 	</longdescription>
 	<use>
 		<flag name="rpc">Enable sun nis/rpc support (you should use libtirpc though)</flag>

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
index 3a53eceae51..572b3800cec 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="6"
@@ -24,7 +24,8 @@ fi
 LICENSE="LGPL-2"
 SLOT="0"
 IUSE="debug hardened iconv ipv6 rpc symlink-compat headers-only"
-RESTRICT="strip"
+# tests fail due to unusual makefile
+RESTRICT="strip test"
 
 # 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

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild
index 87c97563169..c7b7bac0f3e 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="6"
@@ -24,7 +24,8 @@ fi
 LICENSE="LGPL-2"
 SLOT="0"
 IUSE="debug hardened iconv ipv6 symlink-compat headers-only"
-RESTRICT="strip"
+# tests fail due to unusual makefile
+RESTRICT="strip test"
 
 # 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

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild
index 4f1d00a3cb4..9e216067cb3 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild
@@ -24,7 +24,8 @@ fi
 LICENSE="LGPL-2"
 SLOT="0"
 IUSE="debug hardened iconv ipv6 symlink-compat headers-only"
-RESTRICT="strip"
+# tests fail due to unusual makefile
+RESTRICT="strip test"
 
 # 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

diff --git a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
index 3b31357d804..9e216067cb3 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="6"
@@ -24,7 +24,8 @@ fi
 LICENSE="LGPL-2"
 SLOT="0"
 IUSE="debug hardened iconv ipv6 symlink-compat headers-only"
-RESTRICT="strip"
+# tests fail due to unusual makefile
+RESTRICT="strip test"
 
 # 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


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2018-11-17 12:46 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2018-11-17 12:46 UTC (permalink / raw
  To: gentoo-commits

commit:     44e3a4e02ff0450aa321c16a38ce788cdfd1c189
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 17 12:45:59 2018 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sat Nov 17 12:46:16 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=44e3a4e0

sys-libs/uclibc-ng: version bump to 1.0.31

Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11

 sys-libs/uclibc-ng/Manifest                |   1 +
 sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild | 401 +++++++++++++++++++++++++++++
 2 files changed, 402 insertions(+)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index 41ecc16a496..646c35652be 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -1,2 +1,3 @@
 DIST uClibc-ng-1.0.26.tar.bz2 2285709 BLAKE2B 6276f1d080f0c90b5a0ce4a4fc3556070852ad157b9c0a15305108b2f46a2d0f5371dde12ac0a8f05cad7db942cceb8057b5ef351e100a52609f2ebdc6b19634 SHA512 48c37ab2000af13848ef007ce89f226bded5188f37839c11371bab48497670d30d39fda2a031c6aff95f429a4abadc431ddd77c0e023810a341e2c2d2645f71b
 DIST uClibc-ng-1.0.30.tar.bz2 2302796 BLAKE2B 21888dfe5a68f83b7ba56bb557ecc5aa19fd75cedc82f2ed48073f47655888719feb27943e0309f8101a24fd2fd9165af31d5679f21c00b12f27ebfccf354bac SHA512 ddd1d91dcfdf7be8471afecf13196563ad348c41e2fa8b63ae50b83f103cf8ed8d9f003b51a54a58db2935b84692b7c011a4779582f30610ede44cb583aae742
+DIST uClibc-ng-1.0.31.tar.bz2 2351728 BLAKE2B e2cad8500fdafdd98db11cbc756f3277845fedf545598c9861b1d1ef51b3a24744afe635d6894929eb537891323b0627577c2a5e5dbe1ff0ae588c5aa53a1219 SHA512 489e5f5e8952ebfad1d8a5528a04420d9d2e58fa5092029ccdae91d81dfcf8b3e00092453432da94c76fc18cab542192040bfb271e367fa42ca4926f4b45c372

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild
new file mode 100644
index 00000000000..4f1d00a3cb4
--- /dev/null
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild
@@ -0,0 +1,401 @@
+# Copyright 1999-2018 Gentoo Authors
+# 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="https://uclibc-ng.org/"
+if [[ ${PV} != "9999" ]] ; then
+	PATCH_VER=""
+	SRC_URI="https://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 symlink-compat 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 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
+		LDSO_SAFE_RUNPATH
+	)
+
+	# These are forced on
+	defs_y=(
+		DO_C99_MATH
+		DO_XSI_MATH
+		FORCE_SHAREABLE_TEXT_SEGMENTS
+		LDSO_GNU_HASH_SUPPORT
+		LDSO_PRELOAD_FILE_SUPPORT
+		LDSO_RUNPATH
+		LDSO_RUNPATH_OF_EXECUTABLE
+		LDSO_STANDALONE_SUPPORT
+		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_LIBUTIL
+		UCLIBC_HAS_NFTW
+		UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
+		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 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
+}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2018-10-04 21:41 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2018-10-04 21:41 UTC (permalink / raw
  To: gentoo-commits

commit:     8219d2d6041611b3a7c4f12ab574ef104732bae5
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Thu Oct  4 21:41:07 2018 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Thu Oct  4 21:41:07 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8219d2d6

sys-libs/uclibc-ng: version 1.0.30-r1 stable on arm

Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>
Package-Manager: Portage-2.3.49, Repoman-2.3.10

 sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild
index 4b7f7e366e4..87c97563169 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://uclibc-ng.org/"
 if [[ ${PV} != "9999" ]] ; then
 	PATCH_VER=""
 	SRC_URI="https://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"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2018-06-09 23:56 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2018-06-09 23:56 UTC (permalink / raw
  To: gentoo-commits

commit:     107cd90834242dea31808346c0ac7e13078a31e8
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sat Jun  9 23:55:21 2018 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sat Jun  9 23:56:01 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=107cd908

sys-libs/uclibc-ng: 1.0.30-r1 stable on ppc

Package-Manager: Portage-2.3.40, Repoman-2.3.9

 sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild
index 77dc21a58bc..4b7f7e366e4 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://uclibc-ng.org/"
 if [[ ${PV} != "9999" ]] ; then
 	PATCH_VER=""
 	SRC_URI="https://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"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2018-05-16  8:41 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2018-05-16  8:41 UTC (permalink / raw
  To: gentoo-commits

commit:     461740d7ac84c9edc01c14b3c8f880fd54f1f5d8
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Wed May 16 08:41:27 2018 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Wed May 16 08:41:27 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=461740d7

sys-libs/uclibc-ng: 1.0.30-r1 stable on amd64 and x86

Package-Manager: Portage-2.3.24, Repoman-2.3.6

 sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild
index ca35a2cc5bc..77dc21a58bc 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://uclibc-ng.org/"
 if [[ ${PV} != "9999" ]] ; then
 	PATCH_VER=""
 	SRC_URI="https://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"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2018-04-29 19:47 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2018-04-29 19:47 UTC (permalink / raw
  To: gentoo-commits

commit:     d49d82a85320d07d8e27d19c5e283b2b8ac6ee83
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 29 19:46:54 2018 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Apr 29 19:47:14 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d49d82a8

sys-libs/uclibc-ng: remove older unstable (and broken) versions

Package-Manager: Portage-2.3.24, Repoman-2.3.6

 sys-libs/uclibc-ng/Manifest                |   2 -
 sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild | 401 -----------------------------
 sys-libs/uclibc-ng/uclibc-ng-1.0.29.ebuild | 401 -----------------------------
 3 files changed, 804 deletions(-)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index 7955023afa7..41ecc16a496 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -1,4 +1,2 @@
 DIST uClibc-ng-1.0.26.tar.bz2 2285709 BLAKE2B 6276f1d080f0c90b5a0ce4a4fc3556070852ad157b9c0a15305108b2f46a2d0f5371dde12ac0a8f05cad7db942cceb8057b5ef351e100a52609f2ebdc6b19634 SHA512 48c37ab2000af13848ef007ce89f226bded5188f37839c11371bab48497670d30d39fda2a031c6aff95f429a4abadc431ddd77c0e023810a341e2c2d2645f71b
-DIST uClibc-ng-1.0.28.tar.bz2 2299119 BLAKE2B 1f31b9a98fd669bad42ceeb1b8c33fd65994b0252707b532ad8a71c12f8bd0c4d99bc89ad919a1fbc2526efcf25d2e9f823f889c7c009da98e861269399c97a3 SHA512 9e77fece126b6ba6f9903a2fc5689a9f7efb335e38914a3806a7e0831033f5373a4b07e942d28876ed81a6a80b2d64b0fa122dccc4874db263d2d5fb7fef99ba
-DIST uClibc-ng-1.0.29.tar.bz2 2290382 BLAKE2B f6968397daaa66d75dff5508bdff4a3d05453a0657474b9ff167d14a0b0d715f22c61708060243efd1064922b4dd1e84987fe9cf1b13aa7bdb85e27b8c65a3b1 SHA512 7ab00f2a1c7a87f8d35b7bc51b7a8ad0f9120d8c117be8c03720c09b17d7f9f8b8a633ef7efa3e69f8d292b0357580f055f1542ad2257cff337056c9d3b5e207
 DIST uClibc-ng-1.0.30.tar.bz2 2302796 BLAKE2B 21888dfe5a68f83b7ba56bb557ecc5aa19fd75cedc82f2ed48073f47655888719feb27943e0309f8101a24fd2fd9165af31d5679f21c00b12f27ebfccf354bac SHA512 ddd1d91dcfdf7be8471afecf13196563ad348c41e2fa8b63ae50b83f103cf8ed8d9f003b51a54a58db2935b84692b7c011a4779582f30610ede44cb583aae742

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild
deleted file mode 100644
index 3b31357d804..00000000000
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild
+++ /dev/null
@@ -1,401 +0,0 @@
-# Copyright 1999-2018 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="https://uclibc-ng.org/"
-if [[ ${PV} != "9999" ]] ; then
-	PATCH_VER=""
-	SRC_URI="https://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 symlink-compat 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 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
-		LDSO_SAFE_RUNPATH
-	)
-
-	# These are forced on
-	defs_y=(
-		DO_C99_MATH
-		DO_XSI_MATH
-		FORCE_SHAREABLE_TEXT_SEGMENTS
-		LDSO_GNU_HASH_SUPPORT
-		LDSO_PRELOAD_FILE_SUPPORT
-		LDSO_RUNPATH
-		LDSO_RUNPATH_OF_EXECUTABLE
-		LDSO_STANDALONE_SUPPORT
-		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_LIBUTIL
-		UCLIBC_HAS_NFTW
-		UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
-		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 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.29.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.29.ebuild
deleted file mode 100644
index 3b31357d804..00000000000
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.29.ebuild
+++ /dev/null
@@ -1,401 +0,0 @@
-# Copyright 1999-2018 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="https://uclibc-ng.org/"
-if [[ ${PV} != "9999" ]] ; then
-	PATCH_VER=""
-	SRC_URI="https://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 symlink-compat 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 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
-		LDSO_SAFE_RUNPATH
-	)
-
-	# These are forced on
-	defs_y=(
-		DO_C99_MATH
-		DO_XSI_MATH
-		FORCE_SHAREABLE_TEXT_SEGMENTS
-		LDSO_GNU_HASH_SUPPORT
-		LDSO_PRELOAD_FILE_SUPPORT
-		LDSO_RUNPATH
-		LDSO_RUNPATH_OF_EXECUTABLE
-		LDSO_STANDALONE_SUPPORT
-		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_LIBUTIL
-		UCLIBC_HAS_NFTW
-		UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
-		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 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
-}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2018-04-28 20:52 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2018-04-28 20:52 UTC (permalink / raw
  To: gentoo-commits

commit:     f2a42fd8eacfac0ba29fd6254451044c406d49ef
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 28 20:51:56 2018 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sat Apr 28 20:51:56 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f2a42fd8

sys-libs/uclibc-ng: version bump to 1.0.30

Package-Manager: Portage-2.3.24, Repoman-2.3.6

 sys-libs/uclibc-ng/Manifest                |   1 +
 sys-libs/uclibc-ng/uclibc-ng-1.0.30.ebuild | 401 +++++++++++++++++++++++++++++
 2 files changed, 402 insertions(+)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index 4963350c07d..7955023afa7 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -1,3 +1,4 @@
 DIST uClibc-ng-1.0.26.tar.bz2 2285709 BLAKE2B 6276f1d080f0c90b5a0ce4a4fc3556070852ad157b9c0a15305108b2f46a2d0f5371dde12ac0a8f05cad7db942cceb8057b5ef351e100a52609f2ebdc6b19634 SHA512 48c37ab2000af13848ef007ce89f226bded5188f37839c11371bab48497670d30d39fda2a031c6aff95f429a4abadc431ddd77c0e023810a341e2c2d2645f71b
 DIST uClibc-ng-1.0.28.tar.bz2 2299119 BLAKE2B 1f31b9a98fd669bad42ceeb1b8c33fd65994b0252707b532ad8a71c12f8bd0c4d99bc89ad919a1fbc2526efcf25d2e9f823f889c7c009da98e861269399c97a3 SHA512 9e77fece126b6ba6f9903a2fc5689a9f7efb335e38914a3806a7e0831033f5373a4b07e942d28876ed81a6a80b2d64b0fa122dccc4874db263d2d5fb7fef99ba
 DIST uClibc-ng-1.0.29.tar.bz2 2290382 BLAKE2B f6968397daaa66d75dff5508bdff4a3d05453a0657474b9ff167d14a0b0d715f22c61708060243efd1064922b4dd1e84987fe9cf1b13aa7bdb85e27b8c65a3b1 SHA512 7ab00f2a1c7a87f8d35b7bc51b7a8ad0f9120d8c117be8c03720c09b17d7f9f8b8a633ef7efa3e69f8d292b0357580f055f1542ad2257cff337056c9d3b5e207
+DIST uClibc-ng-1.0.30.tar.bz2 2302796 BLAKE2B 21888dfe5a68f83b7ba56bb557ecc5aa19fd75cedc82f2ed48073f47655888719feb27943e0309f8101a24fd2fd9165af31d5679f21c00b12f27ebfccf354bac SHA512 ddd1d91dcfdf7be8471afecf13196563ad348c41e2fa8b63ae50b83f103cf8ed8d9f003b51a54a58db2935b84692b7c011a4779582f30610ede44cb583aae742

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.30.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.30.ebuild
new file mode 100644
index 00000000000..3b31357d804
--- /dev/null
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.30.ebuild
@@ -0,0 +1,401 @@
+# Copyright 1999-2018 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="https://uclibc-ng.org/"
+if [[ ${PV} != "9999" ]] ; then
+	PATCH_VER=""
+	SRC_URI="https://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 symlink-compat 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 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
+		LDSO_SAFE_RUNPATH
+	)
+
+	# These are forced on
+	defs_y=(
+		DO_C99_MATH
+		DO_XSI_MATH
+		FORCE_SHAREABLE_TEXT_SEGMENTS
+		LDSO_GNU_HASH_SUPPORT
+		LDSO_PRELOAD_FILE_SUPPORT
+		LDSO_RUNPATH
+		LDSO_RUNPATH_OF_EXECUTABLE
+		LDSO_STANDALONE_SUPPORT
+		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_LIBUTIL
+		UCLIBC_HAS_NFTW
+		UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
+		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 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
+}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2018-04-11  9:40 David Seifert
  0 siblings, 0 replies; 70+ messages in thread
From: David Seifert @ 2018-04-11  9:40 UTC (permalink / raw
  To: gentoo-commits

commit:     d1152bec4795f3a2d4af49eb18ea71ac8e52262b
Author:     Michael Mair-Keimberger <m.mairkeimberger <AT> gmail <DOT> com>
AuthorDate: Wed Apr 11 08:37:59 2018 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Wed Apr 11 09:40:03 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d1152bec

sys-libs/uclibc-ng: use HTTPS

 sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild | 4 ++--
 sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild | 2 +-
 sys-libs/uclibc-ng/uclibc-ng-1.0.29.ebuild | 2 +-
 sys-libs/uclibc-ng/uclibc-ng-9999.ebuild   | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
index f9471f6e42a..3a53eceae51 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
@@ -14,10 +14,10 @@ else
 fi
 
 DESCRIPTION="C library for developing embedded Linux systems"
-HOMEPAGE="http://www.uclibc-ng.org/"
+HOMEPAGE="https://uclibc-ng.org/"
 if [[ ${PV} != "9999" ]] ; then
 	PATCH_VER=""
-	SRC_URI="http://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2"
+	SRC_URI="https://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2"
 	KEYWORDS="-* amd64 arm ~mips ~ppc x86"
 fi
 

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild
index 507f8c13ae9..3b31357d804 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild
@@ -17,7 +17,7 @@ DESCRIPTION="C library for developing embedded Linux systems"
 HOMEPAGE="https://uclibc-ng.org/"
 if [[ ${PV} != "9999" ]] ; then
 	PATCH_VER=""
-	SRC_URI="http://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2"
+	SRC_URI="https://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2"
 	KEYWORDS="-* ~amd64 ~arm ~mips ~ppc ~x86"
 fi
 

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.29.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.29.ebuild
index 507f8c13ae9..3b31357d804 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.29.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.29.ebuild
@@ -17,7 +17,7 @@ DESCRIPTION="C library for developing embedded Linux systems"
 HOMEPAGE="https://uclibc-ng.org/"
 if [[ ${PV} != "9999" ]] ; then
 	PATCH_VER=""
-	SRC_URI="http://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2"
+	SRC_URI="https://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2"
 	KEYWORDS="-* ~amd64 ~arm ~mips ~ppc ~x86"
 fi
 

diff --git a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
index 507f8c13ae9..3b31357d804 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
@@ -17,7 +17,7 @@ DESCRIPTION="C library for developing embedded Linux systems"
 HOMEPAGE="https://uclibc-ng.org/"
 if [[ ${PV} != "9999" ]] ; then
 	PATCH_VER=""
-	SRC_URI="http://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2"
+	SRC_URI="https://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2"
 	KEYWORDS="-* ~amd64 ~arm ~mips ~ppc ~x86"
 fi
 


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2018-03-09 22:57 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2018-03-09 22:57 UTC (permalink / raw
  To: gentoo-commits

commit:     89e5564715199048b5e368cd6530529552c84f11
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Fri Mar  9 22:57:15 2018 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Mar  9 22:57:32 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=89e55647

sys-libs/uclibc-ng: fall back on 1.0.26

=dev-lang/python-3.5.4-r1 breaks on later versions

Package-Manager: Portage-2.3.19, Repoman-2.3.6

 sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild | 2 +-
 sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
index 6ce66393dd4..f9471f6e42a 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
@@ -18,7 +18,7 @@ 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="-* ppc"
+	KEYWORDS="-* amd64 arm ~mips ~ppc x86"
 fi
 
 LICENSE="LGPL-2"

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild
index 6f75777134c..507f8c13ae9 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://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"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2018-03-04  1:54 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2018-03-04  1:54 UTC (permalink / raw
  To: gentoo-commits

commit:     dcde1607fd3e573861b06252263614264d378c2a
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sun Mar  4 01:53:45 2018 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Mar  4 01:53:45 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dcde1607

sys-libs/uclibc-ng: remove older versions

Package-Manager: Portage-2.3.19, Repoman-2.3.6

 sys-libs/uclibc-ng/Manifest                |   2 -
 sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild | 410 -----------------------------
 sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild |   2 +-
 sys-libs/uclibc-ng/uclibc-ng-1.0.27.ebuild | 410 -----------------------------
 4 files changed, 1 insertion(+), 823 deletions(-)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index 4cc4034b82d..4963350c07d 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -1,5 +1,3 @@
-DIST uClibc-ng-1.0.25.tar.bz2 2234505 BLAKE2B c1f352ca0145a473e357f2627b08905ce66d0a1630dd7d62996abc52cf6ec6f51d789fecf59158dd8b425304fab992d4f2fe7290a21966b240cab7fc75fdccd9 SHA512 3bc5e3f0626a529a688e56649b34c48d0ddf733c09279c84fad0954880aa7c0ec3440664811196d11bbc3f05cbea99f3ba47efaad7f315a55ba3d8d587d3b313
 DIST uClibc-ng-1.0.26.tar.bz2 2285709 BLAKE2B 6276f1d080f0c90b5a0ce4a4fc3556070852ad157b9c0a15305108b2f46a2d0f5371dde12ac0a8f05cad7db942cceb8057b5ef351e100a52609f2ebdc6b19634 SHA512 48c37ab2000af13848ef007ce89f226bded5188f37839c11371bab48497670d30d39fda2a031c6aff95f429a4abadc431ddd77c0e023810a341e2c2d2645f71b
-DIST uClibc-ng-1.0.27.tar.bz2 2306274 BLAKE2B 64ad0634ca548960ad3ff003d98981853b0658cad75fcf3b7391b5b965656dc15daa06ae312ca34672caa47a2a3e33fbe6291c94df10547eef5dc395c2cbd0cc SHA512 bf8f56f75465f7b793e0356df495a00a41ed2478ea90e8d686e8591dcb1bb75be27fadedd8adf2494f5053ceefa4b0ba2223758efa2a920ea0f55bf104e433a2
 DIST uClibc-ng-1.0.28.tar.bz2 2299119 BLAKE2B 1f31b9a98fd669bad42ceeb1b8c33fd65994b0252707b532ad8a71c12f8bd0c4d99bc89ad919a1fbc2526efcf25d2e9f823f889c7c009da98e861269399c97a3 SHA512 9e77fece126b6ba6f9903a2fc5689a9f7efb335e38914a3806a7e0831033f5373a4b07e942d28876ed81a6a80b2d64b0fa122dccc4874db263d2d5fb7fef99ba
 DIST uClibc-ng-1.0.29.tar.bz2 2290382 BLAKE2B f6968397daaa66d75dff5508bdff4a3d05453a0657474b9ff167d14a0b0d715f22c61708060243efd1064922b4dd1e84987fe9cf1b13aa7bdb85e27b8c65a3b1 SHA512 7ab00f2a1c7a87f8d35b7bc51b7a8ad0f9120d8c117be8c03720c09b17d7f9f8b8a633ef7efa3e69f8d292b0357580f055f1542ad2257cff337056c9d3b5e207

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild
deleted file mode 100644
index 5245bd5b23c..00000000000
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild
+++ /dev/null
@@ -1,410 +0,0 @@
-# Copyright 1999-2018 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 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 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.26.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
index 5245bd5b23c..6ce66393dd4 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
@@ -18,7 +18,7 @@ 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="-* ppc"
 fi
 
 LICENSE="LGPL-2"

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.27.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.27.ebuild
deleted file mode 100644
index b42ff88c947..00000000000
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.27.ebuild
+++ /dev/null
@@ -1,410 +0,0 @@
-# Copyright 1999-2018 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 ~ppc ~x86"
-fi
-
-LICENSE="LGPL-2"
-SLOT="0"
-IUSE="debug hardened iconv ipv6 rpc symlink-compat 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 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
-}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2018-03-04  1:51 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2018-03-04  1:51 UTC (permalink / raw
  To: gentoo-commits

commit:     d6cf67599e2466b39e186334589960f19afe27f7
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sun Mar  4 01:51:13 2018 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Mar  4 01:51:13 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d6cf6759

sys-libs/uclibc-ng: 1.0.28 stable on amd64, arm and x86

Package-Manager: Portage-2.3.19, Repoman-2.3.6

 sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild
index 507f8c13ae9..6f75777134c 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://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"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2018-03-03 20:50 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2018-03-03 20:50 UTC (permalink / raw
  To: gentoo-commits

commit:     d7be10941db8e8ba0b4d98a26b5bd85ed3f9005d
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sat Mar  3 20:50:16 2018 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sat Mar  3 20:50:16 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d7be1094

sys-libs/uclibc-ng: bump to 1.0.29

Package-Manager: Portage-2.3.19, Repoman-2.3.6

 sys-libs/uclibc-ng/Manifest                |   1 +
 sys-libs/uclibc-ng/uclibc-ng-1.0.29.ebuild | 401 +++++++++++++++++++++++++++++
 2 files changed, 402 insertions(+)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index 22d4db1a1ed..4cc4034b82d 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -2,3 +2,4 @@ DIST uClibc-ng-1.0.25.tar.bz2 2234505 BLAKE2B c1f352ca0145a473e357f2627b08905ce6
 DIST uClibc-ng-1.0.26.tar.bz2 2285709 BLAKE2B 6276f1d080f0c90b5a0ce4a4fc3556070852ad157b9c0a15305108b2f46a2d0f5371dde12ac0a8f05cad7db942cceb8057b5ef351e100a52609f2ebdc6b19634 SHA512 48c37ab2000af13848ef007ce89f226bded5188f37839c11371bab48497670d30d39fda2a031c6aff95f429a4abadc431ddd77c0e023810a341e2c2d2645f71b
 DIST uClibc-ng-1.0.27.tar.bz2 2306274 BLAKE2B 64ad0634ca548960ad3ff003d98981853b0658cad75fcf3b7391b5b965656dc15daa06ae312ca34672caa47a2a3e33fbe6291c94df10547eef5dc395c2cbd0cc SHA512 bf8f56f75465f7b793e0356df495a00a41ed2478ea90e8d686e8591dcb1bb75be27fadedd8adf2494f5053ceefa4b0ba2223758efa2a920ea0f55bf104e433a2
 DIST uClibc-ng-1.0.28.tar.bz2 2299119 BLAKE2B 1f31b9a98fd669bad42ceeb1b8c33fd65994b0252707b532ad8a71c12f8bd0c4d99bc89ad919a1fbc2526efcf25d2e9f823f889c7c009da98e861269399c97a3 SHA512 9e77fece126b6ba6f9903a2fc5689a9f7efb335e38914a3806a7e0831033f5373a4b07e942d28876ed81a6a80b2d64b0fa122dccc4874db263d2d5fb7fef99ba
+DIST uClibc-ng-1.0.29.tar.bz2 2290382 BLAKE2B f6968397daaa66d75dff5508bdff4a3d05453a0657474b9ff167d14a0b0d715f22c61708060243efd1064922b4dd1e84987fe9cf1b13aa7bdb85e27b8c65a3b1 SHA512 7ab00f2a1c7a87f8d35b7bc51b7a8ad0f9120d8c117be8c03720c09b17d7f9f8b8a633ef7efa3e69f8d292b0357580f055f1542ad2257cff337056c9d3b5e207

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.29.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.29.ebuild
new file mode 100644
index 00000000000..507f8c13ae9
--- /dev/null
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.29.ebuild
@@ -0,0 +1,401 @@
+# Copyright 1999-2018 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="https://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 symlink-compat 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 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
+		LDSO_SAFE_RUNPATH
+	)
+
+	# These are forced on
+	defs_y=(
+		DO_C99_MATH
+		DO_XSI_MATH
+		FORCE_SHAREABLE_TEXT_SEGMENTS
+		LDSO_GNU_HASH_SUPPORT
+		LDSO_PRELOAD_FILE_SUPPORT
+		LDSO_RUNPATH
+		LDSO_RUNPATH_OF_EXECUTABLE
+		LDSO_STANDALONE_SUPPORT
+		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_LIBUTIL
+		UCLIBC_HAS_NFTW
+		UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
+		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 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
+}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2018-01-26 19:33 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2018-01-26 19:33 UTC (permalink / raw
  To: gentoo-commits

commit:     09642f6cdb5b3e70896c6cb307d8d80d2adb07e7
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 26 19:33:17 2018 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Jan 26 19:33:35 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=09642f6c

sys-libs/uclibc-ng: version bump to 1.0.28

Package-Manager: Portage-2.3.13, Repoman-2.3.3

 sys-libs/uclibc-ng/Manifest                             |  1 +
 .../{uclibc-ng-9999.ebuild => uclibc-ng-1.0.28.ebuild}  | 17 ++++-------------
 sys-libs/uclibc-ng/uclibc-ng-9999.ebuild                | 17 ++++-------------
 3 files changed, 9 insertions(+), 26 deletions(-)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index 6d66c9d7c1a..22d4db1a1ed 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -1,3 +1,4 @@
 DIST uClibc-ng-1.0.25.tar.bz2 2234505 BLAKE2B c1f352ca0145a473e357f2627b08905ce66d0a1630dd7d62996abc52cf6ec6f51d789fecf59158dd8b425304fab992d4f2fe7290a21966b240cab7fc75fdccd9 SHA512 3bc5e3f0626a529a688e56649b34c48d0ddf733c09279c84fad0954880aa7c0ec3440664811196d11bbc3f05cbea99f3ba47efaad7f315a55ba3d8d587d3b313
 DIST uClibc-ng-1.0.26.tar.bz2 2285709 BLAKE2B 6276f1d080f0c90b5a0ce4a4fc3556070852ad157b9c0a15305108b2f46a2d0f5371dde12ac0a8f05cad7db942cceb8057b5ef351e100a52609f2ebdc6b19634 SHA512 48c37ab2000af13848ef007ce89f226bded5188f37839c11371bab48497670d30d39fda2a031c6aff95f429a4abadc431ddd77c0e023810a341e2c2d2645f71b
 DIST uClibc-ng-1.0.27.tar.bz2 2306274 BLAKE2B 64ad0634ca548960ad3ff003d98981853b0658cad75fcf3b7391b5b965656dc15daa06ae312ca34672caa47a2a3e33fbe6291c94df10547eef5dc395c2cbd0cc SHA512 bf8f56f75465f7b793e0356df495a00a41ed2478ea90e8d686e8591dcb1bb75be27fadedd8adf2494f5053ceefa4b0ba2223758efa2a920ea0f55bf104e433a2
+DIST uClibc-ng-1.0.28.tar.bz2 2299119 BLAKE2B 1f31b9a98fd669bad42ceeb1b8c33fd65994b0252707b532ad8a71c12f8bd0c4d99bc89ad919a1fbc2526efcf25d2e9f823f889c7c009da98e861269399c97a3 SHA512 9e77fece126b6ba6f9903a2fc5689a9f7efb335e38914a3806a7e0831033f5373a4b07e942d28876ed81a6a80b2d64b0fa122dccc4874db263d2d5fb7fef99ba

diff --git a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild
similarity index 96%
copy from sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
copy to sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild
index 9c2e972dc4c..507f8c13ae9 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild
@@ -14,7 +14,7 @@ else
 fi
 
 DESCRIPTION="C library for developing embedded Linux systems"
-HOMEPAGE="http://www.uclibc-ng.org/"
+HOMEPAGE="https://uclibc-ng.org/"
 if [[ ${PV} != "9999" ]] ; then
 	PATCH_VER=""
 	SRC_URI="http://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2"
@@ -23,7 +23,7 @@ fi
 
 LICENSE="LGPL-2"
 SLOT="0"
-IUSE="debug hardened iconv ipv6 rpc symlink-compat headers-only"
+IUSE="debug hardened iconv ipv6 symlink-compat headers-only"
 RESTRICT="strip"
 
 # 1) We can't upgrade from uclibc to uclibc-ng via a soft blocker since portage
@@ -121,21 +121,19 @@ make_config() {
 		SUPPORT_LD_DEBUG_EARLY
 		UCLIBC_HAS_CTYPE_UNSAFE
 		UCLIBC_HAS_LOCALE
-		UCLIBC_HAS_SSP_COMPAT
+		LDSO_SAFE_RUNPATH
 	)
 
 	# 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
 		LDSO_RUNPATH_OF_EXECUTABLE
 		LDSO_STANDALONE_SUPPORT
-		MALLOC_GLIBC_COMPAT
 		PROPOLICE_BLOCK_SEGV
 		PTHREADS_DEBUG_SUPPORT
 		UCLIBC_HAS_ARC4RANDOM
@@ -155,12 +153,9 @@ make_config() {
 		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
@@ -194,10 +189,6 @@ make_config() {
 
 	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

diff --git a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
index 9c2e972dc4c..507f8c13ae9 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
@@ -14,7 +14,7 @@ else
 fi
 
 DESCRIPTION="C library for developing embedded Linux systems"
-HOMEPAGE="http://www.uclibc-ng.org/"
+HOMEPAGE="https://uclibc-ng.org/"
 if [[ ${PV} != "9999" ]] ; then
 	PATCH_VER=""
 	SRC_URI="http://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2"
@@ -23,7 +23,7 @@ fi
 
 LICENSE="LGPL-2"
 SLOT="0"
-IUSE="debug hardened iconv ipv6 rpc symlink-compat headers-only"
+IUSE="debug hardened iconv ipv6 symlink-compat headers-only"
 RESTRICT="strip"
 
 # 1) We can't upgrade from uclibc to uclibc-ng via a soft blocker since portage
@@ -121,21 +121,19 @@ make_config() {
 		SUPPORT_LD_DEBUG_EARLY
 		UCLIBC_HAS_CTYPE_UNSAFE
 		UCLIBC_HAS_LOCALE
-		UCLIBC_HAS_SSP_COMPAT
+		LDSO_SAFE_RUNPATH
 	)
 
 	# 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
 		LDSO_RUNPATH_OF_EXECUTABLE
 		LDSO_STANDALONE_SUPPORT
-		MALLOC_GLIBC_COMPAT
 		PROPOLICE_BLOCK_SEGV
 		PTHREADS_DEBUG_SUPPORT
 		UCLIBC_HAS_ARC4RANDOM
@@ -155,12 +153,9 @@ make_config() {
 		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
@@ -194,10 +189,6 @@ make_config() {
 
 	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


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2018-01-11  2:08 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2018-01-11  2:08 UTC (permalink / raw
  To: gentoo-commits

commit:     dd4c34a499c785675f586e74e10d1ea25b053220
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 11 02:07:10 2018 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Thu Jan 11 02:07:10 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dd4c34a4

sys-libs/uclibc-ng: 1.0.27 is broken on mips

Package-Manager: Portage-2.3.13, Repoman-2.3.3

 sys-libs/uclibc-ng/uclibc-ng-1.0.27.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.27.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.27.ebuild
index 9c2e972dc4c..b42ff88c947 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.27.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.27.ebuild
@@ -18,7 +18,7 @@ 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"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2018-01-07 19:39 Sergei Trofimovich
  0 siblings, 0 replies; 70+ messages in thread
From: Sergei Trofimovich @ 2018-01-07 19:39 UTC (permalink / raw
  To: gentoo-commits

commit:     365914db13540c7580e50a3dc9883587d74f12c8
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun Jan  7 18:40:13 2018 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sun Jan  7 19:39:43 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=365914db

sys-libs/uclibc-ng: Migrate CROSSCOMPILE_OPTS=headers-only -> USE=headers-only

CROSSCOMPILE_OPTS is a USE_EXPAND of a single item: headers-only.
Convert it to a global USE flag instead.

Mechanical ebuild rename done as:
    $ sed -e 's@crosscompile_opts_headers-only@headers-only@g' \
        -i $(git grep -l headers-only)

'headers-only' flag is used by crossdev to bootstrap stage1 compiler
before libc is available.

crossdev switched to USE=headers-only in =sys-devel/crossdev-20171230.

Bug: https://bugs.gentoo.org/642712
Package-Manager: Portage-2.3.19, Repoman-2.3.6

 sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild | 6 +++---
 sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild | 6 +++---
 sys-libs/uclibc-ng/uclibc-ng-1.0.27.ebuild | 6 +++---
 sys-libs/uclibc-ng/uclibc-ng-9999.ebuild   | 6 +++---
 4 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild
index 89d2e372716..5245bd5b23c 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="6"
@@ -23,7 +23,7 @@ fi
 
 LICENSE="LGPL-2"
 SLOT="0"
-IUSE="debug hardened iconv ipv6 rpc symlink-compat crosscompile_opts_headers-only"
+IUSE="debug hardened iconv ipv6 rpc symlink-compat headers-only"
 RESTRICT="strip"
 
 # 1) We can't upgrade from uclibc to uclibc-ng via a soft blocker since portage
@@ -59,7 +59,7 @@ alt_build_kprefix() {
 }
 
 just_headers() {
-	use crosscompile_opts_headers-only && is_crosscompile
+	use headers-only && is_crosscompile
 }
 
 uclibc_endian() {

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
index 89d2e372716..5245bd5b23c 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="6"
@@ -23,7 +23,7 @@ fi
 
 LICENSE="LGPL-2"
 SLOT="0"
-IUSE="debug hardened iconv ipv6 rpc symlink-compat crosscompile_opts_headers-only"
+IUSE="debug hardened iconv ipv6 rpc symlink-compat headers-only"
 RESTRICT="strip"
 
 # 1) We can't upgrade from uclibc to uclibc-ng via a soft blocker since portage
@@ -59,7 +59,7 @@ alt_build_kprefix() {
 }
 
 just_headers() {
-	use crosscompile_opts_headers-only && is_crosscompile
+	use headers-only && is_crosscompile
 }
 
 uclibc_endian() {

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.27.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.27.ebuild
index 3cd7177086e..9c2e972dc4c 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.27.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.27.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="6"
@@ -23,7 +23,7 @@ fi
 
 LICENSE="LGPL-2"
 SLOT="0"
-IUSE="debug hardened iconv ipv6 rpc symlink-compat crosscompile_opts_headers-only"
+IUSE="debug hardened iconv ipv6 rpc symlink-compat headers-only"
 RESTRICT="strip"
 
 # 1) We can't upgrade from uclibc to uclibc-ng via a soft blocker since portage
@@ -59,7 +59,7 @@ alt_build_kprefix() {
 }
 
 just_headers() {
-	use crosscompile_opts_headers-only && is_crosscompile
+	use headers-only && is_crosscompile
 }
 
 uclibc_endian() {

diff --git a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
index f6ad5129797..9c2e972dc4c 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="6"
@@ -23,7 +23,7 @@ fi
 
 LICENSE="LGPL-2"
 SLOT="0"
-IUSE="debug hardened iconv ipv6 rpc symlink-compat crosscompile_opts_headers-only"
+IUSE="debug hardened iconv ipv6 rpc symlink-compat headers-only"
 RESTRICT="strip"
 
 # 1) We can't upgrade from uclibc to uclibc-ng via a soft blocker since portage
@@ -59,7 +59,7 @@ alt_build_kprefix() {
 }
 
 just_headers() {
-	use crosscompile_opts_headers-only && is_crosscompile
+	use headers-only && is_crosscompile
 }
 
 uclibc_endian() {


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2017-11-28 22:07 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2017-11-28 22:07 UTC (permalink / raw
  To: gentoo-commits

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
-}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2017-11-28 22:02 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2017-11-28 22:02 UTC (permalink / raw
  To: gentoo-commits

commit:     0d3c305bf0f475af324799516beedb809b15a55b
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 28 22:02:21 2017 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Tue Nov 28 22:02:21 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0d3c305b

sys-libs/uclibc-ng: version bump 1.0.27

Package-Manager: Portage-2.3.13, Repoman-2.3.3

 sys-libs/uclibc-ng/Manifest                |   1 +
 sys-libs/uclibc-ng/uclibc-ng-1.0.27.ebuild | 410 +++++++++++++++++++++++++++++
 2 files changed, 411 insertions(+)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index da52614c3ad..ed8e9dcd9cc 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -5,3 +5,4 @@ DIST uClibc-ng-1.0.23.tar.bz2 2350186 SHA256 3eeb53a2aa5a32f455fb9d197f7b598f2ff
 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.27.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.27.ebuild
new file mode 100644
index 00000000000..3cd7177086e
--- /dev/null
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.27.ebuild
@@ -0,0 +1,410 @@
+# 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
+}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2017-11-14 15:33 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2017-11-14 15:33 UTC (permalink / raw
  To: gentoo-commits

commit:     adb74d03420b5e38e47d8bced0fb609a453c82ef
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 14 15:33:28 2017 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Tue Nov 14 15:33:28 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=adb74d03

sys-libs/uclibc-ng: 1.0.26 stable for arm ppc, keyword for ~mips

Package-Manager: Portage-2.3.8, Repoman-2.3.3

 sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
index 2492d87f815..89d2e372716 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
@@ -18,8 +18,7 @@ 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"
+	KEYWORDS="-* amd64 arm ~mips ppc x86"
 fi
 
 LICENSE="LGPL-2"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2017-09-21 14:03 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2017-09-21 14:03 UTC (permalink / raw
  To: gentoo-commits

commit:     ff452420d6d2343af0ff605b03a6a730b90a2129
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 21 14:02:54 2017 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Thu Sep 21 14:02:54 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ff452420

sys-libs/uclibc-ng: stable on amd64 and x86

Package-Manager: Portage-2.3.8, Repoman-2.3.1

 sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
index c0d6e8d0953..2492d87f815 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
@@ -19,7 +19,7 @@ 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"
+	KEYWORDS="-* amd64 ~arm ~ppc x86"
 fi
 
 LICENSE="LGPL-2"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2017-08-10 10:04 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2017-08-10 10:04 UTC (permalink / raw
  To: gentoo-commits

commit:     b23e88568c2e8f87c39cca7a8b2435fdeefe130c
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 10 10:01:02 2017 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Thu Aug 10 10:04:48 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b23e8856

sys-libs/uclibc-ng: 1.0.25 stable on arm and keyworded ~mips

Package-Manager: Portage-2.3.6, Repoman-2.3.1

 sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild
index a5231d33810..89d2e372716 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild
@@ -18,8 +18,7 @@ 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"
+	KEYWORDS="-* amd64 arm ~mips ppc x86"
 fi
 
 LICENSE="LGPL-2"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2017-08-06 11:33 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2017-08-06 11:33 UTC (permalink / raw
  To: gentoo-commits

commit:     53b41a4e27936a186e2b76a7984ace6c97e560a5
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sun Aug  6 11:31:08 2017 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Aug  6 11:31:08 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=53b41a4e

sys-libs/uclibc-ng: mark 1.0.25 stable on ppc

Package-Manager: Portage-2.3.6, Repoman-2.3.1

 sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild
index 2492d87f815..a5231d33810 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild
@@ -19,7 +19,7 @@ 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"
+	KEYWORDS="-* amd64 ~arm ppc x86"
 fi
 
 LICENSE="LGPL-2"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2017-08-04 20:25 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2017-08-04 20:25 UTC (permalink / raw
  To: gentoo-commits

commit:     3b1ea686700359b163703f456dd62427a34261f3
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Fri Aug  4 20:25:11 2017 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Aug  4 20:25:31 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3b1ea686

sys-libs/uclibc-ng: version bump to 1.0.26

Package-Manager: Portage-2.3.6, Repoman-2.3.1

 sys-libs/uclibc-ng/Manifest                |   1 +
 sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild | 411 +++++++++++++++++++++++++++++
 2 files changed, 412 insertions(+)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index b6d152ba1d3..da52614c3ad 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -4,3 +4,4 @@ DIST uClibc-ng-1.0.22.tar.bz2 2435181 SHA256 430bebc26545022c5c3e9cebd4ee682db00
 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

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
new file mode 100644
index 00000000000..c0d6e8d0953
--- /dev/null
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild
@@ -0,0 +1,411 @@
+# 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
+}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2017-07-21 11:14 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2017-07-21 11:14 UTC (permalink / raw
  To: gentoo-commits

commit:     a7ceb7e3ed317f6d6f572d0f17634fa4743795ff
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 21 11:09:22 2017 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Jul 21 11:09:22 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a7ceb7e3

sys-libs/uclibc-ng: mark 1.0.25 stable on amd64 and x86

Package-Manager: Portage-2.3.6, Repoman-2.3.1

 sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild
index c0d6e8d0953..2492d87f815 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild
@@ -19,7 +19,7 @@ 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"
+	KEYWORDS="-* amd64 ~arm ~ppc x86"
 fi
 
 LICENSE="LGPL-2"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2017-07-09 14:40 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2017-07-09 14:40 UTC (permalink / raw
  To: gentoo-commits

commit:     cc266df76c23dfb05e34f602378d3a8c5a5419bd
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sun Jul  9 14:39:57 2017 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Jul  9 14:39:57 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cc266df7

sys-libs/uclibc-ng: add keyword ~mips for version 1.0.23

Package-Manager: Portage-2.3.6, Repoman-2.3.1

 sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild
index dc7a25c713c..d10bebbe0ba 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild
@@ -19,7 +19,7 @@ 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"
+	KEYWORDS="-* amd64 arm ~mips ppc x86"
 fi
 
 LICENSE="LGPL-2"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2017-06-12 21:47 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2017-06-12 21:47 UTC (permalink / raw
  To: gentoo-commits

commit:     0b1493ac5a7f438c9e29a2fc8ee4b74bd2cac9d1
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 12 21:47:26 2017 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Mon Jun 12 21:47:48 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0b1493ac

sys-libs/uclibc-ng: version bump to 1.0.25

Package-Manager: Portage-2.3.5, Repoman-2.3.1

 sys-libs/uclibc-ng/Manifest                |   1 +
 sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild | 411 +++++++++++++++++++++++++++++
 2 files changed, 412 insertions(+)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index b4d83908027..b6d152ba1d3 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -3,3 +3,4 @@ DIST uClibc-ng-1.0.20.tar.bz2 2414313 SHA256 0d0ee9d4df82958f65088f446ffd7548d88
 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

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild
new file mode 100644
index 00000000000..c0d6e8d0953
--- /dev/null
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild
@@ -0,0 +1,411 @@
+# 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
+}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2017-06-07 10:22 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2017-06-07 10:22 UTC (permalink / raw
  To: gentoo-commits

commit:     03ec1fa88bc1f425066e589f5f4ec1f00af02195
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Wed Jun  7 10:22:11 2017 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Wed Jun  7 10:22:11 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=03ec1fa8

sys-libs/uclibc-ng: 1.0.23 stable on arm

Package-Manager: Portage-2.3.5, Repoman-2.3.1

 sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild
index a5231d33810..dc7a25c713c 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild
@@ -19,7 +19,7 @@ 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"
+	KEYWORDS="-* amd64 arm ppc x86"
 fi
 
 LICENSE="LGPL-2"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2017-05-25 16:55 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2017-05-25 16:55 UTC (permalink / raw
  To: gentoo-commits

commit:     3a73cdfbd09983cb45410777db3bb685e7b5edf6
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Thu May 25 16:55:02 2017 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Thu May 25 16:55:24 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3a73cdfb

sys-libs/uclibc-ng: version 1.0.23 stable on ppc

Package-Manager: Portage-2.3.5, Repoman-2.3.1

 sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild
index 2492d87f815..a5231d33810 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild
@@ -19,7 +19,7 @@ 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"
+	KEYWORDS="-* amd64 ~arm ppc x86"
 fi
 
 LICENSE="LGPL-2"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2017-04-23 11:59 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2017-04-23 11:59 UTC (permalink / raw
  To: gentoo-commits

commit:     b30427e37f94f2571d43172f238ee30bb9ea7dfe
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 23 11:59:36 2017 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Apr 23 11:59:36 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b30427e3

sys-libs/uclibc-ng: version bump to 1.0.24

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 sys-libs/uclibc-ng/Manifest                |   1 +
 sys-libs/uclibc-ng/uclibc-ng-1.0.24.ebuild | 411 +++++++++++++++++++++++++++++
 2 files changed, 412 insertions(+)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index ecb210bdedf..b4d83908027 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -2,3 +2,4 @@ DIST uClibc-ng-1.0.19.tar.bz2 2748768 SHA256 139c495d8f71ec31da97e0330b056302ff4
 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

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.24.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.24.ebuild
new file mode 100644
index 00000000000..c0d6e8d0953
--- /dev/null
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.24.ebuild
@@ -0,0 +1,411 @@
+# 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
+}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2017-04-04  2:03 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2017-04-04  2:03 UTC (permalink / raw
  To: gentoo-commits

commit:     c03fd9aeed5fb3fae58d6e08121b9369b9f8c458
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Tue Apr  4 02:02:51 2017 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Tue Apr  4 02:02:51 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c03fd9ae

sys-libs/uclibc-ng: remove older versions

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 sys-libs/uclibc-ng/Manifest                   |   3 -
 sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild    | 399 -------------------------
 sys-libs/uclibc-ng/uclibc-ng-1.0.17.ebuild    | 399 -------------------------
 sys-libs/uclibc-ng/uclibc-ng-1.0.18-r1.ebuild | 408 --------------------------
 4 files changed, 1209 deletions(-)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index 1025f878bc7..ecb210bdedf 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -1,6 +1,3 @@
-DIST uClibc-ng-1.0.16.tar.bz2 2769238 SHA256 f0ded5cb1ff7aac670ca9df931fc820648d91b27085a3efecc1b7f06d65f57f6 SHA512 05110f0b6651862f16b01d1b45d59258b93686a7635815f9e050ab6b8f0eb14581782c95f305649d62aa80e78060865620a5306a657ea7e9ac396c68d61347cb WHIRLPOOL d79830b46d4bcb2f19917da936a35443da95728c25a050e5a313f6a374669be8c29d5df12a6e9ac5efc65416a0206672a70c7b6d75cb3fdc4017220e32222bf3
-DIST uClibc-ng-1.0.17.tar.bz2 2769872 SHA256 fb4ab60698256d110bf30678a4cb27f14b3cf6eae60ed4ad21b2de5cac8c0bf3 SHA512 de6c7bf2168fe76ad0fa3a59c2c4264040383683b4774e846c97c20802d92dc478d3fcf271800f008c5b2ee06d3f50baac47bc5f28b43366e418c65b11d3bdb4 WHIRLPOOL 430fcd6992097bcd995936e36450617d0d9f57182542ffc42f0bdf021a2e7c0a5c9f8bce50c498567e9219379ef80a20e444f872429ab36dc43eda11134a03f6
-DIST uClibc-ng-1.0.18.tar.bz2 2754404 SHA256 71b2d401025c1235a061cfc80d394760fb37f3611566e105b39dd034f6ed001c SHA512 579ddf4470d684979ba00b71545e7c34ca48d0ad58767222835f95c1401dea5435b6a945390c992e027cc59f2b419a9d835081d08c9d2e6db8b8ddeeed24f5cd WHIRLPOOL 60cd9cc03668af81988d603edc637a8d3dba8276bc0d71e6e915263119c8cf629d293e2da73a57def5b07732cd37f35527b1bc7d3ef01ff09dd6fcc2cf7d3a59
 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

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild
deleted file mode 100644
index ef86bc4a36e..00000000000
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild
+++ /dev/null
@@ -1,399 +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.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
-
-	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.17.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.17.ebuild
deleted file mode 100644
index ba63764701e..00000000000
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.17.ebuild
+++ /dev/null
@@ -1,399 +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.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
-
-	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.18-r1.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.18-r1.ebuild
deleted file mode 100644
index f6fc8c5d528..00000000000
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.18-r1.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
-}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2017-04-04  1:59 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2017-04-04  1:59 UTC (permalink / raw
  To: gentoo-commits

commit:     c528b47d481ff55a3bd0aff8f9f496a3778254db
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Tue Apr  4 01:59:15 2017 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Tue Apr  4 01:59:15 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c528b47d

sys-libs/uclibc-ng: version bump to 1.0.23

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 sys-libs/uclibc-ng/Manifest                |   1 +
 sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild | 411 +++++++++++++++++++++++++++++
 2 files changed, 412 insertions(+)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index b741059944c..1025f878bc7 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -4,3 +4,4 @@ DIST uClibc-ng-1.0.18.tar.bz2 2754404 SHA256 71b2d401025c1235a061cfc80d394760fb3
 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

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild
new file mode 100644
index 00000000000..c0d6e8d0953
--- /dev/null
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.23.ebuild
@@ -0,0 +1,411 @@
+# 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
+}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2017-03-19 15:39 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2017-03-19 15:39 UTC (permalink / raw
  To: gentoo-commits

commit:     c0eddfadbd24ea3b7b3d17f121e950d717807936
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 19 15:38:44 2017 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Mar 19 15:39:02 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c0eddfad

sys-libs/uclibc-ng: rekeyword 1.0.22

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 sys-libs/uclibc-ng/uclibc-ng-1.0.22.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.22.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.22.ebuild
index ab2dfbe25ea..c0d6e8d0953 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.22.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.22.ebuild
@@ -19,7 +19,7 @@ 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=""
+	KEYWORDS="-* ~amd64 ~arm ~ppc ~x86"
 fi
 
 LICENSE="LGPL-2"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2017-02-18 20:52 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2017-02-18 20:52 UTC (permalink / raw
  To: gentoo-commits

commit:     4c05c51c24e312d706679c2b737ee6729e984f8d
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 18 20:52:02 2017 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sat Feb 18 20:52:20 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c05c51c

sys-libs/uclibc-ng: 1.0.20 stable on all arches

Package-Manager: portage-2.3.3

 sys-libs/uclibc-ng/uclibc-ng-1.0.20.ebuild | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.20.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.20.ebuild
index 15713cff6f..5cf67671cf 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.20.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.20.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -19,7 +19,7 @@ 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"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2017-02-08 15:22 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2017-02-08 15:22 UTC (permalink / raw
  To: gentoo-commits

commit:     568fb817e2be78887e108bf0594cfdde74517322
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Wed Feb  8 15:22:21 2017 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Wed Feb  8 15:22:40 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=568fb817

sys-libs/uclibc-ng: version bump to 1.0.22, keyword masked

Package-Manager: portage-2.3.3

 sys-libs/uclibc-ng/Manifest                |   1 +
 sys-libs/uclibc-ng/uclibc-ng-1.0.22.ebuild | 412 +++++++++++++++++++++++++++++
 2 files changed, 413 insertions(+)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index 4d9b5bd98c..b741059944 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -3,3 +3,4 @@ DIST uClibc-ng-1.0.17.tar.bz2 2769872 SHA256 fb4ab60698256d110bf30678a4cb27f14b3
 DIST uClibc-ng-1.0.18.tar.bz2 2754404 SHA256 71b2d401025c1235a061cfc80d394760fb37f3611566e105b39dd034f6ed001c SHA512 579ddf4470d684979ba00b71545e7c34ca48d0ad58767222835f95c1401dea5435b6a945390c992e027cc59f2b419a9d835081d08c9d2e6db8b8ddeeed24f5cd WHIRLPOOL 60cd9cc03668af81988d603edc637a8d3dba8276bc0d71e6e915263119c8cf629d293e2da73a57def5b07732cd37f35527b1bc7d3ef01ff09dd6fcc2cf7d3a59
 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

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.22.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.22.ebuild
new file mode 100644
index 0000000000..53955c73c9
--- /dev/null
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.22.ebuild
@@ -0,0 +1,412 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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=""
+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
+}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2016-12-28  9:28 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2016-12-28  9:28 UTC (permalink / raw
  To: gentoo-commits

commit:     3b1b97322a1a6cd33183ce91700cb9af325fecec
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 26 18:41:21 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Wed Dec 28 09:28:03 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3b1b9732

sys-libs/uclibc-ng: remove 1.0.21, dropping obstack breaks backward compat

Package-Manager: portage-2.3.0

 sys-libs/uclibc-ng/Manifest                |   1 -
 sys-libs/uclibc-ng/uclibc-ng-1.0.21.ebuild | 411 -----------------------------
 2 files changed, 412 deletions(-)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index 4819a0c..4d9b5bd 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -3,4 +3,3 @@ DIST uClibc-ng-1.0.17.tar.bz2 2769872 SHA256 fb4ab60698256d110bf30678a4cb27f14b3
 DIST uClibc-ng-1.0.18.tar.bz2 2754404 SHA256 71b2d401025c1235a061cfc80d394760fb37f3611566e105b39dd034f6ed001c SHA512 579ddf4470d684979ba00b71545e7c34ca48d0ad58767222835f95c1401dea5435b6a945390c992e027cc59f2b419a9d835081d08c9d2e6db8b8ddeeed24f5cd WHIRLPOOL 60cd9cc03668af81988d603edc637a8d3dba8276bc0d71e6e915263119c8cf629d293e2da73a57def5b07732cd37f35527b1bc7d3ef01ff09dd6fcc2cf7d3a59
 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.21.tar.bz2 2408890 SHA256 106b5c1c56ec5ed3c7d60dc4ce9b30a1f44c1de24ba3af263307a8fee5e90d38 SHA512 bc87999073f3d6f33053f3707ab6d5ac4c0587e0fc5150db17bc620f046f668ff59650da37677776c6fe579692d50db81157d53852311aafb766a38aca29e840 WHIRLPOOL 587cf0199fd0339ed16aa1c8201cc5500195525d3041a923b0e0631d6f7ee0b0e8629013a48ce35c38638d67d1e6b9a4c3df3bc9dfcfe571608cd1fa46a35d33

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.21.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.21.ebuild
deleted file mode 100644
index 15713cf..00000000
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.21.ebuild
+++ /dev/null
@@ -1,411 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-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
-}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2016-12-26 15:49 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2016-12-26 15:49 UTC (permalink / raw
  To: gentoo-commits

commit:     9dc9db6c21fb87e12713f6e9fb893cf54da04f55
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 26 15:26:29 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Mon Dec 26 15:49:02 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9dc9db6c

sys-libs/uclibc-ng: version bump to 1.0.21

Package-Manager: portage-2.3.0

 sys-libs/uclibc-ng/Manifest                |   1 +
 sys-libs/uclibc-ng/uclibc-ng-1.0.21.ebuild | 411 +++++++++++++++++++++++++++++
 2 files changed, 412 insertions(+)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index 4d9b5bd..4819a0c 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -3,3 +3,4 @@ DIST uClibc-ng-1.0.17.tar.bz2 2769872 SHA256 fb4ab60698256d110bf30678a4cb27f14b3
 DIST uClibc-ng-1.0.18.tar.bz2 2754404 SHA256 71b2d401025c1235a061cfc80d394760fb37f3611566e105b39dd034f6ed001c SHA512 579ddf4470d684979ba00b71545e7c34ca48d0ad58767222835f95c1401dea5435b6a945390c992e027cc59f2b419a9d835081d08c9d2e6db8b8ddeeed24f5cd WHIRLPOOL 60cd9cc03668af81988d603edc637a8d3dba8276bc0d71e6e915263119c8cf629d293e2da73a57def5b07732cd37f35527b1bc7d3ef01ff09dd6fcc2cf7d3a59
 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.21.tar.bz2 2408890 SHA256 106b5c1c56ec5ed3c7d60dc4ce9b30a1f44c1de24ba3af263307a8fee5e90d38 SHA512 bc87999073f3d6f33053f3707ab6d5ac4c0587e0fc5150db17bc620f046f668ff59650da37677776c6fe579692d50db81157d53852311aafb766a38aca29e840 WHIRLPOOL 587cf0199fd0339ed16aa1c8201cc5500195525d3041a923b0e0631d6f7ee0b0e8629013a48ce35c38638d67d1e6b9a4c3df3bc9dfcfe571608cd1fa46a35d33

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.21.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.21.ebuild
new file mode 100644
index 00000000..15713cf
--- /dev/null
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.21.ebuild
@@ -0,0 +1,411 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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
+}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2016-12-05 22:45 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2016-12-05 22:45 UTC (permalink / raw
  To: gentoo-commits

commit:     56c9fcd23b51388f7dd75f9b5df8ce260486a6f9
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Mon Dec  5 22:45:08 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Mon Dec  5 22:45:24 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=56c9fcd2

sys-libs/uclibc-ng: version bump to 1.0.20

Package-Manager: portage-2.3.0

 sys-libs/uclibc-ng/Manifest                |   1 +
 sys-libs/uclibc-ng/uclibc-ng-1.0.20.ebuild | 411 +++++++++++++++++++++++++++++
 2 files changed, 412 insertions(+)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index b347a2c..4d9b5bd 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -2,3 +2,4 @@ DIST uClibc-ng-1.0.16.tar.bz2 2769238 SHA256 f0ded5cb1ff7aac670ca9df931fc820648d
 DIST uClibc-ng-1.0.17.tar.bz2 2769872 SHA256 fb4ab60698256d110bf30678a4cb27f14b3cf6eae60ed4ad21b2de5cac8c0bf3 SHA512 de6c7bf2168fe76ad0fa3a59c2c4264040383683b4774e846c97c20802d92dc478d3fcf271800f008c5b2ee06d3f50baac47bc5f28b43366e418c65b11d3bdb4 WHIRLPOOL 430fcd6992097bcd995936e36450617d0d9f57182542ffc42f0bdf021a2e7c0a5c9f8bce50c498567e9219379ef80a20e444f872429ab36dc43eda11134a03f6
 DIST uClibc-ng-1.0.18.tar.bz2 2754404 SHA256 71b2d401025c1235a061cfc80d394760fb37f3611566e105b39dd034f6ed001c SHA512 579ddf4470d684979ba00b71545e7c34ca48d0ad58767222835f95c1401dea5435b6a945390c992e027cc59f2b419a9d835081d08c9d2e6db8b8ddeeed24f5cd WHIRLPOOL 60cd9cc03668af81988d603edc637a8d3dba8276bc0d71e6e915263119c8cf629d293e2da73a57def5b07732cd37f35527b1bc7d3ef01ff09dd6fcc2cf7d3a59
 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

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.20.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.20.ebuild
new file mode 100644
index 00000000..15713cf
--- /dev/null
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.20.ebuild
@@ -0,0 +1,411 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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
+}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2016-12-02  1:23 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2016-12-02  1:23 UTC (permalink / raw
  To: gentoo-commits

commit:     40524bc7033af4413351b3885c311152a3df9163
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Fri Dec  2 01:23:18 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Dec  2 01:23:55 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=40524bc7

sys-libs/uclibc-ng: stable on amd64, arm, ppc and x86

Package-Manager: portage-2.3.0

 sys-libs/uclibc-ng/uclibc-ng-1.0.19.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.19.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.19.ebuild
index 3cb1ea9..a455fce 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.19.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.19.ebuild
@@ -19,7 +19,7 @@ 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"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2016-10-30 22:57 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2016-10-30 22:57 UTC (permalink / raw
  To: gentoo-commits

commit:     1e102eb71943a8a94d619c9fe141176040c8a608
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 30 22:57:25 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Oct 30 22:57:47 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1e102eb7

sys-libs/uclibc-ng: make compat sym links for libm.so and friends optional

Package-Manager: portage-2.3.0

 sys-libs/uclibc-ng/metadata.xml          |  2 ++
 sys-libs/uclibc-ng/uclibc-ng-9999.ebuild | 20 +++++++++++---------
 2 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/sys-libs/uclibc-ng/metadata.xml b/sys-libs/uclibc-ng/metadata.xml
index 1e21008..c54e93b 100644
--- a/sys-libs/uclibc-ng/metadata.xml
+++ b/sys-libs/uclibc-ng/metadata.xml
@@ -16,5 +16,7 @@
 	</longdescription>
 	<use>
 		<flag name="rpc">Enable sun nis/rpc support (you should use libtirpc though)</flag>
+		<flag name="symlink-compat">Explicitly add sym links for libdl.so.0, libm.so.0, and
+		friends for backward compatibility with sys-libs/uclibc-ng-1.0.17 and earlier</flag>
 	</use>
 </pkgmetadata>

diff --git a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
index 3cb1ea9..15713cf 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
@@ -24,7 +24,7 @@ fi
 
 LICENSE="LGPL-2"
 SLOT="0"
-IUSE="debug hardened iconv ipv6 rpc crosscompile_opts_headers-only"
+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
@@ -379,14 +379,16 @@ src_install() {
 		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
+	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


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2016-10-30  9:41 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2016-10-30  9:41 UTC (permalink / raw
  To: gentoo-commits

commit:     f80a3b044ae6edf5b17fd2f7e9c8f251d582ae60
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 30 09:41:24 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Oct 30 09:41:24 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f80a3b04

sys-libs/uclibc-ng: version bump to 1.0.19

Package-Manager: portage-2.3.0

 sys-libs/uclibc-ng/Manifest                |   1 +
 sys-libs/uclibc-ng/uclibc-ng-1.0.19.ebuild | 409 +++++++++++++++++++++++++++++
 2 files changed, 410 insertions(+)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index 2bf9152..b347a2c 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -1,3 +1,4 @@
 DIST uClibc-ng-1.0.16.tar.bz2 2769238 SHA256 f0ded5cb1ff7aac670ca9df931fc820648d91b27085a3efecc1b7f06d65f57f6 SHA512 05110f0b6651862f16b01d1b45d59258b93686a7635815f9e050ab6b8f0eb14581782c95f305649d62aa80e78060865620a5306a657ea7e9ac396c68d61347cb WHIRLPOOL d79830b46d4bcb2f19917da936a35443da95728c25a050e5a313f6a374669be8c29d5df12a6e9ac5efc65416a0206672a70c7b6d75cb3fdc4017220e32222bf3
 DIST uClibc-ng-1.0.17.tar.bz2 2769872 SHA256 fb4ab60698256d110bf30678a4cb27f14b3cf6eae60ed4ad21b2de5cac8c0bf3 SHA512 de6c7bf2168fe76ad0fa3a59c2c4264040383683b4774e846c97c20802d92dc478d3fcf271800f008c5b2ee06d3f50baac47bc5f28b43366e418c65b11d3bdb4 WHIRLPOOL 430fcd6992097bcd995936e36450617d0d9f57182542ffc42f0bdf021a2e7c0a5c9f8bce50c498567e9219379ef80a20e444f872429ab36dc43eda11134a03f6
 DIST uClibc-ng-1.0.18.tar.bz2 2754404 SHA256 71b2d401025c1235a061cfc80d394760fb37f3611566e105b39dd034f6ed001c SHA512 579ddf4470d684979ba00b71545e7c34ca48d0ad58767222835f95c1401dea5435b6a945390c992e027cc59f2b419a9d835081d08c9d2e6db8b8ddeeed24f5cd WHIRLPOOL 60cd9cc03668af81988d603edc637a8d3dba8276bc0d71e6e915263119c8cf629d293e2da73a57def5b07732cd37f35527b1bc7d3ef01ff09dd6fcc2cf7d3a59
+DIST uClibc-ng-1.0.19.tar.bz2 2748768 SHA256 139c495d8f71ec31da97e0330b056302ff40f0acba66988fcd737cfb4eb445ed SHA512 d385eca25c4a356b01b6d7acaef63daeeb172769d6306525fb95f62e818aca354cf04fae15af65bc346f19dcfdc601f87e52a8dc95f528d7392648d1b056fe63 WHIRLPOOL 1cc6b64df85df5f9e8c15c9cad3ed5641add20f402657a7d9c6283527ba7feac3c90ce293f2b15578c6d816c19018467336e50cd469a46482c2e4168f2addaf5

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.19.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.19.ebuild
new file mode 100644
index 00000000..3cb1ea9
--- /dev/null
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.19.ebuild
@@ -0,0 +1,409 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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
+}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2016-10-03  0:00 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2016-10-03  0:00 UTC (permalink / raw
  To: gentoo-commits

commit:     817823926ee26607d4a89568e1503f8cfc3c9e04
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Mon Oct  3 00:00:27 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Mon Oct  3 00:00:51 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=81782392

sys-libs/uclibc-ng: fix restructured libraries in >= 1.0.18

Package-Manager: portage-2.2.28

 .../{uclibc-ng-1.0.18.ebuild => uclibc-ng-1.0.18-r1.ebuild}      | 9 +++++++++
 sys-libs/uclibc-ng/uclibc-ng-9999.ebuild                         | 9 +++++++++
 2 files changed, 18 insertions(+)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.18.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.18-r1.ebuild
similarity index 96%
rename from sys-libs/uclibc-ng/uclibc-ng-1.0.18.ebuild
rename to sys-libs/uclibc-ng/uclibc-ng-1.0.18-r1.ebuild
index 8635e40..3cb1ea9 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.18.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.18-r1.ebuild
@@ -379,6 +379,15 @@ src_install() {
 		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

diff --git a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
index 8635e40..3cb1ea9 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
@@ -379,6 +379,15 @@ src_install() {
 		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


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2016-08-13 13:57 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2016-08-13 13:57 UTC (permalink / raw
  To: gentoo-commits

commit:     16409c8ee6886521d1bb39fd799c453fd2ecda54
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 13 13:56:05 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sat Aug 13 13:56:05 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=16409c8e

sys-libs/uclibc-ng: stable on arm and ppc

Package-Manager: portage-2.2.28

 sys-libs/uclibc-ng/uclibc-ng-1.0.17.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.17.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.17.ebuild
index 046f0b8..76ec59e 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.17.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.17.ebuild
@@ -19,7 +19,7 @@ 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"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2016-08-08  1:13 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2016-08-08  1:13 UTC (permalink / raw
  To: gentoo-commits

commit:     eeb4cb957280f1ce497a47b19516e77263fc3366
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Mon Aug  8 01:12:51 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Mon Aug  8 01:12:51 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eeb4cb95

sys-libs/uclibc-ng: stable on amd64 and x86

Package-Manager: portage-2.2.28

 sys-libs/uclibc-ng/uclibc-ng-1.0.17.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.17.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.17.ebuild
index 2d3a099..046f0b8 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.17.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.17.ebuild
@@ -19,7 +19,7 @@ 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"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2016-08-01 22:43 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2016-08-01 22:43 UTC (permalink / raw
  To: gentoo-commits

commit:     7c3fda3df0131e29418df03db9b93013262d7f70
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Mon Aug  1 22:42:56 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Mon Aug  1 22:42:56 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7c3fda3d

sys-libs/uclibc-ng: version bump to 1.0.17

Package-Manager: portage-2.2.28

 sys-libs/uclibc-ng/Manifest                |   1 +
 sys-libs/uclibc-ng/uclibc-ng-1.0.17.ebuild | 400 +++++++++++++++++++++++++++++
 2 files changed, 401 insertions(+)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index dfc48c8..e8baa7e 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -1 +1,2 @@
 DIST uClibc-ng-1.0.16.tar.bz2 2769238 SHA256 f0ded5cb1ff7aac670ca9df931fc820648d91b27085a3efecc1b7f06d65f57f6 SHA512 05110f0b6651862f16b01d1b45d59258b93686a7635815f9e050ab6b8f0eb14581782c95f305649d62aa80e78060865620a5306a657ea7e9ac396c68d61347cb WHIRLPOOL d79830b46d4bcb2f19917da936a35443da95728c25a050e5a313f6a374669be8c29d5df12a6e9ac5efc65416a0206672a70c7b6d75cb3fdc4017220e32222bf3
+DIST uClibc-ng-1.0.17.tar.bz2 2769872 SHA256 fb4ab60698256d110bf30678a4cb27f14b3cf6eae60ed4ad21b2de5cac8c0bf3 SHA512 de6c7bf2168fe76ad0fa3a59c2c4264040383683b4774e846c97c20802d92dc478d3fcf271800f008c5b2ee06d3f50baac47bc5f28b43366e418c65b11d3bdb4 WHIRLPOOL 430fcd6992097bcd995936e36450617d0d9f57182542ffc42f0bdf021a2e7c0a5c9f8bce50c498567e9219379ef80a20e444f872429ab36dc43eda11134a03f6

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.17.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.17.ebuild
new file mode 100644
index 0000000..2d3a099
--- /dev/null
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.17.ebuild
@@ -0,0 +1,400 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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.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
+
+	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
+}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2016-07-28  3:12 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2016-07-28  3:12 UTC (permalink / raw
  To: gentoo-commits

commit:     b51060dd911d9eea0f46a1c5d907ba0ae6f7ff04
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 28 03:11:52 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Thu Jul 28 03:11:52 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b51060dd

sys-libs/uclibc-ng: drop typo workaround for MIPS

Package-Manager: portage-2.2.28

 sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild | 6 ------
 sys-libs/uclibc-ng/uclibc-ng-9999.ebuild   | 6 ------
 2 files changed, 12 deletions(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild
index 1311c9b..fd9adc7 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild
@@ -317,12 +317,6 @@ src_configure() {
 		sed -i -e '/Build for EABI/a \\tdefault y' extra/Configs/Config.arm
 	fi
 
-	# For mips
-	if [[ ${target} == "mips" ]]; then
-		sed -i -e "s|default CONFIG_MIPS_O32_ABI|CONFIG_MIPS_${ABI^[on]}_ABI|" \
-			extra/Configs/Config.mips || die
-	fi
-
 	# We set HOSTCC to the proper tuple rather than just 'gcc'
 	sed -i -e "s|^HOSTCC.*=.*|HOSTCC=$(tc-getBUILD_CC)|" Rules.mak
 

diff --git a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
index 2d9c74e..2d3a099 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
@@ -317,12 +317,6 @@ src_configure() {
 		sed -i -e '/Build for EABI/a \\tdefault y' extra/Configs/Config.arm
 	fi
 
-	# For mips
-	if [[ ${target} == "mips" ]]; then
-		sed -i -e "s|default CONFIG_MIPS_O32_ABI|CONFIG_MIPS_${ABI^[on]}_ABI|" \
-			extra/Configs/Config.mips || die
-	fi
-
 	# We set HOSTCC to the proper tuple rather than just 'gcc'
 	sed -i -e "s|^HOSTCC.*=.*|HOSTCC=$(tc-getBUILD_CC)|" Rules.mak
 


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2016-07-18 16:00 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2016-07-18 16:00 UTC (permalink / raw
  To: gentoo-commits

commit:     e029a05cf7242e3cdd635eab888190ed4ef6a6c3
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 18 15:59:49 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Mon Jul 18 15:59:49 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e029a05c

sys-libs/uclibc-ng: stable on arm

Package-Manager: portage-2.2.28

 sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild
index d3a5305..1311c9b 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild
@@ -19,7 +19,7 @@ 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"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2016-07-14 13:28 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2016-07-14 13:28 UTC (permalink / raw
  To: gentoo-commits

commit:     ccbce4d58c33a9d237777e60a7de938efa3abfe0
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 14 13:31:25 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Thu Jul 14 13:31:43 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ccbce4d5

sys-libs/uclibc-ng: stable for amd64 and x86

Package-Manager: portage-2.2.28

 sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild
index 2d9c74e..d3a5305 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild
@@ -19,7 +19,7 @@ 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"


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2016-07-08  8:54 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2016-07-08  8:54 UTC (permalink / raw
  To: gentoo-commits

commit:     6330ebcf3b97eb45f3bb1c0db59910b17ef7230f
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Fri Jul  8 08:57:45 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Jul  8 08:58:16 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6330ebcf

sys-libs/uclibc-ng: fix typo

Package-Manager: portage-2.2.28

 sys-libs/uclibc-ng/uclibc-ng-9999.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
index e99f8d7..2d9c74e 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
@@ -309,7 +309,7 @@ src_configure() {
 	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.i385 || die
+			extra/Configs/Config.i386 || die
 	fi
 
 	# For arm


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2016-07-08  8:54 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2016-07-08  8:54 UTC (permalink / raw
  To: gentoo-commits

commit:     a5adfa6966ea8b860bcea4ffae911faa61aaa8c1
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Fri Jul  8 08:56:53 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Jul  8 08:58:14 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a5adfa69

sys-libs/uclibc-ng: remove older versions

Package-Manager: portage-2.2.28

 sys-libs/uclibc-ng/Manifest                |   2 -
 sys-libs/uclibc-ng/uclibc-ng-1.0.14.ebuild | 406 -----------------------------
 sys-libs/uclibc-ng/uclibc-ng-1.0.15.ebuild | 406 -----------------------------
 3 files changed, 814 deletions(-)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index 305ecc2..dfc48c8 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -1,3 +1 @@
-DIST uClibc-ng-1.0.14.tar.bz2 2859522 SHA256 5e3ed3c217786b238e7e356fae05c75a158d1852e72ddea954787bdcf4d63dfa SHA512 293b9260ca9a62170746e441de161ebfedb171050f168db0131fa1aec1819477ff792204525747aec82c7f473b2f48eb93aedabcd768814ac207b28032112366 WHIRLPOOL 93dce8443c3b6d0b4a616de6084cf5169d24a55e0cf9445d90d24ea66dc51902f1612371747171967431ad30a8129fa3b22830d55d746e013dc2929a0f4d81eb
-DIST uClibc-ng-1.0.15.tar.bz2 2765526 SHA256 89a91aa18909ffb27407cd6f56dfd3ab504f0c415e42410870290b5dc45a1cd9 SHA512 a4f7520fad9b1927d8ca738410b213514c3151822d5c01474ffc71e4cf4e60815bcb3a5fb98f141cf615d0fe57a7f1d3d0d2b1fd217ad5eaf8835d41ea686dc0 WHIRLPOOL 88f481cbac54844c9620de916a22e57dfb15ade01b223712ac679d4224807bdfd47ae4e157a1672e33d38beda618ae970605861d6e18c4a312720eca2e608c93
 DIST uClibc-ng-1.0.16.tar.bz2 2769238 SHA256 f0ded5cb1ff7aac670ca9df931fc820648d91b27085a3efecc1b7f06d65f57f6 SHA512 05110f0b6651862f16b01d1b45d59258b93686a7635815f9e050ab6b8f0eb14581782c95f305649d62aa80e78060865620a5306a657ea7e9ac396c68d61347cb WHIRLPOOL d79830b46d4bcb2f19917da936a35443da95728c25a050e5a313f6a374669be8c29d5df12a6e9ac5efc65416a0206672a70c7b6d75cb3fdc4017220e32222bf3

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.14.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.14.ebuild
deleted file mode 100644
index e99f8d7..0000000
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.14.ebuild
+++ /dev/null
@@ -1,406 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-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.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.i385 || die
-	fi
-
-	# For arm
-	if [[ ${target} == "arm" ]]; then
-		sed -i -e '/Build for EABI/a \\tdefault y' extra/Configs/Config.arm
-	fi
-
-	# For mips
-	if [[ ${target} == "mips" ]]; then
-		sed -i -e "s|default CONFIG_MIPS_O32_ABI|CONFIG_MIPS_${ABI^[on]}_ABI|" \
-			extra/Configs/Config.mips || die
-	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
-
-	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.15.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.15.ebuild
deleted file mode 100644
index e99f8d7..0000000
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.15.ebuild
+++ /dev/null
@@ -1,406 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-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.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.i385 || die
-	fi
-
-	# For arm
-	if [[ ${target} == "arm" ]]; then
-		sed -i -e '/Build for EABI/a \\tdefault y' extra/Configs/Config.arm
-	fi
-
-	# For mips
-	if [[ ${target} == "mips" ]]; then
-		sed -i -e "s|default CONFIG_MIPS_O32_ABI|CONFIG_MIPS_${ABI^[on]}_ABI|" \
-			extra/Configs/Config.mips || die
-	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
-
-	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
-}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2016-07-08  8:54 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2016-07-08  8:54 UTC (permalink / raw
  To: gentoo-commits

commit:     ddf91f60cfa918d735d8ec7766111fc07a3c7aac
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Fri Jul  8 08:56:01 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Jul  8 08:58:11 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ddf91f60

sys-libs/uclibc-ng: fix typo

Package-Manager: portage-2.2.28

 sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild
index e99f8d7..2d9c74e 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild
@@ -309,7 +309,7 @@ src_configure() {
 	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.i385 || die
+			extra/Configs/Config.i386 || die
 	fi
 
 	# For arm


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2016-07-02 22:39 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2016-07-02 22:39 UTC (permalink / raw
  To: gentoo-commits

commit:     0e7ab43cc8a026ab88134ff98d5f4c634289f557
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sat Jul  2 22:42:24 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sat Jul  2 22:42:24 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e7ab43c

sys-libs/uclibc-ng: version bump to 1.0.16

Package-Manager: portage-2.2.28

 sys-libs/uclibc-ng/Manifest                |   1 +
 sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild | 406 +++++++++++++++++++++++++++++
 2 files changed, 407 insertions(+)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index 301a419..305ecc2 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -1,2 +1,3 @@
 DIST uClibc-ng-1.0.14.tar.bz2 2859522 SHA256 5e3ed3c217786b238e7e356fae05c75a158d1852e72ddea954787bdcf4d63dfa SHA512 293b9260ca9a62170746e441de161ebfedb171050f168db0131fa1aec1819477ff792204525747aec82c7f473b2f48eb93aedabcd768814ac207b28032112366 WHIRLPOOL 93dce8443c3b6d0b4a616de6084cf5169d24a55e0cf9445d90d24ea66dc51902f1612371747171967431ad30a8129fa3b22830d55d746e013dc2929a0f4d81eb
 DIST uClibc-ng-1.0.15.tar.bz2 2765526 SHA256 89a91aa18909ffb27407cd6f56dfd3ab504f0c415e42410870290b5dc45a1cd9 SHA512 a4f7520fad9b1927d8ca738410b213514c3151822d5c01474ffc71e4cf4e60815bcb3a5fb98f141cf615d0fe57a7f1d3d0d2b1fd217ad5eaf8835d41ea686dc0 WHIRLPOOL 88f481cbac54844c9620de916a22e57dfb15ade01b223712ac679d4224807bdfd47ae4e157a1672e33d38beda618ae970605861d6e18c4a312720eca2e608c93
+DIST uClibc-ng-1.0.16.tar.bz2 2769238 SHA256 f0ded5cb1ff7aac670ca9df931fc820648d91b27085a3efecc1b7f06d65f57f6 SHA512 05110f0b6651862f16b01d1b45d59258b93686a7635815f9e050ab6b8f0eb14581782c95f305649d62aa80e78060865620a5306a657ea7e9ac396c68d61347cb WHIRLPOOL d79830b46d4bcb2f19917da936a35443da95728c25a050e5a313f6a374669be8c29d5df12a6e9ac5efc65416a0206672a70c7b6d75cb3fdc4017220e32222bf3

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild
new file mode 100644
index 0000000..e99f8d7
--- /dev/null
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.16.ebuild
@@ -0,0 +1,406 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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.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.i385 || die
+	fi
+
+	# For arm
+	if [[ ${target} == "arm" ]]; then
+		sed -i -e '/Build for EABI/a \\tdefault y' extra/Configs/Config.arm
+	fi
+
+	# For mips
+	if [[ ${target} == "mips" ]]; then
+		sed -i -e "s|default CONFIG_MIPS_O32_ABI|CONFIG_MIPS_${ABI^[on]}_ABI|" \
+			extra/Configs/Config.mips || die
+	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
+
+	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
+}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2016-05-29 23:10 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2016-05-29 23:10 UTC (permalink / raw
  To: gentoo-commits

commit:     20997e75eee46c973e23085a46d37c14c69351b6
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sun May 29 23:11:31 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun May 29 23:11:31 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=20997e75

sys-libs/uclibc-ng: version bump to 1.0.15

Package-Manager: portage-2.2.28

 sys-libs/uclibc-ng/Manifest                |   1 +
 sys-libs/uclibc-ng/uclibc-ng-1.0.15.ebuild | 406 +++++++++++++++++++++++++++++
 2 files changed, 407 insertions(+)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index 6a0534d..301a419 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -1 +1,2 @@
 DIST uClibc-ng-1.0.14.tar.bz2 2859522 SHA256 5e3ed3c217786b238e7e356fae05c75a158d1852e72ddea954787bdcf4d63dfa SHA512 293b9260ca9a62170746e441de161ebfedb171050f168db0131fa1aec1819477ff792204525747aec82c7f473b2f48eb93aedabcd768814ac207b28032112366 WHIRLPOOL 93dce8443c3b6d0b4a616de6084cf5169d24a55e0cf9445d90d24ea66dc51902f1612371747171967431ad30a8129fa3b22830d55d746e013dc2929a0f4d81eb
+DIST uClibc-ng-1.0.15.tar.bz2 2765526 SHA256 89a91aa18909ffb27407cd6f56dfd3ab504f0c415e42410870290b5dc45a1cd9 SHA512 a4f7520fad9b1927d8ca738410b213514c3151822d5c01474ffc71e4cf4e60815bcb3a5fb98f141cf615d0fe57a7f1d3d0d2b1fd217ad5eaf8835d41ea686dc0 WHIRLPOOL 88f481cbac54844c9620de916a22e57dfb15ade01b223712ac679d4224807bdfd47ae4e157a1672e33d38beda618ae970605861d6e18c4a312720eca2e608c93

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.15.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.15.ebuild
new file mode 100644
index 0000000..e99f8d7
--- /dev/null
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.15.ebuild
@@ -0,0 +1,406 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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.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.i385 || die
+	fi
+
+	# For arm
+	if [[ ${target} == "arm" ]]; then
+		sed -i -e '/Build for EABI/a \\tdefault y' extra/Configs/Config.arm
+	fi
+
+	# For mips
+	if [[ ${target} == "mips" ]]; then
+		sed -i -e "s|default CONFIG_MIPS_O32_ABI|CONFIG_MIPS_${ABI^[on]}_ABI|" \
+			extra/Configs/Config.mips || die
+	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
+
+	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
+}


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2016-04-18 23:00 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2016-04-18 23:00 UTC (permalink / raw
  To: gentoo-commits

commit:     96c8f609f7f4e260a9f9f6b8e3d7f905915fbd96
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 18 22:59:53 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Mon Apr 18 22:59:53 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=96c8f609

sys-libs/uclibc-ng: version bump to 1.0.14

Package-Manager: portage-2.2.26

 sys-libs/uclibc-ng/Manifest                                      | 2 +-
 .../{uclibc-ng-1.0.13.ebuild => uclibc-ng-1.0.14.ebuild}         | 9 ++++++---
 sys-libs/uclibc-ng/uclibc-ng-9999.ebuild                         | 9 ++++++---
 3 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index 9bef84b..6a0534d 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -1 +1 @@
-DIST uClibc-ng-1.0.13.tar.bz2 2950676 SHA256 2d3530fa9321022db30c4576b272d8113efb75393f9b43281bd3b014c75bd2d4 SHA512 aae994d06119756161b9a38eeb8b4a0b8531dfaf13094158218cce2500cd02dcac9067160a5a2764d355e1208ee7cda04f4c1ddf7f6812c794f4680c938e9b22 WHIRLPOOL e612f9a152335c9b89fe6e10dcab0ad44978c205da8230597f3ff3b8adee81a95a71dfcec36afc9c0c262fa56d643de47a705840e841363a13b0af2fee686653
+DIST uClibc-ng-1.0.14.tar.bz2 2859522 SHA256 5e3ed3c217786b238e7e356fae05c75a158d1852e72ddea954787bdcf4d63dfa SHA512 293b9260ca9a62170746e441de161ebfedb171050f168db0131fa1aec1819477ff792204525747aec82c7f473b2f48eb93aedabcd768814ac207b28032112366 WHIRLPOOL 93dce8443c3b6d0b4a616de6084cf5169d24a55e0cf9445d90d24ea66dc51902f1612371747171967431ad30a8129fa3b22830d55d746e013dc2929a0f4d81eb

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.13.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.14.ebuild
similarity index 98%
rename from sys-libs/uclibc-ng/uclibc-ng-1.0.13.ebuild
rename to sys-libs/uclibc-ng/uclibc-ng-1.0.14.ebuild
index db115b8..e99f8d7 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.13.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.14.ebuild
@@ -254,7 +254,7 @@ pkg_setup() {
 }
 
 src_prepare() {
-	local version subversion
+	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
@@ -269,11 +269,13 @@ src_prepare() {
 	version=( $(get_version_components) )
 	if [[ -z ${version[1]} ]]; then
 		subversion=0
+		extraversion=0
 	else
+		subversion=${version[1]}
 		if [[ -z ${version[2]} ]]; then
-			subversion=${version[1]}
+			extraversion=0
 		else
-			subversion=${version[1]}.${version[2]}
+			extraversion=.${version[2]}
 		fi
 	fi
 
@@ -281,6 +283,7 @@ src_prepare() {
 		-e "/^MAJOR_VERSION/s|:=.*|:= 0|" \
 		-e "/^MINOR_VERSION/s|:=.*|:= ${version[0]}|" \
 		-e "/^SUBLEVEL/s|:=.*|:= ${subversion}|" \
+		-e "/^EXTRAVERSION/s|:=.*|:= ${extraversion}|" \
 		Rules.mak || die
 
 	eapply_user

diff --git a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
index db115b8..e99f8d7 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
@@ -254,7 +254,7 @@ pkg_setup() {
 }
 
 src_prepare() {
-	local version subversion
+	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
@@ -269,11 +269,13 @@ src_prepare() {
 	version=( $(get_version_components) )
 	if [[ -z ${version[1]} ]]; then
 		subversion=0
+		extraversion=0
 	else
+		subversion=${version[1]}
 		if [[ -z ${version[2]} ]]; then
-			subversion=${version[1]}
+			extraversion=0
 		else
-			subversion=${version[1]}.${version[2]}
+			extraversion=.${version[2]}
 		fi
 	fi
 
@@ -281,6 +283,7 @@ src_prepare() {
 		-e "/^MAJOR_VERSION/s|:=.*|:= 0|" \
 		-e "/^MINOR_VERSION/s|:=.*|:= ${version[0]}|" \
 		-e "/^SUBLEVEL/s|:=.*|:= ${subversion}|" \
+		-e "/^EXTRAVERSION/s|:=.*|:= ${extraversion}|" \
 		Rules.mak || die
 
 	eapply_user


^ permalink raw reply related	[flat|nested] 70+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
@ 2016-04-13  8:34 Anthony G. Basile
  0 siblings, 0 replies; 70+ messages in thread
From: Anthony G. Basile @ 2016-04-13  8:34 UTC (permalink / raw
  To: gentoo-commits

commit:     469b0c26615647cba1d4184c3d00086cd0e52b39
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 13 08:41:21 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Wed Apr 13 08:41:56 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=469b0c26

sys-libs/uclibc-ng: fix HOMEPAGE, bug #579814

Package-Manager: portage-2.2.26

 sys-libs/uclibc-ng/uclibc-ng-1.0.13.ebuild | 2 +-
 sys-libs/uclibc-ng/uclibc-ng-9999.ebuild   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.13.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.13.ebuild
index aec3523..db115b8 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.13.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.13.ebuild
@@ -15,7 +15,7 @@ else
 fi
 
 DESCRIPTION="C library for developing embedded Linux systems"
-HOMEPAGE="http://www.uclibc.org/"
+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"

diff --git a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
index aec3523..db115b8 100644
--- a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
+++ b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild
@@ -15,7 +15,7 @@ else
 fi
 
 DESCRIPTION="C library for developing embedded Linux systems"
-HOMEPAGE="http://www.uclibc.org/"
+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"


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

end of thread, other threads:[~2020-09-04 16:50 UTC | newest]

Thread overview: 70+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-25 22:48 [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/ Anthony G. Basile
  -- strict thread matches above, loose matches on Subject: below --
2020-09-04 16:50 Anthony G. Basile
2020-05-30 15:34 Anthony G. Basile
2020-05-06  1:44 Anthony G. Basile
2020-04-24 18:44 Anthony G. Basile
2020-04-24 16:18 Anthony G. Basile
2020-04-24 16:18 Anthony G. Basile
2020-02-02 13:04 Sergei Trofimovich
2020-01-15  0:31 Anthony G. Basile
2020-01-14 22:26 Anthony G. Basile
2020-01-14 20:10 Anthony G. Basile
2019-11-18 13:38 Anthony G. Basile
2019-11-17 16:29 Anthony G. Basile
2019-10-27  2:13 Anthony G. Basile
2019-10-27  2:13 Anthony G. Basile
2018-12-31 18:24 Anthony G. Basile
2018-12-31 17:55 Anthony G. Basile
2018-12-02 12:22 Sergei Trofimovich
2018-11-17 12:46 Anthony G. Basile
2018-10-04 21:41 Anthony G. Basile
2018-06-09 23:56 Anthony G. Basile
2018-05-16  8:41 Anthony G. Basile
2018-04-29 19:47 Anthony G. Basile
2018-04-28 20:52 Anthony G. Basile
2018-04-11  9:40 David Seifert
2018-03-09 22:57 Anthony G. Basile
2018-03-04  1:54 Anthony G. Basile
2018-03-04  1:51 Anthony G. Basile
2018-03-03 20:50 Anthony G. Basile
2018-01-26 19:33 Anthony G. Basile
2018-01-11  2:08 Anthony G. Basile
2018-01-07 19:39 Sergei Trofimovich
2017-11-28 22:07 Anthony G. Basile
2017-11-28 22:02 Anthony G. Basile
2017-11-14 15:33 Anthony G. Basile
2017-09-21 14:03 Anthony G. Basile
2017-08-10 10:04 Anthony G. Basile
2017-08-06 11:33 Anthony G. Basile
2017-08-04 20:25 Anthony G. Basile
2017-07-21 11:14 Anthony G. Basile
2017-07-09 14:40 Anthony G. Basile
2017-06-12 21:47 Anthony G. Basile
2017-06-07 10:22 Anthony G. Basile
2017-05-25 16:55 Anthony G. Basile
2017-04-23 11:59 Anthony G. Basile
2017-04-04  2:03 Anthony G. Basile
2017-04-04  1:59 Anthony G. Basile
2017-03-19 15:39 Anthony G. Basile
2017-02-18 20:52 Anthony G. Basile
2017-02-08 15:22 Anthony G. Basile
2016-12-28  9:28 Anthony G. Basile
2016-12-26 15:49 Anthony G. Basile
2016-12-05 22:45 Anthony G. Basile
2016-12-02  1:23 Anthony G. Basile
2016-10-30 22:57 Anthony G. Basile
2016-10-30  9:41 Anthony G. Basile
2016-10-03  0:00 Anthony G. Basile
2016-08-13 13:57 Anthony G. Basile
2016-08-08  1:13 Anthony G. Basile
2016-08-01 22:43 Anthony G. Basile
2016-07-28  3:12 Anthony G. Basile
2016-07-18 16:00 Anthony G. Basile
2016-07-14 13:28 Anthony G. Basile
2016-07-08  8:54 Anthony G. Basile
2016-07-08  8:54 Anthony G. Basile
2016-07-08  8:54 Anthony G. Basile
2016-07-02 22:39 Anthony G. Basile
2016-05-29 23:10 Anthony G. Basile
2016-04-18 23:00 Anthony G. Basile
2016-04-13  8:34 Anthony G. Basile

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