ALT Linux repositórios
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
%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