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