3 %bcond_with luastatic # build dietlibc-based static lua version (broken)
4 %bcond_without default_lua # build as default lua (symlinks to nil suffix)
6 Summary: A simple lightweight powerful embeddable programming language
7 Summary(pl.UTF-8): Prosty, lekki ale potężny, osadzalny język programowania
12 Group: Development/Languages
13 Source0: http://www.lua.org/ftp/lua-%{version}.tar.gz
14 # Source0-md5: 1d575faef1c907292edd79e7a2784d30
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}
25 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
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.
37 This version has compiled in support for dynamic libraries in baselib.
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.
49 Ta wersja ma wkompilowaną obsługę ładowania dynamicznych bibliotek.
52 Summary: lua 5.4.x libraries
53 Summary(pl.UTF-8): Biblioteki lua 5.4.x
59 %description libs -l pl.UTF-8
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}
73 Header files needed to embed Lua in C/C++ programs and docs for the
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.
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}
93 %description static -l pl.UTF-8
94 Biblioteki statyczne Lua.
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}
105 %description luastatic
106 Static lua interpreter.
108 %description luastatic -l pl.UTF-8
109 Statycznie skonsolidowany interpreter lua.
112 %setup -q -n lua-%{version}
115 sed -i -e '/#define LUA_ROOT/s,/usr/local/,%{_prefix}/,' \
116 -e '/#define LUA_CDIR/s,lib/lua/,%{_lib}/lua/,' src/luaconf.h
119 %if %{with luastatic}
123 CFLAGS="%{rpmcflags} -Wall -fPIC -Os -DPIC -D_GNU_SOURCE -DLUA_USE_POSIX -DLUA_COMPAT_ALL"
124 %{__mv} src/lua lua.static
125 %{__mv} src/luac luac.static
132 CFLAGS="%{rpmcflags} -Wall -fPIC -DPIC -D_GNU_SOURCE -DLUA_USE_LINUX -DLUA_COMPAT_ALL"
135 rm -rf $RPM_BUILD_ROOT
138 INSTALL_TOP=$RPM_BUILD_ROOT%{_prefix} \
139 INSTALL_INC=$RPM_BUILD_ROOT%{_includedir}/lua5.4 \
140 INSTALL_LIB=$RPM_BUILD_ROOT%{_libdir} \
141 INSTALL_MAN=$RPM_BUILD_ROOT%{_mandir}/man1 \
142 INSTALL_CMOD=$RPM_BUILD_ROOT%{_libdir}/lua/5.4
144 # change name from lua to lua5.4
145 for f in lua luac ; do
146 %{__mv} $RPM_BUILD_ROOT%{_bindir}/${f} $RPM_BUILD_ROOT%{_bindir}/${f}5.4
147 %{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/${f}.1 $RPM_BUILD_ROOT%{_mandir}/man1/${f}5.4.1
148 %if %{with default_lua}
149 ln -sf ${f}5.4 $RPM_BUILD_ROOT%{_bindir}/${f}
150 echo ".so ${f}5.4.1" >$RPM_BUILD_ROOT%{_mandir}/man1/${f}.1
153 %{__mv} $RPM_BUILD_ROOT%{_libdir}/liblua{,5.4}.a
155 # install shared library
156 %if %{with default_lua}
157 install -d $RPM_BUILD_ROOT/%{_lib}
158 install src/liblua.so.5.4 $RPM_BUILD_ROOT/%{_lib}
159 ln -sf /%{_lib}/liblua.so.5.4 $RPM_BUILD_ROOT%{_libdir}/liblua5.4.so
161 install src/liblua.so.5.4 $RPM_BUILD_ROOT%{_libdir}
162 ln -sf liblua.so.5.4 $RPM_BUILD_ROOT%{_libdir}/liblua5.4.so
165 %if %{with luastatic}
166 install lua.static $RPM_BUILD_ROOT%{_bindir}/lua5.4.static
167 install luac.static $RPM_BUILD_ROOT%{_bindir}/luac5.4.static
168 %if %{with default_lua}
169 ln -sf lua5.4.static $RPM_BUILD_ROOT%{_bindir}/lua.static
170 ln -sf luac5.4.static $RPM_BUILD_ROOT%{_bindir}/luac.static
174 # create pkgconfig file
175 install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
176 cat > $RPM_BUILD_ROOT%{_pkgconfigdir}/lua5.4.pc <<'EOF'
178 exec_prefix=%{_exec_prefix}
179 includedir=%{_includedir}/lua5.4
181 interpreter=%{_bindir}/lua5.4
182 compiler=%{_bindir}/luac5.4
185 Description: An extension programming language
187 Cflags: -I${includedir}
188 Libs: -L${libdir} -llua5.4 -ldl -lm
191 %if %{with default_lua}
192 ln -sf /%{_lib}/liblua5.4.so $RPM_BUILD_ROOT%{_libdir}/liblua.so
193 ln -sf liblua5.4.a $RPM_BUILD_ROOT%{_libdir}/liblua.a
194 ln -sf lua5.4 $RPM_BUILD_ROOT%{_includedir}/lua
195 ln -sf lua5.4.pc $RPM_BUILD_ROOT%{_pkgconfigdir}/lua.pc
199 rm -rf $RPM_BUILD_ROOT
201 %post libs -p /sbin/ldconfig
202 %postun libs -p /sbin/ldconfig
205 %defattr(644,root,root,755)
206 %attr(755,root,root) %{_bindir}/lua5.4
207 %attr(755,root,root) %{_bindir}/luac5.4
208 %{_mandir}/man1/lua5.4.1*
209 %{_mandir}/man1/luac5.4.1*
210 %if %{with default_lua}
211 %attr(755,root,root) %{_bindir}/lua
212 %attr(755,root,root) %{_bindir}/luac
213 %{_mandir}/man1/lua.1*
214 %{_mandir}/man1/luac.1*
218 %defattr(644,root,root,755)
220 %if %{with default_lua}
221 %attr(755,root,root) /%{_lib}/liblua.so.5.4
223 %attr(755,root,root) %{_libdir}/liblua.so.5.4
231 %defattr(644,root,root,755)
232 %doc doc/*.{html,css,gif,png}
233 %attr(755,root,root) %{_libdir}/liblua5.4.so
234 %{_includedir}/lua5.4
235 %{_pkgconfigdir}/lua5.4.pc
236 %if %{with default_lua}
237 %attr(755,root,root) %{_libdir}/liblua.so
239 %{_pkgconfigdir}/lua.pc
243 %defattr(644,root,root,755)
244 %{_libdir}/liblua5.4.a
245 %if %{with default_lua}
249 %if %{with luastatic}
251 %defattr(644,root,root,755)
252 %attr(755,root,root) %{_bindir}/lua5.4.static
253 %attr(755,root,root) %{_bindir}/luac5.4.static
254 %if %{with default_lua}
255 %attr(755,root,root) %{_bindir}/lua.static
256 %attr(755,root,root) %{_bindir}/luac.static