]> git.pld-linux.org Git - packages/dietlibc.git/blame - dietlibc.spec
up to 0.34 (rel 0.1 memalign patch needs update)
[packages/dietlibc.git] / dietlibc.spec
CommitLineData
ed0486b4 1# Conditional build:
7e2c1389 2%bcond_without ssp # stack-smashing protector
bb51f870 3%bcond_with dynamic # dynamic lib support
cf89de40
ER
4
5%ifnarch %{ix86} %{x8664} arm
6%undefine with_dynamic
7%endif
8
c3a70eef 9Summary: C library optimized for size
96cac672
ER
10Summary(pl.UTF-8): Biblioteka standardowa C zoptymalizowana na rozmiar
11Summary(pt_BR.UTF-8): libc pequena otimizada para tamanho
09de3116 12Name: dietlibc
8f178a7a
JP
13Version: 0.34
14Release: 0.1
e72c8dd4 15Epoch: 2
aae0fca7 16License: GPL v2
09de3116 17Group: Development/Libraries
8f178a7a
JP
18Source0: http://www.fefe.de/dietlibc/%{name}-%{version}.tar.xz
19# Source0-md5: 4f04a6f642548cc5be716a6e0de6b631
711665cb 20Patch0: %{name}-ppc.patch
b633677b 21Patch1: %{name}-opt.patch
1337a3d8 22Patch2: %{name}-platform.patch
47ba3386
JR
23Patch3: %{name}-guard.patch
24Patch4: %{name}-arm.patch
25Patch5: %{name}-diet-m.patch
26Patch6: %{name}-nostrip.patch
27Patch7: %{name}-stackgap-instead-of-ssp.patch
47ba3386
JR
28Patch9: %{name}-memalign.patch
29Patch10: %{name}-getsubopt.patch
30Patch11: %{name}-devmacros.patch
31Patch12: %{name}-notify.patch
32Patch13: x32-fixes.patch
015bcd3c 33Patch14: %{name}-no-vsyscall.patch
ef49f35c 34URL: http://www.fefe.de/dietlibc/
9b1be9d0
ER
35BuildRequires: rpmbuild(macros) >= 1.566
36BuildRequires: sed >= 4.0
88cc7f71
JB
37%ifarch sparc sparcv9
38BuildRequires: sparc32
39%endif
09de3116 40BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
c3a70eef 41
5c48d132 42%define dietprefix %{_prefix}/lib/dietlibc
b633677b 43# for some reason known only to rpm there must be "\\|" not "\|" here
f2923a80 44%define libarch %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/;s/armv.*/arm/;s/sparcv.*/sparc/')
b633677b 45
c3a70eef 46%description
e0cb75d3
JB
47The diet libc is a libc that is optimized for small size. It can be
48used to create small statically linked binaries for Linux on alpha,
49arm, hppa, ia64, i386, mips, s390, sparc, sparc64, ppc and x86_64.
c3a70eef 50
f92ec944 51%description -l pl.UTF-8
e0cb75d3
JB
52diet libc to biblioteka libc zoptymalizowana pod kątem rozmiaru.
53Może być używana do tworzenia małych, statycznie zlinkowanych
54binariów dla Linuksa na architekturach alpha, arm, hppa, ia64, i386,
55mips, s390, sparc, sparc64, ppc i x86_64.
dd5e72ff 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 61%package libs
e0cb75d3
JB
62Summary: Shared dietlibc libraries
63Summary(pl.UTF-8): Biblioteki współdzielone dietlibc
cf89de40
ER
64Group: Libraries
65
66%description libs
e0cb75d3 67This package contains the shared dietlibc libraries.
cf89de40 68
e0cb75d3
JB
69%description libs -l pl.UTF-8
70Ten pakiet zawiera biblioteki współdzielone dietlibc.
cf89de40 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
47ba3386 105%patch3 -p1
d227bc8d 106%patch4 -p1
6cfbdaaf 107%patch5 -p1
88cc7f71 108%patch6 -p1
47ba3386 109%{!?with_ssp:%patch7 -p1}
47ba3386
JR
110%patch9 -p1
111%patch10 -p1
112%patch11 -p1
113%patch12 -p1
114%patch13 -p1
015bcd3c 115%patch14 -p1
1f8a1668 116
9b1be9d0
ER
117%if "%{cc_version}" < "3.4"
118%{__sed} -i -e '/CFLAGS/ s/-Wextra//' Makefile
119%endif
120
c3a70eef 121%build
9e755ceb 122export OPTFLAGS="%{rpmcflags}%{?with_ssp: -fno-stack-protector} -fno-strict-aliasing -Wa,--noexecstack"
54aa6e1d 123CC="%{__cc}"
2bb9d10d 124%ifarch sparc sparcv9
c7d60d50 125sparc32 \
126%endif
4f4bb2ab 127%{__make} -j1 all \
f5ffcb6a
JR
128%ifarch x32
129 MYARCH=x32 \
130%endif
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 \
f5ffcb6a
JR
137%ifarch x32
138 MYARCH=x32 \
139%endif
c305ceb2
ER
140 prefix=%{dietprefix} \
141 CC="${CC}"
8d4158b9 142%endif
c3a70eef 143
144%install
09de3116 145rm -rf $RPM_BUILD_ROOT
e72c8dd4
MM
146install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_bindir},%{_mandir}/man1}
147
23c8844b 148%ifarch sparc sparcv9
149sparc32 \
150%endif
b9fb397c 151%{__make} install \
f5ffcb6a
JR
152%ifarch x32
153 MYARCH=x32 \
154%endif
b9fb397c
PG
155 DESTDIR=$RPM_BUILD_ROOT \
156 prefix=%{dietprefix}
1f8a1668 157
e72c8dd4
MM
158mv $RPM_BUILD_ROOT%{dietprefix}/bin/* $RPM_BUILD_ROOT%{_bindir}
159mv $RPM_BUILD_ROOT%{dietprefix}/man/man1/* $RPM_BUILD_ROOT%{_mandir}/man1
160rm -rf $RPM_BUILD_ROOT%{dietprefix}/{bin,man}
161rm -f $RPM_BUILD_ROOT%{_bindir}/diet-dyn
cf89de40 162rm -f $RPM_BUILD_ROOT%{_bindir}/dnsd
1f8a1668 163
54aa6e1d 164cat > $RPM_BUILD_ROOT%{_bindir}/%{_target_cpu}-dietlibc-gcc <<'EOF'
e72c8dd4 165#!/bin/sh
54aa6e1d 166exec %{_bindir}/diet gcc "$@"
e72c8dd4
MM
167EOF
168
c3a70eef 169%clean
170rm -rf $RPM_BUILD_ROOT
171
172%files
09de3116 173%defattr(644,root,root,755)
c6f935c3 174%doc AUTHOR BUGS CAVEAT CHANGES FAQ README THANKS TODO
e72c8dd4 175%dir %{dietprefix}
b633677b 176%dir %{dietprefix}/lib-%{libarch}
cf89de40
ER
177
178%if %{with dynamic}
179%files libs
180%defattr(644,root,root,755)
b633677b 181%attr(755,root,root) %{dietprefix}/lib-%{libarch}/*.so
86c9e868 182%{_sysconfdir}/diet.ld.conf
8d4158b9 183%endif
c3a70eef 184
185%files devel
09de3116 186%defattr(644,root,root,755)
86c9e868
JB
187%attr(755,root,root) %{_bindir}/*-dietlibc-gcc
188%attr(755,root,root) %{_bindir}/diet
86c9e868
JB
189%attr(755,root,root) %{_bindir}/elftrunc
190%{dietprefix}/lib-%{libarch}/*.o
e72c8dd4 191%{dietprefix}/include
86c9e868 192%{_mandir}/man1/diet.1*
e72c8dd4
MM
193
194%files static
195%defattr(644,root,root,755)
b633677b 196%{dietprefix}/lib-%{libarch}/*.a
This page took 0.140233 seconds and 4 git commands to generate.