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