# # spec file for package lua # # Copyright (c) 2017 SUSE LINUX 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/ # %define major_version 5.3 %define libname liblua5_3 Name: lua Version: 5.3.4 Release: 0 Summary: Small Embeddable Language with Procedural Syntax License: MIT Group: Development/Languages/Other Url: http://www.lua.org Source: http://www.lua.org/ftp/lua-%{version}.tar.gz Source1: macros.lua Source2: baselibs.conf # PATCH-FIX-SUSE tweak the buildsystem to produce what is needed for SUSE Patch0: lua-build-system.patch BuildRequires: pkg-config BuildRequires: readline-devel Provides: Lua(API) = %{major_version} %description Lua is a programming language originally designed for extending applications, but is also frequently used as a general-purpose, stand-alone language. Lua combines procedural syntax (similar to Pascal) with 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 suitable for configuration, scripting, and rapid prototyping. Lua is implemented as a small library of C functions, written in ANSI C. %package devel Summary: Development files for lua Group: Development/Libraries/C and C++ Requires: %{name} = %{version} Requires: %libname = %{version} Provides: Lua(devel) = %{major_version} Conflicts: otherproviders(Lua(devel)) %description devel Lua is a programming language originally designed for extending applications, but is also frequently used as a general-purpose, stand-alone language. This package contains files needed for embedding lua into your application. %package -n %libname Summary: The Lua integration library Group: System/Libraries Provides: %{name}-libs = %{version} Obsoletes: %{name}-libs < %{version} %description -n %libname Lua is a programming language originally designed for extending applications, but is also frequently used as a general-purpose, stand-alone language. Lua combines procedural syntax (similar to Pascal) with 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 suitable for configuration, scripting, and rapid prototyping. Lua is implemented as a small library of C functions, written in ANSI C. %package doc Summary: Documentation for Lua, a small embeddable language Group: Documentation/HTML BuildArch: noarch %description doc Lua is a programming language originally designed for extending applications, but is also frequently used as a general-purpose, stand-alone language. Lua combines procedural syntax (similar to Pascal) with 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 suitable for configuration, scripting, and rapid prototyping. Lua is implemented as a small library of C functions, written in ANSI C. %prep %setup -q %autopatch -p1 %build sed -i -e "s@lib/lua/@%{_lib}/lua/@g" src/luaconf.h make %{?_smp_mflags} -C src \ CC="cc" \ MYCFLAGS="%{optflags} -std=gnu99 -D_GNU_SOURCE -fPIC -DLUA_USE_LINUX -DLUA_COMPAT_MODULE" \ MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses" \ V=%{major_version} all %install make install \ INSTALL_TOP="%{buildroot}%{_prefix}" \ INSTALL_LIB="%{buildroot}%{_libdir}" \ INSTALL_CMOD=%{buildroot}%{_libdir}/lua/%{major_version} \ INSTALL_MAN="%{buildroot}%{_mandir}/man1" install -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/rpm/macros.lua # create pkg-config file cat > lua.pc <<-EOF prefix=%{_prefix} exec_prefix=%{_prefix} libdir=%{_libdir} includedir=%{_prefix}}/include Name: Lua Description: An Extensible Extension Language Version: %{version} Libs: -llua -lm Cflags: EOF install -D -m 644 lua.pc %{buildroot}/%{_libdir}/pkgconfig/lua.pc %check cd src LD_LIBRARY_PATH=`pwd` ./lua -e 'print(0)' > /dev/null %post -n %libname -p /sbin/ldconfig %postun -n %libname -p /sbin/ldconfig %files %defattr(-,root,root) %doc README %dir %{_libdir}/lua %dir %{_libdir}/lua/%{major_version} %dir %{_datadir}/lua %dir %{_datadir}/lua/%{major_version} %{_bindir}/lua%{major_version} %{_bindir}/luac%{major_version} %{_mandir}/man1/lua%{major_version}.1.gz %{_mandir}/man1/luac%{major_version}.1.gz %ghost %{_sysconfdir}/alternatives/lua %ghost %{_sysconfdir}/alternatives/luac %ghost %{_sysconfdir}/alternatives/lua.1.gz %ghost %{_sysconfdir}/alternatives/luac.1.gz %files -n %libname %defattr(-,root,root) %{_libdir}/liblua.so.%{major_version} %files devel %defattr(-,root,root) %config %{_sysconfdir}/rpm/macros.lua %{_includedir}/lauxlib.h %{_includedir}/lua.h %{_includedir}/lua.hpp %{_includedir}/luaconf.h %{_includedir}/lualib.h %{_libdir}/liblua.a %{_libdir}/liblua.so %{_libdir}/pkgconfig/lua.pc %files doc %defattr(-,root,root) %doc doc/* %changelog