Sisyphus repositório
Última atualização: 1 outubro 2023 | SRPMs: 18631 | Visitas: 37897686
en ru br
ALT Linux repositórios
5.0: 5.1.3-alt2.1
4.1: 5.1.3-alt1
4.0: 5.1.2-alt3
+updates:5.1.2-alt3
3.0: 5.0.2-alt5

Group :: Desenvolvimento/Outros
RPM: lua5

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs e FR  Repocop 

%define major 5
%define soffix .so.5

Name: lua%major
Version: 5.0.2
Release: alt5

Summary: Lua is a powerful, light-weight programming language
License: MIT
Group: Development/Other

URL: http://www.lua.org
# http://www.lua.org/ftp/
Source0: lua-%version.tar.bz2
# http://www.keplerproject.org/compat/
Source1: compat-5.1r3.tar.gz

# known bugs in Lua: http://www.lua.org/bugs.html

Patch1: lua-5.0.2-lua-lvm-concat.patch
Patch2: lua-5.0.2-lua-lapi-upval.patch
Patch3: lua-5.0.2-lua-lgc-mark.patch

# ftp://ftp.debian.org/debian/pool/main/l/lua50/

Patch20: lua50_5.0.2-5.diff.gz
# http://news.gw.com/openbsd.ports/%3C20040113143852.GA7683 at vogt.ambientworks.net%3E
Patch21: lua-5.0.1-pedro-openbsd-snprintf.patch
# https://bugzilla.altlinux.org/show_bug.cgi?id=6539
Patch22: lua-5.0.2-alt-lu_hash-intptr.patch

# alternatives

%define weight 20
%set_compress_method gzip
PreReq: alternatives >= 0.2
BuildPreReq: alternatives >= 0.2

Requires: lib%name = %version-%release
Provides: lua = %version

# Added by buildreq2 on Sat Jun 11 2005

BuildRequires: libreadline-devel

%package -n lib%name
Summary: Lua programming language, shared libraries
Group: System/Libraries

%package -n lib%name-devel
Summary: Lua programming language, header files
Group: Development/Other
Requires: lib%name = %version-%release
Conflicts: liblua4-devel

%package -n lib%name-devel-static
Summary: Lua programming language, static libraries
Group: Development/Other
Requires: lib%name-devel = %version-%release
Conflicts: liblua4-devel-static

%description
Lua is a powerful, light-weight programming language designed for extending
applications.  Lua is also frequently used as a general-purpose, stand-alone
language.

This package contains lua compiler and interpreter, as well as code samples
and reference manual of the language.

%description -n lib%name
Lua is a powerful, light-weight programming language designed for extending
applications.  Lua is also frequently used as a general-purpose, stand-alone
language.

This package contains lua runtime shared libraries.

%description -n lib%name-devel
Lua is a powerful, light-weight programming language designed for extending
applications.  Lua is also frequently used as a general-purpose, stand-alone
language.

This package contains header files needed to embed Lua in C/C++ programs.

%description -n lib%name-devel-static
Lua is a powerful, light-weight programming language designed for extending
applications.  Lua is also frequently used as a general-purpose, stand-alone
language.

This package contains static libraries one may need to embed lua statically.

%prep
%setup -q -n lua-%version -a1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1

%__perl -pi -e 's/\s*\z/\n/' compat-5.1*/*.*
%__cp -a compat-5.1*/compat-5.1.h include/
%__cp -a compat-5.1*/compat-5.1.c src/lib/
%__cp -a compat-5.1*/compat-5.1.lua etc/

%__perl -pi -e s:/usr/local/share/lua/5.0/:%_datadir/%name/:g, \
-e s:/usr/local/lib/lua/5.0/:%_libdir/%name/:g etc/compat-5.1.lua
! diff -u compat-5.1*/compat-5.1.lua etc/compat-5.1.lua

%build
%def_enable Werror

: custom build
DEST=$PWD/ready
%__mkdir_p $DEST

# tweak stdio.h with -D_GNU_SOURCE to get popen(3) and pclose(3) prototypes

CFLAGS="-I$PWD/include -I$PWD/src -I$PWD/etc -D_GNU_SOURCE=1
-DUSE_POPEN=1
-DUSE_DLOPEN=1
-DUSE_TMPNAME=1
-DLUA_COMPATUPSYNTAX=1
-DLUA_OPNAMES=1
-DLUA_PATH_DEFAULT=\"?;?.lua;%_datadir/%name/?;%_datadir/%name/?.lua\"
%ifarch %ix86
-DLUA_USER_H=\"luser_number.h\"
-DUSE_FASTROUND=1
%endif
-DLUA_USERCONFIG=\"$PWD/etc/saconfig.c\"
-DUSE_READLINE=1
"

: static libraries
cd ./src
gcc $CFLAGS %optflags -c *.c
ar rcu $DEST/liblua.a *.o
ranlib $DEST/liblua.a

cd ./lib
gcc $CFLAGS %optflags -c *.c
ar rcu $DEST/liblualib.a *.o
ranlib $DEST/liblualib.a

: shared libraries
cd ..
gcc $CFLAGS %optflags %optflags_shared -c *.c
gcc -shared -o $DEST/liblua%soffix -Wl,-soname=liblua%soffix *.o
%__ln_s liblua%soffix $DEST/liblua.so

cd ./lib
gcc $CFLAGS %optflags %optflags_shared -c *.c
gcc -shared -o $DEST/liblualib%soffix -Wl,-soname=liblualib%soffix *.o -lm -ldl -L$DEST -llua
%__ln_s liblualib%soffix $DEST/liblualib.so

: executables
cd ../lua
gcc $CFLAGS %optflags *.c -o $DEST/lua -L$DEST -llua -llualib -lreadline
cd ../luac
gcc $CFLAGS %optflags *.c -o $DEST/luac -L$DEST -llua -llualib

: test
cd ../..
LD_LIBRARY_PATH=$DEST $DEST/lua test/hello.lua
LD_LIBRARY_PATH=$DEST $DEST/lua test/cf.lua

%install
%__mkdir_p %buildroot%_libdir %buildroot%_includedir
%__cp -a ready/*.so* ready/*.a %buildroot%_libdir
%__install -p -m644 include/*.h %buildroot%_includedir

%__install -pD -m755 ready/lua %buildroot%_bindir/lua%major
%__install -pD -m755 ready/luac %buildroot%_bindir/luac%major
%__install -pD -m644 doc/lua.1 %buildroot%_man1dir/lua%major.1
%__install -pD -m644 doc/luac.1 %buildroot%_man1dir/luac%major.1

%__mkdir_p %buildroot%_libdir/%name %buildroot%_datadir/%name
%__install -p -m644 etc/compat.lua etc/compat-5.1.lua %buildroot%_datadir/%name

%define pkgdocdir %_docdir/lua-%version
%__mkdir_p %buildroot%pkgdocdir/{html,etc,test}
%__install -p -m644 COPYRIGHT HISTORY README* %buildroot%pkgdocdir
%__install -p -m644 UPDATE %buildroot%pkgdocdir
%__install -p -m644 doc/*.html doc/*.gif %buildroot%pkgdocdir/html
%__install -p -m644 etc/*.* etc/README %buildroot%pkgdocdir/etc
%__install -p -m644 test/*.lua test/README %buildroot%pkgdocdir/test

%__mkdir_p %buildroot%_altdir
%__cat <<__EOF__ >%buildroot%_altdir/%name
%_bindir/lua %_bindir/%name %weight
%_bindir/luac %_man1dir/luac%major %_bindir/%name
%_man1dir/lua.1.gz %_man1dir/%name.1.gz %_bindir/%name
%_man1dir/luac.1.gz %_man1dir/luac%major.1.gz %_bindir/%name
__EOF__

%post
%register_alternatives %name

%preun
%unregister_alternatives %name

%post -n lib%name -p %post_ldconfig
%postun -n lib%name -p %postun_ldconfig

%files
%_altdir/*
%_bindir/lua*
%_man1dir/*.*
%dir %pkgdocdir
%pkgdocdir/html
%pkgdocdir/etc
%pkgdocdir/test

%files -n lib%name
%_libdir/liblua%soffix
%_libdir/liblualib%soffix
%dir %_libdir/%name
%dir %_datadir/%name
%_datadir/%name/compat.lua
%_datadir/%name/compat-5.1.lua
%dir %pkgdocdir
%pkgdocdir/COPYRIGHT
%pkgdocdir/HISTORY
%pkgdocdir/README*
%pkgdocdir/UPDATE

%files -n lib%name-devel
%_includedir/*.h
%_libdir/liblua.so
%_libdir/liblualib.so

%files -n lib%name-devel-static
%_libdir/liblua.a
%_libdir/liblualib.a

%changelog

Todas as alterações você pod ver aqui

 
projeto & código: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
mantenedor atual: Michael Shigorin
mantenedor da tradução: Fernando Martini aka fmartini © 2009