summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2005-11-10 04:24:45 +0000
committerMike Frysinger <vapier@gentoo.org>2005-11-10 04:24:45 +0000
commit782817f6ba79792974766677af48e0666d2a68c4 (patch)
treef3c913ee8619f7188aaab4416876dda66d409566 /sys-libs
parentfix assert.h so xorg builds, fix arm asm string functions, fix dl_fini orderi... (diff)
downloadgentoo-2-782817f6ba79792974766677af48e0666d2a68c4.tar.gz
gentoo-2-782817f6ba79792974766677af48e0666d2a68c4.tar.bz2
gentoo-2-782817f6ba79792974766677af48e0666d2a68c4.zip
fix dl_fini ordering for groff #98187, fix asm string funcs for i386/arm, fix assert.h for xorg, add support for a bunch of math functions by psm, and import a bunch of fixes by psm
(Portage version: 2.0.53_rc7)
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/uclibc/files/digest-uclibc-0.9.281
-rw-r--r--sys-libs/uclibc/uclibc-0.9.28.ebuild61
2 files changed, 42 insertions, 20 deletions
diff --git a/sys-libs/uclibc/files/digest-uclibc-0.9.28 b/sys-libs/uclibc/files/digest-uclibc-0.9.28
index f580002d766a..e2cc40377bb7 100644
--- a/sys-libs/uclibc/files/digest-uclibc-0.9.28
+++ b/sys-libs/uclibc/files/digest-uclibc-0.9.28
@@ -1,2 +1,3 @@
+MD5 dd90278c4b6f85d72093dec87ae256fd uClibc-0.9.28-patches-1.0.tar.bz2 19633
MD5 1ada58d919a82561061e4741fb6abd29 uClibc-0.9.28.tar.bz2 1763847
MD5 d75b2239b4e27c3c9cbed1c8f6eabba6 uClibc-locale-030818.tgz 236073
diff --git a/sys-libs/uclibc/uclibc-0.9.28.ebuild b/sys-libs/uclibc/uclibc-0.9.28.ebuild
index 3dd98ebb579b..47e69ef424db 100644
--- a/sys-libs/uclibc/uclibc-0.9.28.ebuild
+++ b/sys-libs/uclibc/uclibc-0.9.28.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/uclibc/uclibc-0.9.28.ebuild,v 1.5 2005/11/09 18:50:54 solar Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/uclibc/uclibc-0.9.28.ebuild,v 1.6 2005/11/10 04:24:45 vapier Exp $
#ESVN_REPO_URI="svn://uclibc.org/trunk/uClibc"
#inherit subversion
@@ -21,20 +21,24 @@ fi
MY_P=${P/ucl/uCl}
SVN_VER=""
-PATCH_VER=""
+PATCH_VER="1.0"
DESCRIPTION="C library for developing embedded Linux systems"
HOMEPAGE="http://www.uclibc.org/"
SRC_URI="http://www.kernel.org/pub/linux/libs/uclibc/${MY_P}.tar.bz2
nls? ( !userlocales? ( pregen? (
x86? ( http://www.uclibc.org/downloads/uClibc-locale-030818.tgz )
) ) )"
+[[ -z ${SVN_VER} ]] || \
+ SRC_URI="${SRC_URI} mirror://gentoo/${MY_P}-svn-update-${SVN_VER}.patch.bz2"
+[[ -z ${PATCH_VER} ]] || \
+ SRC_URI="${SRC_URI} mirror://gentoo/${MY_P}-patches-${PATCH_VER}.tar.bz2"
LICENSE="LGPL-2"
[[ ${CTARGET} != ${CHOST} ]] \
&& SLOT="${CTARGET}" \
|| SLOT="0"
-KEYWORDS="-* sh" #~amd64 ~arm ~m68k ~mips ~ppc ~sh ~sparc ~x86"
-IUSE="build debug hardened ipv6 minimal nls pregen userlocales wordexp"
+KEYWORDS="-* ~arm ~m68k ~mips ~ppc sh ~sparc ~x86"
+IUSE="build uclibc-compat debug hardened iconv ipv6 minimal nls pregen userlocales wordexp"
RESTRICT="nostrip"
if [[ ${CTARGET} == ${CHOST} ]] ; then
@@ -72,7 +76,8 @@ alt_rprefix() {
}
pkg_setup() {
- [[ -z $(best_version ${CATEGORY}/uclibc) ]] && return 0
+ has_version ${CATEGORY}/uclibc || return 0
+ [[ -n ${UCLIBC_AND_GLIBC} ]] && return 0
if ! built_with_use ${CATEGORY}/uclibc nls && use nls && ! use pregen ; then
eerror "You previously built uclibc with USE=-nls."
@@ -158,7 +163,8 @@ src_unpack() {
EPATCH_SUFFIX="patch"
epatch "${WORKDIR}"/patch
# math functions (sinf,cosf,tanf,atan2f,powf,fabsf,copysignf,scalbnf,rem_pio2f)
- use build || epatch "${WORKDIR}"/patch/math
+ cp "${WORKDIR}"/patch/math/libm/* "${S}"/libm/ || die
+ epatch "${WORKDIR}"/patch/math
fi
########## CPU SELECTION ##########
@@ -171,6 +177,7 @@ src_unpack() {
mips) target="mips"; config_target="MIPS_ISA_1";;
ppc) target="powerpc"; config_target="no cpu-specific options";;
sh) target="sh"; config_target="SH4";;
+ sparc) target="sparc"; config_target="no cpu-specific options";;
x86) target="i386"; config_target="GENERIC_386";;
*) die "$(tc-arch) lists no defaults :/";;
esac
@@ -183,12 +190,14 @@ src_unpack() {
make defconfig >/dev/null || die "could not config"
- for def in UCLIBC_PROFILING DO{DEBUG,ASSERTS} SUPPORT_LD_DEBUG{,_EARLY} ; do
+ for def in DO{DEBUG{,_PT},ASSERTS} SUPPORT_LD_DEBUG{,_EARLY} ; do
sed -i -e "s:${def}=y:# ${def} is not set:" .config
done
if use debug ; then
+ #echo "SUPPORT_LD_DEBUG_EARLY=y" >> .config
echo "SUPPORT_LD_DEBUG=y" >> .config
echo "DODEBUG=y" >> .config
+ #echo "DODEBUG_PT=y" >> .config
fi
sed -i -e '/ARCH_.*_ENDIAN/d' .config
@@ -199,19 +208,26 @@ src_unpack() {
echo 'HAS_FPU=n' >> .config
fi
- for def in DL_FINI_CRT_COMPAT DO_C99_MATH MALLOC_GLIBC_COMPAT UCLIBC_HAS_{RPC,CTYPE_CHECKED,WCHAR,HEXADECIMAL_FLOATS,GLIBC_CUSTOM_PRINTF,FOPEN_EXCLUSIVE_MODE,GLIBC_CUSTOM_STREAMS,PRINTF_M_SPEC,FTW} ; do
+ local moredefs=""
+ use uclibc-compat && moredefs="DL_FINI_CRT_COMPAT MALLOC_GLIBC_COMPAT"
+ for def in DO_C99_MATH UCLIBC_HAS_{RPC,CTYPE_CHECKED,WCHAR,HEXADECIMAL_FLOATS,GLIBC_CUSTOM_PRINTF,FOPEN_EXCLUSIVE_MODE,GLIBC_CUSTOM_STREAMS,PRINTF_M_SPEC,FTW} ; do
sed -i -e "s:# ${def} is not set:${def}=y:" .config
done
echo "UCLIBC_HAS_FULL_RPC=y" >> .config
echo "PTHREADS_DEBUG_SUPPORT=y" >> .config
echo "UCLIBC_HAS_TZ_FILE_READ_MANY=n" >> .config
- if use nls ; then
+ if use iconv ; then
sed -i -e "s:# UCLIBC_HAS_LOCALE is not set:UCLIBC_HAS_LOCALE=y:" .config
echo "UCLIBC_HAS_XLOCALE=n" >> .config
echo "UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y" >> .config
echo "UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y" >> .config
- echo "UCLIBC_HAS_GETTEXT_AWARENESS=y" >> .config
+
+ if use nls ; then
+ echo "UCLIBC_HAS_GETTEXT_AWARENESS=y" >> .config
+ else
+ echo "UCLIBC_HAS_GETTEXT_AWARENESS=n" >> .config
+ fi
if use pregen ; then
echo "UCLIBC_PREGENERATED_LOCALE_DATA=y" >> .config
@@ -250,18 +266,27 @@ src_unpack() {
echo "PROPOLICE_BLOCK_KILL=y" >> .config
fi
- echo "UCLIBC_BUILD_RELRO=y" >> .config
- echo "UCLIBC_BUILD_NOEXECSTACK=y" >> .config
- if use hardened && has $(tc-arch) ${PIE_STABLE} ; then
- echo "UCLIBC_BUILD_PIE=y" >> .config
+ # arm/mips do not emit PT_GNU_STACK, but if we enable this here
+ # it will be emitted as RWE, ppc has to be checked, x86 needs it
+ # this option should be used independently of hardened
+ # relro could be also moved out of hardened
+ if has $(tc-arch) x86 ; then
+ echo "UCLIBC_BUILD_NOEXECSTACK=y" >> .config
else
- echo "UCLIBC_BUILD_PIE=n" >> .config
+ echo "UCLIBC_BUILD_NOEXECSTACK=n" >> .config
fi
+ echo "UCLIBC_BUILD_RELRO=y" >> .config
if use hardened ; then
+ if has $(tc-arch) ${PIE_STABLE} ; then
+ echo "UCLIBC_BUILD_PIE=y" >> .config
+ else
+ echo "UCLIBC_BUILD_PIE=n" >> .config
+ fi
echo "SSP_QUICK_CANARY=n" >> .config
echo "UCLIBC_BUILD_SSP=y" >> .config
echo "UCLIBC_BUILD_NOW=y" >> .config
else
+ echo "UCLIBC_BUILD_PIE=n" >> .config
echo "SSP_QUICK_CANARY=y" >> .config
echo "UCLIBC_BUILD_SSP=n" >> .config
echo "UCLIBC_BUILD_NOW=n" >> .config
@@ -310,7 +335,7 @@ src_compile() {
cp myconfig .config
emake headers || die "make headers failed"
- if use nls && ! use pregen ; then
+ if use iconv && ! use pregen ; then
cd extra/locale
make clean || die "make locale clean failed"
setup_locales
@@ -330,10 +355,6 @@ src_test() {
[[ ${CHOST} != ${CTARGET} ]] && return 0
[[ ${CBUILD} != ${CHOST} ]] && return 0
- # This is wrong, but uclibc's tests fail bad when screwing
- # around with sandbox, so lets just punt it
- unset LD_PRELOAD
-
# assert test fails on pax/grsec enabled kernels - normal
# vfork test fails in sandbox (both glibc/uclibc)
make check || die "test failed"