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