]> git.pld-linux.org Git - packages/dietlibc.git/blame - dietlibc.spec
always pass MYARCH explicitly
[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 13Version: 0.34
d18630a9 14Release: 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 \
514b1e91 128 MYARCH=%{libarch} \
1f3436a8 129 prefix=%{dietprefix} \
9b1be9d0 130 CC="${CC#*ccache }"
54aa6e1d 131
cf89de40
ER
132%if %{with dynamic}
133# 'dyn' target is not SMP safe
4f4bb2ab 134%{__make} -j1 dyn \
514b1e91 135 MYARCH=%{libarch} \
c305ceb2
ER
136 prefix=%{dietprefix} \
137 CC="${CC}"
8d4158b9 138%endif
c3a70eef 139
140%install
09de3116 141rm -rf $RPM_BUILD_ROOT
e72c8dd4
MM
142install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_bindir},%{_mandir}/man1}
143
23c8844b 144%ifarch sparc sparcv9
145sparc32 \
146%endif
b9fb397c 147%{__make} install \
514b1e91 148 MYARCH=%{libarch} \
b9fb397c
PG
149 DESTDIR=$RPM_BUILD_ROOT \
150 prefix=%{dietprefix}
1f8a1668 151
e72c8dd4
MM
152mv $RPM_BUILD_ROOT%{dietprefix}/bin/* $RPM_BUILD_ROOT%{_bindir}
153mv $RPM_BUILD_ROOT%{dietprefix}/man/man1/* $RPM_BUILD_ROOT%{_mandir}/man1
154rm -rf $RPM_BUILD_ROOT%{dietprefix}/{bin,man}
155rm -f $RPM_BUILD_ROOT%{_bindir}/diet-dyn
cf89de40 156rm -f $RPM_BUILD_ROOT%{_bindir}/dnsd
1f8a1668 157
54aa6e1d 158cat > $RPM_BUILD_ROOT%{_bindir}/%{_target_cpu}-dietlibc-gcc <<'EOF'
e72c8dd4 159#!/bin/sh
54aa6e1d 160exec %{_bindir}/diet gcc "$@"
e72c8dd4
MM
161EOF
162
c3a70eef 163%clean
164rm -rf $RPM_BUILD_ROOT
165
166%files
09de3116 167%defattr(644,root,root,755)
c6f935c3 168%doc AUTHOR BUGS CAVEAT CHANGES FAQ README THANKS TODO
e72c8dd4 169%dir %{dietprefix}
b633677b 170%dir %{dietprefix}/lib-%{libarch}
cf89de40
ER
171
172%if %{with dynamic}
173%files libs
174%defattr(644,root,root,755)
b633677b 175%attr(755,root,root) %{dietprefix}/lib-%{libarch}/*.so
86c9e868 176%{_sysconfdir}/diet.ld.conf
8d4158b9 177%endif
c3a70eef 178
179%files devel
09de3116 180%defattr(644,root,root,755)
86c9e868
JB
181%attr(755,root,root) %{_bindir}/*-dietlibc-gcc
182%attr(755,root,root) %{_bindir}/diet
86c9e868
JB
183%attr(755,root,root) %{_bindir}/elftrunc
184%{dietprefix}/lib-%{libarch}/*.o
e72c8dd4 185%{dietprefix}/include
86c9e868 186%{_mandir}/man1/diet.1*
e72c8dd4
MM
187
188%files static
189%defattr(644,root,root,755)
b633677b 190%{dietprefix}/lib-%{libarch}/*.a
This page took 0.0574 seconds and 4 git commands to generate.