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