# # spec file for package lua51 # # Copyright (c) 2011 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: lua51 Version: 5.1.4 Release: 17 %define major_version 5.1 License: MIT License (or similar) Group: System/Libraries AutoReqProv: on BuildRequires: pkg-config 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 Source1: macros.lua Source2: baselibs.conf Patch0: %{name}-%{version}-shared.diff Patch1: %{name}-%{version}-module-path.diff Patch2: %{name}-%{version}-upstream-bugfix.diff Patch3: %{name}-%{version}-libdir.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 License (or similar) Summary: Development files for lua Group: Development/Libraries/C and C++ Requires: %{name} = %{version} Conflicts: lua50-devel Conflicts: lua-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 -n liblua5_1 License: MIT License (or similar) Summary: Small Embeddable Language with Simple Procedural Syntax Group: System/Libraries Provides: %{name}-libs = 5.1.3 Obsoletes: %{name}-libs <= 5.1.3 %description -n liblua5_1 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 doc License: MIT License (or similar) Summary: Small Embeddable Language with Simple Procedural Syntax Group: System/Libraries %if 0%{?suse_version} >= 1120 BuildArch: noarch %endif %description doc 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} %patch0 -b .shared %patch1 -p1 %patch2 %patch3 -p1 %build sed -i 's:LUA_ROOT2 "LIBDIR/lua/%{major_version}/":LUA_ROOT2 \"%{_lib}/lua/%{major_version}/":' src/luaconf.h make %{?_smp_mflags} -C src CC="%{__cc}" MYCFLAGS="$RPM_OPT_FLAGS -fPIC -DLUA_USE_LINUX" MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses" V=%{major_version} all %install make install INSTALL_TOP="$RPM_BUILD_ROOT%{_prefix}" INSTALL_LIB="$RPM_BUILD_ROOT%{_libdir}" INSTALL_CMOD=$RPM_BUILD_ROOT%{_libdir}/lua/%{major_version} INSTALL_MAN="$RPM_BUILD_ROOT%{_mandir}/man1" install -D -m644 etc/lua.pc $RPM_BUILD_ROOT%{_libdir}/pkgconfig/lua.pc 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 install -d -m 0755 $RPM_BUILD_ROOT%{_libdir}/lua/%{major_version} install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/lua/%{major_version} install -D %{SOURCE1} %buildroot/etc/rpm/macros.lua %clean rm -rf $RPM_BUILD_ROOT %post /usr/sbin/update-alternatives --install \ %{_bindir}/lua lua %{_bindir}/lua%{major_version} 10 \ --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 -n liblua5_1 -p /sbin/ldconfig %postun -n liblua5_1 -p /sbin/ldconfig %files %defattr(-,root,root) %doc COPYRIGHT HISTORY README %{_mandir}/man1/lua%{major_version}.1* %{_mandir}/man1/luac%{major_version}.1* %{_prefix}/bin/lua%{major_version} %{_prefix}/bin/luac%{major_version} %dir %{_libdir}/lua %dir %{_libdir}/lua/%{major_version} %dir %{_datadir}/lua %dir %{_datadir}/lua/%{major_version} /etc/rpm/macros.lua %files -n liblua5_1 %defattr(-,root,root) %{_libdir}/liblua.so.%{major_version} %files devel %defattr(-,root,root) %{_includedir}/lauxlib.h %{_includedir}/lua.h %{_includedir}/lua.hpp %{_includedir}/luaconf.h %{_includedir}/lualib.h %{_libdir}/pkgconfig/lua.pc %{_libdir}/liblua.a %{_libdir}/liblua.so %files doc %defattr(-,root,root) %doc doc/* %changelog