]>
Commit | Line | Data |
---|---|---|
1180f665 | 1 | %define realname lua40 |
2 | Summary: A simple lightweight powerful embeddable programming language - Mingw32 cross version | |
fd38a99f | 3 | Summary(pl.UTF-8): Prosty, lekki ale potężny, osadzalny język programowania - wersja skrośna dla Mingw32 |
1180f665 | 4 | Name: crossmingw32-%{realname} |
5 | Version: 4.0.1 | |
9c9393db | 6 | Release: 4 |
1180f665 | 7 | License: BSD-like (see docs) |
8 | Group: Development/Languages | |
9 | Source0: http://www.lua.org/ftp/lua-%{version}.tar.gz | |
10 | # Source0-md5: a31d963dbdf727f9b34eee1e0d29132c | |
11 | Patch0: lua-OPT.patch | |
12 | URL: http://www.lua.org/ | |
9c9393db | 13 | Requires: crossmingw32-runtime |
1180f665 | 14 | BuildRequires: autoconf |
15 | BuildRequires: automake | |
16 | BuildRequires: crossmingw32-gcc | |
17 | BuildRequires: crossmingw32-w32api | |
18 | BuildRequires: libtool | |
19 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
20 | ||
21 | %define no_install_post_strip 1 | |
22 | ||
23 | %define target i386-mingw32 | |
24 | %define target_platform i386-pc-mingw32 | |
25 | %define arch %{_prefix}/%{target} | |
1180f665 | 26 | |
27 | %define __cc %{target}-gcc | |
28 | %define __cxx %{target}-g++ | |
29 | ||
30 | %ifarch alpha sparc sparc64 sparcv9 | |
31 | %define optflags -O2 | |
32 | %endif | |
33 | ||
34 | %description | |
35 | Lua is a powerful, light-weight programming language designed for | |
36 | extending applications. It is also frequently used as a | |
37 | general-purpose, stand-alone language. It combines simple procedural | |
38 | syntax (similar to Pascal) with powerful data description constructs | |
39 | based on associative arrays and extensible semantics. Lua is | |
40 | dynamically typed, interpreted from bytecodes, and has automatic | |
41 | memory management with garbage collection, making it ideal for | |
42 | configuration, scripting, and rapid prototyping. | |
43 | ||
2f5c1d75 JR |
44 | %description -l pl.UTF-8 |
45 | Lua to język programowania o dużych możliwościach ale lekki, | |
46 | przeznaczony do rozszerzania aplikacji. Jest też często używany jako | |
47 | samodzielny język ogólnego przeznaczenia. Łączy prostą proceduralną | |
48 | składnię (podobną do Pascala) z potężnymi konstrukcjami opisu danych | |
49 | bazującymi na tablicach asocjacyjnych i rozszerzalnej składni. Lua ma | |
50 | dynamiczny system typów, interpretowany z bytecodu i automatyczne | |
51 | zarządzanie pamięcią z odśmiecaczem, co czyni go idealnym do | |
52 | konfiguracji, skryptów i szybkich prototypów. | |
1180f665 | 53 | |
2f5c1d75 JR |
54 | %description -l pt_BR.UTF-8 |
55 | Lua é uma linguagem de programação poderosa e leve, projetada para | |
56 | estender aplicações. Lua também é freqüentemente usada como uma | |
57 | linguagem de propósito geral. Lua combina programação procedural com | |
58 | poderosas construções para descrição de dados, baseadas em tabelas | |
59 | associativas e semântica extensível. Lua é tipada dinamicamente, | |
60 | interpretada a partir de bytecodes, e tem gerenciamento automático de | |
61 | memória com coleta de lixo. Essas características fazem de Lua uma | |
62 | linguagem ideal para configuração, automação (scripting) e | |
63 | prototipagem rápida. | |
1180f665 | 64 | |
65 | %package dll | |
66 | Summary: %{realname} - DLL library for Windows | |
fd38a99f | 67 | Summary(pl.UTF-8): %{realname} - biblioteka DLL dla Windows |
1180f665 | 68 | Group: Applications/Emulators |
69 | ||
70 | %description dll | |
71 | %{realname} - DLL library for Windows. | |
72 | ||
2f5c1d75 | 73 | %description dll -l pl.UTF-8 |
1180f665 | 74 | %{realname} - biblioteka DLL dla Windows. |
75 | ||
76 | %prep | |
77 | %setup -q -n lua-%{version} | |
78 | %patch0 -p1 | |
79 | ||
80 | %build | |
81 | CC=%{target}-gcc ; export CC | |
82 | CXX=%{target}-g++ ; export CXX | |
83 | LD=%{target}-ld ; export LD | |
84 | AR=%{target}-ar ; export AR | |
85 | AS=%{target}-as ; export AS | |
86 | CROSS_COMPILE=1 ; export CROSS_COMPILE | |
87 | CPPFLAGS="-I%{arch}/include" ; export CPPFLAGS | |
88 | RANLIB=%{target}-ranlib ; export RANLIB | |
89 | LDSHARED="%{target}-gcc -shared" ; export LDSHARED | |
90 | TARGET="%{target}" ; export TARGET | |
91 | ||
92 | %{__make} \ | |
93 | CC="%{target}-gcc" \ | |
94 | AR="%{target}-ar rcu" \ | |
95 | RANLIB="%{target}-ranlib" \ | |
96 | OPT="%{rpmcflags}" | |
97 | ||
98 | cd src | |
b6a3d355 | 99 | %{__cc} --shared *.o -Wl,--enable-auto-image-base -o ../lib/lua40.dll -Wl,--out-implib,../lib/liblua40.dll.a |
1180f665 | 100 | cd lib |
b6a3d355 | 101 | %{__cc} --shared *.o -Wl,--enable-auto-image-base -o ../../lib/lualib40.dll -Wl,--out-implib,../../lib/liblualib40.dll.a -llua -L../../lib |
1180f665 | 102 | cd ../.. |
103 | ||
104 | cd lib | |
b6a3d355 | 105 | mv liblua{,40}.a |
106 | mv liblualib{,40}.a | |
1180f665 | 107 | %if 0%{!?debug:1} |
108 | %{target}-strip *.dll | |
109 | %{target}-strip -g -R.comment -R.note *.a | |
110 | %endif | |
111 | ||
112 | %install | |
113 | rm -rf $RPM_BUILD_ROOT | |
b6a3d355 | 114 | install -d $RPM_BUILD_ROOT%{arch}/{include/lua40,lib} |
1180f665 | 115 | install -d $RPM_BUILD_ROOT%{_datadir}/wine/windows/system |
116 | ||
b6a3d355 | 117 | install include/*.h $RPM_BUILD_ROOT%{arch}/include/lua40 |
1180f665 | 118 | install lib/*.a $RPM_BUILD_ROOT%{arch}/lib |
119 | install lib/*.dll $RPM_BUILD_ROOT%{_datadir}/wine/windows/system | |
120 | ||
121 | %clean | |
122 | rm -rf $RPM_BUILD_ROOT | |
123 | ||
124 | %files | |
125 | %defattr(644,root,root,755) | |
126 | %{arch}/include/* | |
127 | %{arch}/lib/* | |
128 | ||
129 | %files dll | |
130 | %defattr(644,root,root,755) | |
131 | %{_datadir}/wine/windows/system/* |