]>
Commit | Line | Data |
---|---|---|
ed0486b4 PS |
1 | # |
2 | # Conditional build: | |
3 | %bcond_with ssp # disable stack-smashing protector 'coz dietlibc will not work with it! | |
4 | # | |
c3a70eef | 5 | Summary: C library optimized for size |
f92ec944 JR |
6 | Summary(pl.UTF-8): Biblioteka standardowa C zoptymalizowana na rozmiar |
7 | Summary(pt_BR.UTF-8): libc pequena otimizada para tamanho | |
09de3116 | 8 | Name: dietlibc |
421047b0 | 9 | Version: 0.30 |
2304c81d | 10 | Release: 4 |
e72c8dd4 | 11 | Epoch: 2 |
aae0fca7 | 12 | License: GPL v2 |
09de3116 | 13 | Group: Development/Libraries |
18646183 | 14 | Source0: http://www.kernel.org/pub/linux/libs/dietlibc/%{name}-%{version}.tar.bz2 |
421047b0 | 15 | # Source0-md5: 2465d652fff6f1fad3da3b98e60e83c9 |
711665cb | 16 | Patch0: %{name}-ppc.patch |
b633677b | 17 | Patch1: %{name}-opt.patch |
1337a3d8 | 18 | Patch2: %{name}-platform.patch |
73062649 | 19 | # workaround for http://gcc.gnu.org/PR26374 |
1337a3d8 | 20 | Patch3: %{name}-gcc4.patch |
d227bc8d | 21 | Patch4: %{name}-guard.patch |
6cfbdaaf | 22 | Patch5: %{name}-arm.patch |
88cc7f71 | 23 | Patch6: %{name}-diet-m.patch |
2304c81d AM |
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 | |
ef49f35c | 30 | URL: http://www.fefe.de/dietlibc/ |
88cc7f71 JB |
31 | %ifarch sparc sparcv9 |
32 | BuildRequires: sparc32 | |
33 | %endif | |
09de3116 | 34 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
c3a70eef | 35 | |
5c48d132 | 36 | %define dietprefix %{_prefix}/lib/dietlibc |
b633677b | 37 | # for some reason known only to rpm there must be "\\|" not "\|" here |
7e6f0cf7 | 38 | %define libarch %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/;s/armv.*/arm/') |
b633677b | 39 | |
c3a70eef | 40 | %description |
41 | Small libc for building embedded applications. | |
42 | ||
f92ec944 | 43 | %description -l pl.UTF-8 |
dd5e72ff JB |
44 | Niewielka libc do budowania aplikacji wbudowanych. |
45 | ||
f92ec944 JR |
46 | %description -l pt_BR.UTF-8 |
47 | A diet libc e' uma libc otimizada para criar pequenos binários | |
b633677b | 48 | estaticamente linkados para Linux. |
aae0fca7 | 49 | |
c3a70eef | 50 | %package devel |
09de3116 | 51 | Summary: Development files for dietlibc |
f92ec944 JR |
52 | Summary(pl.UTF-8): Pliki dla programistów używających dietlibc |
53 | Summary(pt_BR.UTF-8): libc pequena otimizada para tamanho | |
09de3116 | 54 | Group: Development/Libraries |
46f54929 | 55 | Requires: %{name} = %{epoch}:%{version}-%{release} |
c3a70eef | 56 | |
57 | %description devel | |
dd5e72ff JB |
58 | Small libc for building embedded applications - development files. |
59 | ||
f92ec944 | 60 | %description devel -l pl.UTF-8 |
dd5e72ff | 61 | Niewielka libc do budowania aplikacji wbudowanych - pliki dla |
f92ec944 | 62 | programistów. |
c3a70eef | 63 | |
e72c8dd4 MM |
64 | %package static |
65 | Summary: Static libraries for dietlibc | |
f92ec944 | 66 | Summary(pl.UTF-8): Biblioteki statyczne dla dietlibc |
e72c8dd4 | 67 | Group: Development/Libraries |
46f54929 | 68 | Requires: %{name}-devel = %{epoch}:%{version}-%{release} |
e72c8dd4 MM |
69 | |
70 | %description static | |
71 | Small libc for building embedded applications - static libraries. | |
72 | ||
f92ec944 | 73 | %description static -l pl.UTF-8 |
e72c8dd4 MM |
74 | Niewielka libc do budowania aplikacji wbudowanych - biblioteki |
75 | statyczne. | |
76 | ||
c3a70eef | 77 | %prep |
2bb9d10d | 78 | %setup -q |
b633677b JB |
79 | %patch0 -p1 |
80 | %patch1 -p1 | |
b0443187 | 81 | %patch2 -p1 |
38ed02e8 | 82 | %patch3 -p1 |
d227bc8d | 83 | %patch4 -p1 |
6cfbdaaf | 84 | %patch5 -p1 |
88cc7f71 | 85 | %patch6 -p1 |
2304c81d AM |
86 | %patch7 -p1 |
87 | %patch8 -p1 | |
88 | %{!?with_ssp:%patch9 -p1} | |
89 | %patch10 -p1 | |
90 | %patch11 -p1 | |
91 | %patch12 -p1 | |
1f8a1668 | 92 | |
c3a70eef | 93 | %build |
c6a4651e | 94 | export OPTFLAGS="%{rpmcflags}%{?with_ssp: -fno-stack-protector} -fno-strict-aliasing" |
2bb9d10d | 95 | %ifarch sparc sparcv9 |
c7d60d50 | 96 | sparc32 \ |
97 | %endif | |
c4fe491f | 98 | %{__make} all \ |
1f3436a8 JB |
99 | prefix=%{dietprefix} \ |
100 | CC="%{__cc}" | |
8d4158b9 | 101 | %ifarch %{ix86} |
c4fe491f | 102 | %{__make} dyn \ |
1f3436a8 JB |
103 | prefix=%{dietprefix} \ |
104 | CC="%{__cc}" | |
8d4158b9 | 105 | %endif |
c3a70eef | 106 | |
107 | %install | |
09de3116 | 108 | rm -rf $RPM_BUILD_ROOT |
e72c8dd4 MM |
109 | install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_bindir},%{_mandir}/man1} |
110 | ||
23c8844b | 111 | %ifarch sparc sparcv9 |
112 | sparc32 \ | |
113 | %endif | |
b9fb397c PG |
114 | %{__make} install \ |
115 | DESTDIR=$RPM_BUILD_ROOT \ | |
116 | prefix=%{dietprefix} | |
1f8a1668 | 117 | |
e72c8dd4 MM |
118 | mv $RPM_BUILD_ROOT%{dietprefix}/bin/* $RPM_BUILD_ROOT%{_bindir} |
119 | mv $RPM_BUILD_ROOT%{dietprefix}/man/man1/* $RPM_BUILD_ROOT%{_mandir}/man1 | |
120 | rm -rf $RPM_BUILD_ROOT%{dietprefix}/{bin,man} | |
121 | rm -f $RPM_BUILD_ROOT%{_bindir}/diet-dyn | |
1f8a1668 | 122 | |
b633677b | 123 | cat > $RPM_BUILD_ROOT%{_bindir}/%{_target_cpu}-dietlibc-gcc <<EOF |
e72c8dd4 MM |
124 | #!/bin/sh |
125 | exec %{_bindir}/diet gcc "\$@" | |
126 | EOF | |
127 | ||
128 | rm -rf $RPM_BUILD_ROOT%{dietprefix}/include/{asm,linux} | |
129 | ||
c3a70eef | 130 | %clean |
131 | rm -rf $RPM_BUILD_ROOT | |
132 | ||
133 | %files | |
09de3116 | 134 | %defattr(644,root,root,755) |
c6f935c3 | 135 | %doc AUTHOR BUGS CAVEAT CHANGES FAQ README THANKS TODO |
e72c8dd4 | 136 | %dir %{dietprefix} |
b633677b | 137 | %dir %{dietprefix}/lib-%{libarch} |
8d4158b9 | 138 | %ifarch %{ix86} |
b633677b | 139 | %attr(755,root,root) %{dietprefix}/lib-%{libarch}/*.so |
e72c8dd4 | 140 | %{_sysconfdir}/* |
8d4158b9 | 141 | %endif |
c3a70eef | 142 | |
143 | %files devel | |
09de3116 | 144 | %defattr(644,root,root,755) |
e72c8dd4 MM |
145 | %attr(755,root,root) %{_bindir}/* |
146 | %{dietprefix}/include | |
b633677b | 147 | %attr(755,root,root) %{dietprefix}/lib-%{libarch}/*.o |
e72c8dd4 MM |
148 | %{_mandir}/man*/* |
149 | ||
150 | %files static | |
151 | %defattr(644,root,root,755) | |
b633677b | 152 | %{dietprefix}/lib-%{libarch}/*.a |