]> git.pld-linux.org Git - packages/dietlibc.git/blame - dietlibc.spec
- rel 6
[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
d45a8198 15Release: 6
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
ef49f35c 39URL: http://www.fefe.de/dietlibc/
9b1be9d0
ER
40BuildRequires: rpmbuild(macros) >= 1.566
41BuildRequires: sed >= 4.0
88cc7f71
JB
42%ifarch sparc sparcv9
43BuildRequires: sparc32
44%endif
09de3116 45BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
c3a70eef 46
5c48d132 47%define dietprefix %{_prefix}/lib/dietlibc
b633677b 48# for some reason known only to rpm there must be "\\|" not "\|" here
f2923a80 49%define libarch %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/;s/armv.*/arm/;s/sparcv.*/sparc/')
b633677b 50
c3a70eef 51%description
52Small libc for building embedded applications.
53
f92ec944 54%description -l pl.UTF-8
dd5e72ff
JB
55Niewielka libc do budowania aplikacji wbudowanych.
56
f92ec944
JR
57%description -l pt_BR.UTF-8
58A diet libc e' uma libc otimizada para criar pequenos binários
b633677b 59estaticamente linkados para Linux.
aae0fca7 60
cf89de40
ER
61%package libs
62Summary: Dynamic libraries for dietlibc
63Group: Libraries
64
65%description libs
66The diet libc is a libc that is optimized for small size. It can be
67used to create small statically linked binaries for Linux on alpha,
68arm, hppa, ia64, i386, mips, s390, sparc, sparc64, ppc and x86_64.
69
70This package contains the dynamic libraries for dietlibc.
71
c3a70eef 72%package devel
09de3116 73Summary: Development files for dietlibc
96cac672
ER
74Summary(pl.UTF-8): Pliki dla programistów używających dietlibc
75Summary(pt_BR.UTF-8): libc pequena otimizada para tamanho
09de3116 76Group: Development/Libraries
46f54929 77Requires: %{name} = %{epoch}:%{version}-%{release}
c3a70eef 78
79%description devel
dd5e72ff
JB
80Small libc for building embedded applications - development files.
81
f92ec944 82%description devel -l pl.UTF-8
dd5e72ff 83Niewielka libc do budowania aplikacji wbudowanych - pliki dla
f92ec944 84programistów.
c3a70eef 85
e72c8dd4
MM
86%package static
87Summary: Static libraries for dietlibc
96cac672 88Summary(pl.UTF-8): Biblioteki statyczne dla dietlibc
e72c8dd4 89Group: Development/Libraries
46f54929 90Requires: %{name}-devel = %{epoch}:%{version}-%{release}
e72c8dd4
MM
91
92%description static
93Small libc for building embedded applications - static libraries.
94
f92ec944 95%description static -l pl.UTF-8
e72c8dd4
MM
96Niewielka libc do budowania aplikacji wbudowanych - biblioteki
97statyczne.
98
c3a70eef 99%prep
2bb9d10d 100%setup -q
9b1be9d0 101%undos arm/md5asm.S
b633677b
JB
102%patch0 -p1
103%patch1 -p1
b0443187 104%patch2 -p1
38ed02e8 105%patch3 -p1
d227bc8d 106%patch4 -p1
6cfbdaaf 107%patch5 -p1
88cc7f71 108%patch6 -p1
2304c81d
AM
109%patch7 -p1
110%patch8 -p1
111%{!?with_ssp:%patch9 -p1}
112%patch10 -p1
113%patch11 -p1
114%patch12 -p1
f7808423 115%patch13 -p1
9e542dd9
JR
116%patch15 -p1
117%patch16 -p1
5afb4ebd 118%patch17 -p1
1f8a1668 119
9b1be9d0
ER
120%if "%{cc_version}" < "3.4"
121%{__sed} -i -e '/CFLAGS/ s/-Wextra//' Makefile
122%endif
123
c3a70eef 124%build
c6a4651e 125export OPTFLAGS="%{rpmcflags}%{?with_ssp: -fno-stack-protector} -fno-strict-aliasing"
54aa6e1d 126CC="%{__cc}"
2bb9d10d 127%ifarch sparc sparcv9
c7d60d50 128sparc32 \
129%endif
4f4bb2ab 130%{__make} -j1 all \
1f3436a8 131 prefix=%{dietprefix} \
9b1be9d0 132 CC="${CC#*ccache }"
54aa6e1d 133
cf89de40
ER
134%if %{with dynamic}
135# 'dyn' target is not SMP safe
4f4bb2ab 136%{__make} -j1 dyn \
c305ceb2
ER
137 prefix=%{dietprefix} \
138 CC="${CC}"
8d4158b9 139%endif
c3a70eef 140
141%install
09de3116 142rm -rf $RPM_BUILD_ROOT
e72c8dd4
MM
143install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_bindir},%{_mandir}/man1}
144
23c8844b 145%ifarch sparc sparcv9
146sparc32 \
147%endif
b9fb397c
PG
148%{__make} install \
149 DESTDIR=$RPM_BUILD_ROOT \
150 prefix=%{dietprefix}
1f8a1668 151
e72c8dd4
MM
152mv $RPM_BUILD_ROOT%{dietprefix}/bin/* $RPM_BUILD_ROOT%{_bindir}
153mv $RPM_BUILD_ROOT%{dietprefix}/man/man1/* $RPM_BUILD_ROOT%{_mandir}/man1
154rm -rf $RPM_BUILD_ROOT%{dietprefix}/{bin,man}
155rm -f $RPM_BUILD_ROOT%{_bindir}/diet-dyn
cf89de40 156rm -f $RPM_BUILD_ROOT%{_bindir}/dnsd
1f8a1668 157
54aa6e1d 158cat > $RPM_BUILD_ROOT%{_bindir}/%{_target_cpu}-dietlibc-gcc <<'EOF'
e72c8dd4 159#!/bin/sh
54aa6e1d 160exec %{_bindir}/diet gcc "$@"
e72c8dd4
MM
161EOF
162
c3a70eef 163%clean
164rm -rf $RPM_BUILD_ROOT
165
166%files
09de3116 167%defattr(644,root,root,755)
c6f935c3 168%doc AUTHOR BUGS CAVEAT CHANGES FAQ README THANKS TODO
e72c8dd4 169%dir %{dietprefix}
b633677b 170%dir %{dietprefix}/lib-%{libarch}
cf89de40
ER
171
172%if %{with dynamic}
173%files libs
174%defattr(644,root,root,755)
b633677b 175%attr(755,root,root) %{dietprefix}/lib-%{libarch}/*.so
86c9e868 176%{_sysconfdir}/diet.ld.conf
8d4158b9 177%endif
c3a70eef 178
179%files devel
09de3116 180%defattr(644,root,root,755)
86c9e868
JB
181%attr(755,root,root) %{_bindir}/*-dietlibc-gcc
182%attr(755,root,root) %{_bindir}/diet
86c9e868
JB
183%attr(755,root,root) %{_bindir}/elftrunc
184%{dietprefix}/lib-%{libarch}/*.o
e72c8dd4 185%{dietprefix}/include
86c9e868 186%{_mandir}/man1/diet.1*
e72c8dd4
MM
187
188%files static
189%defattr(644,root,root,755)
b633677b 190%{dietprefix}/lib-%{libarch}/*.a
This page took 0.275749 seconds and 4 git commands to generate.