From 4cbcc855382a06088e2f016f62cafdbcb7e40665 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 20 Mar 2022 00:40:44 +0000 Subject: gentoo resync : 20.03.2022 --- dev-lang/lua/Manifest | 7 + dev-lang/lua/files/lua-5.4.2-r2-make.patch | 99 ++++++++++++++ dev-lang/lua/lua-5.1.5-r107.ebuild | 157 ++++++++++++++++++++++ dev-lang/lua/lua-5.3.6-r3.ebuild | 206 +++++++++++++++++++++++++++++ dev-lang/lua/lua-5.4.2-r2.ebuild | 203 ++++++++++++++++++++++++++++ dev-lang/lua/lua-5.4.4.ebuild | 203 ++++++++++++++++++++++++++++ 6 files changed, 875 insertions(+) create mode 100644 dev-lang/lua/files/lua-5.4.2-r2-make.patch create mode 100644 dev-lang/lua/lua-5.1.5-r107.ebuild create mode 100644 dev-lang/lua/lua-5.3.6-r3.ebuild create mode 100644 dev-lang/lua/lua-5.4.2-r2.ebuild create mode 100644 dev-lang/lua/lua-5.4.4.ebuild (limited to 'dev-lang/lua') diff --git a/dev-lang/lua/Manifest b/dev-lang/lua/Manifest index e6ef584f16f9..8ceb048fdf44 100644 --- a/dev-lang/lua/Manifest +++ b/dev-lang/lua/Manifest @@ -6,13 +6,20 @@ AUX lua-5.1.4-test.patch 271 BLAKE2B 1b8d2fd524d34fce99315d03232984a3cd1ad74fb23 AUX lua-5.1.5-make.patch 3079 BLAKE2B cf9b72afd8e08ea23256364f321d49427661de8353f7655b9da3de1ef943125ae86cf1a7aab9f1c459e51063031eb1105b7703ad9e1aee90a848497b58addb12 SHA512 92a1c890e40a8bd621dad4a18fc890850027c4a5a239b8259ef3002ad4835a7a11069ca964a62a096cd651a688b60f5f261c1223e4ac7981e7a8bb43788634ff AUX lua-5.3.6-make.patch 2830 BLAKE2B 9d3ea717531d93d7f7618335f503528e629aa3582392c49e340b6909860a51e30371530ea06ef1ed81cc4bde4a294e1d6732662703f646a7a3f727159dc83fed SHA512 5d5f0a02f2e11cb7965702ffb2f65c0f19184ae4e27c28e57a100c35e8972e2fba419999af63b65b0f031880dda7851816cef126088ddb105b29d401d03e1132 AUX lua-5.4.2-make.patch 3179 BLAKE2B 68e9af77c2f5931234eefbe953ff127c3b32bdfa67917075435531d43672304e599e706dba2012cf6a13645803b611bee437f2f28137ed0daff9fdfc4afc4b79 SHA512 09cfcea9b736ef90d035a1d2bd7480b813edd99aa7c5ecd4b52a9fbd2bf479623db6045be89642bd3867b5ca143c5640c53a7d72951b33ab4832b9a6323a88b7 +AUX lua-5.4.2-r2-make.patch 3161 BLAKE2B b9b87229c2098bdcd4a1c2622417176fa21b0fc8e35223f5f753f384c028ba30a74049c05d05828357102cc9a07674bf1c881506593f54adb75aeb1e669c8005 SHA512 b75564f98254ab76b3d278210fd112d8a7949e208d15c58d6134b5331d498638662cead48c873a1d202bb83eaf05580b3a18efe8a03f08d657e4005ed3f8dee2 AUX lua.pc 658 BLAKE2B 580504c8162c9cbde35b4a817c688b955cad1a35b1c21ed527488eda6e7cf78dfa81fa8b100737cf9ad620d34d94eceec01ba09e4fab0b121c5e4c673677cd3f SHA512 cb476ea6dd004a9aa0094cfc219d1888c5f578b44968a960acf1f2f32783a8e4d770bb033fb1ab4851f225188bbdd434b5d239718cae2c2c35f5b5f124a722ca DIST lua-5.1.5.tar.gz 221213 BLAKE2B 915eb8e8c9d7e460eacf1d7a59309c60dfc0f5d9d3d76fbc9764e7cae85920b95096db1c27b69ac53378a145c29efde403e88166a1332a67150d9d3a897aba02 SHA512 0142fefcbd13afcd9b201403592aa60620011cc8e8559d4d2db2f92739d18186860989f48caa45830ff4f99bfc7483287fd3ff3a16d4dec928e2767ce4d542a9 DIST lua-5.3.4-tests.tar.gz 103438 BLAKE2B ac82708022e7729039111c3df4fe24302c8d0efb224afb4828871ac085a3d64c41d674a6f9369035de01ed1f7f75a3d2ce16917f37e774e923216aac0be03e09 SHA512 79575d100a2efabc8243f55b55d912443e09ef7e8b0219cb93541d85c2ba802fb9538015e1228703f09ca57bdb28a640a8f1fa0735716ba1e4bca2179c712dfb DIST lua-5.3.6.tar.gz 303770 BLAKE2B 07c37c56f43095a4f6ca8eb8b3adf19afd53107c02b62b2bcb3619565cb2100d5f823493eef93092d5e312b30fc28885a6d9e8f0ba5a23b5bed86dc4515a5d61 SHA512 ccc380d5e114d54504de0bfb0321ca25ec325d6ff1bfee44b11870b660762d1a9bf120490c027a0088128b58bb6b5271bbc648400cab84d2dc22b512c4841681 DIST lua-5.4.2-tests.tar.gz 128901 BLAKE2B 10e4f0e8760f9cbd4761fa26665008ae7412539f79a6a7687029808f08f0ae4a24721e787e2e87e5080c16e9dcce8577a7a39ddc6d3e483a3cfe11756139594e SHA512 1516c59deca211c38444bbf97b18e988e939209b03915d3691d756eeed31b52e8d3a1f05b71ac0b561965274c7b6f3afc4244cd2e9069995696e737e2d9dd40b DIST lua-5.4.2.tar.gz 353472 BLAKE2B 7e0e642684df635ed1c48db45989e86a2638024e30a170addf700b0c7d32276f1eaef80898539c671039c20cb0bed4861b12c58f4b8211653a17e89bad278d87 SHA512 9454a6ffd973598f2f4a2399834c31c4d5090bd12e716776e3189aa57760319d114ee64a8338bbc2ef5e08150bf0adc2ad94a1b2677f38538a43359969d4d920 +DIST lua-5.4.4-tests.tar.gz 134094 BLAKE2B 63f5888a506f504f849fb2000cf551960df8eca3107601dcc8243e8ea5a1b13a70bff7dea4aebe3ab35b7e9df58c2ca44a7a27aa4de82240877eb8d7a017642e SHA512 08b3d764b3f362a2cddf5a23e71b16eea96a234a970fa0048bab358ebbd77f99d9bd132af12254383c5bb5426516e1ce2107e529e88d3963869255f5a41198ef +DIST lua-5.4.4.tar.gz 360876 BLAKE2B 8747ef5c83bd4c54b73eeaad6991ab5fccc54ee000973afd9cf3367b8945f03c54e843ec88c48043003cd9d3b42281c593cb485b7165add2744cfea06d8b7668 SHA512 af0c35d5ba00fecbb2dd617bd7b825edf7418a16a73076e04f2a0df58cdbf098dc3ff4402e974afd789eb5d86d2e12ec6df9c84b99b23656ea694a85f83bcd21 EBUILD lua-5.1.5-r106.ebuild 4034 BLAKE2B 854878c2829b16de02a0cf011b1b35b22f130095c2e671e755a1a23153a27a612a8c9ec5443b97c550e98396d9845e49245832e8ce655334692a6ec77495dc88 SHA512 294a4daad1aaafbdbaf841a9f9e6ba1d0bbb0892138ce065188e2b4e7cfb7a85ca4a88b069862d0f339617ff0b7ce97d119db06736ea4609ea2801cb57f2967e +EBUILD lua-5.1.5-r107.ebuild 4238 BLAKE2B de88ceeff06d9c0e16c3df5175b8924d0929d1c0beec10801f6c7da0621746573f482b5db08198d2f8c809c071b3de6501ae820f85f073ec8089f93996041ea0 SHA512 ced7edb2eb12f701bcdc32d70629a7343481040008b5ee0ddf246fa3d9739da1bf1cfa269643ff867511275aa0de63cbead58d8297fd8063e1129a6731cf5898 EBUILD lua-5.3.6-r2.ebuild 5752 BLAKE2B 88d746cbe0643295ebacca48b1343acf3c1ddce29b9249df65e498cac970221adb15841b978d7ed16b78a503f107d307f3a6e6b1dec5f2ab7f0a086a65d8054e SHA512 eb9a993fd34799b95ae6fe7d9ee6cc2b05f8298ed0c91546561cd4683a4c57c9c74786ce0950f4b82cd96c4e7d663400bacda9b8734bd440abbc3d312891c428 +EBUILD lua-5.3.6-r3.ebuild 5956 BLAKE2B 3034c8c8497122306230252168723566e1ff978ffd3b0ea233758744dd63b8a6daa6ede7e3855f37f1fb0277c7989fc63540f04da9d5d3cbeca481f486421f43 SHA512 7486afa140d5646bac59249084f34da78510f0ca173a1ec7006376b603c765210d994e181955494e6af6a352986fa52fa351d8e65f7b4cf9879950653d5ecaca EBUILD lua-5.4.2-r1.ebuild 5698 BLAKE2B 389a70fdbbea2c66d3c4c45471e67775c106bffbbf622cbddeb6803fef6b88da5debecc3c2107b23e4b33c417eec4649388b6c7f575f7b8926b5947edc284479 SHA512 eeafbd5447750b6ee1f32f11edaff20365dcfba88ab21d19c14e3049b896cb9f44c826e4e59a969e244b53cc3f8a3dfff7aea8adcfdb7124c2b4168bd57b2336 +EBUILD lua-5.4.2-r2.ebuild 5905 BLAKE2B 427d512b784ab7d9e7e2c4711f2493e36390c5921d95d387403ab9cc7896da56588ab5b7f0aa9cf32b8be514bc7822bc55567dbcd48a11821adf9f46247b8eac SHA512 963a014a6e1906f7ef94fefee1f1a9414b997a653d20611604a175b61ebb0f30ff06cade839f43e0059425c07af185738bd43ae3b8b29de64942ee69cbdd7195 +EBUILD lua-5.4.4.ebuild 5905 BLAKE2B 5fb3231f1651b731c355b46f6c596fb8788211fed3049aeec6ae59ae974e2564fec0043bc1a208e69d6f5fca3aa54c2bf6f314f79b6bf193d1accb2c28181565 SHA512 3d741849061484f473fa72e849f44f838a2866047e16beedca9af144a52ed19fd50dc601b54a37374886c40b74ef5c2f1d44ddb5cc62e945928d1b9907071066 MISC metadata.xml 525 BLAKE2B cd450b981b7ae039f32a0c6484548c59eff8d9c032975c84ef9b5530219413f7ff7a95d66593da6252c08808189cc61f02fbef88efe36f71dc64d9aec3c0e90e SHA512 4f127caf48df93a75b562f516e3a522ae3edcc601f434b2d034d76b106cbfd96848e6898bdc850acf757101843696e44da9ab1f42292e96bd294c30b631ccaa8 diff --git a/dev-lang/lua/files/lua-5.4.2-r2-make.patch b/dev-lang/lua/files/lua-5.4.2-r2-make.patch new file mode 100644 index 000000000000..d14aa40df0a0 --- /dev/null +++ b/dev-lang/lua/files/lua-5.4.2-r2-make.patch @@ -0,0 +1,99 @@ +diff --git a/Makefile b/Makefile +index 1797df9..90284d8 100644 +--- a/Makefile ++++ b/Makefile +@@ -10,11 +10,11 @@ PLAT= guess + # so take care if INSTALL_TOP is not an absolute path. See the local target. + # You may want to make INSTALL_LMOD and INSTALL_CMOD consistent with + # LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h. +-INSTALL_TOP= /usr/local ++INSTALL_TOP= /usr + INSTALL_BIN= $(INSTALL_TOP)/bin +-INSTALL_INC= $(INSTALL_TOP)/include ++INSTALL_INC= $(INSTALL_TOP)/include/lua$V + INSTALL_LIB= $(INSTALL_TOP)/lib +-INSTALL_MAN= $(INSTALL_TOP)/man/man1 ++INSTALL_MAN= $(INSTALL_TOP)/share/man/man1 + INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V + INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V + +@@ -104,3 +104,18 @@ pc: + .PHONY: all $(PLATS) help test clean install uninstall local dummy echo pc + + # (end of Makefile) ++ ++# Use libtool for binary installs, etc. ++ ++export V ++export LIBTOOL = libtool --quiet --tag=CC ++# See libtool manual about how to set this ++ ++gentoo_clean: ++ cd src; $(MAKE) $@ ++ ++gentoo_install: ++ mkdir -p $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) ++ cd src; $(LIBTOOL) --mode=install $(INSTALL_EXEC) lua$V luac$V $(INSTALL_BIN) ++ cd src; $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) ++ cd src; $(LIBTOOL) --mode=install $(INSTALL_DATA) liblua$V.la $(INSTALL_LIB) +diff --git a/src/Makefile b/src/Makefile +index 514593d..8af8f99 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -37,10 +37,10 @@ CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem + LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o + BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS) + +-LUA_T= lua ++LUA_T= lua$V + LUA_O= lua.o + +-LUAC_T= luac ++LUAC_T= luac$V + LUAC_O= luac.o + + ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O) +@@ -60,10 +60,10 @@ $(LUA_A): $(BASE_O) + $(AR) $@ $(BASE_O) + $(RANLIB) $@ + +-$(LUA_T): $(LUA_O) $(LUA_A) ++origin$(LUA_T): $(LUA_O) $(LUA_A) + $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) + +-$(LUAC_T): $(LUAC_O) $(LUA_A) ++origin$(LUAC_T): $(LUAC_O) $(LUA_A) + $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) + + test: +@@ -218,3 +218,30 @@ lzio.o: lzio.c lprefix.h lua.h luaconf.h llimits.h lmem.h lstate.h \ + lobject.h ltm.h lzio.h + + # (end of Makefile) ++ ++export LIBTOOL = libtool --quiet --tag=CC ++export LIB_VERSION = 6:1:1 ++ ++# The following rules use libtool for compiling and linking in order to ++# provide shared library support. ++ ++LIB_NAME = liblua$V.la ++LIB_OBJS = $(CORE_O:.o=.lo) $(LIB_O:.o=.lo) ++ ++%.lo %.o: %.c ++ $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $< ++ ++$(LIB_NAME): $(LIB_OBJS) ++ $(LIBTOOL) --mode=link $(CC) -version-info $(LIB_VERSION) \ ++ -rpath $(RPATH) $(LDFLAGS) -o $(LIB_NAME) $(LIB_OBJS) $(LIB_LIBS) ++ ++$(LUA_T): $(LUA_O:.o=.lo) $(LIB_NAME) ++ $(LIBTOOL) --mode=link $(CC) -static -export-dynamic $(LDFLAGS) -o $@ $(LUA_O:.o=.lo) $(LIB_NAME) $(LUA_LIBS) ++ ++$(LUAC_T): $(LUAC_O:.o=.lo) $(LIB_NAME) ++ $(LIBTOOL) --mode=link $(CC) -static $(LDFLAGS) -o $@ $(LUAC_O:.o=.lo) $(LIB_NAME) ++ ++gentoo_clean: ++ $(LIBTOOL) --mode=clean $(RM) $(ALL_O:.o=.lo) $(LIB_NAME) lua$V luac$V ++ ++gentoo_all: $(LIB_NAME) $(LUA_T) $(LUAC_T) diff --git a/dev-lang/lua/lua-5.1.5-r107.ebuild b/dev-lang/lua/lua-5.1.5-r107.ebuild new file mode 100644 index 000000000000..5fb8942422b8 --- /dev/null +++ b/dev-lang/lua/lua-5.1.5-r107.ebuild @@ -0,0 +1,157 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit multilib multilib-minimal portability toolchain-funcs + +DESCRIPTION="A powerful light-weight programming language designed for extending applications" +HOMEPAGE="https://www.lua.org/" +SRC_URI="https://www.lua.org/ftp/${P}.tar.gz" + +LICENSE="MIT" +SLOT="5.1" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+deprecated readline" + +COMMON_DEPEND=" + >=app-eselect/eselect-lua-3 + readline? ( >=sys-libs/readline-6.2_p5-r1:0=[${MULTILIB_USEDEP}] ) + !dev-lang/lua:0" +# Cross-compiling note: +# Must use libtool from the target system (DEPEND) because +# libtool from the build system (BDEPEND) is for building +# native binaries. +DEPEND=" + ${COMMON_DEPEND} + sys-devel/libtool" +RDEPEND="${COMMON_DEPEND}" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/lua${SLOT}/luaconf.h +) + +src_prepare() { + PATCHES=( + "${FILESDIR}/lua-5.1.5-make.patch" + "${FILESDIR}/${PN}-$(ver_cut 1-2)-module_paths.patch" + ) + if ! use deprecated ; then + # patches from 5.1.4 still apply + PATCHES+=( + "${FILESDIR}"/${PN}-5.1.4-deprecated.patch + "${FILESDIR}"/${PN}-5.1.4-test.patch + ) + fi + if ! use readline ; then + PATCHES+=( + "${FILESDIR}"/${PN}-$(ver_cut 1-2)-readline.patch + ) + fi + + default + + # use glibtool on Darwin (versus Apple libtool) + if [[ ${CHOST} == *-darwin* ]] ; then + sed -i -e '/LIBTOOL = /s:libtool:glibtool:' \ + Makefile src/Makefile || die + fi + + # correct lua versioning + sed -i -e 's/\(LIB_VERSION = \)6:1:1/\16:5:1/' src/Makefile + + sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html + + # Using dynamic linked lua is not recommended for performance + # reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519 + # Mainly, this is of concern if your arch is poor with GPRs, like x86 + # Note that this only affects the interpreter binary (named lua), not the lua + # compiler (built statically) nor the lua libraries. + + # A slotted Lua uses different directories for headers & names for + # libraries, and pkgconfig should reflect that. + sed -r -i \ + -e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \ + -e "/^includedir=/s,(/include)$,\1/lua${SLOT}," \ + -e "/^Libs:/s,((-llua)($| )),\2${SLOT}\3," \ + "${S}"/etc/lua.pc + + # custom Makefiles + multilib_copy_sources +} + +multilib_src_configure() { + # We want packages to find our things... + sed -i \ + -e 's:/usr/local:'${EPREFIX}'/usr:' \ + -e "s:\([/\"]\)\:\1$(get_libdir):g" \ + etc/lua.pc src/luaconf.h || die +} + +multilib_src_compile() { + tc-export CC + myflags= + # what to link to liblua + liblibs="-lm" + liblibs="${liblibs} $(dlopen_lib)" + + # what to link to the executables + mylibs= + if use readline; then + mylibs="-lreadline" + fi + + cd src + emake CC="${CC}" CFLAGS="-DLUA_USE_LINUX ${CFLAGS}" \ + RPATH="${EPREFIX}/usr/$(get_libdir)/" \ + LUA_LIBS="${mylibs}" \ + LIB_LIBS="${liblibs}" \ + V=$(ver_cut 1-2) \ + LIBTOOL="${ESYSROOT}/usr/bin/libtool" \ + gentoo_all + + mv lua_test ../test/lua.static +} + +multilib_src_install() { + emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \ + V=${SLOT} gentoo_install + + insinto /usr/$(get_libdir)/pkgconfig + newins etc/lua.pc lua${SLOT}.pc +} + +multilib_src_install_all() { + DOCS="HISTORY README" + HTML_DOCS="doc/*.html doc/*.png doc/*.css doc/*.gif" + einstalldocs + newman doc/lua.1 lua${SLOT}.1 + newman doc/luac.1 luac${SLOT}.1 + find "${ED}" -name '*.la' -delete || die + find "${ED}" -name 'liblua*.a' -delete || die +} + +multilib_src_test() { + local positive="bisect cf echo env factorial fib fibfor hello printf sieve + sort trace-calls trace-globals" + local negative="readonly" + local test + + cd "${BUILD_DIR}" || die + for test in ${positive}; do + test/lua.static test/${test}.lua || die "test $test failed" + done + + for test in ${negative}; do + test/lua.static test/${test}.lua && die "test $test failed" + done +} + +pkg_postinst() { + eselect lua set --if-unset "${PN}${SLOT}" + + if has_version "app-editor/emacs"; then + if ! has_version "app-emacs/lua-mode"; then + einfo "Install app-emacs/lua-mode for lua support for emacs" + fi + fi +} diff --git a/dev-lang/lua/lua-5.3.6-r3.ebuild b/dev-lang/lua/lua-5.3.6-r3.ebuild new file mode 100644 index 000000000000..e1a9e2c2263d --- /dev/null +++ b/dev-lang/lua/lua-5.3.6-r3.ebuild @@ -0,0 +1,206 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit autotools multilib multilib-minimal portability toolchain-funcs + +DESCRIPTION="A powerful light-weight programming language designed for extending applications" +HOMEPAGE="https://www.lua.org/" +TEST_PV="5.3.4" +TEST_P="${PN}-${TEST_PV}-tests" +SRC_URI=" + https://www.lua.org/ftp/${P}.tar.gz + test? ( https://www.lua.org/tests/${TEST_P}.tar.gz )" + +LICENSE="MIT" +SLOT="5.3" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+deprecated readline test test-complete" + +COMMON_DEPEND=" + >=app-eselect/eselect-lua-3 + readline? ( sys-libs/readline:0= ) + !dev-lang/lua:0" +# Cross-compiling note: +# Must use libtool from the target system (DEPEND) because +# libtool from the build system (BDEPEND) is for building +# native binaries. +DEPEND=" + ${COMMON_DEPEND} + sys-devel/libtool" +RDEPEND="${COMMON_DEPEND}" + +RESTRICT="!test? ( test )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/lua${SLOT}/luaconf.h +) + +PATCHES=( + "${FILESDIR}/lua-5.3.6-make.patch" +) + +src_prepare() { + default + # use glibtool on Darwin (versus Apple libtool) + if [[ ${CHOST} == *-darwin* ]] ; then + sed -i -e '/LIBTOOL = /s:/libtool:/glibtool:' \ + Makefile src/Makefile || die + fi + + # correct lua versioning + sed -i -e 's/\(LIB_VERSION = \)6:1:1/\10:0:0/' src/Makefile || die + + sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html || die + + if ! use readline ; then + sed -i -e '/#define LUA_USE_READLINE/d' src/luaconf.h || die + fi + + # Using dynamic linked lua is not recommended for performance + # reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519 + # Mainly, this is of concern if your arch is poor with GPRs, like x86 + # Note that this only affects the interpreter binary (named lua), not the lua + # compiler (built statically) nor the lua libraries. + + # upstream does not use libtool, but we do (see bug #336167) + cp "${FILESDIR}/configure.in" "${S}/configure.ac" || die + eautoreconf + + # custom Makefiles + multilib_copy_sources +} + +multilib_src_configure() { + sed -i \ + -e 's:\(define LUA_ROOT\s*\).*:\1"'${EPREFIX}'/usr/":' \ + -e "s:\(define LUA_CDIR\s*LUA_ROOT \"\)lib:\1$(get_libdir):" \ + src/luaconf.h \ + || die "failed patching luaconf.h" + + econf +} + +multilib_src_compile() { + tc-export CC + + # what to link to liblua + liblibs="-lm" + liblibs="${liblibs} $(dlopen_lib)" + + # what to link to the executables + mylibs= + use readline && mylibs="-lreadline" + + cd src + + local myCFLAGS="" + use deprecated && myCFLAGS="-DLUA_COMPAT_5_1 -DLUA_COMPAT_5_2" + + case "${CHOST}" in + *-mingw*) : ;; + *) myCFLAGS+=" -DLUA_USE_LINUX" ;; + esac + + emake CC="${CC}" CFLAGS="${myCFLAGS} ${CFLAGS}" \ + SYSLDFLAGS="${LDFLAGS}" \ + RPATH="${EPREFIX}/usr/$(get_libdir)/" \ + LUA_LIBS="${mylibs}" \ + LIB_LIBS="${liblibs}" \ + V=$(ver_cut 1-2) \ + LIBTOOL="${ESYSROOT}/usr/bin/libtool" \ + gentoo_all +} + +multilib_src_install() { + emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \ + V=${SLOT} gentoo_install + + case $SLOT in + 0) + LIBNAME="lua" + INCLUDEDIR_SUFFIX='' + ;; + *) LIBNAME="lua${SLOT}" + INCLUDEDIR_SUFFIX="/lua${SLOT}" + ;; + esac + + # We want packages to find our things... + # A slotted Lua uses different directories for headers & names for + # libraries, and pkgconfig should reflect that. + local PATCH_PV=$(ver_cut 1-2) + cp "${FILESDIR}/lua.pc" "${WORKDIR}" || die + sed -r -i \ + -e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \ + -e "s:^prefix= :prefix= ${EPREFIX}:" \ + -e "s:^V=.*:V= ${PATCH_PV}:" \ + -e "s:^R=.*:R= ${PV}:" \ + -e "s:/,lib,:/$(get_libdir):g" \ + -e "/^Libs:/s:( )(-llua)($| ):\1-l${LIBNAME}\3:" \ + -e "/^includedir=/s:include$:include${INCLUDEDIR_SUFFIX}:" \ + "${WORKDIR}/lua.pc" || die + + insinto "/usr/$(get_libdir)/pkgconfig" + newins "${WORKDIR}/lua.pc" "lua${SLOT}.pc" + # Copy Debian's symlink support: + # https://salsa.debian.org/lua-team/lua5.3/blob/master/debian/rules#L19 + # FreeBSD calls the pkgconfig 'lua-5.3.pc' + # Older systems called it 'lua53.pc' + dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua-${SLOT}.pc" + dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua${SLOT/.}.pc" +} + +multilib_src_install_all() { + DOCS="README" + HTML_DOCS="doc/*.html doc/*.png doc/*.css doc/*.gif" + einstalldocs + newman doc/lua.1 lua${SLOT}.1 + newman doc/luac.1 luac${SLOT}.1 + find "${ED}" -name '*.la' -delete || die + find "${ED}" -name 'liblua*.a' -delete || die +} + +# Makefile contains a dummy target that doesn't do tests +# but causes issues with slotted lua (bug #510360) +src_test() { + debug-print-function ${FUNCNAME} "$@" + cd "${WORKDIR}/lua-${TEST_PV}-tests" || die + # https://www.lua.org/tests/ + # There are two sets: + # basic + # complete. + # + # The basic subset is selected by passing -e'_U=true' + # The complete set is noted to contain tests that may consume too much memory or have non-portable tests. + # attrib.lua for example needs some multilib customization (have to compile the stuff in libs/ for each ABI) + TEST_OPTS="$(usex test-complete '' '-e_U=true')" + TEST_MARKER="${T}/test.failed" + rm -f "${TEST_MARKER}" + + # If we are failing, set the marker file, and only check it after done all ABIs + abi_src_test() { + debug-print-function ${FUNCNAME} "$@" + TEST_LOG="${T}/test.${MULTIBUILD_ID}.log" + eval "${BUILD_DIR}"/src/lua${SLOT} ${TEST_OPTS} all.lua 2>&1 | tee "${TEST_LOG}" || die + grep -sq -e "final OK" "${TEST_LOG}" || echo "FAIL ${MULTIBUILD_ID}" >>"${TEST_MARKER}" + return 0 + } + + multilib_foreach_abi abi_src_test + + if [ -e "${TEST_MARKER}" ]; then + cat "${TEST_MARKER}" + die "Tests failed" + fi +} + +pkg_postinst() { + eselect lua set --if-unset "${PN}${SLOT}" + + if has_version "app-editor/emacs"; then + if ! has_version "app-emacs/lua-mode"; then + einfo "Install app-emacs/lua-mode for lua support for emacs" + fi + fi +} diff --git a/dev-lang/lua/lua-5.4.2-r2.ebuild b/dev-lang/lua/lua-5.4.2-r2.ebuild new file mode 100644 index 000000000000..d3ea0294a6c4 --- /dev/null +++ b/dev-lang/lua/lua-5.4.2-r2.ebuild @@ -0,0 +1,203 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit autotools multilib multilib-minimal portability toolchain-funcs + +DESCRIPTION="A powerful light-weight programming language designed for extending applications" +HOMEPAGE="https://www.lua.org/" +TEST_PV="5.4.2" +TEST_P="${PN}-${TEST_PV}-tests" +SRC_URI=" + https://www.lua.org/ftp/${P}.tar.gz + test? ( https://www.lua.org/tests/${TEST_P}.tar.gz )" + +LICENSE="MIT" +SLOT="5.4" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+deprecated readline test test-complete" + +COMMON_DEPEND=" + >=app-eselect/eselect-lua-3 + readline? ( sys-libs/readline:0= ) + !dev-lang/lua:0" +# Cross-compiling note: +# Must use libtool from the target system (DEPEND) because +# libtool from the build system (BDEPEND) is for building +# native binaries. +DEPEND=" + ${COMMON_DEPEND} + sys-devel/libtool" +RDEPEND="${COMMON_DEPEND}" + +RESTRICT="!test? ( test )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/lua${SLOT}/luaconf.h +) + +PATCHES=( + "${FILESDIR}"/lua-5.4.2-r2-make.patch +) + +src_prepare() { + default + # use glibtool on Darwin (versus Apple libtool) + if [[ ${CHOST} == *-darwin* ]] ; then + sed -i -e '/LIBTOOL = /s:/libtool:/glibtool:' \ + Makefile src/Makefile || die + fi + + # correct lua versioning + sed -i -e 's/\(LIB_VERSION = \)6:1:1/\10:0:0/' src/Makefile || die + + sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html || die + + # Using dynamic linked lua is not recommended for performance + # reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519 + # Mainly, this is of concern if your arch is poor with GPRs, like x86 + # Note that this only affects the interpreter binary (named lua), not the lua + # compiler (built statically) nor the lua libraries. + + # upstream does not use libtool, but we do (see bug #336167) + cp "${FILESDIR}/configure.in" "${S}/configure.ac" || die + eautoreconf + + # custom Makefiles + multilib_copy_sources +} + +multilib_src_configure() { + sed -i \ + -e 's:\(define LUA_ROOT\s*\).*:\1"'${EPREFIX}'/usr/":' \ + -e "s:\(define LUA_CDIR\s*LUA_ROOT \"\)lib:\1$(get_libdir):" \ + src/luaconf.h \ + || die "failed patching luaconf.h" + + econf +} + +multilib_src_compile() { + tc-export CC + + # what to link to liblua + liblibs="-lm" + liblibs="${liblibs} $(dlopen_lib)" + + # what to link to the executables + mylibs= + use readline && mylibs="-lreadline" + + cd src + + local myCFLAGS="" + use deprecated && myCFLAGS+="-DLUA_COMPAT_5_3 " + use readline && myCFLAGS+="-DLUA_USE_READLINE " + + case "${CHOST}" in + *-mingw*) : ;; + *) myCFLAGS+="-DLUA_USE_LINUX " ;; + esac + + emake CC="${CC}" CFLAGS="${myCFLAGS} ${CFLAGS}" \ + SYSLDFLAGS="${LDFLAGS}" \ + RPATH="${EPREFIX}/usr/$(get_libdir)/" \ + LUA_LIBS="${mylibs}" \ + LIB_LIBS="${liblibs}" \ + V=$(ver_cut 1-2) \ + LIBTOOL="${ESYSROOT}/usr/bin/libtool" \ + gentoo_all +} + +multilib_src_install() { + emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \ + V=${SLOT} gentoo_install + + case $SLOT in + 0) + LIBNAME="lua" + INCLUDEDIR_SUFFIX='' + ;; + *) LIBNAME="lua${SLOT}" + INCLUDEDIR_SUFFIX="/lua${SLOT}" + ;; + esac + + # We want packages to find our things... + # A slotted Lua uses different directories for headers & names for + # libraries, and pkgconfig should reflect that. + local PATCH_PV=$(ver_cut 1-2) + cp "${FILESDIR}/lua.pc" "${WORKDIR}" || die + sed -r -i \ + -e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \ + -e "s:^prefix= :prefix= ${EPREFIX}:" \ + -e "s:^V=.*:V= ${PATCH_PV}:" \ + -e "s:^R=.*:R= ${PV}:" \ + -e "s:/,lib,:/$(get_libdir):g" \ + -e "/^Libs:/s:( )(-llua)($| ):\1-l${LIBNAME}\3:" \ + -e "/^includedir=/s:include$:include${INCLUDEDIR_SUFFIX}:" \ + "${WORKDIR}/lua.pc" || die + + insinto "/usr/$(get_libdir)/pkgconfig" + newins "${WORKDIR}/lua.pc" "lua${SLOT}.pc" + # Copy Debian's symlink support: + # https://salsa.debian.org/lua-team/lua5.3/blob/master/debian/rules#L19 + # FreeBSD calls the pkgconfig 'lua-5.3.pc' + # Older systems called it 'lua53.pc' + dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua-${SLOT}.pc" + dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua${SLOT/.}.pc" +} + +multilib_src_install_all() { + DOCS="README" + HTML_DOCS="doc/*.html doc/*.png doc/*.css doc/*.gif" + einstalldocs + newman doc/lua.1 lua${SLOT}.1 + newman doc/luac.1 luac${SLOT}.1 + find "${ED}" -name '*.la' -delete || die + find "${ED}" -name 'liblua*.a' -delete || die +} + +# Makefile contains a dummy target that doesn't do tests +# but causes issues with slotted lua (bug #510360) +src_test() { + debug-print-function ${FUNCNAME} "$@" + cd "${WORKDIR}/lua-${TEST_PV}-tests" || die + # https://www.lua.org/tests/ + # There are two sets: + # basic + # complete. + # + # The basic subset is selected by passing -e'_U=true' + # The complete set is noted to contain tests that may consume too much memory or have non-portable tests. + # attrib.lua for example needs some multilib customization (have to compile the stuff in libs/ for each ABI) + TEST_OPTS="$(usex test-complete '' '-e_U=true')" + TEST_MARKER="${T}/test.failed" + rm -f "${TEST_MARKER}" + + # If we are failing, set the marker file, and only check it after done all ABIs + abi_src_test() { + debug-print-function ${FUNCNAME} "$@" + TEST_LOG="${T}/test.${MULTIBUILD_ID}.log" + eval "${BUILD_DIR}"/src/lua${SLOT} ${TEST_OPTS} all.lua 2>&1 | tee "${TEST_LOG}" || die + grep -sq -e "final OK" "${TEST_LOG}" || echo "FAIL ${MULTIBUILD_ID}" >>"${TEST_MARKER}" + return 0 + } + + multilib_foreach_abi abi_src_test + + if [ -e "${TEST_MARKER}" ]; then + cat "${TEST_MARKER}" + die "Tests failed" + fi +} + +pkg_postinst() { + eselect lua set --if-unset "${PN}${SLOT}" + + if has_version "app-editor/emacs"; then + if ! has_version "app-emacs/lua-mode"; then + einfo "Install app-emacs/lua-mode for lua support for emacs" + fi + fi +} diff --git a/dev-lang/lua/lua-5.4.4.ebuild b/dev-lang/lua/lua-5.4.4.ebuild new file mode 100644 index 000000000000..99d90a97ccd8 --- /dev/null +++ b/dev-lang/lua/lua-5.4.4.ebuild @@ -0,0 +1,203 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit autotools multilib multilib-minimal portability toolchain-funcs + +DESCRIPTION="A powerful light-weight programming language designed for extending applications" +HOMEPAGE="https://www.lua.org/" +TEST_PV="5.4.4" +TEST_P="${PN}-${TEST_PV}-tests" +SRC_URI=" + https://www.lua.org/ftp/${P}.tar.gz + test? ( https://www.lua.org/tests/${TEST_P}.tar.gz )" + +LICENSE="MIT" +SLOT="5.4" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+deprecated readline test test-complete" + +COMMON_DEPEND=" + >=app-eselect/eselect-lua-3 + readline? ( sys-libs/readline:0= ) + !dev-lang/lua:0" +# Cross-compiling note: +# Must use libtool from the target system (DEPEND) because +# libtool from the build system (BDEPEND) is for building +# native binaries. +DEPEND=" + ${COMMON_DEPEND} + sys-devel/libtool" +RDEPEND="${COMMON_DEPEND}" + +RESTRICT="!test? ( test )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/lua${SLOT}/luaconf.h +) + +PATCHES=( + "${FILESDIR}"/lua-5.4.2-r2-make.patch +) + +src_prepare() { + default + # use glibtool on Darwin (versus Apple libtool) + if [[ ${CHOST} == *-darwin* ]] ; then + sed -i -e '/LIBTOOL = /s:/libtool:/glibtool:' \ + Makefile src/Makefile || die + fi + + # correct lua versioning + sed -i -e 's/\(LIB_VERSION = \)6:1:1/\10:0:0/' src/Makefile || die + + sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html || die + + # Using dynamic linked lua is not recommended for performance + # reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519 + # Mainly, this is of concern if your arch is poor with GPRs, like x86 + # Note that this only affects the interpreter binary (named lua), not the lua + # compiler (built statically) nor the lua libraries. + + # upstream does not use libtool, but we do (see bug #336167) + cp "${FILESDIR}/configure.in" "${S}/configure.ac" || die + eautoreconf + + # custom Makefiles + multilib_copy_sources +} + +multilib_src_configure() { + sed -i \ + -e 's:\(define LUA_ROOT\s*\).*:\1"'${EPREFIX}'/usr/":' \ + -e "s:\(define LUA_CDIR\s*LUA_ROOT \"\)lib:\1$(get_libdir):" \ + src/luaconf.h \ + || die "failed patching luaconf.h" + + econf +} + +multilib_src_compile() { + tc-export CC + + # what to link to liblua + liblibs="-lm" + liblibs="${liblibs} $(dlopen_lib)" + + # what to link to the executables + mylibs= + use readline && mylibs="-lreadline" + + cd src + + local myCFLAGS="" + use deprecated && myCFLAGS+="-DLUA_COMPAT_5_3 " + use readline && myCFLAGS+="-DLUA_USE_READLINE " + + case "${CHOST}" in + *-mingw*) : ;; + *) myCFLAGS+="-DLUA_USE_LINUX " ;; + esac + + emake CC="${CC}" CFLAGS="${myCFLAGS} ${CFLAGS}" \ + SYSLDFLAGS="${LDFLAGS}" \ + RPATH="${EPREFIX}/usr/$(get_libdir)/" \ + LUA_LIBS="${mylibs}" \ + LIB_LIBS="${liblibs}" \ + V=$(ver_cut 1-2) \ + LIBTOOL="${ESYSROOT}/usr/bin/libtool" \ + gentoo_all +} + +multilib_src_install() { + emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \ + V=${SLOT} gentoo_install + + case $SLOT in + 0) + LIBNAME="lua" + INCLUDEDIR_SUFFIX='' + ;; + *) LIBNAME="lua${SLOT}" + INCLUDEDIR_SUFFIX="/lua${SLOT}" + ;; + esac + + # We want packages to find our things... + # A slotted Lua uses different directories for headers & names for + # libraries, and pkgconfig should reflect that. + local PATCH_PV=$(ver_cut 1-2) + cp "${FILESDIR}/lua.pc" "${WORKDIR}" || die + sed -r -i \ + -e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \ + -e "s:^prefix= :prefix= ${EPREFIX}:" \ + -e "s:^V=.*:V= ${PATCH_PV}:" \ + -e "s:^R=.*:R= ${PV}:" \ + -e "s:/,lib,:/$(get_libdir):g" \ + -e "/^Libs:/s:( )(-llua)($| ):\1-l${LIBNAME}\3:" \ + -e "/^includedir=/s:include$:include${INCLUDEDIR_SUFFIX}:" \ + "${WORKDIR}/lua.pc" || die + + insinto "/usr/$(get_libdir)/pkgconfig" + newins "${WORKDIR}/lua.pc" "lua${SLOT}.pc" + # Copy Debian's symlink support: + # https://salsa.debian.org/lua-team/lua5.3/blob/master/debian/rules#L19 + # FreeBSD calls the pkgconfig 'lua-5.3.pc' + # Older systems called it 'lua53.pc' + dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua-${SLOT}.pc" + dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua${SLOT/.}.pc" +} + +multilib_src_install_all() { + DOCS="README" + HTML_DOCS="doc/*.html doc/*.png doc/*.css doc/*.gif" + einstalldocs + newman doc/lua.1 lua${SLOT}.1 + newman doc/luac.1 luac${SLOT}.1 + find "${ED}" -name '*.la' -delete || die + find "${ED}" -name 'liblua*.a' -delete || die +} + +# Makefile contains a dummy target that doesn't do tests +# but causes issues with slotted lua (bug #510360) +src_test() { + debug-print-function ${FUNCNAME} "$@" + cd "${WORKDIR}/lua-${TEST_PV}-tests" || die + # https://www.lua.org/tests/ + # There are two sets: + # basic + # complete. + # + # The basic subset is selected by passing -e'_U=true' + # The complete set is noted to contain tests that may consume too much memory or have non-portable tests. + # attrib.lua for example needs some multilib customization (have to compile the stuff in libs/ for each ABI) + TEST_OPTS="$(usex test-complete '' '-e_U=true')" + TEST_MARKER="${T}/test.failed" + rm -f "${TEST_MARKER}" + + # If we are failing, set the marker file, and only check it after done all ABIs + abi_src_test() { + debug-print-function ${FUNCNAME} "$@" + TEST_LOG="${T}/test.${MULTIBUILD_ID}.log" + eval "${BUILD_DIR}"/src/lua${SLOT} ${TEST_OPTS} all.lua 2>&1 | tee "${TEST_LOG}" || die + grep -sq -e "final OK" "${TEST_LOG}" || echo "FAIL ${MULTIBUILD_ID}" >>"${TEST_MARKER}" + return 0 + } + + multilib_foreach_abi abi_src_test + + if [ -e "${TEST_MARKER}" ]; then + cat "${TEST_MARKER}" + die "Tests failed" + fi +} + +pkg_postinst() { + eselect lua set --if-unset "${PN}${SLOT}" + + if has_version "app-editor/emacs"; then + if ! has_version "app-emacs/lua-mode"; then + einfo "Install app-emacs/lua-mode for lua support for emacs" + fi + fi +} -- cgit v1.2.3