]> git.pld-linux.org Git - packages/lua52.git/blob - lua52.spec
53720e7aa04d37758985336775a095164e2518d3
[packages/lua52.git] / lua52.spec
1 #
2 # Conditional build:
3 %bcond_with     luastatic       # build dietlibc-based static lua version (broken)
4 %bcond_with     default_lua     # build as default lua (symlinks to nil suffix)
5 #
6 Summary:        A simple lightweight powerful embeddable programming language
7 Summary(pl.UTF-8):      Prosty, lekki ale potężny, osadzalny język programowania
8 Name:           lua52
9 Version:        5.2.1
10 Release:        1
11 License:        MIT
12 Group:          Development/Languages
13 Source0:        http://www.lua.org/ftp/lua-%{version}.tar.gz
14 # Source0-md5:  ae08f641b45d737d12d30291a5e5f6e3
15 Patch0:         %{name}-link.patch
16 URL:            http://www.lua.org/
17 %{?with_luastatic:BuildRequires:       dietlibc-static}
18 BuildRequires:  readline-devel
19 BuildRequires:  sed >= 4.0
20 Requires:       %{name}-libs = %{version}-%{release}
21 %if %{with default_lua}
22 Provides:       lua = %{version}
23 Obsoletes:      lua < %{version}
24 %endif
25 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
26
27 %description
28 Lua is a powerful, light-weight programming language designed for
29 extending applications. It is also frequently used as a
30 general-purpose, stand-alone language. It combines simple procedural
31 syntax (similar to Pascal) with powerful data description constructs
32 based on associative arrays and extensible semantics. Lua is
33 dynamically typed, interpreted from bytecodes, and has automatic
34 memory management with garbage collection, making it ideal for
35 configuration, scripting, and rapid prototyping.
36
37 This version has compiled in support for dynamic libraries in baselib.
38
39 %description -l pl.UTF-8
40 Lua to język programowania o dużych możliwościach ale lekki,
41 przeznaczony do rozszerzania aplikacji. Jest też często używany jako
42 samodzielny język ogólnego przeznaczenia. Łączy prostą proceduralną
43 składnię (podobną do Pascala) z potężnymi konstrukcjami opisu danych
44 bazującymi na tablicach asocjacyjnych i rozszerzalnej składni. Lua ma
45 dynamiczny system typów, interpretowany z bytecodu i automatyczne
46 zarządzanie pamięcią z odśmiecaczem, co czyni go idealnym do
47 konfiguracji, skryptów i szybkich prototypów.
48
49 Ta wersja ma wkompilowaną obsługę ładowania dynamicznych bibliotek.
50
51 %package libs
52 Summary:        lua 5.2.x libraries
53 Summary(pl.UTF-8):      Biblioteki lua 5.2.x
54 Group:          Libraries
55
56 %description libs
57 lua 5.2.x libraries.
58
59 %description libs -l pl.UTF-8
60 Biblioteki lua 5.2.x.
61
62 %package devel
63 Summary:        Header files for Lua
64 Summary(pl.UTF-8):      Pliki nagłówkowe dla Lua
65 Group:          Development/Languages
66 Requires:       %{name}-libs = %{version}-%{release}
67 %if %{with default_lua}
68 Provides:       lua-devel = %{version}
69 Obsoletes:      lua-devel < %{version}
70 %endif
71
72 %description devel
73 Header files needed to embed Lua in C/C++ programs and docs for the
74 language.
75
76 %description devel -l pl.UTF-8
77 Pliki nagłówkowe potrzebne do włączenia Lua do programów w C/C++ oraz
78 dokumentacja samego języka.
79
80 %package static
81 Summary:        Static Lua libraries
82 Summary(pl.UTF-8):      Biblioteki statyczne Lua
83 Group:          Development/Languages
84 Requires:       %{name}-devel = %{version}-%{release}
85 %if %{with default_lua}
86 Provides:       lua-static = %{version}
87 Obsoletes:      lua-static < %{version}
88 %endif
89
90 %description static
91 Static Lua libraries.
92
93 %description static -l pl.UTF-8
94 Biblioteki statyczne Lua.
95
96 %package luastatic
97 Summary:        Static Lua interpreter
98 Summary(pl.UTF-8):      Statycznie skonsolidowany interpreter lua
99 Group:          Development/Languages
100 %if %{with default_lua}
101 Provides:       lua-luastatic = %{version}
102 Obsoletes:      lua-luastatic < %{version}
103 %endif
104
105 %description luastatic
106 Static lua interpreter.
107
108 %description luastatic -l pl.UTF-8
109 Statycznie skonsolidowany interpreter lua.
110
111 %prep
112 %setup -q -n lua-%{version}
113 %patch0 -p1
114
115 sed -i  -e '/#define LUA_ROOT/s,/usr/local/,%{_prefix}/,' \
116         -e '/#define LUA_CDIR/s,lib/lua/,%{_lib}/lua/,' src/luaconf.h
117
118 %build
119 %if %{with luastatic}
120 %{__make} all \
121         PLAT=posix \
122         CC="diet %{__cc}" \
123         CFLAGS="%{rpmcflags} -Wall -fPIC -Os -DPIC -D_GNU_SOURCE -DLUA_USE_POSIX"
124 mv src/lua lua.static
125 mv src/luac luac.static
126 %{__make} clean
127 %endif
128
129 %{__make} -j1 all \
130         PLAT=linux \
131         CC="%{__cc}" \
132         CFLAGS="%{rpmcflags} -Wall -fPIC -DPIC -D_GNU_SOURCE -DLUA_USE_LINUX"
133
134 %install
135 rm -rf $RPM_BUILD_ROOT
136 install -d $RPM_BUILD_ROOT%{_libdir}/lua}
137
138 %{__make} install \
139         INSTALL_TOP=$RPM_BUILD_ROOT%{_prefix} \
140         INSTALL_INC=$RPM_BUILD_ROOT%{_includedir}/lua5.2 \
141         INSTALL_LIB=$RPM_BUILD_ROOT%{_libdir} \
142         INSTALL_MAN=$RPM_BUILD_ROOT%{_mandir}/man1 \
143         INSTALL_CMOD=$RPM_BUILD_ROOT%{_libdir}/lua/5.2
144
145 # change name from lua to lua5.2
146 for f in lua luac ; do
147         mv -f $RPM_BUILD_ROOT%{_bindir}/${f} $RPM_BUILD_ROOT%{_bindir}/${f}5.2
148         mv -f $RPM_BUILD_ROOT%{_mandir}/man1/${f}.1 $RPM_BUILD_ROOT%{_mandir}/man1/${f}5.2.1
149 %if %{with default_lua}
150         ln -sf ${f}5.2 $RPM_BUILD_ROOT%{_bindir}/${f}
151         echo ".so ${f}5.2.1" >$RPM_BUILD_ROOT%{_mandir}/man1/${f}.1
152 %endif
153 done
154 mv $RPM_BUILD_ROOT%{_libdir}/liblua{,5.2}.a
155
156 # install shared library
157 install src/liblua.so.5.2 $RPM_BUILD_ROOT%{_libdir}
158 ln -s liblua.so.5.2 $RPM_BUILD_ROOT%{_libdir}/liblua5.2.so
159
160 %if %{with luastatic}
161 install lua.static $RPM_BUILD_ROOT%{_bindir}/lua5.2.static
162 install luac.static $RPM_BUILD_ROOT%{_bindir}/luac5.2.static
163 %if %{with default_lua}
164 ln -sf lua5.2.static $RPM_BUILD_ROOT%{_bindir}/lua.static
165 ln -sf luac5.2.static $RPM_BUILD_ROOT%{_bindir}/luac.static
166 %endif
167 %endif
168
169 # create pkgconfig file
170 install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
171 cat > $RPM_BUILD_ROOT%{_pkgconfigdir}/lua5.2.pc <<'EOF'
172 prefix=%{_prefix}
173 exec_prefix=%{_exec_prefix}
174 includedir=%{_includedir}/lua5.2
175 libdir=%{_libdir}
176 interpreter=%{_bindir}/lua5.2
177 compiler=%{_bindir}/luac5.2
178
179 Name: Lua
180 Description: An extension programming language
181 Version: %{version}
182 Cflags: -I${includedir}
183 Libs: -L${libdir} -llua5.2 -ldl -lm
184 EOF
185
186 %if %{with default_lua}
187 ln -sf liblua5.2.so $RPM_BUILD_ROOT%{_libdir}/liblua.so
188 ln -sf liblua5.2.a $RPM_BUILD_ROOT%{_libdir}/liblua.a
189 ln -sf lua5.2 $RPM_BUILD_ROOT%{_includedir}/lua
190 ln -sf lua5.2.pc $RPM_BUILD_ROOT%{_pkgconfigdir}/lua.pc
191 %endif
192
193 %clean
194 rm -rf $RPM_BUILD_ROOT
195
196 %post   libs -p /sbin/ldconfig
197 %postun libs -p /sbin/ldconfig
198
199 %files
200 %defattr(644,root,root,755)
201 %attr(755,root,root) %{_bindir}/lua5.2
202 %attr(755,root,root) %{_bindir}/luac5.2
203 %{_mandir}/man1/lua5.2.1*
204 %{_mandir}/man1/luac5.2.1*
205 %if %{with default_lua}
206 %attr(755,root,root) %{_bindir}/lua
207 %attr(755,root,root) %{_bindir}/luac
208 %{_mandir}/man1/lua.1*
209 %{_mandir}/man1/luac.1*
210 %endif
211
212 %files libs
213 %defattr(644,root,root,755)
214 %doc README
215 %attr(755,root,root) %{_libdir}/liblua.so.5.2
216 %dir %{_libdir}/lua
217 %{_libdir}/lua/5.2
218 %dir %{_datadir}/lua
219 %{_datadir}/lua/5.2
220
221 %files devel
222 %defattr(644,root,root,755)
223 %doc doc/*.{html,css,gif,png}
224 %attr(755,root,root) %{_libdir}/liblua5.2.so
225 %{_includedir}/lua5.2
226 %{_pkgconfigdir}/lua5.2.pc
227 %if %{with default_lua}
228 %attr(755,root,root) %{_libdir}/liblua.so
229 %{_includedir}/lua
230 %{_pkgconfigdir}/lua.pc
231 %endif
232
233 %files static
234 %defattr(644,root,root,755)
235 %{_libdir}/liblua5.2.a
236 %if %{with default_lua}
237 %{_libdir}/liblua.a
238 %endif
239
240 %if %{with luastatic}
241 %files luastatic
242 %defattr(644,root,root,755)
243 %attr(755,root,root) %{_bindir}/lua5.2.static
244 %attr(755,root,root) %{_bindir}/luac5.2.static
245 %if %{with default_lua}
246 %attr(755,root,root) %{_bindir}/lua.static
247 %attr(755,root,root) %{_bindir}/luac.static
248 %endif
249 %endif
This page took 0.077031 seconds and 2 git commands to generate.