]> git.pld-linux.org Git - packages/dietlibc.git/blob - dietlibc.spec
- added guard patch (fixes libc.so build on i386)
[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):    Biblioteka standardowa C zoptymalizowana na rozmiar
7 Summary(pt_BR): libc pequena otimizada para tamanho
8 Name:           dietlibc
9 Version:        0.30
10 Release:        1
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:  2465d652fff6f1fad3da3b98e60e83c9
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 URL:            http://www.fefe.de/dietlibc/
23 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
24
25 %define         dietprefix      %{_prefix}/%{_target_cpu}-linux-dietlibc
26 # for some reason known only to rpm there must be "\\|" not "\|" here
27 %define         libarch         %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/')
28
29 %description
30 Small libc for building embedded applications.
31
32 %description -l pl
33 Niewielka libc do budowania aplikacji wbudowanych.
34
35 %description -l pt_BR
36 A diet libc e' uma libc otimizada para criar pequenos binários
37 estaticamente linkados para Linux.
38
39 %package devel
40 Summary:        Development files for dietlibc
41 Summary(pl):    Pliki dla programistów u¿ywaj±cych dietlibc
42 Summary(pt_BR): libc pequena otimizada para tamanho
43 Group:          Development/Libraries
44 Requires:       %{name} = %{epoch}:%{version}-%{release}
45
46 %description devel
47 Small libc for building embedded applications - development files.
48
49 %description devel -l pl
50 Niewielka libc do budowania aplikacji wbudowanych - pliki dla
51 programistów.
52
53 %package static
54 Summary:        Static libraries for dietlibc
55 Summary(pl):    Biblioteki statyczne dla dietlibc
56 Group:          Development/Libraries
57 Requires:       %{name}-devel = %{epoch}:%{version}-%{release}
58
59 %description static
60 Small libc for building embedded applications - static libraries.
61
62 %description static -l pl
63 Niewielka libc do budowania aplikacji wbudowanych - biblioteki
64 statyczne.
65
66 %prep
67 %setup -q
68 %patch0 -p1
69 %patch1 -p1
70 %patch2 -p1
71 %patch3 -p1
72 %patch4 -p1
73
74 %build
75 export OPTFLAGS="%{rpmcflags}%{?with_ssp: -fno-stack-protector} -fno-strict-aliasing"
76 %ifarch sparc sparcv9
77 sparc32 \
78 %endif
79 %{__make} all \
80         prefix=%{dietprefix} \
81         CC="%{__cc}"
82 %ifarch %{ix86}
83 %{__make} dyn \
84         prefix=%{dietprefix} \
85         CC="%{__cc}"
86 %endif
87
88 %install
89 rm -rf $RPM_BUILD_ROOT
90 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_bindir},%{_mandir}/man1}
91
92 %ifarch sparc sparcv9
93 sparc32 \
94 %endif
95 %{__make} install \
96         DESTDIR=$RPM_BUILD_ROOT \
97         prefix=%{dietprefix}
98
99 mv $RPM_BUILD_ROOT%{dietprefix}/bin/* $RPM_BUILD_ROOT%{_bindir}
100 mv $RPM_BUILD_ROOT%{dietprefix}/man/man1/* $RPM_BUILD_ROOT%{_mandir}/man1
101 rm -rf $RPM_BUILD_ROOT%{dietprefix}/{bin,man}
102 rm -f $RPM_BUILD_ROOT%{_bindir}/diet-dyn
103
104 cat > $RPM_BUILD_ROOT%{_bindir}/%{_target_cpu}-dietlibc-gcc <<EOF
105 #!/bin/sh
106 exec %{_bindir}/diet gcc "\$@"
107 EOF
108
109 rm -rf $RPM_BUILD_ROOT%{dietprefix}/include/{asm,linux}
110
111 %clean
112 rm -rf $RPM_BUILD_ROOT
113
114 %files
115 %defattr(644,root,root,755)
116 %doc AUTHOR BUGS CAVEAT CHANGES FAQ README THANKS TODO
117 %dir %{dietprefix}
118 %dir %{dietprefix}/lib-%{libarch}
119 %ifarch %{ix86}
120 %attr(755,root,root) %{dietprefix}/lib-%{libarch}/*.so
121 %{_sysconfdir}/*
122 %endif
123
124 %files devel
125 %defattr(644,root,root,755)
126 %attr(755,root,root) %{_bindir}/*
127 %{dietprefix}/include
128 %attr(755,root,root) %{dietprefix}/lib-%{libarch}/*.o
129 %{_mandir}/man*/*
130
131 %files static
132 %defattr(644,root,root,755)
133 %{dietprefix}/lib-%{libarch}/*.a
This page took 0.0397 seconds and 3 git commands to generate.