3 %bcond_with luastatic # build dietlibc-based static lua version (broken)
4 %bcond_with 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: 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}
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.2.x libraries
53 Summary(pl.UTF-8): Biblioteki lua 5.2.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"
124 mv src/lua lua.static
125 mv src/luac luac.static
132 CFLAGS="%{rpmcflags} -Wall -fPIC -DPIC -D_GNU_SOURCE -DLUA_USE_LINUX"
135 rm -rf $RPM_BUILD_ROOT
136 install -d $RPM_BUILD_ROOT%{_libdir}/lua}
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
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
154 mv $RPM_BUILD_ROOT%{_libdir}/liblua{,5.2}.a
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
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
169 # create pkgconfig file
170 install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
171 cat > $RPM_BUILD_ROOT%{_pkgconfigdir}/lua5.2.pc <<'EOF'
173 exec_prefix=%{_exec_prefix}
174 includedir=%{_includedir}/lua5.2
176 interpreter=%{_bindir}/lua5.2
177 compiler=%{_bindir}/luac5.2
180 Description: An extension programming language
182 Cflags: -I${includedir}
183 Libs: -L${libdir} -llua5.2 -ldl -lm
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
194 rm -rf $RPM_BUILD_ROOT
196 %post libs -p /sbin/ldconfig
197 %postun libs -p /sbin/ldconfig
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*
213 %defattr(644,root,root,755)
215 %attr(755,root,root) %{_libdir}/liblua.so.5.2
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
230 %{_pkgconfigdir}/lua.pc
234 %defattr(644,root,root,755)
235 %{_libdir}/liblua5.2.a
236 %if %{with default_lua}
240 %if %{with 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