Compare commits

...
Sign in to create a new pull request.

6 commits

Author SHA1 Message Date
Andreas Schneider
3ba0d112d9 Add support for s390x 2024-03-06 15:29:49 +01:00
Andreas Schneider
3f3aab3ba8 Update to version 2.1.1707061634 2024-02-26 09:46:14 +01:00
Fedora Release Engineering
af3dab9491 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-02-26 09:46:12 +01:00
Fedora Release Engineering
088d67d7dd Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-02-26 09:46:10 +01:00
Andreas Schneider
9aeb9b6152 Always run tests
This also uses symlinks for test and bench directory from the
LuaJIT-test-cleanup repository.
2023-08-29 09:06:33 +02:00
Andreas Schneider
6d605778df Update to latest luajit rolling release 2023-08-26 21:16:23 +02:00
8 changed files with 7288 additions and 229406 deletions

3
.gitignore vendored
View file

@ -3,3 +3,6 @@
/LuaJIT-2.0.4.tar.gz
/LuaJIT-2.1.0-beta2.tar.gz
/LuaJIT-2.1.0-beta3.tar.gz
/LuaJIT-2.1.1692716794.tar.gz
/LuaJIT-test-cleanup.tar.gz
/LuaJIT-2.1.1707061634.tar.gz

File diff suppressed because it is too large Load diff

157
luajit-2.1-make-check.patch Normal file
View file

@ -0,0 +1,157 @@
From fdd83775c8e0e6a4e0ffd30dacd0b841bd243820 Mon Sep 17 00:00:00 2001
From: Siddhesh Poyarekar <siddhesh@sourceware.org>
Date: Thu, 21 Oct 2021 11:04:58 +0200
Subject: [PATCH] Update Makefile to run LuaJIT-test-cleanup
The tests and benchmarks in the LuaJIT-test-cleanup repo are more or
less complete and with scaffolding added, they can now be called
seamlessly from within the luajit sources using `make check` and `make
bench` respectively.
---
Makefile | 17 ++++++++++++---
bench/Makefile | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 70 insertions(+), 3 deletions(-)
create mode 100644 bench/Makefile
Index: LuaJIT-2.1/Makefile
===================================================================
--- LuaJIT-2.1.orig/Makefile 2023-08-29 08:35:57.939200606 +0200
+++ LuaJIT-2.1/Makefile 2023-08-29 08:40:59.284925468 +0200
@@ -118,14 +118,14 @@ endif
##############################################################################
-INSTALL_DEP= src/luajit
+LUAJIT_BIN= src/luajit
default all $(INSTALL_DEP):
@echo "==== Building LuaJIT $(MMVERSION) ===="
$(MAKE) -C src
@echo "==== Successfully built LuaJIT $(MMVERSION) ===="
-install: $(INSTALL_DEP)
+install: $(LUAJIT_BIN)
@echo "==== Installing LuaJIT $(VERSION) to $(PREFIX) ===="
$(MKDIR) $(INSTALL_DIRS)
cd src && $(INSTALL_X) $(FILE_T) $(INSTALL_T)
@@ -158,6 +158,17 @@ uninstall:
$(RMDIR) $(UNINSTALL_DIRS) || :
@echo "==== Successfully uninstalled LuaJIT $(VERSION) from $(PREFIX) ===="
+check: $(LUAJIT_BIN)
+ @echo "==== Running tests for LuaJIT $(VERSION) ===="
+ $^ test/test.lua
+ @echo "==== All tests for LuaJIT $(VERSION) succeeded ===="
+
+# It is assumed that libluajit.a is built in the process of building LUAJIT_BIN.
+bench: $(LUAJIT_BIN)
+ @echo "==== Running benchmark for LuaJIT $(VERSION) ===="
+ make -C bench FILE_A=$(FILE_A)
+ @echo "==== Successfully finished running benchmark for LuaJIT $(VERSION) ===="
+
##############################################################################
amalg:
@@ -168,6 +179,6 @@ amalg:
clean:
$(MAKE) -C src clean
-.PHONY: all install amalg clean
+.PHONY: all install amalg clean bench check
##############################################################################
Index: LuaJIT-2.1/bench/Makefile
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ LuaJIT-2.1/bench/Makefile 2023-08-29 08:36:28.443172755 +0200
@@ -0,0 +1,56 @@
+CC=gcc
+
+LUA_FILE_ARG = -a
+LUA_ARG = $(patsubst %.lua,%,$^)
+
+ifndef LUA_BIN
+BENCH_BIN = luajit-bench
+LUA_BIN_NAME = ./$(BENCH_BIN)
+else
+ifdef BENCH_DURATION
+BENCH_ARG = -t $(BENCH_DURATION)
+endif
+LUA_BIN_NAME = $(LUA_BIN) luajit-bench.lua $(BENCH_ARG)
+endif
+
+BENCHMARKS = array3d binary-trees chameneos coroutine-ring euler14-bit \
+ fannkuch fasta k-nucleotide life mandelbrot mandelbrot-bit md5 \
+ meteor nbody nsieve nsieve-bit nsieve-bit-fp partialsums \
+ pidigits-nogmp ray recursive-ack recursive-fib revcomp \
+ scimark-2010-12-20 scimark-fft scimark-lu series scimark-sparse \
+ scimark-sor spectral-norm sum-file
+
+# Specify benchmarks that need input files.
+INPUT-k-nucleotide = FASTA_1000000
+INPUT-revcomp = FASTA_1000000
+INPUT-sum-file = SUMCOL_1000
+
+input-file = $(INPUT-$(patsubst %.result,%,$@))
+input-file-arg = $(if $(input-file),$(LUA_FILE_ARG) $(input-file),)
+LUA_CMD = $(LUA_BIN_NAME) $(LUA_ARG) $(input-file-arg)
+
+bench_targets = $(patsubst %,%.result,$(BENCHMARKS))
+
+all: $(BENCH_BIN) $(bench_targets)
+
+%.result: %.lua
+ @$(LUA_CMD)
+
+ifndef LUA_BIN
+ifdef BENCH_DURATION
+DURATION = -DBENCH_DURATION=$(BENCH_DURATION)
+endif
+
+LUAJIT_A = ../src/$(FILE_A)
+
+$(BENCH_BIN): $(LUAJIT_A) $(BENCH_BIN).c Makefile
+ $(CC) $@.c -std=gnu11 $(DURATION) -g -O3 -c -o $@.o -I ../src
+ $(CC) $@.o -lpthread $< -lm -ldl -o $@
+
+# Build the luajit static library if it doesn't exist.
+$(LUAJIT_A):
+ make -C ..
+
+clean:
+ rm -f $(BENCH_BIN) main.o
+endif
Index: LuaJIT-2.1/LuaJIT-test-cleanup-master/test/lib/contents.lua
===================================================================
--- LuaJIT-2.1.orig/LuaJIT-test-cleanup-master/test/lib/contents.lua 2016-10-19 23:27:03.000000000 +0200
+++ LuaJIT-2.1/LuaJIT-test-cleanup-master/test/lib/contents.lua 2023-08-29 08:36:28.444172754 +0200
@@ -76,8 +76,9 @@ do --- 5.2 string +lua>=5.2
assert(not string.gfind)
end
+-- Adapted for latest changes
do --- pre-5.2 table +lua<5.2
- check(table, "concat:foreach:foreachi:getn:insert:maxn:remove:sort", "pack:unpack:setn:new")
+ check(table, "concat:foreach:foreachi:getn:insert:maxn:move:remove:sort", "pack:unpack:setn:new")
end
do --- 5.2 table +lua>=5.2
@@ -118,10 +119,17 @@ end
do --- pre-5.2 package +lua<5.2
assert(package.loaders)
- assert(not package.searchers)
assert(package.seeall)
end
+-- LuaJIT version check for lua will return true for +lua<5.2 since it
+-- does not fully implement 5.2. Move the (not package.searchers) check
+-- to +compat5.2 instead of the version check since it is implemented by
+-- compat5.2.
+do --- 5.2 compat package +compat5.2
+ assert(package.searchers)
+end
+
do --- 5.2 package +lua>=5.2
assert(not package.loaders)
assert(package.searchers)

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,25 +1,35 @@
%global rctag beta3
%global pkgname LuaJIT
%global luajit_version_major 2
%global luajit_version_minor 1
%global luajit_version_patch 1707061634
%global luajit_version %{luajit_version_major}.%{luajit_version_minor}.%{luajit_version_patch}
Name: luajit
Version: 2.1.0
Version: %{luajit_version}
%global apiver %(v=%{version}; echo ${v%.${v#[0-9].[0-9].}})
%global srcver %{version}%{?rctag:-%{rctag}}
Release: 0.28%{?rctag:%{rctag}}%{?dist}
Release: 2%{?dist}
Summary: Just-In-Time Compiler for Lua
License: MIT
URL: http://luajit.org/
Source0: http://luajit.org/download/LuaJIT-%{srcver}.tar.gz
URL: http://luajit.org
# LuaJIT is a rolling release, see http://luajit.org/status.html
# To update the tarball you can use the update_tarball.sh script
Source0: https://github.com/LuaJIT/LuaJIT/archive/refs/heads/v2.1/%{pkgname}-%{version}.tar.gz
Source1: https://github.com/LuaJIT/LuaJIT-test-cleanup/archive/refs/heads/master/LuaJIT-test-cleanup.tar.gz
Source2: update_tarball.sh
# Patches from https://github.com/LuaJit/LuaJIT.git
# Generated from v2.1 branch against the 2.1.0-beta3 tag using
# git diff v2.1.0-beta3..v2.1 > luajit-2.1-update.patch
Patch0: luajit-2.1-update.patch
# Add 'make check'
Patch0: luajit-2.1-make-check.patch
# Patches from https://github.com/cryptomilk/LuaJIT/commits/v2.1-fedora
# git format-patch --stdout -l1 --no-renames v2.1..v2.1-fedora > luajit-2.1-fedora.patch
# git format-patch --stdout -l1 --no-renames origin/v2.1..v2.1-fedora > luajit-2.1-fedora.patch
Patch1: luajit-2.1-fedora.patch
# If the patch doesn't apply, send a mail to:
# Ilya Leoshkevich <iii@de.ibm.com> or Andreas.Krebbel@de.ibm.com
# https://bugzilla.redhat.com/show_bug.cgi?id=2222911
Patch2: https://github.com/luajit/luajit/pull/631.patch#/luajit-2.1-s390x-support.patch
# ppc64le and s390x patchsets doesn't apply or build anymore
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
ExcludeArch: riscv64 ppc64 ppc64le
BuildRequires: gcc
BuildRequires: make
@ -37,7 +47,12 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
This package contains development files for %{name}.
%prep
%autosetup -n LuaJIT-%{srcver} -p1
%autosetup -p1 -n %{pkgname}-%{luajit_version_major}.%{luajit_version_minor} -a1
echo "%{luajit_version_patch}" > .relver
ln -s LuaJIT-test-cleanup-master/bench bench
ln -s LuaJIT-test-cleanup-master/test test
# Enable Lua 5.2 features
sed -i -e '/-DLUAJIT_ENABLE_LUA52COMPAT/s/^#//' src/Makefile
@ -45,6 +60,7 @@ sed -i -e '/-DLUAJIT_ENABLE_LUA52COMPAT/s/^#//' src/Makefile
# preserve timestamps (cicku)
sed -i -e '/install -m/s/-m/-p -m/' Makefile
%build
# Q= - enable verbose output
# E= @: - disable @echo messages
@ -66,26 +82,19 @@ cp -a doc _tmp_html/html
# Remove static .a
find %{buildroot} -type f -name *.a -delete -print
%if %{defined rctag}
# Development versions are not doing such symlink
ln -s %{name}-%{srcver} %{buildroot}%{_bindir}/%{name}
%endif
%ldconfig_scriptlets
%check
# Don't fail the build on a check failure.
make check || true
make check
%files
%license COPYRIGHT
%doc README
%{_bindir}/%{name}
%{_bindir}/%{name}-%{srcver}
%{_bindir}/%{name}-%{luajit_version}
%{_libdir}/lib%{name}-*.so.*
%{_mandir}/man1/%{name}.1*
%{_datadir}/%{name}-%{srcver}/
%{_datadir}/%{name}-%{luajit_version_major}.%{luajit_version_minor}/
%files devel
%doc _tmp_html/html/
@ -94,6 +103,23 @@ make check || true
%{_libdir}/pkgconfig/%{name}.pc
%changelog
* Fri Mar 01 2024 Andreas Schneider <asn@redhat.com> - 2.1.1707061634-2
- Add support for s390x
resolves: rhbz#2222911
* Thu Feb 22 2024 Andreas Schneider <asn@redhat.com> - 2.1.1707061634-1
- Update to version 2.1.1707061634
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.1692716794-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.1692716794-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Aug 26 2023 Andreas Schneider <asn@redhat.com> - 2.1.1692716794-1
- Update to rolling release version of luajit
- Adapted patches and cleaned up spec file
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-0.28beta3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild

View file

@ -1 +1,2 @@
SHA512 (LuaJIT-2.1.0-beta3.tar.gz) = c44e967a0f671ed32b55aee810bc8b3b63737a2d7363b8984ae1949b24f98dbb3f9be7c1e10239fdeb96a3e3c836f606342cbd61838cf9bcadb077443eb5bc12
SHA512 (LuaJIT-2.1.1707061634.tar.gz) = 5a370c3acef5f0c843ade2df3b8a0401f2ab1ba26e2cd01d564676c95ed51da4be389e37db726c385ba42b2bd62cf3df66d8f752676d89168d134a5020d1c82c
SHA512 (LuaJIT-test-cleanup.tar.gz) = a49baef3f27a157b3a2289dc3b10eec20befa5231a491a03d3393f280c6f73fa39893abb8e7e47c54e0341305ee3b320b8eb43af423c579781f108a040b62b57

50
update_tarball.sh Normal file
View file

@ -0,0 +1,50 @@
#!/bin/bash
LUAJIT_PKGNAME="LuaJIT"
LUAJIT_URL=$(rpmspec -P *.spec | awk '/Source0/ { print $NF }')
LUAJIT_TARBALL=$(basename $LUAJIT_URL)
LUAJIT_VERSION_MAJOR=$(awk '/%global luajit_version_major/ { print $NF }' *.spec)
LUAJIT_VERSION_MINOR=$(awk '/%global luajit_version_minor/ { print $NF }' *.spec)
LUAJIT_VERSION_PATCH=$(awk '/%global luajit_version_patch/ { print $NF }' *.spec)
LUAJIT_VERSION="${LUAJIT_VERSION_MAJOR}.${LUAJIT_VERSION_MINOR}.${LUAJIT_VERSION_PATCH}"
LUAJIT_PKGDIR="$(pwd)"
LUAJIT_TMPDIR=$(mktemp --tmpdir -d luajit-XXXXXXXX)
cleanup_tmpdir() {
popd 2>/dev/null || true
rm -rf "${LUAJIT_TMPDIR}"
}
trap cleanup_tmpdir SIGINT
cleanup_and_exit() {
cleanup_tmpdir
if test "$1" = 0 -o -z "$1" ; then
exit 0
else
exit "${1}"
fi
}
pushd "${LUAJIT_TMPDIR}" || cleanup_and_exit 1
wget "${LUAJIT_URL}"
tar xf ${LUAJIT_PKGNAME}-${LUAJIT_VERSION}.tar.gz
# commiter date, unix timestamp
LUAJIT_VERSION_PATCH_NEW=$(<${LUAJIT_PKGNAME}-${LUAJIT_VERSION_MAJOR}.${LUAJIT_VERSION_MINOR}/.relver)
LUAJIT_VERSION_NEW="${LUAJIT_VERSION_MAJOR}.${LUAJIT_VERSION_MINOR}.${LUAJIT_VERSION_PATCH_NEW}"
echo "LUAJIT_VERSION=${LUAJIT_VERSION_NEW}"
mv "${LUAJIT_PKGNAME}-${LUAJIT_VERSION}.tar.gz" "${LUAJIT_PKGDIR}/${LUAJIT_PKGNAME}-${LUAJIT_VERSION_NEW}.tar.gz"
echo
echo ">>> New tarball ${LUAJIT_PKGNAME}-${LUAJIT_VERSION_NEW}.tar.gz"
popd || cleanup_and_exit 1
echo
echo ">>> Update spec file with: %global luajit_version_patch ${LUAJIT_VERSION_PATCH_NEW}"
echo
cleanup_and_exit 0