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