]> git.pld-linux.org Git - packages/dietlibc.git/blame - dietlibc.spec
- added git patch updating to current devel state
[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 14Version: 0.33
59e1441c 15Release: 2
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
d227bc8d 24Patch4: %{name}-guard.patch
6cfbdaaf 25Patch5: %{name}-arm.patch
88cc7f71 26Patch6: %{name}-diet-m.patch
2304c81d
AM
27Patch8: %{name}-nostrip.patch
28Patch9: %{name}-stackgap-instead-of-ssp.patch
9dab7c7b 29Patch14: umount-arch.patch
9e542dd9
JR
30Patch15: %{name}-memalign.patch
31Patch16: %{name}-getsubopt.patch
5afb4ebd 32Patch17: %{name}-devmacros.patch
e2aad565 33Patch19: %{name}-notify.patch
f5ffcb6a
JR
34Patch20: x32-fixes.patch
35Patch100: git.patch
ef49f35c 36URL: http://www.fefe.de/dietlibc/
9b1be9d0
ER
37BuildRequires: rpmbuild(macros) >= 1.566
38BuildRequires: sed >= 4.0
88cc7f71
JB
39%ifarch sparc sparcv9
40BuildRequires: sparc32
41%endif
09de3116 42BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
c3a70eef 43
5c48d132 44%define dietprefix %{_prefix}/lib/dietlibc
b633677b 45# for some reason known only to rpm there must be "\\|" not "\|" here
f2923a80 46%define libarch %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/;s/armv.*/arm/;s/sparcv.*/sparc/')
b633677b 47
c3a70eef 48%description
e0cb75d3
JB
49The diet libc is a libc that is optimized for small size. It can be
50used to create small statically linked binaries for Linux on alpha,
51arm, hppa, ia64, i386, mips, s390, sparc, sparc64, ppc and x86_64.
c3a70eef 52
f92ec944 53%description -l pl.UTF-8
e0cb75d3
JB
54diet libc to biblioteka libc zoptymalizowana pod kątem rozmiaru.
55Może być używana do tworzenia małych, statycznie zlinkowanych
56binariów dla Linuksa na architekturach alpha, arm, hppa, ia64, i386,
57mips, s390, sparc, sparc64, ppc i x86_64.
dd5e72ff 58
f92ec944
JR
59%description -l pt_BR.UTF-8
60A diet libc e' uma libc otimizada para criar pequenos binários
b633677b 61estaticamente linkados para Linux.
aae0fca7 62
cf89de40 63%package libs
e0cb75d3
JB
64Summary: Shared dietlibc libraries
65Summary(pl.UTF-8): Biblioteki współdzielone dietlibc
cf89de40
ER
66Group: Libraries
67
68%description libs
e0cb75d3 69This package contains the shared dietlibc libraries.
cf89de40 70
e0cb75d3
JB
71%description libs -l pl.UTF-8
72Ten pakiet zawiera biblioteki współdzielone dietlibc.
cf89de40 73
c3a70eef 74%package devel
09de3116 75Summary: Development files for dietlibc
96cac672
ER
76Summary(pl.UTF-8): Pliki dla programistów używających dietlibc
77Summary(pt_BR.UTF-8): libc pequena otimizada para tamanho
09de3116 78Group: Development/Libraries
46f54929 79Requires: %{name} = %{epoch}:%{version}-%{release}
c3a70eef 80
81%description devel
dd5e72ff
JB
82Small libc for building embedded applications - development files.
83
f92ec944 84%description devel -l pl.UTF-8
dd5e72ff 85Niewielka libc do budowania aplikacji wbudowanych - pliki dla
f92ec944 86programistów.
c3a70eef 87
e72c8dd4
MM
88%package static
89Summary: Static libraries for dietlibc
96cac672 90Summary(pl.UTF-8): Biblioteki statyczne dla dietlibc
e72c8dd4 91Group: Development/Libraries
46f54929 92Requires: %{name}-devel = %{epoch}:%{version}-%{release}
e72c8dd4
MM
93
94%description static
95Small libc for building embedded applications - static libraries.
96
f92ec944 97%description static -l pl.UTF-8
e72c8dd4
MM
98Niewielka libc do budowania aplikacji wbudowanych - biblioteki
99statyczne.
100
c3a70eef 101%prep
2bb9d10d 102%setup -q
9b1be9d0 103%undos arm/md5asm.S
f5ffcb6a 104%patch100 -p1
b633677b
JB
105%patch0 -p1
106%patch1 -p1
b0443187 107%patch2 -p1
d227bc8d 108%patch4 -p1
6cfbdaaf 109%patch5 -p1
88cc7f71 110%patch6 -p1
2304c81d
AM
111%patch8 -p1
112%{!?with_ssp:%patch9 -p1}
9dab7c7b 113%patch14 -p1
9e542dd9
JR
114%patch15 -p1
115%patch16 -p1
5afb4ebd 116%patch17 -p1
e2aad565 117%patch19 -p1
f5ffcb6a 118%patch20 -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
9e755ceb 125export OPTFLAGS="%{rpmcflags}%{?with_ssp: -fno-stack-protector} -fno-strict-aliasing -Wa,--noexecstack"
54aa6e1d 126CC="%{__cc}"
2bb9d10d 127%ifarch sparc sparcv9
c7d60d50 128sparc32 \
129%endif
4f4bb2ab 130%{__make} -j1 all \
f5ffcb6a
JR
131%ifarch x32
132 MYARCH=x32 \
133%endif
1f3436a8 134 prefix=%{dietprefix} \
9b1be9d0 135 CC="${CC#*ccache }"
54aa6e1d 136
cf89de40
ER
137%if %{with dynamic}
138# 'dyn' target is not SMP safe
4f4bb2ab 139%{__make} -j1 dyn \
f5ffcb6a
JR
140%ifarch x32
141 MYARCH=x32 \
142%endif
c305ceb2
ER
143 prefix=%{dietprefix} \
144 CC="${CC}"
8d4158b9 145%endif
c3a70eef 146
147%install
09de3116 148rm -rf $RPM_BUILD_ROOT
e72c8dd4
MM
149install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_bindir},%{_mandir}/man1}
150
23c8844b 151%ifarch sparc sparcv9
152sparc32 \
153%endif
b9fb397c 154%{__make} install \
f5ffcb6a
JR
155%ifarch x32
156 MYARCH=x32 \
157%endif
b9fb397c
PG
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 0.062996 seconds and 4 git commands to generate.