]> git.pld-linux.org Git - packages/lua54.git/blob - lua54.spec
- fix liblua.so link
[packages/lua54.git] / lua54.spec
1 #
2 # Conditional build:
3 %bcond_with     luastatic       # build dietlibc-based static lua version (broken)
4 %bcond_without  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:           lua54
9 Version:        5.4.1
10 Release:        2
11 License:        MIT
12 Group:          Development/Languages
13 Source0:        http://www.lua.org/ftp/lua-%{version}.tar.gz
14 # Source0-md5:  1d575faef1c907292edd79e7a2784d30
15 Patch0:         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.4.x libraries
53 Summary(pl.UTF-8):      Biblioteki lua 5.4.x
54 Group:          Libraries
55
56 %description libs
57 lua 5.4.x libraries.
58
59 %description libs -l pl.UTF-8
60 Biblioteki lua 5.4.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 -DLUA_COMPAT_ALL"
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 -DLUA_COMPAT_ALL"
133
134 %install
135 rm -rf $RPM_BUILD_ROOT
136
137 %{__make} install \
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
143
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
151 %endif
152 done
153 %{__mv} $RPM_BUILD_ROOT%{_libdir}/liblua{,5.4}.a
154
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
160 %else
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
163 %endif
164
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
171 %endif
172 %endif
173
174 # create pkgconfig file
175 install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
176 cat > $RPM_BUILD_ROOT%{_pkgconfigdir}/lua5.4.pc <<'EOF'
177 prefix=%{_prefix}
178 exec_prefix=%{_exec_prefix}
179 includedir=%{_includedir}/lua5.4
180 libdir=%{_libdir}
181 interpreter=%{_bindir}/lua5.4
182 compiler=%{_bindir}/luac5.4
183
184 Name: Lua
185 Description: An extension programming language
186 Version: %{version}
187 Cflags: -I${includedir}
188 Libs: -L${libdir} -llua5.4 -ldl -lm
189 EOF
190
191 %if %{with default_lua}
192 ln -sf /%{_lib}/liblua.so.5.4 $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
196 %endif
197
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)
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*
215 %endif
216
217 %files libs
218 %defattr(644,root,root,755)
219 %doc README
220 %if %{with default_lua}
221 %attr(755,root,root) /%{_lib}/liblua.so.5.4
222 %else
223 %attr(755,root,root) %{_libdir}/liblua.so.5.4
224 %endif
225 %dir %{_libdir}/lua
226 %{_libdir}/lua/5.4
227 %dir %{_datadir}/lua
228 %{_datadir}/lua/5.4
229
230 %files devel
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
238 %{_includedir}/lua
239 %{_pkgconfigdir}/lua.pc
240 %endif
241
242 %files static
243 %defattr(644,root,root,755)
244 %{_libdir}/liblua5.4.a
245 %if %{with default_lua}
246 %{_libdir}/liblua.a
247 %endif
248
249 %if %{with luastatic}
250 %files 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
257 %endif
258 %endif
This page took 0.066392 seconds and 3 git commands to generate.