3 %bcond_with ssp # disable stack-smashing protector 'coz dietlibc will not work with it!
5 Summary: C library optimized for size
6 Summary(pl.UTF-8): Biblioteka standardowa C zoptymalizowana na rozmiar
7 Summary(pt_BR.UTF-8): libc pequena otimizada para tamanho
13 Group: Development/Libraries
14 Source0: http://www.kernel.org/pub/linux/libs/dietlibc/%{name}-%{version}.tar.bz2
15 # Source0-md5: acb98d469ee932d902fdf6de07802b7c
16 Patch0: %{name}-ppc.patch
17 Patch1: %{name}-opt.patch
18 Patch2: %{name}-platform.patch
19 # workaround for http://gcc.gnu.org/PR26374
20 Patch3: %{name}-gcc4.patch
21 Patch4: %{name}-guard.patch
22 Patch5: %{name}-arm.patch
23 Patch6: %{name}-diet-m.patch
24 Patch7: %{name}-nice.patch
25 Patch8: %{name}-nostrip.patch
26 Patch9: %{name}-stackgap-instead-of-ssp.patch
27 Patch10: %{name}-fflush-null.patch
28 Patch11: %{name}-_syscall-no-arch.patch
29 Patch12: %{name}-noexecstacks.patch
30 Patch13: %{name}-strcoll.patch
31 Patch14: %{name}-cvs.patch
32 URL: http://www.fefe.de/dietlibc/
34 BuildRequires: sparc32
36 BuildRequires: dos2unix
37 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39 %define dietprefix %{_prefix}/lib/dietlibc
40 # for some reason known only to rpm there must be "\\|" not "\|" here
41 %define libarch %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/;s/armv.*/arm/')
44 Small libc for building embedded applications.
46 %description -l pl.UTF-8
47 Niewielka libc do budowania aplikacji wbudowanych.
49 %description -l pt_BR.UTF-8
50 A diet libc e' uma libc otimizada para criar pequenos binários
51 estaticamente linkados para Linux.
54 Summary: Development files for dietlibc
55 Summary(pl.UTF-8): Pliki dla programistów używających dietlibc
56 Summary(pt_BR.UTF-8): libc pequena otimizada para tamanho
57 Group: Development/Libraries
58 Requires: %{name} = %{epoch}:%{version}-%{release}
61 Small libc for building embedded applications - development files.
63 %description devel -l pl.UTF-8
64 Niewielka libc do budowania aplikacji wbudowanych - pliki dla
68 Summary: Static libraries for dietlibc
69 Summary(pl.UTF-8): Biblioteki statyczne dla dietlibc
70 Group: Development/Libraries
71 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
74 Small libc for building embedded applications - static libraries.
76 %description static -l pl.UTF-8
77 Niewielka libc do budowania aplikacji wbudowanych - biblioteki
93 %{!?with_ssp:%patch9 -p1}
100 export OPTFLAGS="%{rpmcflags}%{?with_ssp: -fno-stack-protector} -fno-strict-aliasing"
101 %ifarch sparc sparcv9
105 prefix=%{dietprefix} \
109 prefix=%{dietprefix} \
114 rm -rf $RPM_BUILD_ROOT
115 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_bindir},%{_mandir}/man1}
117 %ifarch sparc sparcv9
121 DESTDIR=$RPM_BUILD_ROOT \
124 mv $RPM_BUILD_ROOT%{dietprefix}/bin/* $RPM_BUILD_ROOT%{_bindir}
125 mv $RPM_BUILD_ROOT%{dietprefix}/man/man1/* $RPM_BUILD_ROOT%{_mandir}/man1
126 rm -rf $RPM_BUILD_ROOT%{dietprefix}/{bin,man}
127 rm -f $RPM_BUILD_ROOT%{_bindir}/diet-dyn
129 cat > $RPM_BUILD_ROOT%{_bindir}/%{_target_cpu}-dietlibc-gcc <<EOF
131 exec %{_bindir}/diet gcc "\$@"
135 rm -rf $RPM_BUILD_ROOT
138 %defattr(644,root,root,755)
139 %doc AUTHOR BUGS CAVEAT CHANGES FAQ README THANKS TODO
141 %dir %{dietprefix}/lib-%{libarch}
143 %attr(755,root,root) %{dietprefix}/lib-%{libarch}/*.so
144 %{_sysconfdir}/diet.ld.conf
148 %defattr(644,root,root,755)
149 %attr(755,root,root) %{_bindir}/*-dietlibc-gcc
150 %attr(755,root,root) %{_bindir}/diet
151 %attr(755,root,root) %{_bindir}/dnsd
152 %attr(755,root,root) %{_bindir}/elftrunc
153 %{dietprefix}/lib-%{libarch}/*.o
154 %{dietprefix}/include
155 %{_mandir}/man1/diet.1*
158 %defattr(644,root,root,755)
159 %{dietprefix}/lib-%{libarch}/*.a