]>
Commit | Line | Data |
---|---|---|
1530cc51 | 1 | # |
75f691d1 | 2 | # Conditional build: |
15193a28 | 3 | %bcond_with luastatic # build dietlibc-based static lua version (broken) |
ccdf2f9f | 4 | %bcond_without default_lua # build as default lua (symlinks to nil suffix) |
15193a28 | 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 | |
ccdf2f9f JR |
8 | Name: lua54 |
9 | Version: 5.4.1 | |
65e3c0e3 | 10 | Release: 2 |
75f691d1 ZU |
11 | License: MIT |
12 | Group: Development/Languages | |
13 | Source0: http://www.lua.org/ftp/lua-%{version}.tar.gz | |
ccdf2f9f JR |
14 | # Source0-md5: 1d575faef1c907292edd79e7a2784d30 |
15 | Patch0: 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 | |
ccdf2f9f JR |
52 | Summary: lua 5.4.x libraries |
53 | Summary(pl.UTF-8): Biblioteki lua 5.4.x | |
1530cc51 | 54 | Group: Libraries |
75f691d1 ZU |
55 | |
56 | %description libs | |
ccdf2f9f | 57 | lua 5.4.x libraries. |
75f691d1 ZU |
58 | |
59 | %description libs -l pl.UTF-8 | |
ccdf2f9f | 60 | Biblioteki lua 5.4.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 | |
75f691d1 ZU |
136 | |
137 | %{__make} install \ | |
138 | INSTALL_TOP=$RPM_BUILD_ROOT%{_prefix} \ | |
ccdf2f9f | 139 | INSTALL_INC=$RPM_BUILD_ROOT%{_includedir}/lua5.4 \ |
75f691d1 ZU |
140 | INSTALL_LIB=$RPM_BUILD_ROOT%{_libdir} \ |
141 | INSTALL_MAN=$RPM_BUILD_ROOT%{_mandir}/man1 \ | |
ccdf2f9f | 142 | INSTALL_CMOD=$RPM_BUILD_ROOT%{_libdir}/lua/5.4 |
75f691d1 | 143 | |
ccdf2f9f | 144 | # change name from lua to lua5.4 |
15193a28 | 145 | for f in lua luac ; do |
ccdf2f9f JR |
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 | |
15193a28 | 148 | %if %{with default_lua} |
ccdf2f9f JR |
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 | |
15193a28 JB |
151 | %endif |
152 | done | |
ccdf2f9f | 153 | %{__mv} $RPM_BUILD_ROOT%{_libdir}/liblua{,5.4}.a |
75f691d1 | 154 | |
15193a28 | 155 | # install shared library |
d7a67368 JR |
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 | |
160 | %else | |
ccdf2f9f JR |
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 | |
d7a67368 | 163 | %endif |
75f691d1 ZU |
164 | |
165 | %if %{with luastatic} | |
ccdf2f9f JR |
166 | install lua.static $RPM_BUILD_ROOT%{_bindir}/lua5.4.static |
167 | install luac.static $RPM_BUILD_ROOT%{_bindir}/luac5.4.static | |
15193a28 | 168 | %if %{with default_lua} |
ccdf2f9f JR |
169 | ln -sf lua5.4.static $RPM_BUILD_ROOT%{_bindir}/lua.static |
170 | ln -sf luac5.4.static $RPM_BUILD_ROOT%{_bindir}/luac.static | |
15193a28 | 171 | %endif |
75f691d1 ZU |
172 | %endif |
173 | ||
174 | # create pkgconfig file | |
175 | install -d $RPM_BUILD_ROOT%{_pkgconfigdir} | |
ccdf2f9f | 176 | cat > $RPM_BUILD_ROOT%{_pkgconfigdir}/lua5.4.pc <<'EOF' |
75f691d1 ZU |
177 | prefix=%{_prefix} |
178 | exec_prefix=%{_exec_prefix} | |
ccdf2f9f | 179 | includedir=%{_includedir}/lua5.4 |
75f691d1 | 180 | libdir=%{_libdir} |
ccdf2f9f JR |
181 | interpreter=%{_bindir}/lua5.4 |
182 | compiler=%{_bindir}/luac5.4 | |
75f691d1 ZU |
183 | |
184 | Name: Lua | |
185 | Description: An extension programming language | |
186 | Version: %{version} | |
7c60b3a8 | 187 | Cflags: -I${includedir} |
ccdf2f9f | 188 | Libs: -L${libdir} -llua5.4 -ldl -lm |
75f691d1 ZU |
189 | EOF |
190 | ||
15193a28 | 191 | %if %{with default_lua} |
65e3c0e3 | 192 | ln -sf /%{_lib}/liblua.so.5.4 $RPM_BUILD_ROOT%{_libdir}/liblua.so |
ccdf2f9f JR |
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 | |
15193a28 JB |
196 | %endif |
197 | ||
75f691d1 ZU |
198 | %clean |
199 | rm -rf $RPM_BUILD_ROOT | |
200 | ||
201 | %post libs -p /sbin/ldconfig | |
202 | %postun libs -p /sbin/ldconfig | |
203 | ||
204 | %files | |
205 | %defattr(644,root,root,755) | |
ccdf2f9f JR |
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* | |
15193a28 JB |
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* | |
215 | %endif | |
75f691d1 ZU |
216 | |
217 | %files libs | |
218 | %defattr(644,root,root,755) | |
e824b0ab | 219 | %doc README |
d7a67368 JR |
220 | %if %{with default_lua} |
221 | %attr(755,root,root) /%{_lib}/liblua.so.5.4 | |
222 | %else | |
ccdf2f9f | 223 | %attr(755,root,root) %{_libdir}/liblua.so.5.4 |
d7a67368 | 224 | %endif |
75f691d1 | 225 | %dir %{_libdir}/lua |
ccdf2f9f | 226 | %{_libdir}/lua/5.4 |
75f691d1 | 227 | %dir %{_datadir}/lua |
ccdf2f9f | 228 | %{_datadir}/lua/5.4 |
75f691d1 ZU |
229 | |
230 | %files devel | |
231 | %defattr(644,root,root,755) | |
e824b0ab | 232 | %doc doc/*.{html,css,gif,png} |
ccdf2f9f JR |
233 | %attr(755,root,root) %{_libdir}/liblua5.4.so |
234 | %{_includedir}/lua5.4 | |
235 | %{_pkgconfigdir}/lua5.4.pc | |
15193a28 JB |
236 | %if %{with default_lua} |
237 | %attr(755,root,root) %{_libdir}/liblua.so | |
238 | %{_includedir}/lua | |
239 | %{_pkgconfigdir}/lua.pc | |
240 | %endif | |
75f691d1 ZU |
241 | |
242 | %files static | |
243 | %defattr(644,root,root,755) | |
ccdf2f9f | 244 | %{_libdir}/liblua5.4.a |
15193a28 JB |
245 | %if %{with default_lua} |
246 | %{_libdir}/liblua.a | |
247 | %endif | |
75f691d1 ZU |
248 | |
249 | %if %{with luastatic} | |
250 | %files luastatic | |
251 | %defattr(644,root,root,755) | |
ccdf2f9f JR |
252 | %attr(755,root,root) %{_bindir}/lua5.4.static |
253 | %attr(755,root,root) %{_bindir}/luac5.4.static | |
15193a28 JB |
254 | %if %{with default_lua} |
255 | %attr(755,root,root) %{_bindir}/lua.static | |
256 | %attr(755,root,root) %{_bindir}/luac.static | |
257 | %endif | |
75f691d1 | 258 | %endif |