summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2024-09-28 15:18:49 +0000
committerCoprDistGit <infra@openeuler.org>2024-09-28 15:18:49 +0000
commit28fa671ba5c309440ba99f69b154b82d7eebe278 (patch)
tree967ca223a79b4388bc021f074d756bcb6c051732
parent420bee8246806ff3b8267afa80720da4f8861180 (diff)
automatic import of lua
-rw-r--r--.gitignore2
-rw-r--r--lua-5.2.2-configure-linux.patch22
-rw-r--r--lua-5.3.0-configure-compat-module.patch35
-rw-r--r--lua-5.4.0-beta-autotoolize.patch192
-rw-r--r--lua-5.4.6-idsize.patch14
-rw-r--r--lua.attr19
-rw-r--r--lua.spec169
-rw-r--r--luaconf.h63
-rw-r--r--macros.lua8
-rw-r--r--mit.txt19
-rw-r--r--sources2
11 files changed, 545 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..3e24407 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/lua-5.4.7-tests.tar.gz
+/lua-5.4.7.tar.gz
diff --git a/lua-5.2.2-configure-linux.patch b/lua-5.2.2-configure-linux.patch
new file mode 100644
index 0000000..735386a
--- /dev/null
+++ b/lua-5.2.2-configure-linux.patch
@@ -0,0 +1,22 @@
+diff -up lua-5.2.2/configure.ac.linux lua-5.2.2/configure.ac
+--- lua-5.2.2/configure.ac.linux 2013-05-10 15:42:27.269437631 -0400
++++ lua-5.2.2/configure.ac 2013-05-10 15:43:23.530435620 -0400
+@@ -50,6 +50,7 @@ AC_SUBST(READLINE_LIBS)
+ case "$host" in
+ *-mingw*) use_os=win32 ;;
+ *-darwin*) use_os=macosx ;;
++ *-linux*) use_os=linux ;;
+ *) use_os=posix ;;
+ esac
+
+@@ -62,6 +63,10 @@ if test "x$use_os" == "xwin32"; then
+ elif test "x$use_os" == "xmacosx"; then
+ POSIX_DEFS="#define LUA_USE_POSIX"
+ LUA_DL_DEFS="#define LUA_DL_DYLD"
++elif test "x$use_os" == "xlinux"; then
++ POSIX_DEFS="#define LUA_USE_LINUX"
++ LUA_DL_DEFS="#define LUA_DL_DLOPEN"
++ LUA_LIBS="$LUA_LIBS -ldl"
+ elif test "x$use_os" == "xposix"; then
+ POSIX_DEFS="#define LUA_USE_POSIX"
+ LUA_DL_DEFS="#define LUA_DL_DLOPEN"
diff --git a/lua-5.3.0-configure-compat-module.patch b/lua-5.3.0-configure-compat-module.patch
new file mode 100644
index 0000000..bd5d41d
--- /dev/null
+++ b/lua-5.3.0-configure-compat-module.patch
@@ -0,0 +1,35 @@
+diff -up lua-5.2.2/configure.ac.compat-module lua-5.2.2/configure.ac
+--- lua-5.2.2/configure.ac.compat-module 2013-05-10 10:16:05.344137597 -0400
++++ lua-5.2.2/configure.ac 2013-05-10 10:16:05.357137596 -0400
+@@ -11,6 +11,20 @@ AC_PROG_CC
+ AC_PROG_LIBTOOL
+
+ AC_ARG_WITH(
++ [compat-module],
++ [AC_HELP_STRING([--with-compat-module], [Enable LUA_COMPAT_MODULE functions [default=no]])],
++ [use_compat_module=$withval],
++ [use_compat_module=no]
++)
++
++COMPAT_DEFS="#undef LUA_COMPAT_ALL"
++if test "x$use_compat_module" == "xyes"; then
++ COMPAT_DEFS="#define LUA_COMPAT_5_1
++#define LUA_COMPAT_5_2"
++fi
++AC_SUBST(COMPAT_DEFS)
++
++AC_ARG_WITH(
+ [readline],
+ [AC_HELP_STRING([--with-readline], [Use readline for interpreter input [default=yes]])],
+ [use_readline=$withval],
+diff -up lua-5.2.2/src/luaconf.h.template.in.compat-module lua-5.2.2/src/luaconf.h.template.in
+--- lua-5.2.2/src/luaconf.h.template.in.compat-module 2013-05-10 10:25:42.586116963 -0400
++++ lua-5.2.2/src/luaconf.h.template.in 2013-05-10 10:26:29.957115269 -0400
+@@ -15,6 +15,7 @@
+ @LUA_DL_DEFS@
+ @LUA_BUILD_AS_DLL_DEFS@
+ @READLINE_DEFS@
++@COMPAT_DEFS@
+
+
+ /*
diff --git a/lua-5.4.0-beta-autotoolize.patch b/lua-5.4.0-beta-autotoolize.patch
new file mode 100644
index 0000000..2ff70f8
--- /dev/null
+++ b/lua-5.4.0-beta-autotoolize.patch
@@ -0,0 +1,192 @@
+diff -up lua-5.4.0-beta/configure.ac.autoxxx lua-5.4.0-beta/configure.ac
+--- lua-5.4.0-beta/configure.ac.autoxxx 2019-10-23 15:03:13.296916443 -0400
++++ lua-5.4.0-beta/configure.ac 2019-10-23 15:03:13.296916443 -0400
+@@ -0,0 +1,69 @@
++AC_PREREQ(2.59)
++AC_INIT([lua], [5.4.0], [https://bugzilla.redhat.com/], [lua-at], [http://www.lua.org])
++AC_SUBST([MAJOR_VERSION], [5.4])
++
++AC_CONFIG_HEADERS([config.h])
++AC_CONFIG_SRCDIR([src/lapi.c])
++
++AM_INIT_AUTOMAKE([1.9 foreign])
++
++AC_PROG_CC
++AC_PROG_LIBTOOL
++
++AC_ARG_WITH(
++ [readline],
++ [AC_HELP_STRING([--with-readline], [Use readline for interpreter input [default=yes]])],
++ [use_readline=$withval],
++ [use_readline=yes]
++)
++
++LUA_LIBS="-lm"
++
++# Check for readline
++READLINE_DEFS="#undef LUA_USE_READLINE"
++if test "x$use_readline" == "xyes"; then
++ AC_CHECK_LIB([readline], [readline], [:], [use_readline=no], [-lncurses])
++ AC_CHECK_HEADERS([readline/readline.h readline/history.h], [], [use_readline=no])
++ if test "x$use_readline" == "xno"; then
++ AC_MSG_WARN([readline headers could not be found, disabling readline support])
++ else
++ READLINE_DEFS="#define LUA_USE_READLINE"
++ READLINE_LIBS="-lreadline -lncurses"
++ fi
++fi
++AC_SUBST(READLINE_DEFS)
++AC_SUBST(READLINE_LIBS)
++
++case "$host" in
++ *-mingw*) use_os=win32 ;;
++ *-darwin*) use_os=macosx ;;
++ *) use_os=posix ;;
++esac
++
++POSIX_DEFS="#undef LUA_USE_POSIX"
++LUA_DL_DEFS="#undef LUA_USE_DLOPEN"
++LUA_BUILD_AS_DLL_DEFS="#undef LUA_BUILD_AS_DLL"
++
++if test "x$use_os" == "xwin32"; then
++ LUA_BUILD_AS_DLL_DEFS="#define LUA_BUILD_AS_DLL"
++elif test "x$use_os" == "xmacosx"; then
++ POSIX_DEFS="#define LUA_USE_POSIX"
++ LUA_DL_DEFS="#define LUA_DL_DYLD"
++elif test "x$use_os" == "xposix"; then
++ POSIX_DEFS="#define LUA_USE_POSIX"
++ LUA_DL_DEFS="#define LUA_DL_DLOPEN"
++ LUA_LIBS="$LUA_LIBS -ldl"
++fi
++AC_SUBST(POSIX_DEFS)
++AC_SUBST(LUA_DL_DEFS)
++AC_SUBST(LUA_BUILD_AS_DLL_DEFS)
++
++AC_SUBST(LUA_LIBS)
++
++AC_CONFIG_FILES([Makefile
++ src/Makefile
++ src/lua.pc
++ src/luaconf.h.template
++ doc/Makefile
++])
++AC_OUTPUT
+diff -up lua-5.4.0-beta/doc/Makefile.am.autoxxx lua-5.4.0-beta/doc/Makefile.am
+--- lua-5.4.0-beta/doc/Makefile.am.autoxxx 2019-10-23 15:03:13.296916443 -0400
++++ lua-5.4.0-beta/doc/Makefile.am 2019-10-23 15:03:13.296916443 -0400
+@@ -0,0 +1,4 @@
++man1_MANS = lua.1 luac.1
++
++EXTRA_DIST = \
++ contents.html logo.gif lua.1 luac.1 lua.css manual.css manual.html osi-certified-72x60.png readme.html
+diff -up lua-5.4.0-beta/Makefile.am.autoxxx lua-5.4.0-beta/Makefile.am
+--- lua-5.4.0-beta/Makefile.am.autoxxx 2019-10-23 15:03:13.296916443 -0400
++++ lua-5.4.0-beta/Makefile.am 2019-10-23 15:03:13.296916443 -0400
+@@ -0,0 +1,3 @@
++SUBDIRS = src doc
++
++EXTRA_DIST = README
+diff -up lua-5.4.0-beta/src/.gitignore.autoxxx lua-5.4.0-beta/src/.gitignore
+--- lua-5.4.0-beta/src/.gitignore.autoxxx 2019-10-23 15:03:13.297916423 -0400
++++ lua-5.4.0-beta/src/.gitignore 2019-10-23 15:03:13.296916443 -0400
+@@ -0,0 +1,5 @@
++lua
++lua.pc
++luac
++luaconf.h
++luaconf.h.template
+diff -up lua-5.4.0-beta/src/luaconf.h.template.in.autoxxx lua-5.4.0-beta/src/luaconf.h.template.in
+--- lua-5.4.0-beta/src/luaconf.h.template.in.autoxxx 2019-09-30 19:52:16.000000000 -0400
++++ lua-5.4.0-beta/src/luaconf.h.template.in 2019-10-23 15:05:45.139817627 -0400
+@@ -11,6 +11,11 @@
+ #include <limits.h>
+ #include <stddef.h>
+
++@POSIX_DEFS@
++@LUA_DL_DEFS@
++@LUA_BUILD_AS_DLL_DEFS@
++@READLINE_DEFS@
++
+
+ /*
+ ** ===================================================================
+@@ -227,9 +232,9 @@
+
+ #else /* }{ */
+
+-#define LUA_ROOT "/usr/local/"
+-#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/"
+-#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/"
++#define LUA_ROOT "@prefix@/"
++#define LUA_LDIR "@pkgdatadir@/lua/" LUA_VDIR "/"
++#define LUA_CDIR "@libdir@/lua/" LUA_VDIR "/"
+
+ #if !defined(LUA_PATH_DEFAULT)
+ #define LUA_PATH_DEFAULT \
+diff -up lua-5.4.0-beta/src/lua.pc.in.autoxxx lua-5.4.0-beta/src/lua.pc.in
+--- lua-5.4.0-beta/src/lua.pc.in.autoxxx 2019-10-23 15:03:13.297916423 -0400
++++ lua-5.4.0-beta/src/lua.pc.in 2019-10-23 15:03:13.297916423 -0400
+@@ -0,0 +1,13 @@
++V= @MAJOR_VERSION@
++R= @VERSION@
++prefix= @prefix@
++exec_prefix=${prefix}
++libdir= @libdir@
++includedir=${prefix}/include
++
++Name: Lua
++Description: An Extensible Extension Language
++Version: ${R}
++Requires:
++Libs: -llua @LUA_LIBS@
++Cflags: -I${includedir}
+diff -up lua-5.4.0-beta/src/Makefile.am.autoxxx lua-5.4.0-beta/src/Makefile.am
+--- lua-5.4.0-beta/src/Makefile.am.autoxxx 2019-10-23 15:03:13.297916423 -0400
++++ lua-5.4.0-beta/src/Makefile.am 2019-10-23 15:03:13.297916423 -0400
+@@ -0,0 +1,46 @@
++AM_CFLAGS = -Wall
++
++include_HEADERS = lua.h lualib.h lauxlib.h lua.hpp
++
++nodist_include_HEADERS = luaconf.h
++
++lib_LTLIBRARIES = liblua.la
++liblua_la_LDFLAGS = -release @MAJOR_VERSION@
++liblua_la_SOURCES = \
++ lapi.c lauxlib.c lbaselib.c lcode.c lcorolib.c lctype.c ldblib.c \
++ ldebug.c ldo.c ldump.c lfunc.c lgc.c linit.c liolib.c llex.c lmathlib.c lmem.c \
++ loadlib.c lobject.c lopcodes.c loslib.c lparser.c lstate.c lstring.c lstrlib.c \
++ ltable.c ltablib.c ltm.c lundump.c lutf8lib.c lvm.c lzio.c \
++ lapi.h lcode.h lctype.h ldebug.h ldo.h lfunc.h lgc.h llex.h llimits.h \
++ lmem.h lobject.h lopcodes.h lparser.h lstate.h lstring.h ltable.h ltm.h \
++ lundump.h lvm.h lzio.h
++
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = lua.pc
++
++bin_PROGRAMS = lua luac
++
++lua_SOURCES = lua.c
++lua_LDADD = liblua.la @LUA_LIBS@ @READLINE_LIBS@
++lua_DEPENDENCIES = liblua.la
++
++luac_SOURCES = luac.c
++# Statically link liblua against luac since luac uses symbols not exported in liblua
++luac_LDADD = .libs/liblua.a @LUA_LIBS@
++luac_DEPENDENCIES = liblua.la
++
++EXTRA_DIST = luaconf.h.template
++BUILT_SOURCES = luaconf.h
++CLEANFILES = luaconf.h luaconf.h.template
++
++readline_defs = @READLINE_DEFS@
++
++edit = sed \
++ -e 's,%prefix%,$(prefix),g' \
++ -e 's,%lua_datadir%,$(datadir),g' \
++ -e 's,%lua_libdir%,$(libdir),g'
++
++luaconf.h : luaconf.h.template
++ rm -f $@ $@.tmp
++ $(edit) $< >$@.tmp
++ mv $@.tmp $@
diff --git a/lua-5.4.6-idsize.patch b/lua-5.4.6-idsize.patch
new file mode 100644
index 0000000..a97688d
--- /dev/null
+++ b/lua-5.4.6-idsize.patch
@@ -0,0 +1,14 @@
+diff --git a/src/luaconf.h.template.in b/src/luaconf.h.template.in
+index 1e32333..601d10e 100644
+--- a/src/luaconf.h.template.in
++++ b/src/luaconf.h.template.in
+@@ -762,7 +762,7 @@
+ ** of a function in debug information.
+ ** CHANGE it if you want a different size.
+ */
+-#define LUA_IDSIZE 60
++#define LUA_IDSIZE 512
+
+
+ /*
+
diff --git a/lua.attr b/lua.attr
new file mode 100644
index 0000000..a433266
--- /dev/null
+++ b/lua.attr
@@ -0,0 +1,19 @@
+%__lua_requires() %{lua:
+ -- Match buildroot paths of the form
+ -- /PATH/OF/BUILDROOT/usr/lib(64)/lua/MAJOR.MINOR/ and
+ -- /PATH/OF/BUILDROOT/usr/share/pythonMAJOR.MINOR/
+ -- generating a line of the form:
+ -- lua(abi) = MAJOR.MINOR
+ local path = rpm.expand('%1')
+ local datadir = rpm.expand('%_datadir')
+ local libdir = rpm.expand('%_libdir')
+ for i, dir in ipairs({datadir, libdir}) do
+ if path:match(dir .. '/lua/%d+%.%d+/.*') then
+ local requires = path:gsub('.*' .. dir .. '/lua/(%d+%.%d+)/.*', 'lua(abi) = %1')
+ print(requires)
+ break
+ end
+ end
+}
+
+%__lua_path ^(%{_datadir}|%{_libdir})/lua/[[:digit:]]+\\.[[:digit:]]+/.+
diff --git a/lua.spec b/lua.spec
new file mode 100644
index 0000000..ad15c9f
--- /dev/null
+++ b/lua.spec
@@ -0,0 +1,169 @@
+%global major_version 5.4
+
+Name: lua
+Version: 5.4.7
+Release: 1
+Summary: A powerful, efficient, lightweight, embeddable scripting language
+License: MIT
+URL: https://www.lua.org/
+Source0: https://www.lua.org/ftp/lua-%{version}.tar.gz
+Source1: https://www.lua.org/tests/lua-%{version}-tests.tar.gz
+# Source2, Source100,Patch0~3 from https://koji.fedoraproject.org/koji/buildinfo?buildID=1113624
+# multilib
+Source2: luaconf.h
+# copied from doc/readme.html on 2019-09-11
+Source3: mit.txt
+# rpm-macro
+Source1000: macros.lua
+Source1001: lua.attr
+Patch0: lua-5.4.0-beta-autotoolize.patch
+Patch1: lua-5.4.6-idsize.patch
+Patch2: lua-5.2.2-configure-linux.patch
+Patch3: lua-5.3.0-configure-compat-module.patch
+
+BuildRequires: automake autoconf libtool readline-devel ncurses-devel
+
+Obsoletes: %{name}-libs < %{version}-%{release}
+Provides: lua(abi) = %{major_version}
+Provides: %{name}-libs = %{version}-%{release}
+
+%description
+Lua is a powerful, efficient, lightweight, embeddable scripting language.
+It supports procedural programming, object-oriented programming,
+functional programming, data-driven programming, and data description.
+
+%package devel
+Summary: Development files for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Obsoletes: %{name}-static < %{version}-%{release}
+Provides: %{name}-static = %{version}-%{release}
+Provides: lua-rpm-macros = %{version}-%{release}
+Provides: lua-srpm-macros = %{version}-%{release}
+
+%description devel
+This package contains development files for %{name}.
+
+%package_help
+
+%prep
+%setup -qn %{name}-%{version} -a 1
+cp %{S:3} .
+mv src/luaconf.h src/luaconf.h.template.in
+%autopatch -p1
+
+# Put proper version in configure.ac, patch0 hardcodes 5.3.0
+sed -i 's|5.3.0|%{version}|g' configure.ac
+autoreconf -ifv
+
+%build
+%configure --with-readline --with-compat-module
+%disable_rpath
+# Autotools give me a headache sometimes.
+sed -i 's|@pkgdatadir@|%{_datadir}|g' src/luaconf.h.template
+
+%make_build
+
+%install
+%make_install
+%delete_la
+mkdir -p %{buildroot}/%{_libdir}/lua/%{major_version}
+mkdir -p %{buildroot}/%{_datadir}/lua/%{major_version}
+
+# Rename luaconf.h to luaconf-<arch>.h to avoid file conflicts on
+# multilib systems and install luaconf.h wrapper
+mv %{buildroot}%{_includedir}/luaconf.h %{buildroot}%{_includedir}/luaconf-%{_arch}.h
+install -p -m 644 %{S:2} %{buildroot}%{_includedir}/luaconf.h
+
+# Install rpm-macro
+mkdir -p %{buildroot}%{rpmmacrodir}
+install -pm 644 %{S:1000} %{buildroot}%{rpmmacrodir}/macros.lua
+mkdir -p %{buildroot}/%{_fileattrsdir}
+install -Dpm 0644 %{S:1001} %{buildroot}/%{_fileattrsdir}/lua.attr
+
+%check
+cd ./lua-%{version}-tests/
+
+# Removing tests that fail under mock/koji
+sed -i.orig -e '
+ /db.lua/d;
+ /errors.lua/d;
+ ' all.lua
+LD_LIBRARY_PATH=$RPM_BUILD_ROOT/%{_libdir} $RPM_BUILD_ROOT/%{_bindir}/lua -e"_U=true" all.lua
+
+%files
+%license mit.txt
+%{_bindir}/lua
+%{_bindir}/luac
+%dir %{_libdir}/lua
+%dir %{_libdir}/lua/%{major_version}
+%dir %{_datadir}/lua
+%dir %{_datadir}/lua/%{major_version}
+%{_libdir}/liblua-%{major_version}.so
+%{_libdir}/liblua.so
+
+%files devel
+%{_includedir}/l*.h
+%{_includedir}/l*.hpp
+%{_libdir}/pkgconfig/*.pc
+%{_libdir}/*.a
+%{rpmmacrodir}/macros.lua
+%{_fileattrsdir}/lua.attr
+
+%files help
+%doc README doc/*.html doc/*.css doc/*.gif doc/*.png
+%{_mandir}/man1/lua*.1*
+
+%changelog
+* Sat Sep 28 2024 Funda Wang <fundawang@yeah.net> - 5.4.7-1
+- update to version 5.4.7
+
+* Wed Jun 14 2023 yanglongkang <yanglongkang@h-partners.com> - 5.4.6-1
+- upgrade to version 5.4.6
+
+* Thu Jan 19 2023 hubin <hubin73@huawei.com> - 5.4.4-1
+- upgrade to version 5.4.4
+
+* Mon Dec 26 2022 liyanan <liyanan32@h-partners.com> - 5.4.3-10
+- add support for LoongArch
+
+* Wed Sep 21 2022 renhongxun <renhongxun@h-partners.com> - 5.4.3-9
+- bugfix with upstream patch
+
+* Fri Aug 19 2022 shixuantong <shixuantong@h-partners.com> - 5.4.3-8
+- fix CVE-2021-44964
+
+* Mon Jul 18 2022 renhongxun <renhongxun@h-partners.com> - 5.4.3-7
+- fix CVE-2022-33099
+
+* Fri Apr 15 2022 shixuantong <shixuantong@h-partners.com> - 5.4.3-6
+- fix CVE-2021-44647 CVE-2022-28805
+
+* Thu Apr 14 2022 shixuantong <shixuantong@h-partners.com> - 5.4.3-5
+- fix CVE-2021-43519 patch error
+
+* Fri Apr 01 2022 shixuantong <shixuantong@h-partners.com> - 5.4.3-4
+- fix CVE-2021-43519
+
+* Thu Jan 13 2022 shixuantong <shixuantong@huawei.com> - 5.4.3-3
+- delete liblua-5.3.so file
+
+* Thu Dec 30 2021 liudabo <liudabo1@huawei.com> - 5.4.3-2
+- add liblua-5.3.so file
+
+* Wed Dec 29 2021 liudabo <liudabo1@huawei.com> - 5.4.3-1
+- update version to 5.4.3
+
+* Sat Aug 8 2020 shenyangyang <shenyangyang4@huawei.com> - 5.3.5-6
+- delete unneeded provides
+
+* Sat Aug 8 2020 shenyangyang <shenyangyang4@huawei.com> - 5.3.5-5
+- downgrade version to 5.3.5
+
+* Sat Aug 1 2020 xinghe <xinghe1@huawei.com> - 5.4.0-1
+- update version to 5.4.0
+
+* Fri Oct 11 2019 openEuler Buildteam <buildteam@openeuler.org> - 5.3.5-4
+- Package rebuild
+
+* Tue Sep 10 2019 openEuler Buildteam <buildteam@openeuler.org> - 5.3.5-3
+- Package init
diff --git a/luaconf.h b/luaconf.h
new file mode 100644
index 0000000..f7ebe97
--- /dev/null
+++ b/luaconf.h
@@ -0,0 +1,63 @@
+/*
+ * This luaconf.h is a wrapper include file for the original luaconf.h,
+ * which has been renamed to luaconf-<arch>.h. There are conflicts for the
+ * original luaconf.h on multilib systems, which result from arch-specific
+ * configuration options. Please do not use the arch-specific file directly.
+ *
+ * Copyright (C) 2015 Tom Callaway <spot@fedoraproject.org>
+ */
+
+/**
+ * \file luaconf.h
+ */
+
+#ifdef luaconf_wrapper_h
+#error "luaconf_wrapper_h should not be defined!"
+#endif
+#define luaconf_wrapper_h
+
+#if defined(__i386__)
+#include "luaconf-i386.h"
+#elif defined(__ia64__)
+#include "luaconf-ia64.h"
+#elif defined(__powerpc64__)
+# if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#include "luaconf-ppc64.h"
+# else
+#include "luaconf-ppc64le.h"
+# endif
+#elif defined(__powerpc__)
+#include "luaconf-ppc.h"
+#elif defined(__s390x__)
+#include "luaconf-s390x.h"
+#elif defined(__s390__)
+#include "luaconf-s390.h"
+#elif defined(__x86_64__)
+#include "luaconf-x86_64.h"
+#elif defined(__arm__)
+#include "luaconf-arm.h"
+#elif defined(__alpha__)
+#include "luaconf-alpha.h"
+#elif defined(__sparc__) && defined (__arch64__)
+#include "luaconf-sparc64.h"
+#elif defined(__sparc__)
+#include "luaconf-sparc.h"
+#elif defined(__aarch64__)
+#include "luaconf-aarch64.h"
+#elif defined(__mips64) && defined(__MIPSEL__)
+#include "luaconf-mips64el.h"
+#elif defined(__mips64)
+#include "luaconf-mips64.h"
+#elif defined(__mips) && defined(__MIPSEL__)
+#include "luaconf-mipsel.h"
+#elif defined(__mips)
+#include "luaconf-mips.h"
+#elif defined(__riscv)
+#include "luaconf-riscv64.h"
+#elif defined(__loongarch64)
+#include "luaconf-loongarch64.h"
+#else
+#error "The lua-devel package is not usable with the architecture."
+#endif
+
+#undef luaconf_wrapper_h
diff --git a/macros.lua b/macros.lua
new file mode 100644
index 0000000..9d9ab28
--- /dev/null
+++ b/macros.lua
@@ -0,0 +1,8 @@
+%lua_version %{lua: print(string.sub(_VERSION, 5))}
+
+%lua_libdir %{_libdir}/lua/%{lua_version}
+%lua_pkgdir %{_datadir}/lua/%{lua_version}
+
+%lua_requires \
+Requires: lua(abi) = %{lua_version} \
+%{nil}
diff --git a/mit.txt b/mit.txt
new file mode 100644
index 0000000..e55d04d
--- /dev/null
+++ b/mit.txt
@@ -0,0 +1,19 @@
+Copyright (c) 1994-2017 Lua.org, PUC-Rio.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/sources b/sources
new file mode 100644
index 0000000..af929a8
--- /dev/null
+++ b/sources
@@ -0,0 +1,2 @@
+5fcf34336004f83de447c79958ea678e lua-5.4.7-tests.tar.gz
+fc3f3291353bbe6ee6dec85ee61331e8 lua-5.4.7.tar.gz