]>
Commit | Line | Data |
---|---|---|
1530cc51 | 1 | # |
75f691d1 | 2 | # Conditional build: |
15193a28 JB |
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 | # | |
75f691d1 ZU |
6 | Summary: A simple lightweight powerful embeddable programming language |
7 | Summary(pl.UTF-8): Prosty, lekki ale potężny, osadzalny język programowania | |
8e0eb0ca | 8 | Name: lua53 |
6865a10b | 9 | Version: 5.3.3 |
a0103575 | 10 | Release: 2 |
75f691d1 ZU |
11 | License: MIT |
12 | Group: Development/Languages | |
13 | Source0: http://www.lua.org/ftp/lua-%{version}.tar.gz | |
6865a10b | 14 | # Source0-md5: 703f75caa4fdf4a911c1a72e67a27498 |
e824b0ab | 15 | Patch0: %{name}-link.patch |
75f691d1 ZU |
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} | |
15193a28 | 21 | %if %{with default_lua} |
75f691d1 | 22 | Provides: lua = %{version} |
15193a28 JB |
23 | Obsoletes: lua < %{version} |
24 | %endif | |
75f691d1 ZU |
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 | |
8e0eb0ca JB |
52 | Summary: lua 5.3.x libraries |
53 | Summary(pl.UTF-8): Biblioteki lua 5.3.x | |
1530cc51 | 54 | Group: Libraries |
75f691d1 ZU |
55 | |
56 | %description libs | |
8e0eb0ca | 57 | lua 5.3.x libraries. |
75f691d1 ZU |
58 | |
59 | %description libs -l pl.UTF-8 | |
8e0eb0ca | 60 | Biblioteki lua 5.3.x. |
75f691d1 ZU |
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} | |
15193a28 | 67 | %if %{with default_lua} |
75f691d1 | 68 | Provides: lua-devel = %{version} |
15193a28 JB |
69 | Obsoletes: lua-devel < %{version} |
70 | %endif | |
75f691d1 ZU |
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} | |
15193a28 | 85 | %if %{with default_lua} |
75f691d1 | 86 | Provides: lua-static = %{version} |
15193a28 JB |
87 | Obsoletes: lua-static < %{version} |
88 | %endif | |
75f691d1 ZU |
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 | |
15193a28 JB |
100 | %if %{with default_lua} |
101 | Provides: lua-luastatic = %{version} | |
102 | Obsoletes: lua-luastatic < %{version} | |
103 | %endif | |
75f691d1 ZU |
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} | |
e824b0ab JB |
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 | |
75f691d1 ZU |
117 | |
118 | %build | |
119 | %if %{with luastatic} | |
120 | %{__make} all \ | |
121 | PLAT=posix \ | |
122 | CC="diet %{__cc}" \ | |
16700820 | 123 | CFLAGS="%{rpmcflags} -Wall -fPIC -Os -DPIC -D_GNU_SOURCE -DLUA_USE_POSIX -DLUA_COMPAT_ALL" |
8e0eb0ca JB |
124 | %{__mv} src/lua lua.static |
125 | %{__mv} src/luac luac.static | |
75f691d1 ZU |
126 | %{__make} clean |
127 | %endif | |
128 | ||
129 | %{__make} -j1 all \ | |
130 | PLAT=linux \ | |
131 | CC="%{__cc}" \ | |
16700820 | 132 | CFLAGS="%{rpmcflags} -Wall -fPIC -DPIC -D_GNU_SOURCE -DLUA_USE_LINUX -DLUA_COMPAT_ALL" |
75f691d1 | 133 | |
75f691d1 ZU |
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} \ | |
8e0eb0ca | 140 | INSTALL_INC=$RPM_BUILD_ROOT%{_includedir}/lua5.3 \ |
75f691d1 ZU |
141 | INSTALL_LIB=$RPM_BUILD_ROOT%{_libdir} \ |
142 | INSTALL_MAN=$RPM_BUILD_ROOT%{_mandir}/man1 \ | |
8e0eb0ca | 143 | INSTALL_CMOD=$RPM_BUILD_ROOT%{_libdir}/lua/5.3 |
75f691d1 | 144 | |
8e0eb0ca | 145 | # change name from lua to lua5.3 |
15193a28 | 146 | for f in lua luac ; do |
8e0eb0ca JB |
147 | %{__mv} $RPM_BUILD_ROOT%{_bindir}/${f} $RPM_BUILD_ROOT%{_bindir}/${f}5.3 |
148 | %{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/${f}.1 $RPM_BUILD_ROOT%{_mandir}/man1/${f}5.3.1 | |
15193a28 | 149 | %if %{with default_lua} |
8e0eb0ca JB |
150 | ln -sf ${f}5.3 $RPM_BUILD_ROOT%{_bindir}/${f} |
151 | echo ".so ${f}5.3.1" >$RPM_BUILD_ROOT%{_mandir}/man1/${f}.1 | |
15193a28 JB |
152 | %endif |
153 | done | |
8e0eb0ca | 154 | %{__mv} $RPM_BUILD_ROOT%{_libdir}/liblua{,5.3}.a |
75f691d1 | 155 | |
15193a28 | 156 | # install shared library |
8e0eb0ca JB |
157 | install src/liblua.so.5.3 $RPM_BUILD_ROOT%{_libdir} |
158 | ln -sf liblua.so.5.3 $RPM_BUILD_ROOT%{_libdir}/liblua5.3.so | |
75f691d1 ZU |
159 | |
160 | %if %{with luastatic} | |
8e0eb0ca JB |
161 | install lua.static $RPM_BUILD_ROOT%{_bindir}/lua5.3.static |
162 | install luac.static $RPM_BUILD_ROOT%{_bindir}/luac5.3.static | |
15193a28 | 163 | %if %{with default_lua} |
8e0eb0ca JB |
164 | ln -sf lua5.3.static $RPM_BUILD_ROOT%{_bindir}/lua.static |
165 | ln -sf luac5.3.static $RPM_BUILD_ROOT%{_bindir}/luac.static | |
15193a28 | 166 | %endif |
75f691d1 ZU |
167 | %endif |
168 | ||
169 | # create pkgconfig file | |
170 | install -d $RPM_BUILD_ROOT%{_pkgconfigdir} | |
8e0eb0ca | 171 | cat > $RPM_BUILD_ROOT%{_pkgconfigdir}/lua5.3.pc <<'EOF' |
75f691d1 ZU |
172 | prefix=%{_prefix} |
173 | exec_prefix=%{_exec_prefix} | |
8e0eb0ca | 174 | includedir=%{_includedir}/lua5.3 |
75f691d1 | 175 | libdir=%{_libdir} |
8e0eb0ca JB |
176 | interpreter=%{_bindir}/lua5.3 |
177 | compiler=%{_bindir}/luac5.3 | |
75f691d1 ZU |
178 | |
179 | Name: Lua | |
180 | Description: An extension programming language | |
181 | Version: %{version} | |
7c60b3a8 | 182 | Cflags: -I${includedir} |
8e0eb0ca | 183 | Libs: -L${libdir} -llua5.3 -ldl -lm |
75f691d1 ZU |
184 | EOF |
185 | ||
15193a28 | 186 | %if %{with default_lua} |
8e0eb0ca JB |
187 | ln -sf liblua5.3.so $RPM_BUILD_ROOT%{_libdir}/liblua.so |
188 | ln -sf liblua5.3.a $RPM_BUILD_ROOT%{_libdir}/liblua.a | |
189 | ln -sf lua5.3 $RPM_BUILD_ROOT%{_includedir}/lua | |
190 | ln -sf lua5.3.pc $RPM_BUILD_ROOT%{_pkgconfigdir}/lua.pc | |
15193a28 JB |
191 | %endif |
192 | ||
75f691d1 ZU |
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) | |
8e0eb0ca JB |
201 | %attr(755,root,root) %{_bindir}/lua5.3 |
202 | %attr(755,root,root) %{_bindir}/luac5.3 | |
203 | %{_mandir}/man1/lua5.3.1* | |
204 | %{_mandir}/man1/luac5.3.1* | |
15193a28 JB |
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 | |
75f691d1 ZU |
211 | |
212 | %files libs | |
213 | %defattr(644,root,root,755) | |
e824b0ab | 214 | %doc README |
8e0eb0ca | 215 | %attr(755,root,root) %{_libdir}/liblua.so.5.3 |
75f691d1 | 216 | %dir %{_libdir}/lua |
8e0eb0ca | 217 | %{_libdir}/lua/5.3 |
75f691d1 | 218 | %dir %{_datadir}/lua |
8e0eb0ca | 219 | %{_datadir}/lua/5.3 |
75f691d1 ZU |
220 | |
221 | %files devel | |
222 | %defattr(644,root,root,755) | |
e824b0ab | 223 | %doc doc/*.{html,css,gif,png} |
8e0eb0ca JB |
224 | %attr(755,root,root) %{_libdir}/liblua5.3.so |
225 | %{_includedir}/lua5.3 | |
226 | %{_pkgconfigdir}/lua5.3.pc | |
15193a28 JB |
227 | %if %{with default_lua} |
228 | %attr(755,root,root) %{_libdir}/liblua.so | |
229 | %{_includedir}/lua | |
230 | %{_pkgconfigdir}/lua.pc | |
231 | %endif | |
75f691d1 ZU |
232 | |
233 | %files static | |
234 | %defattr(644,root,root,755) | |
8e0eb0ca | 235 | %{_libdir}/liblua5.3.a |
15193a28 JB |
236 | %if %{with default_lua} |
237 | %{_libdir}/liblua.a | |
238 | %endif | |
75f691d1 ZU |
239 | |
240 | %if %{with luastatic} | |
241 | %files luastatic | |
242 | %defattr(644,root,root,755) | |
8e0eb0ca JB |
243 | %attr(755,root,root) %{_bindir}/lua5.3.static |
244 | %attr(755,root,root) %{_bindir}/luac5.3.static | |
15193a28 JB |
245 | %if %{with default_lua} |
246 | %attr(755,root,root) %{_bindir}/lua.static | |
247 | %attr(755,root,root) %{_bindir}/luac.static | |
248 | %endif | |
75f691d1 | 249 | %endif |