SHA256
1
0
forked from pool/lua51
lua51/lua51.spec
Stephan Kulow 72f8b90ff8 Accepting request 99319 from devel:languages:misc
- lua51 branched from lua package

- cross-build fix: use %__cc macro

- use %_smp_mflags

- removed -L/usr/lib from Libs: in etc/lua.pc [bnc#613497]
- used upstream bugfix patch from http://www.lua.org/download.html

- buildrequire pkg-config to fix provides

- modified LUA_PATH_DEFAULT [bnc#589441]: search modules under
  /usr/%{_lib}/lua/%{major_version} too

- add baselibs.conf as a source
- package documentation as noarch

- enable parallel building

- updated patches to apply with fuzz=0

- add baselibs.conf

- package owns /usr/{lib,share}/lua directories from now
- emoved unneeded root.patch

- updated to 5.1.4: bugfix release

- Set LUA_ROOT to /usr and fix INSTALL_CMOD for lib64

OBS-URL: https://build.opensuse.org/request/show/99319
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/lua51?expand=0&rev=2
2012-01-07 14:58:03 +00:00

185 lines
6.7 KiB
RPMSpec

#
# 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