Sophie

Sophie

distrib > Arklinux > devel > x86_64 > by-pkgid > 044ab54737de8e8bb20e21661b8818b3 > files > 25

uClibc-0.9.28-0.10391.1ark.src.rpm

%define SVN 10391

Name: uClibc
Version: 0.9.28
%if "%SVN" != ""
Release: 0.%SVN.1ark
%else
Release: 1ark
%endif
Summary: A small implementation of the C library (libc)
URL: http://www.uclibc.org/
%if "%SVN" == ""
Source: uClibc-%version.tar.bz2
%else
Source: uClibc-%SVN.tar.bz2
%endif
Source1: http://www.uclibc.org/downloads/uClibc-locale-030818.tar.bz2
# From http://bugs.uclibc.org/view.php?id=144
Source2: math-susv3-no-exp2.tar.bz2
Patch1: uClibc-20050404-compile.patch
Patch2: uClibc-20040905-xscale.patch
Patch3: uClibc-20040901-floatfuncs.patch
Patch4: uClibc-20050120-localefile.patch
# From http://bugs.uclibc.org/view.php?id=144
Patch10: uClibc-0.9.27-susv3.patch
Patch11: uClibc-0.9.27-susv3-ldouble.patch
Patch12: uClibc-0.9.27-exp2.patch
Patch13: uClibc-0.9.27-nearbyint.patch
Patch14: uClibc-0.9.27-nexttoward.patch
Patch15: uClibc-0.9.27-math_priv-correction.patch
Patch16: uclibc-0.9.27-fpmacros.patch
Patch17: uclibc-0.9.27-ldouble-option.patch
# Configs...
Source100: uClibc-config.arch-i386
Source101: uClibc-config.i386
Source102: uClibc-config.i486
Source103: uClibc-config.i586
Source104: uClibc-config.i686
Source105: uClibc-config.pentium3
Source106: uClibc-config.pentium4
Source107: uClibc-config.athlon
Source200: uClibc-config.arch-arm
Source201: uClibc-config.xscale
Source202: uClibc-config.armv4l
License: GPL
Group: System/Libraries
Prefix: %_prefix
BuildRoot: %_tmppath/%name-root

%description
A small implementation of the C library (libc), primarily for use in embedded devices

%package devel
Summary: Development files for %name
Group: Development/Libraries
Requires: %name = %version-%release

%description devel
Development files (Headers etc.) for %name.
 %name is a small implementation of the C library (libc), primarily for use in embedded
devices

%package static
Summary: Static libraries for linking to %name
Group: Development/Libraries
Requires: %name-devel = %version-%release

%description static
Static libraries for linking to %name.

Install this package if you wish to develop or compile applications using
 %name statically (users of the resulting binary won't need %name installed
with static linking).

%prep
%setup -q -n uClibc -a 2
##%patch1 -p1 -b .compile~
%patch2 -p1 -b .xscale~
#patch3 -p1 -b .floatfuncs~
##%patch4 -p1 -b .locale~

# Float...
%patch10 -p1 -b .susv3~
%patch11 -p1 -b .susv3-ldouble~
%patch12 -p1 -b .exp2~
%patch13 -p1 -b .nearbyint~
%patch14 -p1 -b .nexttoward~
%patch15 -p1 -b .mathpriv~
%patch16 -p0 -b .fpmacros~
%patch17 -p1 -b .ldouble~

cp %SOURCE1 extra/locale

OS=linux-uclibc
CPU=%_target_cpu
ARCH=%_arch
if echo $ARCH |grep -q '^arm'; then
	ARCH=arm
fi

cat $RPM_SOURCE_DIR/uClibc-config.arch-$ARCH >.config
[ -e $RPM_SOURCE_DIR/uClibc-config.$CPU ] && cat $RPM_SOURCE_DIR/uClibc-config.$CPU >>.config
if [ "$ARCH" = "arm" ]; then
	# HACK
	echo 'KERNEL_SOURCE="/usr/src/CVS/handhelds/linux/kernel"' >>.config
else
	echo 'KERNEL_SOURCE="/usr/src/linux-'`rpm -q --qf '%{VERSION}-%{RELEASE}' kernel-source`'"' >>.config
fi
%if %cross_compiling
echo 'CROSS_COMPILER_PREFIX="'$CPU-ark-$OS-'"' >>.config
echo 'RUNTIME_PREFIX="'%_prefix'"' >>.config
echo 'DEVEL_PREFIX="'%_prefix'"' >>.config
echo 'SHARED_LIB_LOADER_PREFIX="'%_libdir'"' >>.config
%else
echo 'CROSS_COMPILER_PREFIX=""' >>.config
echo 'RUNTIME_PREFIX="'%_prefix/$CPU-ark-$OS'"' >>.config
echo 'DEVEL_PREFIX="'%_prefix/$CPU-ark-$OS'"' >>.config
echo 'SHARED_LIB_LOADER_PREFIX="'%_prefix/$CPU-ark-$OS'/lib"' >>.config
%endif
make oldconfig

%build
CROSSPREFIX=""
which %_target_platform-strip &>/dev/null && CROSSPREFIX="%_target_platform-"
which %_target_platform-uclibc-strip &>/dev/null && CROSSPREFIX="%_target_platform-uclibc-"
make %?_smp_mflags CROSS="$CROSSPREFIX"

%install
rm -rf $RPM_BUILD_ROOT
make %?_smp_mflags install PREFIX="$RPM_BUILD_ROOT"

OS=linux-uclibc
CPU=%_target_cpu
ARCH=%_arch
if echo $ARCH |grep -q '^arm'; then
	ARCH=arm
fi
[ "$ARCH" = "xscale" ] && ARCH=arm
if [ "$ARCH" != "arm" ]; then
	# We need linux/version.h...
	KERNEL=`rpm -q --qf '%{VERSION}-%{RELEASE}' kernel-source`
%if %cross_compiling
	install -c -m 644 /boot/version.h-$KERNEL $RPM_BUILD_ROOT/%_includedir/linux/version.h
	install -c -m 644 /boot/autoconf.h-$KERNEL $RPM_BUILD_ROOT/%_includedir/linux/autoconf.h
%else
	install -c -m 644 /boot/version.h-$KERNEL $RPM_BUILD_ROOT/%_prefix/$CPU-ark-$OS/include/linux/version.h
	install -c -m 644 /boot/autoconf.h-$KERNEL $RPM_BUILD_ROOT/%_prefix/$CPU-ark-$OS/include/linux/autoconf.h
%endif
fi

%files
%defattr(-,root,root)
%if %cross_compiling
%_libdir/*.so*
%optional %_libdir/*crt*.o
%else
%dir %_prefix/*-ark-*
%dir %_prefix/*/lib
%_prefix/*/lib/*.so*
%optional %_prefix/*/lib/*crt*.o
%endif

%files devel
%defattr(-,root,root)
%if %cross_compiling
%_includedir/*
%else
%_prefix/*/include
%endif

%files static
%defattr(-,root,root)
%if %cross_compiling
%_libdir/*.a
%else
%_prefix/*/lib/*.a
%endif

%clean
rm -rf $RPM_BUILD_ROOT $RPM_BUILD_DIR/%name-%version

%changelog
* Sun May 22 2005 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.28-0.10391.1ark
- Update
- Add the missing SuSv3 / ISO C99 math functions
- WARNING: Until further notice, all releases after 10391 are broken on anything
  but x86 and ppc -- don't update

* Thu Jan 20 2005 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.28-0.10240.1ark
- Update

* Thu Jan 20 2005 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.28-0.10124.1ark
- Update

* Wed Nov  3 2004 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.27-0.20041103.1ark
- Add exp2() implementation
- Update

* Tue Nov  2 2004 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.27-0.20041101.1ark
- Add linux/version.h linux/autoconf.h

* Thu Oct 28 2004 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.27-0.20041028.1ark
- Add C99 math support, needed for ALSA

* Wed Oct 27 2004 Bernhard Rosenrkaenzer <bero@arklinux.org> 0.9.27-0.20041027.1ark
- Enable some more stuff in the x86 version, needed to build X
- Update

* Sun Oct 17 2004 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.27-0.20041017.1ark
- Add a config for StrongARM 1100
- Update

* Wed Sep 29 2004 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.27-0.20040929.1ark
- Enable locale support (needed by TinyX)

* Mon Sep 27 2004 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.27-0.20040927.1ark
- Support soft-float ARM CPUs
- Update

* Wed Sep 22 2004 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.27-0.20040922.1ark
- Crosscompiler improvements, we can now use rpm -ba --target xscale
- Add preliminary cosf, sinf, rintf implementations (neither fast nor precise,
  just a quick hack using cos, sin and rint)
- Update

* Sun Sep  5 2004 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.27-0.20040904.1ark
- Update
- Spec file tweaks to allow crosscompiling
- An Xscale is an armv5te, not just an armv4

* Fri Jun 18 2004 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.27-0.20040618.1ark
- initial RPM