provide liblua5.1.so* using symlinks [release 5.1.5-3mamba;Sat Jul 20 2013]

This commit is contained in:
Silvan Calarco 2024-01-06 06:31:37 +01:00
parent 2d1b4014be
commit 4c2b67c7eb
5 changed files with 271 additions and 0 deletions

View File

@ -1,2 +1,11 @@
# lua51
Lua is a powerful light-weight programming language designed for extending applications.
Lua is also frequently used as a general-purpose, stand-alone language.
Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics.
Lua is dynamically typed, interpreted from bytecodes, and has automatic memory management with garbage collection, making it ideal for configuration, scripting, and rapid prototyping.
A fundamental concept in the design of Lua is to provide meta-mechanisms for implementing features, instead of providing a host of features directly in the language.
For example, although Lua is not a pure object-oriented language, it does provide meta-mechanisms for implementing classes and inheritance.
Lua's meta-mechanisms bring an economy of concepts and keep the language small, while allowing the semantics to be extended in unconventional ways.
Extensible semantics is a distinguishing feature of Lua.

53
lua-5.1.2-dynlib.patch Normal file
View File

@ -0,0 +1,53 @@
diff -ru lua-5.1.2/Makefile lua-5.1.2-om/Makefile
--- lua-5.1.2/Makefile 2007-10-24 10:12:17.000000000 +0200
+++ lua-5.1.2-om/Makefile 2007-10-24 10:16:22.000000000 +0200
@@ -53,7 +53,7 @@
all: $(PLAT)
$(PLATS) clean:
- cd src && $(MAKE) $@
+ cd src && $(MAKE) V=$(V) $@
test: dummy
src/lua test/hello.lua
diff -ru lua-5.1.2/src/Makefile lua-5.1.2-om/src/Makefile
--- lua-5.1.2/src/Makefile 2007-03-25 16:49:23.000000000 +0200
+++ lua-5.1.2-om/src/Makefile 2007-10-24 10:15:52.000000000 +0200
@@ -8,7 +8,7 @@
PLAT= none
CC= gcc
-CFLAGS= -O2 -Wall $(MYCFLAGS)
+CFLAGS= -O2 -Wall -fPIC $(MYCFLAGS) $(RPM_OPT_FLAGS)
AR= ar rcu
RANLIB= ranlib
RM= rm -f
@@ -22,6 +22,7 @@
PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
+LUA_SO= liblua.so.$(V)
LUA_A= liblua.a
CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \
lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o \
@@ -36,7 +37,7 @@
LUAC_O= luac.o print.o
ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
+ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO)
ALL_A= $(LUA_A)
default: $(PLAT)
@@ -51,6 +52,11 @@
$(AR) $@ $?
$(RANLIB) $@
+$(LUA_SO): $(CORE_O) $(LIB_O)
+ gcc -Wl,-soname=liblua.so.$(V) -shared -o $@ $(MYLDFLAGS) $? $(LIBS) $(LUA_O)
+ rm -f liblua.so
+ ln -s $@ liblua.so
+
$(LUA_T): $(LUA_O) $(LUA_A)
$(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)

11
lua-5.1.2-luapc.patch Normal file
View File

@ -0,0 +1,11 @@
--- lua-5.1.2/etc/lua.pc 2007-03-23 20:58:49.000000000 +0100
+++ lua-5.1.2/etc/lua.pc.prefix 2007-10-25 11:47:35.000000000 +0200
@@ -8,7 +8,7 @@
R= 5.1.2
# grep '^INSTALL_.*=' ../Makefile | sed 's/INSTALL_TOP/prefix/'
-prefix= /usr/local
+prefix= /usr
INSTALL_BIN= ${prefix}/bin
INSTALL_INC= ${prefix}/include
INSTALL_LIB= ${prefix}/lib

View File

@ -0,0 +1,12 @@
diff -Nru lua-5.1.4.orig//src/Makefile lua-5.1.4/src/Makefile
--- lua-5.1.4.orig//src/Makefile 2010-06-16 20:13:28.242643022 +0200
+++ lua-5.1.4/src/Makefile 2010-06-16 20:14:12.930892707 +0200
@@ -53,7 +53,7 @@
$(RANLIB) $@
$(LUA_SO): $(CORE_O) $(LIB_O)
- gcc -Wl,-soname=liblua.so.$(V) -shared -o $@ $(MYLDFLAGS) $? $(LIBS) $(LUA_O)
+ $(CC) -Wl,-soname=liblua.so.$(V) -shared -o $@ $(MYLDFLAGS) $? $(LIBS) $(LUA_O)
rm -f liblua.so
ln -s $@ liblua.so

186
lua51.spec Normal file
View File

@ -0,0 +1,186 @@
%define libname liblua51
%define majver %(echo %version | cut -d. -f 1-2)
Name: lua51
Version: 5.1.5
Release: 3mamba
Summary: A powerful light-weight and embeddable programming language
Group: Applications/Development
Vendor: openmamba
Distribution: openmamba
Packager: Aleph0 <aleph0@openmamba.org>
URL: http://www.lua.org
Source: http://www.lua.org/ftp/lua-%{version}.tar.gz
Patch0: lua-5.1.2-dynlib.patch
Patch1: lua-5.1.2-luapc.patch
Patch2: lua-5.1.4-cross_compile.patch
License: MIT
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libncurses-devel
BuildRequires: libreadline-devel
## AUTOBUILDREQ-END
BuildRoot: %{_tmppath}/%{name}-%{version}-root
%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.
Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics.
Lua is dynamically typed, interpreted from bytecodes, and has automatic memory management with garbage collection, making it ideal for configuration, scripting, and rapid prototyping.
A fundamental concept in the design of Lua is to provide meta-mechanisms for implementing features, instead of providing a host of features directly in the language.
For example, although Lua is not a pure object-oriented language, it does provide meta-mechanisms for implementing classes and inheritance.
Lua's meta-mechanisms bring an economy of concepts and keep the language small, while allowing the semantics to be extended in unconventional ways.
Extensible semantics is a distinguishing feature of Lua.
%package devel
Group: Development/Libraries
Summary: Development files for %{name}
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
%description 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 files needed for embedding lua into your application.
%package -n %{libname}
Summary: Lua is a powerful, light-weight programming language
Group: System/Libraries
%description -n %{libname}
Lua is a powerful light-weight programming language designed for extending applications.
This package contains the dynamic libraries provided by lua scripting language.
%package -n %{libname}-devel
Summary: Static libraries and headers for lua
Group: Development/Libraries
Requires: %{libname} = %{?epoch:%epoch:}%{version}-%{release}
%description -n %{libname}-devel
Lua is a powerful light-weight programming language designed for extending applications.
This package contains static libraries and header files need for development.
%debug_package
%prep
%setup -q -n lua-%{version}
%patch0 -p1 -b .dynlib
#%patch1 -p1 -b .luapc
#%patch2 -p1
%build
##% make linux
%make -j1 -C src \
CC=%{_host}-gcc \
MYCFLAGS="$RPM_OPT_FLAGS -fPIC -DLUA_USE_LINUX" \
MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses" V=%{majver} all
%install
[ "%{buildroot}" != / ] && rm -rf %{buildroot}
%makeinstall \
INSTALL_TOP=%{buildroot}%{_prefix} \
INSTALL_INC=%{buildroot}%{_includedir}/lua%{majver} \
INSTALL_LIB=%{buildroot}%{_libdir} \
INSTALL_MAN=%{buildroot}%{_mandir}/man1
install -d %{buildroot}%{_datadir}/lua
install -m 644 test/*.lua %{buildroot}%{_datadir}/lua
install -d %{buildroot}%{_libdir}
install -m 755 src/liblua.so.%{majver} %{buildroot}%{_libdir}
ln -s liblua.so.%{majver} %{buildroot}%{_libdir}/liblua%{majver}.so
ln -s liblua.so.%{majver} %{buildroot}%{_libdir}/liblua%{majver}.so.%{majver}
install -d %{buildroot}%{_libdir}/pkgconfig/
cat > %{buildroot}%{_libdir}/pkgconfig/lua%{majver}.pc << _EOF
prefix=%{_prefix}
exec_prefix=%{_exec_prefix}
libdir=%{_libdir}
includedir=%{_includedir}/lua%{majver}
Name: Lua
Description: An Extensible Extension Language
Version: 5.1.5
Requires:
Libs: -L%{_libdir} -llua%{majver} -lm -lreadline
Cflags: -I%{_includedir}/lua%{majver}
_EOF
rm -f %{buildroot}%{_libdir}/liblua.a
rm -f %{buildroot}%{_libdir}/liblua.so
%clean
[ "%{buildroot}" != / ] && rm -rf %{buildroot}
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%files
%defattr(-,root,root)
%{_bindir}/lua
%{_bindir}/luac
%dir %{_datadir}/lua
%{_datadir}/lua/*.lua
%{_mandir}/man1/lua.*
%{_mandir}/man1/luac.*
%files -n %{libname}
%defattr(-,root,root)
%{_libdir}/liblua.so.*
%{_libdir}/liblua%{majver}.so.*
%doc COPYRIGHT
%files -n %{libname}-devel
%defattr(-,root,root)
%dir %{_includedir}/lua%{majver}
%{_includedir}/lua%{majver}/*.h
%{_includedir}/lua%{majver}/*.hpp
%{_libdir}/liblua%{majver}.so
%{_libdir}/pkgconfig/lua%{majver}.pc
%doc HISTORY README doc/*.html doc/*.css doc/*.gif doc/*.png
%changelog
* Sat Jul 20 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 5.1.5-3mamba
- provide liblua5.1.so* using symlinks
* Tue Apr 23 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 5.1.5-2mamba
- make devel package installable without conflicting with mainstream lua version
* Sat Dec 15 2012 Automatic Build System <autodist@mambasoft.it> 5.1.5-1mamba
- automatic version update by autodist
* Wed Aug 15 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 5.1.4-3mamba
- rebuilt as legacy package
* Fri Dec 31 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 5.1.4-2mamba
- rebuilt with debug package
* Thu Dec 04 2008 gil <puntogil@libero.it> 5.1.4-1mamba
- update to 5.1.4
* Mon Jul 07 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 5.1.3-1mamba
- update to 5.1.3
- fix liblua.so: make it a symlink to liblua.so.*
* Fri Oct 26 2007 Aleph0 <aleph0@openmamba.org> 5.1.2-3mamba
- do not provide liblualib.so
* Thu Oct 25 2007 Aleph0 <aleph0@openmamba.org> 5.1.2-2mamba
- add lua.pc
* Wed Oct 24 2007 Aleph0 <aleph0@openmamba.org> 5.1.2-1mamba
- update to 5.1.2
- patched to build dynamic libraries
- package coding examples contained in the source code
- use standard CFLAGS options when building
* Thu Dec 14 2006 Aleph0 <aleph0@openmamba.org> 5.0.3-2qilnx
- created devel package
- build shared libraries
- added more documentation files
* Wed Oct 18 2006 Davide Madrisan <davide.madrisan@qilinux.it> 5.0.3-1qilnx
- update to version 5.0.3 by autospec
* Tue Apr 04 2006 Davide Madrisan <davide.madrisan@qilinux.it> 5.0.2-1qilnx
- package created by autospec