File lua50.spec of Package lua50
#
# spec file for package lua50 (Version 5.0.2)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: lua50
Version: 5.0.2
Release: 122
%define major_version 5.0
License: MIT
Group: System/Libraries
AutoReqProv: on
BuildRequires: readline-devel update-alternatives
PreReq: update-alternatives
Summary: Small Embeddable Language with Simple Procedural Syntax
Url: http://www.lua.org
Source: %{name}-%{version}.tar.bz2
Patch: %{name}-%{version}-dynamic-loading.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Lua is a programming language originally designed for extending
applications, but also frequently used as a general-purpose,
stand-alone language.
Lua combines simple procedural syntax (similar to Pascal) with powerful
data description constructs based on associative arrays and extensible
semantics. Lua is dynamically typed, interpreted from byte codes, and
has automatic memory management, making it ideal for configuration,
scripting, and rapid prototyping. Lua is implemented as a small library
of C functions, written in ANSI C, and the implementation goals are
simplicity, efficiency, portability, and low embedding cost.
%package devel
License: MIT
Summary: Development files for lua
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
Conflicts: lua-devel
Conflicts: lua51-devel
%description devel
Lua is a programming language originally designed for extending
applications, but also frequently used as a general-purpose,
stand-alone language.
This package contains files needed for embedding lua into your
application.
%package libs
License: MIT
Summary: Small Embeddable Language with Simple Procedural Syntax
Group: System/Libraries
%description libs
Lua is a programming language originally designed for extending
applications, but also frequently used as a general-purpose,
stand-alone language.
Lua combines simple procedural syntax (similar to Pascal) with powerful
data description constructs based on associative arrays and extensible
semantics. Lua is dynamically typed, interpreted from byte codes, and
has automatic memory management, making it ideal for configuration,
scripting, and rapid prototyping. Lua is implemented as a small library
of C functions, written in ANSI C, and the implementation goals are
simplicity, efficiency, portability, and low embedding cost.
%prep
%setup -q -n lua-%{version}
%patch
%build
make MYCFLAGS="$RPM_OPT_FLAGS -fPIC" all so sobin
%install
make install soinstall INSTALL_ROOT="$RPM_BUILD_ROOT/%{_prefix}" INSTALL_LIB="$RPM_BUILD_ROOT/%{_libdir}" INSTALL_MAN="$RPM_BUILD_ROOT/%{_mandir}/man1" STRIP=true
for file in lua luac ; do
mv "%{buildroot}%{_bindir}/${file}" "%{buildroot}%{_bindir}/${file}%{major_version}"
mv "%{buildroot}%{_mandir}/man1/${file}.1" "%{buildroot}%{_mandir}/man1/${file}%{major_version}.1"
done
%clean
rm -rf $RPM_BUILD_ROOT
%post
/usr/sbin/update-alternatives --install \
%{_bindir}/lua lua %{_bindir}/lua%{major_version} 5 \
--slave %{_bindir}/luac luac %{_bindir}/luac%{major_version} \
--slave %{_mandir}/man1/lua.1.gz lua.1.gz %{_mandir}/man1/lua%{major_version}.1.gz \
--slave %{_mandir}/man1/luac.1.gz luac.1.gz %{_mandir}/man1/luac%{major_version}.1.gz
%preun
if [ "$1" = 0 ] ; then
/usr/sbin/update-alternatives --remove lua %{_bindir}/lua%{major_version}
fi
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc COPYRIGHT HISTORY README doc/*
%{_mandir}/man1/lua%{major_version}.1*
%{_mandir}/man1/luac%{major_version}.1*
%{_prefix}/bin/lua%{major_version}
%{_prefix}/bin/luac%{major_version}
%files libs
%defattr(-,root,root)
%{_libdir}/liblua.so.%{major_version}
%{_libdir}/liblualib.so.%{major_version}
%files devel
%defattr(-,root,root)
%{_prefix}/include/lauxlib.h
%{_prefix}/include/lua.h
%{_prefix}/include/lualib.h
%{_libdir}/liblua.a
%{_libdir}/liblualib.a
%{_libdir}/liblua.so
%{_libdir}/liblualib.so
%changelog
* Thu Dec 27 2007 crrodriguez@suse.de
- fix library-without-ldconfig-post* errors.
* Thu Nov 16 2006 mrueckert@suse.de
- the core package now uses update alternatives to allow installation
of 5.0.x and 5.1.x
- devel packages will conflict now
* Wed Nov 15 2006 mjancar@suse.cz
- link dynamic libraries properly (#186021)
* Tue Nov 14 2006 mrueckert@suse.de
- ARGH dont copy and paste!:
lua-libs should not depend on lua. another run on (#217875)
* Tue Nov 14 2006 mrueckert@suse.de
- really fix the file pattern (#217875)
* Mon Nov 06 2006 mrueckert@suse.de
- splitted out lua50-libs so we can install at least both libs
in parallel. (#217875)
* Mon Oct 30 2006 mjancar@suse.cz
- branch lua50 for stratagus and mysql-gui-tools
* Thu Oct 19 2006 dmueller@suse.de
- fix wrong prefix in lua.pc
- link liblua with -lm to satisfy unresolved symbols
* Thu Oct 19 2006 mjancar@suse.cz
- include lua.pc
* Wed Oct 18 2006 mjancar@suse.cz
- update to 5.1.1
Language:
* new module system.
* new semantics for control variables of fors.
* new semantics for setn/getn.
* new syntax/semantics for varargs.
* new long strings and comments.
* new `mod' operator (`%%')
* new length operator #t
* metatables for all types
API:
* new functions: lua_createtable, lua_get(set)field, lua_push(to)integer.
* user supplies memory allocator (lua_open becomes lua_newstate).
* luaopen_* functionst must be called through Lua.
Implementation:
* new configuration scheme via luaconf.h.
* incremental garbage collection.
* better handling of end-of-line in the lexer.
* fully reentrant parser (new Lua function `load')
* better support for 64-bit machines.
* native loadlib support for Mac OS X.
* standard distribution in only one library (lualib.a merged into lua.a)
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Sat Jan 14 2006 schwab@suse.de
- Don't strip binaries.
- Fix shared library linking.
* Thu Sep 08 2005 anicka@suse.cz
- enable dynamic loading capability (#106845)
* Fri Apr 23 2004 mcihar@suse.cz
- initial packaging