]> git.pld-linux.org Git - packages/dietlibc.git/blob - dietlibc.spec
a3f44ad6bdc4d79ea62d0999628a7bea37450554
[packages/dietlibc.git] / dietlibc.spec
1 Summary:        C library optimized for size
2 Summary(pl):    Biblioteka standardowa C zoptymalizowana na rozmiar
3 Summary(pt_BR): libc pequena otimizada para tamanho
4 Name:           dietlibc
5 Version:        0.24
6 Release:        4
7 Epoch:          2
8 License:        GPL v2
9 Group:          Development/Libraries
10 Source0:        http://www.kernel.org/pub/linux/libs/dietlibc/%{name}-%{version}.tar.bz2
11 # Source0-md5:  1dc54e022c2b31fa99a512225ed36150
12 Source1:        %{name}-divrem.m4
13 Patch0:         %{name}-ppc.patch
14 Patch1:         %{name}-opt.patch
15 Patch2:         %{name}-athlon.patch
16 Patch3:         %{name}-amd64.patch
17 URL:            http://www.fefe.de/dietlibc/
18 %ifarch sparc
19 BuildRequires:  m4
20 BuildRequires:  perl-base
21 %endif
22 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
23
24 %define         dietprefix      %{_prefix}/%{_target_cpu}-linux-dietlibc
25 # for some reason known only to rpm there must be "\\|" not "\|" here
26 %define         libarch         %(echo %{_target_cpu} | sed -e 's/i.86\\|athlon/i386/;s/amd64/x86_64/')
27
28 %description
29 Small libc for building embedded applications.
30
31 %description -l pl
32 Niewielka libc do budowania aplikacji wbudowanych.
33
34 %description -l pt_BR
35 A diet libc e' uma libc otimizada para criar pequenos binários
36 estaticamente linkados para Linux.
37
38 %package devel
39 Summary:        Development files for dietlibc
40 Summary(pl):    Pliki dla programistów u¿ywaj±cych dietlibc
41 Summary(pt_BR): libc pequena otimizada para tamanho
42 Group:          Development/Libraries
43 Requires:       %{name} = %{epoch}:%{version}
44
45 %description devel
46 Small libc for building embedded applications - development files.
47
48 %description devel -l pl
49 Niewielka libc do budowania aplikacji wbudowanych - pliki dla
50 programistów.
51
52 %package static
53 Summary:        Static libraries for dietlibc
54 Summary(pl):    Biblioteki statyczne dla dietlibc
55 Group:          Development/Libraries
56 Requires:       %{name}-devel = %{epoch}:%{version}
57
58 %description static
59 Small libc for building embedded applications - static libraries.
60
61 %description static -l pl
62 Niewielka libc do budowania aplikacji wbudowanych - biblioteki
63 statyczne.
64
65 %prep
66 %setup -q
67 %patch0 -p1
68 %patch1 -p1
69 %patch2 -p1
70 %patch3 -p1
71
72 %ifarch sparc
73 # generate missing functions
74 (echo "define(NAME,\`.div')define(OP,\`div')define(S,\`true')"; cat %{SOURCE1}) \
75         | m4 > sparc/sdiv.S
76 (echo "define(NAME,\`.rem')define(OP,\`rem')define(S,\`true')"; cat %{SOURCE1}) \
77         | m4 > sparc/srem.S
78 %{__perl} -pi -e 's@(^LIBOBJ.*$)@$1 \$(OBJDIR)/sdiv.o \$(OBJDIR)/srem.o@' sparc/Makefile.add
79 %endif
80
81 %build
82 OPTFLAGS="%{rpmcflags}"; export OPTFLAGS
83 %ifarch sparc sparcv9
84 sparc32 \
85 %endif
86 %{__make} prefix=%{dietprefix} all
87 %ifarch %{ix86}
88 %{__make} prefix=%{dietprefix} dyn
89 %endif
90
91 %install
92 rm -rf $RPM_BUILD_ROOT
93 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_bindir},%{_mandir}/man1}
94
95 %ifarch sparc sparcv9
96 sparc32 \
97 %endif
98 %{__make} install \
99         DESTDIR=$RPM_BUILD_ROOT \
100         prefix=%{dietprefix}
101
102 mv $RPM_BUILD_ROOT%{dietprefix}/bin/* $RPM_BUILD_ROOT%{_bindir}
103 mv $RPM_BUILD_ROOT%{dietprefix}/man/man1/* $RPM_BUILD_ROOT%{_mandir}/man1
104 rm -rf $RPM_BUILD_ROOT%{dietprefix}/{bin,man}
105 rm -f $RPM_BUILD_ROOT%{_bindir}/diet-dyn
106
107 cat > $RPM_BUILD_ROOT%{_bindir}/%{_target_cpu}-dietlibc-gcc <<EOF
108 #!/bin/sh
109 exec %{_bindir}/diet gcc "\$@"
110 EOF
111
112 rm -rf $RPM_BUILD_ROOT%{dietprefix}/include/{asm,linux}
113
114 %clean
115 rm -rf $RPM_BUILD_ROOT
116
117 %files
118 %defattr(644,root,root,755)
119 %doc TODO README THANKS CAVEAT CHANGES FAQ BUGS AUTHOR
120 %dir %{dietprefix}
121 %dir %{dietprefix}/lib-%{libarch}
122 %ifarch %{ix86}
123 %attr(755,root,root) %{dietprefix}/lib-%{libarch}/*.so
124 %{_sysconfdir}/*
125 %endif
126
127 %files devel
128 %defattr(644,root,root,755)
129 %attr(755,root,root) %{_bindir}/*
130 %{dietprefix}/include
131 %attr(755,root,root) %{dietprefix}/lib-%{libarch}/*.o
132 %{_mandir}/man*/*
133
134 %files static
135 %defattr(644,root,root,755)
136 %{dietprefix}/lib-%{libarch}/*.a
This page took 0.069737 seconds and 3 git commands to generate.