]> git.pld-linux.org Git - packages/crossmingw32-lua40.git/blob - crossmingw32-lua40.spec
- rel 2
[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):    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:        2
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 BuildRequires:  autoconf
14 BuildRequires:  automake
15 BuildRequires:  crossmingw32-gcc
16 BuildRequires:  crossmingw32-w32api
17 BuildRequires:  libtool
18 Obsoletes:      crossmingw32-lua50
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 %define         gccarch         %{_prefix}/lib/gcc-lib/%{target}
27 %define         gcclib          %{_prefix}/lib/gcc-lib/%{target}/%{version}
28
29 %define         __cc            %{target}-gcc
30 %define         __cxx           %{target}-g++
31
32 %ifarch alpha sparc sparc64 sparcv9
33 %define         optflags        -O2
34 %endif
35
36 %description
37 Lua is a powerful, light-weight programming language designed for
38 extending applications. It is also frequently used as a
39 general-purpose, stand-alone language. It combines simple procedural
40 syntax (similar to Pascal) with powerful data description constructs
41 based on associative arrays and extensible semantics. Lua is
42 dynamically typed, interpreted from bytecodes, and has automatic
43 memory management with garbage collection, making it ideal for
44 configuration, scripting, and rapid prototyping.
45
46 %description -l pl
47 Lua to jêzyk programowania o du¿ych mo¿liwo¶ciach ale lekki,
48 przeznaczony do rozszerzania aplikacji. Jest te¿ czêsto u¿ywany jako
49 samodzielny jêzyk ogólnego przeznaczenia. £±czy prost± proceduraln±
50 sk³adniê (podobn± do Pascala) z potê¿nymi konstrukcjami opisu danych
51 bazuj±cymi na tablicach asocjacyjnych i rozszerzalnej sk³adni. Lua ma
52 dynamiczny system typów, interpretowany z bytecodu i automatyczne
53 zarz±dzanie pamiêci± z od¶miecaczem, co czyni go idealnym do
54 konfiguracji, skryptów i szybkich prototypów.
55
56 %description -l pt_BR
57 Lua é uma linguagem de programação poderosa e leve, projetada para
58 estender aplicações. Lua também é freqüentemente usada como uma
59 linguagem de propósito geral. Lua combina programação procedural com
60 poderosas construções para descrição de dados, baseadas em tabelas
61 associativas e semântica extensível. Lua é tipada dinamicamente,
62 interpretada a partir de bytecodes, e tem gerenciamento automático de
63 memória com coleta de lixo. Essas características fazem de Lua uma
64 linguagem ideal para configuração, automação (scripting) e
65 prototipagem rápida.
66
67 %package dll
68 Summary:        %{realname} - DLL library for Windows
69 Summary(pl):    %{realname} - biblioteka DLL dla Windows
70 Group:          Applications/Emulators
71 Obsoletes:      crossmingw32-lua50-dll
72
73 %description dll
74 %{realname} - DLL library for Windows.
75
76 %description dll -l pl
77 %{realname} - biblioteka DLL dla Windows.
78
79 %prep
80 %setup -q -n lua-%{version}
81 %patch0 -p1
82
83 %build
84 CC=%{target}-gcc ; export CC
85 CXX=%{target}-g++ ; export CXX
86 LD=%{target}-ld ; export LD
87 AR=%{target}-ar ; export AR
88 AS=%{target}-as ; export AS
89 CROSS_COMPILE=1 ; export CROSS_COMPILE
90 CPPFLAGS="-I%{arch}/include" ; export CPPFLAGS
91 RANLIB=%{target}-ranlib ; export RANLIB
92 LDSHARED="%{target}-gcc -shared" ; export LDSHARED
93 TARGET="%{target}" ; export TARGET
94
95 %{__make} \
96         CC="%{target}-gcc" \
97         AR="%{target}-ar rcu" \
98         RANLIB="%{target}-ranlib" \
99         OPT="%{rpmcflags}"
100
101 cd src
102 %{__cc} --shared *.o -Wl,--enable-auto-image-base -o ../lib/lua40.dll -Wl,--out-implib,../lib/liblua40.dll.a
103 cd lib
104 %{__cc} --shared *.o -Wl,--enable-auto-image-base -o ../../lib/lualib40.dll -Wl,--out-implib,../../lib/liblualib40.dll.a -llua -L../../lib
105 cd ../..
106
107 cd lib
108 mv liblua{,40}.a
109 mv liblualib{,40}.a
110 %if 0%{!?debug:1}
111 %{target}-strip *.dll
112 %{target}-strip -g -R.comment -R.note *.a
113 %endif
114
115 %install
116 rm -rf $RPM_BUILD_ROOT
117 install -d $RPM_BUILD_ROOT%{arch}/{include/lua40,lib}
118 install -d $RPM_BUILD_ROOT%{_datadir}/wine/windows/system
119
120 install include/*.h $RPM_BUILD_ROOT%{arch}/include/lua40
121 install lib/*.a $RPM_BUILD_ROOT%{arch}/lib
122 install lib/*.dll $RPM_BUILD_ROOT%{_datadir}/wine/windows/system
123
124 %clean
125 rm -rf $RPM_BUILD_ROOT
126
127 %files
128 %defattr(644,root,root,755)
129 %{arch}/include/*
130 %{arch}/lib/*
131
132 %files dll
133 %defattr(644,root,root,755)
134 %{_datadir}/wine/windows/system/*
This page took 0.091175 seconds and 4 git commands to generate.