diff options
Diffstat (limited to 'dev-lang/lua')
-rw-r--r-- | dev-lang/lua/Manifest | 7 | ||||
-rw-r--r-- | dev-lang/lua/files/lua-5.1.5-disable-deprecated.patch | 59 | ||||
-rw-r--r-- | dev-lang/lua/files/lua-5.1.5-gentoo-build.patch | 118 | ||||
-rw-r--r-- | dev-lang/lua/files/lua-5.1.5-readline.patch | 17 | ||||
-rw-r--r-- | dev-lang/lua/lua-5.1.5-r103.ebuild | 145 | ||||
-rw-r--r-- | dev-lang/lua/lua-5.1.5-r5.ebuild | 113 | ||||
-rw-r--r-- | dev-lang/lua/lua-5.2.4-r2.ebuild | 194 | ||||
-rw-r--r-- | dev-lang/lua/lua-5.3.5-r2.ebuild | 194 |
8 files changed, 847 insertions, 0 deletions
diff --git a/dev-lang/lua/Manifest b/dev-lang/lua/Manifest index 38764ddd7d59..fdaf0a329661 100644 --- a/dev-lang/lua/Manifest +++ b/dev-lang/lua/Manifest @@ -17,7 +17,10 @@ AUX lua-5.1-module_paths.patch 1078 BLAKE2B c8c6def6f3099f61cc750657df1609a0a26b AUX lua-5.1-readline.patch 360 BLAKE2B b528a3566aa59fb1cccb22417b01e86ee0cd3b77a3e278a20d5b476949daf47f0a656c7493a137594f1cf3136d327530ac97833cf584956b35b6a88a808535b9 SHA512 a99154258419dc2e582804eae97517687e5b8b5f731dc91722193d1ff470b8522af6ff4e7142c9258afe4734cd52e6987d3c2108ac52b1487a262f1e89f2f332 AUX lua-5.1.4-deprecated.patch 1417 BLAKE2B 993dd3169ebeaf8abbf5bf34e39f85b5d429c49bb534cbb0351c217705f36d7048d847241e05b3181c0cf0d4e54d449351b27947cea45b7bb880f4f62d8ebaeb SHA512 5b82058ece2cde2a720f9cdae727be0a68895438f90e24f2e37adb1cd79cf637ce20bb283918e44f4f561aa87a9b4f19d3305d71537671f61438962d48970f39 AUX lua-5.1.4-test.patch 340 BLAKE2B fb1e93293d60d85e6ba6ef1d07c34d329a1db4368e7e1e7307822cabf3082c802a5d7c3449caaf0e71759d09b6e41d4b8a04220b54dbb980991a10d0d64c77b6 SHA512 720135cc9d4c224717c2718b5709b43a1d66340fbdc3826037db672ef92014b6145f50263198d7641525194e6f9f9fdf16b78bdc6fb832dd7d13a89f06af67d9 +AUX lua-5.1.5-disable-deprecated.patch 1823 BLAKE2B 82d9e7c12d98606b29960182d8e069704683e136e06f422d6109a3c2ade165bc12e151d9e1c7933c65be3b441f1363db4f054866c0c7a894e9282a82b01a435d SHA512 1dc8f8a789bc8374137adce70c6614afe383255b5a2e59e36fdddf5a8fb9c7458b42e7b4483f09635d0ec38f8ed7925f8d1f12ce0fe0fdf0373a8e59b6f84322 AUX lua-5.1.5-fix_vararg_calls.patch 470 BLAKE2B fa5863445dbca630dbe00fd03a09f752dc27d0106cb7a5cc8bddf51dc9bd01ae843ad29219ed2ba29dd3088b933bcbf91fc87d5c58a972f4bac99fe112f05aff SHA512 630e8537bd80771fecc4c8216ec96e243654bd0b7bd006b6867baca4effab90bab4a922951661d4fc3ac2700c3bd7c0c40227b9eeee7dd5a87c07a6382055b04 +AUX lua-5.1.5-gentoo-build.patch 3108 BLAKE2B fae72673638387311749949840ce3df6f56763af6f5027c9f71c2262abdf3ed1cc2fe49fccb3ceef110584ac5034b1dceef03c773b68c12558b30c33ea6a10d4 SHA512 85165a0cae5f951d53741a7a07bc291bf16a4e575d82262b744ba177dfee54a91acc37000e17299f4f6a13acf8b611aac618e257b45e4f65012a9cf632ab4ab7 +AUX lua-5.1.5-readline.patch 638 BLAKE2B 9f15fc99ae7abaa6b99ed0e1daf45bc6c8d2980159e3f721d3ec415108c0b612091822c56177804a333dc0abe038229d5adcd8982e50712dcee4b493d8ff04e1 SHA512 0167466adde2827455587001c02ab1cedd3845b6646cd3ce58f85d808157c0d9320106a8055319c338640b4494152e0b494fe92943070d4cdbdfcc1cfd44c82e AUX lua-5.2-make-r1.patch 2442 BLAKE2B 7f281a96b602b992099869648cc7229312578890644e9241f249c7335e04dd70573df6673a2baf19a7d985bc0c30d0821af4cb830bbed55cf7d2a8f83037add2 SHA512 e51b6fd7c77906a918f3987379e134d7423cc9683efdf6cdd2992b187ab0fed99732523b0f2819816a8789e4ed176c6f62774237f036e09e0c9d56582e0c3be0 AUX lua-5.3-make-r1.patch 2854 BLAKE2B d60d1656a5f411b218b4f1f861f150759e6331ffadf28fde50cf219cbe01b5f1e6be4a3872b3c27a9ed561e80f91983e024124ca5c5871c6c63252cf0ac1c11d SHA512 80c2930bbd204551545cdd6793ec8dcd7d753fffc29710786b3662dde13b1af3a9825c95118e23bc98149f316f12f008223b675df929a244ef29c8a2a773560a AUX lua.pc 658 BLAKE2B 580504c8162c9cbde35b4a817c688b955cad1a35b1c21ed527488eda6e7cf78dfa81fa8b100737cf9ad620d34d94eceec01ba09e4fab0b121c5e4c673677cd3f SHA512 cb476ea6dd004a9aa0094cfc219d1888c5f578b44968a960acf1f2f32783a8e4d770bb033fb1ab4851f225188bbdd434b5d239718cae2c2c35f5b5f124a722ca @@ -31,16 +34,20 @@ DIST lua-5.3.5.tar.gz 303543 BLAKE2B 8890fa70fcfb869296bc74c754dc30621a3786d4b38 EBUILD lua-5.1.5-r100.ebuild 3734 BLAKE2B ded64ec91b07eed80ea425e1a6dcb71a3f89f1bad5698f71e6db04090bbb6ade8cc37ac9adf4d31011e71719a28f215f9a54c6c6e142b8064e9449bed8acbb2f SHA512 3d43c51fdf791a825b4e38dc9ac1632971b97b474556cabb2a3d418ded939e1497a3b8c11cac0240149d4964d7199c40cf0e26b87a5cde2a8123ba5c87ce7372 EBUILD lua-5.1.5-r101.ebuild 3995 BLAKE2B 605130d313f4a07d425ba50b751e03960bcff5271a112c795a10f500776ca98dd7dbb5ad24c4ccc1d93d5341583dec97e45e8fe4e9475b7cb3a92ccde882f105 SHA512 097760baea6eab1c2de9cec35be5c229dc31df8488e2f67499488930be458e02f0992a08e5b8b3c669908146133dda42a3108ae2829a73c888913a40409c1e0f EBUILD lua-5.1.5-r102.ebuild 3995 BLAKE2B df7d3f828e39e793885f1a093fa760864c55aaff42cabe7c8fb8b28cbd2de064c09cb9570cd3cc5c1d6d0d5a71698f45fac9fef05b3d40c418416665a5966cb2 SHA512 b663a7e0394aea6ac45a0657f123e41199d8078506b8cc1f02930f780bfac7c957a5912b2064417a660c2a134ea4051e4db6484412addf5ec9b09bfc9a649280 +EBUILD lua-5.1.5-r103.ebuild 4048 BLAKE2B ea54e0bbae2d2990cd5fd5a1eee8c6c0ed712a5e1bc8e9b9f00ad5bd1503c25106bb81cf3ca148c38a473c50c0d5b0e2bda455d0c32f6d80c11987b83bf1ca1c SHA512 1354a215d230af63032b475ccc3fa00f1d5d6f81f1e98bcfc8e5178c532ff628816503bfb9635e68212edea828ac82adcc9027cde512d5e8b735c1d7f08a1119 EBUILD lua-5.1.5-r4.ebuild 3628 BLAKE2B 60ba36135eadff3b9933a3ae9db84e75225860d6a320255d9214037d4d9bde2cabfa8bc3ab94f33c823cf2da8e12767edcea26958dabd8ddd67864b0ca9eb2a1 SHA512 1016a8b52ccfb553a7c3bb2c2abb995ef8df0a6a03ee15aa2819a12908213988c8d28aa1e13725eb746ad95bd149062d09e6df6e1b3584e701ce946ec6daba17 +EBUILD lua-5.1.5-r5.ebuild 3185 BLAKE2B 7736220189af143cbeaa248edc3c6b927490a317ce9be73c87c9c0d47fc43147f238c0eb0a7f6175394a8e0b56e75f0890d0d6ca9be6190df9aede91b4a1149d SHA512 062fd0b3c34581c78279753ca50f8e88cce4339bb76025411cfed80a13db6a2e4b1d8b55d47bed041d3b92fb7c9ae31774b3e37b4a7c64cf8d7db897d3c2d4af EBUILD lua-5.2.3-r1.ebuild 3757 BLAKE2B f4e8e0c040421db6b212289be1781ea4291c9a468b35f0398307596b14ef3d2d9e65f3df5db466da9c29537d71fa6ca5937e86a2e5c16109f2bab7054c9784e8 SHA512 f2ef9c741bd74c5f0d88845b15c94f604f4c3253a16fc9d4fc819d3f25f6cb46a3bae465bf99b559f498c23eed06143b9747f9800b91f6f68fd5ea9dc661e684 EBUILD lua-5.2.3-r2.ebuild 4018 BLAKE2B bc094822587e7607bf81c3214da9b1eef8d2eb466ba81523dc5088b0c08b4dea67743822223156ec22e9d70ca658e8133de8e15f26094478997addccbcf3c774 SHA512 28c7644f7cec9dcc912bd1f14be0e89929242a7746e7f4ab75fb305b4bdb7355cf6e3235ee5d96a1257a79ef369395e600dec506d19d960567f5fd7a0c6ba109 EBUILD lua-5.2.3-r3.ebuild 4018 BLAKE2B 5cd8714a0c6387f00b038f542ab8368facec9475a05b6e53b81f079db3e599dd55b394435fb26ff3d72cac32a9a45459bd4a4631e38415a83c3f757547e21628 SHA512 a80f15e84a00197c87195fab15063f734612e995826b59bfdf656eeab70fd3b89ea8553d276134301f78c8c344f9bd35a8ae299966eaed18f875307163d40a1d EBUILD lua-5.2.3.ebuild 3173 BLAKE2B 16e2fbb99a6b2c4a4f59351aab457aecfe219d45fded839956ae7121fb723259040626219c26cedb84778535f5b6d82f02fa8020cc242f4cdc31874eecde260e SHA512 15e82292b3b76aa58033548f0f49f778643d7ec2d0b22b30ef9aeb633c8b36e7fc6d4eefac95291f1b324354fc935f9aca0754c332b75fcc5120415fa433ce00 EBUILD lua-5.2.4-r1.ebuild 5766 BLAKE2B 5a97ccab82df592f84449202547298afa36293482e7fbcfd654b58c12ecdd7fd248a18e6b4e2d616a74b148ce9657558585c5e4067c7fcfd9ab46b071a4be1c2 SHA512 e95748a60f8254f7bf2db3bb4ac4d7b096d0f48102862857b643bb2fec3e18524c3162bfa20609a6b4210882c0a8e8f13bfab87edb57288bd1f659c327e3ac9f +EBUILD lua-5.2.4-r2.ebuild 5819 BLAKE2B 2a7d8906e87ee6b71081938148f61edd56c51f6fdc46852dabc47fe79cc887fe8d6663484f4593b2bbcf4427cc338e1839d015ac34df6497b5aa8d06049d5532 SHA512 f63741a23b79a4dd542c3cdf138d92239ed7e98517db2b98d0262c07c9c9b37deb1c7baee621241e53ea7c833bace34b215f3ad0044712cabe4230ddbf7218a0 EBUILD lua-5.2.4.ebuild 5245 BLAKE2B 59e535668459e64d4124fc631e76ad42e577ca457188d1a34d53fa0dc7e53429f30488f6da07f1821a9f9136042679772221af849efc511a036d6bc8d7d50045 SHA512 6c80a2af0f847d070fea48c4dc907dcdb04abc3d27fee9f36cf954c13169400e2c6a985f1da4da14596ccf0fdc3979ef5a8b68f9dc8d785f537bd0ca71f6fc9c EBUILD lua-5.3.3-r1.ebuild 4030 BLAKE2B 5f269701d580cb55915514e3443c53e3d8c225549ce2cca2d93d17b49d716af3eed4f9812898250dfbec3e6b77241e98d2a4f8ebfaa90a03ac0d9319c7c0f95a SHA512 cc5dc832884b3a84612dc46e339a9d634a363cd8a7e003daf61edfda9e64d99fef9906d3cd809abd9fe33b816a0c3510a1d43e83ffcdc2cf142a797961fdbf02 EBUILD lua-5.3.3-r2.ebuild 4030 BLAKE2B 0052a221f158347b006bb57b24c41f138a28da18d43ae42d641bea072cdad8d7bf45d3d25c0017b94a12d33362505244bc8ff06cdfeab67203b86161231ba736 SHA512 427ea47bc7b91579af1b4e9407bac5ed948992b7191856c0f76718a84dffa2290d22f073035720fcb3b877a583a521c99d1ad68f2acc4237d077bb150f58485d EBUILD lua-5.3.3.ebuild 3769 BLAKE2B 2aa484858b240d3b6d3a4054e23e97693dc3f4598e2d6a9c8de18dcfc5f8c4301f10e5e5cf811c6658c18dacd9a181a6315915c22bb426091da3d2ddc841678d SHA512 708a65843b6fdb1192c4ee16e6e322d54c2c7fe1eae7fed3009bb9a1c2f81d09418888024aa17f43303bdce50e1d99e0cbd889dc3e781ec9a18e5075d7e90bbe EBUILD lua-5.3.5-r1.ebuild 5766 BLAKE2B 0bc3f2fecf2f60d0f5b6ff735d72463a7451c0f1944019ee4d4e13a1a8594a440044c5e677979a2388e0d6a41095c806107d2725896d1e5d649b95f09c8fc60c SHA512 3d2e2438a638751aad6b015d5afb68c5a06aa995fc3dd09b29c4a5ca1916f6e5fda69afff3d559c26cc3744b7f9057cdd76df1ba22a7eabb0b19fc1a760b312e +EBUILD lua-5.3.5-r2.ebuild 5819 BLAKE2B 6edf2a0906f720e6a538b0dc59b1b9d044f1b6fd4ba83d802e75fbb697504e0c839fcdf622aed56adbadc9e0a3bf5f3ddc2a2911b43f9f5a8dd8dc942f857032 SHA512 cdceeffca0047e6a5e8c709186ef1810c88e5b991fefafd2a1a52f37fa66db0bd12bf6a81afbf0fffadd4ff1b826c8373c43a172c7f3e41bd0fc4e077c29e96f EBUILD lua-5.3.5.ebuild 5257 BLAKE2B 1ebffbe512ed4eb31f79c48b744bc5ea323a42fd8a9eb7b96bfb934d54c065758f6f6da87c7cc161804f6105b01c1988c0fb29c4c0da0367ef78a95cba4d4c08 SHA512 30b93526f3b62478b306936665de93468fe236e7785f2b75c52d9c0222fe4dc32706e2e475bff5abad4f9c6f413942644d6662adeb1d21a4a251a1ca8de55a4c MISC metadata.xml 524 BLAKE2B 688341a9dfa433bbc2e3fc1edb8a44d53dcee036afeb5b2c7c8fbfa0f81d1e53a6c7910b32bec637ad1cd518e48afdd0806a286dadbb6c7a88853a93aa7f3545 SHA512 92ee6e13c3fcc5ba1d2cf3ec58a54b051f1fae8646b64fae25923108a78abc77b05992abbed5a04afbc2043ea0b47749544e348506ab554d57b19bcf3b435e52 diff --git a/dev-lang/lua/files/lua-5.1.5-disable-deprecated.patch b/dev-lang/lua/files/lua-5.1.5-disable-deprecated.patch new file mode 100644 index 000000000000..d1d7fb10115f --- /dev/null +++ b/dev-lang/lua/files/lua-5.1.5-disable-deprecated.patch @@ -0,0 +1,59 @@ +diff -rdu old/src/luaconf.h new/src/luaconf.h +--- old/src/luaconf.h 2008-02-12 17:00:03.000000000 +0000 ++++ new/src/luaconf.h 2008-02-12 17:07:55.000000000 +0000 +@@ -340,14 +340,14 @@ + ** CHANGE it to undefined as soon as your programs use only '...' to + ** access vararg parameters (instead of the old 'arg' table). + */ +-#define LUA_COMPAT_VARARG ++#undef LUA_COMPAT_VARARG + + /* + @@ LUA_COMPAT_MOD controls compatibility with old math.mod function. + ** CHANGE it to undefined as soon as your programs use 'math.fmod' or + ** the new '%' operator instead of 'math.mod'. + */ +-#define LUA_COMPAT_MOD ++#undef LUA_COMPAT_MOD + + /* + @@ LUA_COMPAT_LSTR controls compatibility with old long string nesting +@@ -355,14 +355,14 @@ + ** CHANGE it to 2 if you want the old behaviour, or undefine it to turn + ** off the advisory error when nesting [[...]]. + */ +-#define LUA_COMPAT_LSTR 1 ++#undef LUA_COMPAT_LSTR + + /* + @@ LUA_COMPAT_GFIND controls compatibility with old 'string.gfind' name. + ** CHANGE it to undefined as soon as you rename 'string.gfind' to + ** 'string.gmatch'. + */ +-#define LUA_COMPAT_GFIND ++#undef LUA_COMPAT_GFIND + + /* + @@ LUA_COMPAT_OPENLIB controls compatibility with old 'luaL_openlib' +@@ -370,7 +370,7 @@ + ** CHANGE it to undefined as soon as you replace to 'luaL_register' + ** your uses of 'luaL_openlib' + */ +-#define LUA_COMPAT_OPENLIB ++#undef LUA_COMPAT_OPENLIB + + + +diff -rdu old/test/sieve.lua new/test/sieve.lua +Rename deprecated functions in test scripts +--- old/test/sieve.lua~ 2002-10-31 03:52:58.000000000 +0100 ++++ new/test/sieve.lua 2008-02-20 17:44:22.468281121 +0100 +@@ -14,7 +14,7 @@ + while 1 do + local n = g() + if n == nil then return end +- if math.mod(n, p) ~= 0 then coroutine.yield(n) end ++ if math.fmod(n, p) ~= 0 then coroutine.yield(n) end + end + end) + end diff --git a/dev-lang/lua/files/lua-5.1.5-gentoo-build.patch b/dev-lang/lua/files/lua-5.1.5-gentoo-build.patch new file mode 100644 index 000000000000..62c4ed33648d --- /dev/null +++ b/dev-lang/lua/files/lua-5.1.5-gentoo-build.patch @@ -0,0 +1,118 @@ +--- old/Makefile 2012-02-10 10:50:23.000000000 +0100 ++++ new/Makefile 2019-07-12 12:00:30.807725876 +0200 +@@ -22,7 +22,8 @@ + + # How to install. If your install program does not support "-p", then you + # may have to run ranlib on the installed liblua.a (do "make ranlib"). +-INSTALL= install -p ++INSTALL?= install -p ++INSTALL_LINK= ln -s + INSTALL_EXEC= $(INSTALL) -m 0755 + INSTALL_DATA= $(INSTALL) -m 0644 + # +@@ -33,7 +34,7 @@ + + # Utilities. + MKDIR= mkdir -p +-RANLIB= ranlib ++RANLIB?= ranlib + + # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE ========= + +@@ -47,13 +48,17 @@ + TO_MAN= lua.1 luac.1 + + # Lua version and release. ++M= 5 + V= 5.1 + R= 5.1.5 + ++# Export to sub-make ++export M R ++ + all: $(PLAT) + + $(PLATS) clean: +- cd src && $(MAKE) $@ ++ cd src && $(MKDIR) .libs && $(MAKE) $@ + + test: dummy + src/lua test/hello.lua +@@ -61,6 +66,8 @@ + install: dummy + cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD) + cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN) ++ cd src && $(INSTALL_EXEC) $(TO_LIB:.a=.so.$(R)) $(INSTALL_LIB) ++ cd src && $(INSTALL_LINK) $(TO_LIB:.a=.so.$(R)) $(INSTALL_LIB)/$(TO_LIB:.a=.so.$(M)) + cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) + cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) + cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) +--- old/src/Makefile 2012-02-13 21:41:22.000000000 +0100 ++++ new/src/Makefile 2019-07-12 11:31:02.945290602 +0200 +@@ -7,12 +7,14 @@ + # Your platform. See PLATS for possible values. + PLAT= none + +-CC= gcc +-CFLAGS= -O2 -Wall $(MYCFLAGS) +-AR= ar rcu +-RANLIB= ranlib ++CC?= gcc ++CFLAGS?= -O2 -Wall $(MYCFLAGS) ++SOFLAGS= -shared -fPIC -DPIC -Wl,-O1 -Wl,--as-needed -Wl,-soname -Wl,$(LUA_A:.a=.so.$(M)) $(MYLDFLAGS) ++AR?= ar ++ARFLAGS?= rcu ++RANLIB?= ranlib + RM= rm -f +-LIBS= -lm $(MYLIBS) ++LIBS?= -lm $(MYLIBS) + + MYCFLAGS= + MYLDFLAGS= +@@ -35,8 +37,11 @@ + LUAC_T= luac + LUAC_O= luac.o print.o + +-ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O) +-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) ++LUAS_T= $(LUA_A:.a=.so.$(R)) ++LUAS_O= $(addprefix .libs/,$(CORE_O) $(LIB_O) $(LUA_O)) ++ ++ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O) $(LUAS_O) ++ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUAS_T) + ALL_A= $(LUA_A) + + default: $(PLAT) +@@ -48,9 +53,12 @@ + a: $(ALL_A) + + $(LUA_A): $(CORE_O) $(LIB_O) +- $(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files ++ $(AR) $(ARFLAGS) $@ $(CORE_O) $(LIB_O) # DLL needs all object files + $(RANLIB) $@ + ++$(LUAS_T): $(LUAS_O) ++ $(CC) -o $@ $(SOFLAGS) $(LUAS_O) $(LIBS) ++ + $(LUA_T): $(LUA_O) $(LUA_A) + $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) + +@@ -67,7 +75,7 @@ + @echo "PLAT = $(PLAT)" + @echo "CC = $(CC)" + @echo "CFLAGS = $(CFLAGS)" +- @echo "AR = $(AR)" ++ @echo "AR = $(AR) $(ARFLAGS)" + @echo "RANLIB = $(RANLIB)" + @echo "RM = $(RM)" + @echo "MYCFLAGS = $(MYCFLAGS)" +@@ -120,6 +128,9 @@ + + # DO NOT DELETE + ++.libs/%o: %c ++ $(CC) $(CFLAGS) -fPIC -DPIC -c -o $@ $< ++ + lapi.o: lapi.c lua.h luaconf.h lapi.h lobject.h llimits.h ldebug.h \ + lstate.h ltm.h lzio.h lmem.h ldo.h lfunc.h lgc.h lstring.h ltable.h \ + lundump.h lvm.h diff --git a/dev-lang/lua/files/lua-5.1.5-readline.patch b/dev-lang/lua/files/lua-5.1.5-readline.patch new file mode 100644 index 000000000000..2b5221a8ab48 --- /dev/null +++ b/dev-lang/lua/files/lua-5.1.5-readline.patch @@ -0,0 +1,17 @@ +--- old/src/luaconf.h 2006-04-10 20:27:23.000000000 +0200 ++++ new/src/luaconf.h 2006-11-15 14:53:07.000000000 +0100 +@@ -36,7 +36,6 @@ + #if defined(LUA_USE_LINUX) + #define LUA_USE_POSIX + #define LUA_USE_DLOPEN /* needs an extra library: -ldl */ +-#define LUA_USE_READLINE /* needs some extra libraries */ + #endif + + #if defined(LUA_USE_MACOSX) +--- old/src/Makefile 2012-02-13 21:41:22.000000000 +0100 ++++ old/src/Makefile 2019-07-09 09:53:00.000000000 +0100 +@@ -98,3 +98,3 @@ + linux: +- $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses" ++ $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl" + diff --git a/dev-lang/lua/lua-5.1.5-r103.ebuild b/dev-lang/lua/lua-5.1.5-r103.ebuild new file mode 100644 index 000000000000..c8f27b3b2b5e --- /dev/null +++ b/dev-lang/lua/lua-5.1.5-r103.ebuild @@ -0,0 +1,145 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit eutils multilib multilib-minimal portability toolchain-funcs versionator + +DESCRIPTION="A powerful light-weight programming language designed for extending applications" +HOMEPAGE="http://www.lua.org/" +SRC_URI="http://www.lua.org/ftp/${P}.tar.gz" + +LICENSE="MIT" +SLOT="5.1" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+deprecated emacs readline static" + +RDEPEND="readline? ( >=sys-libs/readline-6.2_p5-r1:0=[${MULTILIB_USEDEP}] ) + app-eselect/eselect-lua + !dev-lang/lua:0" +DEPEND="${RDEPEND} + sys-devel/libtool" +PDEPEND="emacs? ( app-emacs/lua-mode )" + +SAN_SLOT="${SLOT//.}" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/lua${SLOT}/luaconf.h +) + +src_prepare() { + local PATCH_PV=$(get_version_component_range 1-2) + + epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make-r2.patch + epatch "${FILESDIR}"/${PN}-${PATCH_PV}-module_paths.patch + + # use glibtool on Darwin (versus Apple libtool) + if [[ ${CHOST} == *-darwin* ]] ; then + sed -i -e '/LIBTOOL = /s:libtool:glibtool:' \ + Makefile src/Makefile || die + fi + + #EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="upstream.patch" epatch + + # 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 + + if ! use deprecated ; then + # patches from 5.1.4 still apply + epatch "${FILESDIR}"/${PN}-5.1.4-deprecated.patch + epatch "${FILESDIR}"/${PN}-5.1.4-test.patch + fi + + if ! use readline ; then + epatch "${FILESDIR}"/${PN}-${PATCH_PV}-readline.patch + 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 (both shared and static + # are installed) + if use static ; then + epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make_static-r1.patch + fi + + # 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 "/^Libs:/s,((-llua)($| )),\2${SLOT}\3," \ + -e "/^Cflags:/s,((-I..includedir.)($| )),\2/lua${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:\([/\"]\)\<lib\>:\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=$(get_version_component_range 1-2) \ + 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() { + dodoc HISTORY README + dohtml doc/*.html doc/*.png doc/*.css doc/*.gif + + doicon etc/lua.ico + + newman doc/lua.1 lua${SLOT}.1 + newman doc/luac.1 luac${SLOT}.1 +} + +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 +} diff --git a/dev-lang/lua/lua-5.1.5-r5.ebuild b/dev-lang/lua/lua-5.1.5-r5.ebuild new file mode 100644 index 000000000000..f6bb7d48bff9 --- /dev/null +++ b/dev-lang/lua/lua-5.1.5-r5.ebuild @@ -0,0 +1,113 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils multilib multilib-minimal portability toolchain-funcs versionator flag-o-matic + +DESCRIPTION="A powerful light-weight programming language designed for extending applications" +HOMEPAGE="http://www.lua.org/" +SRC_URI="http://www.lua.org/ftp/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+deprecated emacs readline doc" + +RDEPEND="readline? ( >=sys-libs/readline-6.2_p5-r1:0=[${MULTILIB_USEDEP}] )" +DEPEND="${RDEPEND}" +PDEPEND="emacs? ( app-emacs/lua-mode )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/luaconf.h +) + +src_prepare() { + # Correct documentation link + 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. + + # Therefore both lua interpreter and compiler are statically linked to + # the core library modules. + + # Note: This patch only adds the required targets to the makefiles + # instead of relying upon libtool, which fails cross-compiling. Both + # shared and static versions of lua libraries are installed. + epatch "${FILESDIR}"/${P}-gentoo-build.patch + + # Rename deprecated functions in scripts + use deprecated || epatch "${FILESDIR}"/${P}-disable-deprecated.patch + + # Remove readline dependency if not requested + use readline || epatch "${FILESDIR}"/${P}-disable-readline.patch + + epatch "${FILESDIR}/${P}-fix_vararg_calls.patch" + + # Required by EAPI >= 6 + eapply_user + + # Add documentation URIs if needed + use doc && \ + HTML_DOCS=( doc/*.{html,css,png,gif} ) && \ + DOCS="HISTORY README" + + # custom Makefiles + multilib_copy_sources +} + +multilib_src_configure() { + # Fix directories according to FHS/Gentoo policy paths and ABI + sed -i \ + -e 's:/usr/local:'${EPREFIX}'/usr:' \ + -e 's:/man/:/share/man/:' \ + -e "s:\([/\"]\)\<lib\>:\1$(get_libdir):g" \ + Makefile etc/lua.pc src/luaconf.h doc/manual.html || die +} + +multilib_src_compile() { + append-cflags "-DLUA_USE_LINUX" + append-ldflags "-Wl,-E" + tc-export AR CC CPP LD RANLIB + emake \ + MYLDFLAGS="${LDFLAGS}" \ + MYCFLAGS="${CFLAGS}" \ + linux +} + +multilib_src_install() { + emake -j1 install INSTALL_TOP="${ED}/usr" + + insinto usr/$(get_libdir)/pkgconfig + doins etc/lua.pc +} + +multilib_src_install_all() { + einstalldocs -r + + doicon etc/lua.ico + + doman doc/lua.1 doc/luac.1 +} + +multilib_src_test() { + # These tests MUST succeed for the ebuild to succeed + local MUST_SUCCEED="bisect cf echo env factorial fib fibfor hello printf sieve + sort trace-calls trace-globals" + + # These tests MUST fail for the ebuild to succeed + local MUST_FAIL="readonly" + + cd "${BUILD_DIR}" || die + + local test + for test in ${MUST_SUCCEED}; do + src/lua test/${test}.lua || die "test $test failed" + done + + for test in ${MUST_FAIL}; do + src/lua test/${test}.lua && die "test $test failed" + done +} diff --git a/dev-lang/lua/lua-5.2.4-r2.ebuild b/dev-lang/lua/lua-5.2.4-r2.ebuild new file mode 100644 index 000000000000..b6eeb0be94de --- /dev/null +++ b/dev-lang/lua/lua-5.2.4-r2.ebuild @@ -0,0 +1,194 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit eutils autotools multilib multilib-minimal portability toolchain-funcs versionator + +DESCRIPTION="A powerful light-weight programming language designed for extending applications" +HOMEPAGE="http://www.lua.org/" +TEST_PV="5.2.2" # no 5.2.3-specific release yet +TEST_A="${PN}-${TEST_PV}-tests.tar.gz" +PKG_A="${P}.tar.gz" +SRC_URI=" + http://www.lua.org/ftp/${PKG_A} + test? ( https://www.lua.org/tests/${TEST_A} )" + +LICENSE="MIT" +SLOT="5.2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+deprecated emacs readline static test test-complete" +RESTRICT="!test? ( test )" + +RDEPEND="readline? ( sys-libs/readline:0= ) + app-eselect/eselect-lua + !dev-lang/lua:0" +DEPEND="${RDEPEND} + sys-devel/libtool" +PDEPEND="emacs? ( app-emacs/lua-mode )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/lua${SLOT}/luaconf.h +) + +src_prepare() { + local PATCH_PV=$(get_version_component_range 1-2) + + epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make-r1.patch + + # use glibtool on Darwin (versus Apple libtool) + if [[ ${CHOST} == *-darwin* ]] ; then + sed -i -e '/LIBTOOL = /s:/libtool:/glibtool:' \ + Makefile src/Makefile || die + fi + + [ -d "${FILESDIR}/${PV}" ] && \ + EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="upstream.patch" epatch + + # 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 (both shared and static + # are installed) + if use static ; then + sed -i -e 's:\(-export-dynamic\):-static \1:' src/Makefile || die + fi + + # 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_ALL" + + 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=$(get_version_component_range 1-2) \ + 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=$(get_version_component_range 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() { + dodoc README + dohtml doc/*.html doc/*.png doc/*.css doc/*.gif + + newman doc/lua.1 lua${SLOT}.1 + newman doc/luac.1 luac${SLOT}.1 +} + +# 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) + use test-complete || TEST_OPTS="-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 +} diff --git a/dev-lang/lua/lua-5.3.5-r2.ebuild b/dev-lang/lua/lua-5.3.5-r2.ebuild new file mode 100644 index 000000000000..d67a457d16da --- /dev/null +++ b/dev-lang/lua/lua-5.3.5-r2.ebuild @@ -0,0 +1,194 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit eutils autotools multilib multilib-minimal portability toolchain-funcs versionator + +DESCRIPTION="A powerful light-weight programming language designed for extending applications" +HOMEPAGE="http://www.lua.org/" +TEST_PV="5.3.4" # no 5.3.5-specific release yet +TEST_A="${PN}-${TEST_PV}-tests.tar.gz" +PKG_A="${P}.tar.gz" +SRC_URI=" + http://www.lua.org/ftp/${PKG_A} + test? ( https://www.lua.org/tests/${TEST_A} )" + +LICENSE="MIT" +SLOT="5.3" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+deprecated emacs readline static test test-complete" +RESTRICT="!test? ( test )" + +RDEPEND="readline? ( sys-libs/readline:0= ) + app-eselect/eselect-lua + !dev-lang/lua:0" +DEPEND="${RDEPEND} + sys-devel/libtool" +PDEPEND="emacs? ( app-emacs/lua-mode )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/lua${SLOT}/luaconf.h +) + +src_prepare() { + local PATCH_PV=$(get_version_component_range 1-2) + + epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make-r1.patch + + # use glibtool on Darwin (versus Apple libtool) + if [[ ${CHOST} == *-darwin* ]] ; then + sed -i -e '/LIBTOOL = /s:/libtool:/glibtool:' \ + Makefile src/Makefile || die + fi + + [ -d "${FILESDIR}/${PV}" ] && \ + EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="upstream.patch" epatch + + # 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 (both shared and static + # are installed) + if use static ; then + sed -i -e 's:\(-export-dynamic\):-static \1:' src/Makefile || die + fi + + # 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_ALL" + + 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=$(get_version_component_range 1-2) \ + 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=$(get_version_component_range 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() { + dodoc README + dohtml doc/*.html doc/*.png doc/*.css doc/*.gif + + newman doc/lua.1 lua${SLOT}.1 + newman doc/luac.1 luac${SLOT}.1 +} + +# 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) + use test-complete || TEST_OPTS="-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 +} |