]> git.pld-linux.org Git - packages/crossmingw32-lua40.git/blob - crossmingw32-lua40.spec
- cleanup
[packages/crossmingw32-lua40.git] / crossmingw32-lua40.spec
1 %define         realname        lua40
2 Summary:        A simple lightweight powerful embeddable programming language - Mingw32 cross version
3 Summary(pl.UTF-8):      Prosty, lekki ale potężny, osadzalny język programowania - wersja skrośna dla Mingw32
4 Name:           crossmingw32-%{realname}
5 Version:        4.0.1
6 Release:        4
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/
13 Requires:       crossmingw32-runtime
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}
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
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.
53
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.
64
65 %package dll
66 Summary:        %{realname} - DLL library for Windows
67 Summary(pl.UTF-8):      %{realname} - biblioteka DLL dla Windows
68 Group:          Applications/Emulators
69
70 %description dll
71 %{realname} - DLL library for Windows.
72
73 %description dll -l pl.UTF-8
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
99 %{__cc} --shared *.o -Wl,--enable-auto-image-base -o ../lib/lua40.dll -Wl,--out-implib,../lib/liblua40.dll.a
100 cd lib
101 %{__cc} --shared *.o -Wl,--enable-auto-image-base -o ../../lib/lualib40.dll -Wl,--out-implib,../../lib/liblualib40.dll.a -llua -L../../lib
102 cd ../..
103
104 cd lib
105 mv liblua{,40}.a
106 mv liblualib{,40}.a
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
114 install -d $RPM_BUILD_ROOT%{arch}/{include/lua40,lib}
115 install -d $RPM_BUILD_ROOT%{_datadir}/wine/windows/system
116
117 install include/*.h $RPM_BUILD_ROOT%{arch}/include/lua40
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/*
This page took 0.068513 seconds and 3 git commands to generate.