]> git.pld-linux.org Git - packages/dietlibc.git/blame - dietlibc.spec
- rel 12; add missing loop.h definitions
[packages/dietlibc.git] / dietlibc.spec
CommitLineData
ed0486b4
PS
1#
2# Conditional build:
3%bcond_with ssp # disable stack-smashing protector 'coz dietlibc will not work with it!
cf89de40
ER
4%bcond_without dynamic # dynamic lib support
5
6%ifnarch %{ix86} %{x8664} arm
7%undefine with_dynamic
8%endif
9
c3a70eef 10Summary: C library optimized for size
96cac672
ER
11Summary(pl.UTF-8): Biblioteka standardowa C zoptymalizowana na rozmiar
12Summary(pt_BR.UTF-8): libc pequena otimizada para tamanho
09de3116 13Name: dietlibc
93b62614 14Version: 0.32
73fa023b 15Release: 12
e72c8dd4 16Epoch: 2
aae0fca7 17License: GPL v2
09de3116 18Group: Development/Libraries
18646183 19Source0: http://www.kernel.org/pub/linux/libs/dietlibc/%{name}-%{version}.tar.bz2
93b62614 20# Source0-md5: 0098761c17924c15e21d25acdda4a8b5
711665cb 21Patch0: %{name}-ppc.patch
b633677b 22Patch1: %{name}-opt.patch
1337a3d8 23Patch2: %{name}-platform.patch
73062649 24# workaround for http://gcc.gnu.org/PR26374
1337a3d8 25Patch3: %{name}-gcc4.patch
d227bc8d 26Patch4: %{name}-guard.patch
6cfbdaaf 27Patch5: %{name}-arm.patch
88cc7f71 28Patch6: %{name}-diet-m.patch
2304c81d
AM
29Patch7: %{name}-nice.patch
30Patch8: %{name}-nostrip.patch
31Patch9: %{name}-stackgap-instead-of-ssp.patch
32Patch10: %{name}-fflush-null.patch
33Patch11: %{name}-_syscall-no-arch.patch
34Patch12: %{name}-noexecstacks.patch
f7808423 35Patch13: %{name}-strcoll.patch
9e542dd9
JR
36Patch15: %{name}-memalign.patch
37Patch16: %{name}-getsubopt.patch
5afb4ebd 38Patch17: %{name}-devmacros.patch
322a3161 39Patch18: %{name}-bloat.patch
e2aad565 40Patch19: %{name}-notify.patch
73fa023b 41Patch20: %{name}-loop.patch
ef49f35c 42URL: http://www.fefe.de/dietlibc/
9b1be9d0
ER
43BuildRequires: rpmbuild(macros) >= 1.566
44BuildRequires: sed >= 4.0
88cc7f71
JB
45%ifarch sparc sparcv9
46BuildRequires: sparc32
47%endif
09de3116 48BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
c3a70eef 49
5c48d132 50%define dietprefix %{_prefix}/lib/dietlibc
b633677b 51# for some reason known only to rpm there must be "\\|" not "\|" here
f2923a80 52%define libarch %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/;s/armv.*/arm/;s/sparcv.*/sparc/')
b633677b 53
c3a70eef 54%description
e0cb75d3
JB
55The diet libc is a libc that is optimized for small size. It can be
56used to create small statically linked binaries for Linux on alpha,
57arm, hppa, ia64, i386, mips, s390, sparc, sparc64, ppc and x86_64.
c3a70eef 58
f92ec944 59%description -l pl.UTF-8
e0cb75d3
JB
60diet libc to biblioteka libc zoptymalizowana pod kątem rozmiaru.
61Może być używana do tworzenia małych, statycznie zlinkowanych
62binariów dla Linuksa na architekturach alpha, arm, hppa, ia64, i386,
63mips, s390, sparc, sparc64, ppc i x86_64.
dd5e72ff 64
f92ec944
JR
65%description -l pt_BR.UTF-8
66A diet libc e' uma libc otimizada para criar pequenos binários
b633677b 67estaticamente linkados para Linux.
aae0fca7 68
cf89de40 69%package libs
e0cb75d3
JB
70Summary: Shared dietlibc libraries
71Summary(pl.UTF-8): Biblioteki współdzielone dietlibc
cf89de40
ER
72Group: Libraries
73
74%description libs
e0cb75d3 75This package contains the shared dietlibc libraries.
cf89de40 76
e0cb75d3
JB
77%description libs -l pl.UTF-8
78Ten pakiet zawiera biblioteki współdzielone dietlibc.
cf89de40 79
c3a70eef 80%package devel
09de3116 81Summary: Development files for dietlibc
96cac672
ER
82Summary(pl.UTF-8): Pliki dla programistów używających dietlibc
83Summary(pt_BR.UTF-8): libc pequena otimizada para tamanho
09de3116 84Group: Development/Libraries
46f54929 85Requires: %{name} = %{epoch}:%{version}-%{release}
c3a70eef 86
87%description devel
dd5e72ff
JB
88Small libc for building embedded applications - development files.
89
f92ec944 90%description devel -l pl.UTF-8
dd5e72ff 91Niewielka libc do budowania aplikacji wbudowanych - pliki dla
f92ec944 92programistów.
c3a70eef 93
e72c8dd4
MM
94%package static
95Summary: Static libraries for dietlibc
96cac672 96Summary(pl.UTF-8): Biblioteki statyczne dla dietlibc
e72c8dd4 97Group: Development/Libraries
46f54929 98Requires: %{name}-devel = %{epoch}:%{version}-%{release}
e72c8dd4
MM
99
100%description static
101Small libc for building embedded applications - static libraries.
102
f92ec944 103%description static -l pl.UTF-8
e72c8dd4
MM
104Niewielka libc do budowania aplikacji wbudowanych - biblioteki
105statyczne.
106
c3a70eef 107%prep
2bb9d10d 108%setup -q
9b1be9d0 109%undos arm/md5asm.S
b633677b
JB
110%patch0 -p1
111%patch1 -p1
b0443187 112%patch2 -p1
38ed02e8 113%patch3 -p1
d227bc8d 114%patch4 -p1
6cfbdaaf 115%patch5 -p1
88cc7f71 116%patch6 -p1
2304c81d
AM
117%patch7 -p1
118%patch8 -p1
119%{!?with_ssp:%patch9 -p1}
120%patch10 -p1
121%patch11 -p1
122%patch12 -p1
f7808423 123%patch13 -p1
9e542dd9
JR
124%patch15 -p1
125%patch16 -p1
5afb4ebd 126%patch17 -p1
322a3161 127%patch18 -p0
e2aad565 128%patch19 -p1
73fa023b 129%patch20 -p1
1f8a1668 130
9b1be9d0
ER
131%if "%{cc_version}" < "3.4"
132%{__sed} -i -e '/CFLAGS/ s/-Wextra//' Makefile
133%endif
134
c3a70eef 135%build
c6a4651e 136export OPTFLAGS="%{rpmcflags}%{?with_ssp: -fno-stack-protector} -fno-strict-aliasing"
54aa6e1d 137CC="%{__cc}"
2bb9d10d 138%ifarch sparc sparcv9
c7d60d50 139sparc32 \
140%endif
4f4bb2ab 141%{__make} -j1 all \
1f3436a8 142 prefix=%{dietprefix} \
9b1be9d0 143 CC="${CC#*ccache }"
54aa6e1d 144
cf89de40
ER
145%if %{with dynamic}
146# 'dyn' target is not SMP safe
4f4bb2ab 147%{__make} -j1 dyn \
c305ceb2
ER
148 prefix=%{dietprefix} \
149 CC="${CC}"
8d4158b9 150%endif
c3a70eef 151
152%install
09de3116 153rm -rf $RPM_BUILD_ROOT
e72c8dd4
MM
154install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_bindir},%{_mandir}/man1}
155
23c8844b 156%ifarch sparc sparcv9
157sparc32 \
158%endif
b9fb397c
PG
159%{__make} install \
160 DESTDIR=$RPM_BUILD_ROOT \
161 prefix=%{dietprefix}
1f8a1668 162
e72c8dd4
MM
163mv $RPM_BUILD_ROOT%{dietprefix}/bin/* $RPM_BUILD_ROOT%{_bindir}
164mv $RPM_BUILD_ROOT%{dietprefix}/man/man1/* $RPM_BUILD_ROOT%{_mandir}/man1
165rm -rf $RPM_BUILD_ROOT%{dietprefix}/{bin,man}
166rm -f $RPM_BUILD_ROOT%{_bindir}/diet-dyn
cf89de40 167rm -f $RPM_BUILD_ROOT%{_bindir}/dnsd
1f8a1668 168
54aa6e1d 169cat > $RPM_BUILD_ROOT%{_bindir}/%{_target_cpu}-dietlibc-gcc <<'EOF'
e72c8dd4 170#!/bin/sh
54aa6e1d 171exec %{_bindir}/diet gcc "$@"
e72c8dd4
MM
172EOF
173
c3a70eef 174%clean
175rm -rf $RPM_BUILD_ROOT
176
177%files
09de3116 178%defattr(644,root,root,755)
c6f935c3 179%doc AUTHOR BUGS CAVEAT CHANGES FAQ README THANKS TODO
e72c8dd4 180%dir %{dietprefix}
b633677b 181%dir %{dietprefix}/lib-%{libarch}
cf89de40
ER
182
183%if %{with dynamic}
184%files libs
185%defattr(644,root,root,755)
b633677b 186%attr(755,root,root) %{dietprefix}/lib-%{libarch}/*.so
86c9e868 187%{_sysconfdir}/diet.ld.conf
8d4158b9 188%endif
c3a70eef 189
190%files devel
09de3116 191%defattr(644,root,root,755)
86c9e868
JB
192%attr(755,root,root) %{_bindir}/*-dietlibc-gcc
193%attr(755,root,root) %{_bindir}/diet
86c9e868
JB
194%attr(755,root,root) %{_bindir}/elftrunc
195%{dietprefix}/lib-%{libarch}/*.o
e72c8dd4 196%{dietprefix}/include
86c9e868 197%{_mandir}/man1/diet.1*
e72c8dd4
MM
198
199%files static
200%defattr(644,root,root,755)
b633677b 201%{dietprefix}/lib-%{libarch}/*.a
This page took 0.125775 seconds and 4 git commands to generate.