summaryrefslogtreecommitdiff
path: root/sys-devel/make
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sys-devel/make
reinit the tree, so we can have metadata
Diffstat (limited to 'sys-devel/make')
-rw-r--r--sys-devel/make/Manifest37
-rw-r--r--sys-devel/make/files/3.80-memory.patch77
-rw-r--r--sys-devel/make/files/make-3.80-conditional-eval.patch157
-rw-r--r--sys-devel/make/files/make-3.80-parallel-build-failure.patch59
-rw-r--r--sys-devel/make/files/make-3.81-jobserver.patch19
-rw-r--r--sys-devel/make/files/make-3.81-long-cmdline.patch100
-rw-r--r--sys-devel/make/files/make-3.81-tests-lang.patch55
-rw-r--r--sys-devel/make/files/make-3.81-tests-recursion.patch14
-rw-r--r--sys-devel/make/files/make-3.82-MAKEFLAGS-reexec.patch14
-rw-r--r--sys-devel/make/files/make-3.82-archives-many-objs.patch60
-rw-r--r--sys-devel/make/files/make-3.82-construct-command-line.patch71
-rw-r--r--sys-devel/make/files/make-3.82-copy-on-expand.patch58
-rw-r--r--sys-devel/make/files/make-3.82-darwin-library_search-dylib.patch17
-rw-r--r--sys-devel/make/files/make-3.82-glob-speedup.patch104
-rw-r--r--sys-devel/make/files/make-3.82-intermediate-parallel.patch62
-rw-r--r--sys-devel/make/files/make-3.82-long-command-line.patch54
-rw-r--r--sys-devel/make/files/make-3.82-memory-corruption.patch37
-rw-r--r--sys-devel/make/files/make-3.82-oneshell.patch24
-rw-r--r--sys-devel/make/files/make-3.82-parallel-remake.patch39
-rw-r--r--sys-devel/make/files/make-4.0-char-cast.patch46
-rw-r--r--sys-devel/make/files/make-4.1-fix_null_returns_from_ttyname.patch53
-rw-r--r--sys-devel/make/files/make-4.2-default-cxx.patch13
-rw-r--r--sys-devel/make/make-3.80-r4.ebuild42
-rw-r--r--sys-devel/make/make-3.81-r2.ebuild45
-rw-r--r--sys-devel/make/make-3.82-r4.ebuild50
-rw-r--r--sys-devel/make/make-4.0-r1.ebuild46
-rw-r--r--sys-devel/make/make-4.1-r1.ebuild46
-rw-r--r--sys-devel/make/make-4.2.1-r1.ebuild49
-rw-r--r--sys-devel/make/make-4.2.1.ebuild48
-rw-r--r--sys-devel/make/metadata.xml8
30 files changed, 1504 insertions, 0 deletions
diff --git a/sys-devel/make/Manifest b/sys-devel/make/Manifest
new file mode 100644
index 000000000000..7625ca99c4ae
--- /dev/null
+++ b/sys-devel/make/Manifest
@@ -0,0 +1,37 @@
+AUX 3.80-memory.patch 2248 SHA256 0fa6d8b039fd56313626a3865cde7ef09622525a751ec55bf3741a6fc172091f SHA512 dc2654f236d72fcde4cc7c0249cec31cf46b3d80d4dc6c5659f65cab22c010a1edc202ab6b005237c78930939fe676461e04b426b348beaa912835ee04bc67cc WHIRLPOOL a520b7257d2ee3b6c297cf06b70a01ad26d7842dc2dabe01b444c4f5cc9b95cd987db4b8ecb46cfe1e848a8cc5b60c831524d38d8917c1918fd9be05eca9993c
+AUX make-3.80-conditional-eval.patch 4144 SHA256 68f182f5435296b60acc710006bddf745bee6c37e68ae2942c778add93a40155 SHA512 6cc783cdfe315580f0143605a3f41ef48e06a510858178c5647145d05bd8a6b420080cfbbd0ffe640ad41385d197f6e7aba8f37dda2c3589c9316898658a4593 WHIRLPOOL 67405a9079a27ac9b90fdcfd1ad0a29966c2f5691f1ddaa8dd658e235c3900bb105ac61da48880dbb4d7749ac88d5f150b657475bb8a00d358a71e186df0fed5
+AUX make-3.80-parallel-build-failure.patch 2210 SHA256 71f80dee56a04f30f2fe8bb9012d32ed830d2e0e9f68c183819c5ccf025c9b62 SHA512 09d85abae6df739df02ca46fe7652a256cf9b6765c6599688795d0aae827608d9606e7870d634b8eb5662665d888c7316ca6c83c5be11fa9578c13334eb83330 WHIRLPOOL bd068564283aa74bbe7782be180124087d77fc0bf63922d62ef4959141b37fd32a4b1762015a9c2fdf9a670cb404b921d9eee959f66709ce359c95da6b8de9eb
+AUX make-3.81-jobserver.patch 543 SHA256 0c38417b19d1950f0665b17a2c4ddb503ebd3741ab3e5099fa54e93eaa989d60 SHA512 0e9aa06a9bc4db784eaebf8b0689e3cc049a261a9948bfc16b2aee195b177a5e2f5b47f004c653807298513b000ed7ea2ed586fe758bfa2a0c9c08c97a71131c WHIRLPOOL 162924b759648c91e8c1bac33dc20d6903d4a6c0dab3f81069a13ad9049ef475b327cadac7718df56b1f41c2d85acb090de4126d358d3cadba2f24ffe36d9f86
+AUX make-3.81-long-cmdline.patch 2823 SHA256 0609897c53f29fca55b0f064a45af881cb1c98297c5c7f43e0bde154622f3c26 SHA512 40241b167bb724d3f50658338346d5b6674076fcd30bcb50c3e8e4e032d0745eb0d251856496d5ecdc47cb14aabb59ab3a47a4f48cabbf670c118e887897728d WHIRLPOOL 01d6fb72de3652f762ed5a632153cd22711a626c4a86d9f391b4ffbfd9f355d0b755a775f2d67e7972d5998eaa3b2033e04bfdb6b98f4c0066aa3cdd161cbd82
+AUX make-3.81-tests-lang.patch 1788 SHA256 0d2f6b061ed2b09babbb851d1bcebcd20bc2331c799d469bfefa2a985774e486 SHA512 1717c35f8b87aa694be75f2ca42162d06a66488e9ba2c004f0daebf4cd3cf06f65aa980adf745179408d55d45b6bbb889596d5f39b28c928a0ddfd273405ec8b WHIRLPOOL d418ae2f10f3f03f5b4e2601229bd30a8236cb18bded1edfb67f5c8791cfd3a1cf4bd3f535b6ca572844f72ce10f2a92e67e153f9de311196a75e96d57a95b2d
+AUX make-3.81-tests-recursion.patch 514 SHA256 727a42dd884d296d421342f374b95ac05eeaef67c5f5efe755f1242944aab74b SHA512 8119045661bb08d468a0975f6e0a9606768bb6122c9c5cdb9e8b74926cd37e0e1a5a60486aab306106d1c1de0b3a83b072a6999b3ba33d6a0befc333f658da00 WHIRLPOOL 77eef52ca8b00539c8d7cbd1cfcf9e930d48707c706897a082bc40f2c1cab82d14b3ec1d7eb5be5b248cee4999cb8d9234429fca6e0af71f914c214a8390582b
+AUX make-3.82-MAKEFLAGS-reexec.patch 456 SHA256 0180a94ab07bb9c1348ab30301afcbbe382a281c4c6f143de16e3bea3d96e00c SHA512 675c528ea92c9df487c0a9d9058a304f970543f71991c70cc1399f3b6582316dac8b387aa1a744b0d6dcbe215775efea4e936b09553bccbfced3dcbc28af5532 WHIRLPOOL 5da896f02f24c5813a25cfccc4029b4f0a674c2f10d86057bdc59bf4f8be24bfba2886a91c63feadf5805ab26c85098c6c3c5be7c4b1ceddc1edee6328874a88
+AUX make-3.82-archives-many-objs.patch 2110 SHA256 268db7c9e98f540ac9d5466bba17946f400463c1fd934d419e37fafaea7f0dd7 SHA512 c3669a4a2104621e3dab921793635c1443ec389ef160d1171d3181d58a1568d88ff35044b70298edef504f63e449ddb7fb27f9528cf588ca643dcdc3e40ebab7 WHIRLPOOL fc4e7b40bf67638c2e5ec476dd49a7ffd2dcd5aba465367ffbd734bec6b1c0a5b792cc704ba6414802318601ee558236d17b49bfdd7405610b0bb5f3bc0f9c06
+AUX make-3.82-construct-command-line.patch 2307 SHA256 5ba054cd764f493acc5f3f8acda9028e6fd2324508ca4dae7fbce04e491da0a5 SHA512 7c72bd7b9da986a8a37b047b7944a07b729fb16cd3413bce0e17008f2bbc4afabc48835580c4302d1381552873d1f07c93fbc4dfb6862eab0e46c62b0d35f557 WHIRLPOOL 59dae0e195a2fb6cdfb103f41870d31bae4d506df96b6e4abfbe96e39b35a6b6be9a25a7ce6663a67c3a842a09e8023e4c20754601dae1921514df77b6e3289a
+AUX make-3.82-copy-on-expand.patch 1812 SHA256 866a3942f9c747aecc5dd6c313f1fbd2f8f0b457a28197756c5713aefa45f543 SHA512 e7e31edfe3f11a91a4e2d0377a15328d6b54ab7b614c9d0c8ab6b18b5a8a5e2fa852ac7469bee685fcbdaa46d22f81fd585d0683a762afaa4160d7a7d5a558c8 WHIRLPOOL 4b8f123509131c495f15aacab0f906c864204c06554d07c5ac91d225ac6e4998d3fa1014a9780d8e3ef8a2c360c19a55bd84cd726f0ae0f150efdf92d3c60f11
+AUX make-3.82-darwin-library_search-dylib.patch 439 SHA256 726ddb522e6d46ac1fe29c0d76329c8264f53fc2a19baa94771e9299d9bfd54e SHA512 aaabf2e7faaa6f116c0124d30e8bc5c049fa471defc39c454e03e3f484265f30fc0388ea13154559925935d803315b5594780b41bbf1d1f7d1599a60f85cd8ac WHIRLPOOL 2a344dabd157fcb90ba97a8e774fb151cb32067b5cb8f8dda662be3ec9c425081e1a76d217448167ecc6b98e1699b2b6cd6580ccd0b8a465c0f91c254a76d6ee
+AUX make-3.82-glob-speedup.patch 2833 SHA256 525896b152bb314cbf3c465575394584305ded895429bf4ade919d69dedfec06 SHA512 de6bacc4e389c2308a92b77b6f21f752ed078af6f5320481f84e8344532825a5b2225ddb9c8eba40badf9d377d1e5546906ab265e5c08a815cce01b0832dfe1c WHIRLPOOL ac2101cc81778c6a425566224594a89a958ce1d7dbd9bfb1e71bdea3ed794aa4c7de0b970f1603240f0f1072ef61c18a5fd839badd904dd2f551579dd45d7399
+AUX make-3.82-intermediate-parallel.patch 1863 SHA256 05ba85e34ed727ea5bbeebcbeab467da1ec97edf7a9543b246896daa02b72a55 SHA512 6cebec44deda36e1a25fd5b0641ecfb90dc708d7d5dca2dd6108cc2bf0be142f26e96a5979a7b456c6f29517853e1abb7a755b078fef3c0f452437c7f0c38379 WHIRLPOOL 4ad303da4f73241ccb6a58f116b19d8f64fbe22bf2a6e0885c5df15ae95d3197fecda2a71a7b8f3be7a2de4362fd9de84359b7ee317154478b54b49389a994de
+AUX make-3.82-long-command-line.patch 1598 SHA256 da196f8050c717d42110e9328b3413a61719a7064e5b76bb1a539f492e6a1613 SHA512 b86336d6e337a8d7524a90ec75944772aab48cba45ab003adc5b71c3a4604350ecb16c398a003cd3ac7ff900d841b915d771626e9a8485778ce72e43510f107c WHIRLPOOL 8d9e9454cddef12e7def055add4a695f1c62ad13e57afec4219e3e88d290d12368dd27fb491f47fe8400ba8528755fc2faf90fae64e47daa79618358f8b17814
+AUX make-3.82-memory-corruption.patch 899 SHA256 8bb84e638f40514045f0c57b0ee9da24024679f624614e4d954ce7e8f6414d3b SHA512 a65428bf6a1ff3bbe811cbf633577f15399bdaeab11fab0e66a104987df4dffc7779753aaaaad0534e591ca6df2fbebfca6522b35487e6bf9166b0681c271ae8 WHIRLPOOL 0200c90954a948108b21e5cec6c95f02479bc0d189cc9cf76de6b0f4c3647225fde83e775b07f23cc4d0e040c02c3ca5972c2f75ac1da8f2ec4896ff21a6ea2f
+AUX make-3.82-oneshell.patch 931 SHA256 017bd61d9ed44a9cda3f7dc2c49d65be33b9b3a225580ad36e9caf5c8481f184 SHA512 85784dfcfeee2b7d7d3d659edc39a268165ab3f9dbd3d716ffcc7ba52cb44c3011cf5aa3e57cdab12f2f8aeec4ff00ffe82959aef242951f4dc1a7c6d4b55d89 WHIRLPOOL 287b8cefc2abfbe4a7825499f6c15db192be1b7941c25a1d5d260fc795a38bbb97923a8da5fe0035697c3dae36bd26b2633d316f6c9c9882be23aee51ece2d62
+AUX make-3.82-parallel-remake.patch 1422 SHA256 e2b63a63a44fb692798d237f888ad35a0899144fc5c6700270dee8ee455ac231 SHA512 640489810aa387524d5b7b0c38b22d13c423e1ca04c2a8915d1736904aa6e158f999eda5d6b0f17c21a85f97b490e73c85fd2d205d494c98099e379842a1fccc WHIRLPOOL cfc8ba57e22524ba675aa916eafcdc5b4bd2121f7d1dfd6cb73a2fadc365975af8360e61b70260632fa13292537ed7ea169861745deb3cd7956a6ff4ff364738
+AUX make-4.0-char-cast.patch 1399 SHA256 e713be18cd6cf63428ec35c9e0e6b097031fff3148716ae0ec329032a6d8805e SHA512 7d1490094b01362bba40cb0d2088d2ee79b9bd6756e4ea51920675ca305acfc653cdf92df5735e4e40360ece6c9de6dafcdd542df6b9821de8b1345b8ad2fb1b WHIRLPOOL 96df083fd4ed757d3e76a4074d49cf5fc93c63ef4ddc8b2a773ecda5a6ffd20335d7390c92795327977f0d8694f44a2dfbfb9fab91244afa807a5e73bebc9931
+AUX make-4.1-fix_null_returns_from_ttyname.patch 1888 SHA256 325db153f75e680de29fb05f6e341ebfde4f68f1b7fcc3ace602f30b07bafd5b SHA512 47eb22909be25618fbc120fe5b844207989135101ada960c69557f898b2345c52a25fc329945324cd968f19fc3835330d939cf4ec2faf5ccf5c54e20dc02a1da WHIRLPOOL 4d4920a02a59cbce9584857ced89139f60fd817ad1e0ab90eefc15328b4d7073f61063eafa21ac101574ae05ada24a789df89ba4045963de1c0746ddf9fae513
+AUX make-4.2-default-cxx.patch 269 SHA256 3e2e1102bcaca24599ab1796a08a43d6e98e882d2540a8ea3dac67774574b27f SHA512 b9c6254c8111111d9986de617023fad1673a8992d5a8b2e1e5ce32a92f5e4d064e1a9677b44f1d647a54ddd1c62782eccfd2d71ddc8d41baee141f65bdc894fe WHIRLPOOL 96c1b51e9a1ac6b555692a38a7e487c6ef2f919069d59c0ab31e6dbaa2d5a484161b3b7ddddb9dfb6f0527d8b0d65d04ff79fe6a88c6b727b5553e35a5dcb229
+DIST make-3.80.tar.bz2 920645 SHA256 a99b39e7b04c333724f48c38fede709481cfb69fafe7e32ae4285b7fadf92f1b SHA512 aadabe1f6a3acd438597b24465e06e34343fb020b4ca9336d2aa5b572ce530622785dde8215b3f4332ff75928f72c269b9b83dfecf470f522285e27109b7bdfd WHIRLPOOL 4564dd28addd0817e47e8e89b8eff6af601050a2b0062b9e6df0b66945c7a426fa2cda4624b420d2f026440650ab5a95f6acd058deb7d2af00baa549fc19ea1e
+DIST make-3.81.tar.bz2 1151445 SHA256 f3e69023771e23908f5d5592954d8271d3d6af09693cecfd29cee6fde8550dc8 SHA512 f38b8219a966b4756149a13435f5b9dc760814aa62c6add8e1760e602f65a83cd0a45ed457a5dbdd2fab91043af4de2c60e62154f95c6b625af3703c824eb653 WHIRLPOOL 39d33b8b9136a3a8cf732fe8f437729ab5d487dc3e6dca0cad6dcdea256eec799d19c6c8d2591c3b526e7bd4fdd901ca7eb1d9e77e525454a3e52e17fd181ce7
+DIST make-3.82.tar.bz2 1242186 SHA256 e2c1a73f179c40c71e2fe8abf8a8a0688b8499538512984da4a76958d0402966 SHA512 3260be0d1a9a7c5eb0dbb87179a9a9521fdfc7809ca51f13ee5a37ba5e63d21ad50a4249ec7d3929a9d0ce8c8f6cf302558743964f0f7ff742efe283b91df9de WHIRLPOOL 0b6b5f95f33e0e5584cddad234afb2350bbf62f2a9c280703345100eba7867d80412cbe1b22f429eb32db43dd37e665e0f136d0262ee3f030cf384f77e99d1cb
+DIST make-4.0.tar.bz2 1341927 SHA256 e60686c7afede62cc8c86ad3012cf081ea4887daf9d223ce7115703b2bb2dbdb SHA512 82de265963cd08701491e02a4917cd2097762657257a9508119e5847050d0cb15580c163159463e822860435c5910190677d8e4aba644ba75df2895f26117376 WHIRLPOOL 96984c0493651bf27db3ddd6fadde25678e512d4d134fd7063cc5cd54bff6228543c98463835940e19e1cc79a67e22067c889efd460b355438670a4d42ce0d09
+DIST make-4.1.tar.bz2 1327342 SHA256 0bc7613389650ee6a24554b52572a272f7356164fd2c4132b0bcf13123e4fca5 SHA512 3fcaf06660b7a5019937b81ee69fe54cdfe0a24d66286fc5cc6a34fa996d76dfe6fd5bc49ee59b727ae2b24ddca261ada0fdb5873ba2b38dcc63647ad3cdb193 WHIRLPOOL 992ae4e6dc5e82bb4dc1b5c0840fbc519769114e61233c2d1cf9badfd0cf52a618fde290cef6cdc13d6c098aea9a67c414655513acefb1d44b031e14fe43d544
+DIST make-4.2.1.tar.bz2 1407126 SHA256 d6e262bf3601b42d2b1e4ef8310029e1dcf20083c5446b4b7aa67081fdffc589 SHA512 9cf00869a2f938492554f71d8cb288b5b009b3bd0489ef164f2c8f6532fc37db5c7e20af1dea288536e7c9710ee0bc6e1ddcdfc4928a8540e6e43661741825b8 WHIRLPOOL 51c953368a4e2f4ec1e99cbd7f1d3e7671c52051ea213fa849ff60de9a695fe69670be92708b794ae8a7326b91a4548d82de7e0be441f073fc1f3329cfc065e0
+EBUILD make-3.80-r4.ebuild 1024 SHA256 3b3ad652a65814c7cbd4207a499c3411bc9bf5f6c401d07dbcc3d3291e358053 SHA512 072bb62e7b41a1b1b7904f2bb4da50daa5d1355d7bccbac1ed58aad82dfe8e1fee5b963e2640566019617a9196880f93d1c3ea9a3ddfcd33d6e7e7af5aebee2b WHIRLPOOL aa2445a99a2530debfe7666d990af84e91340ac27f325d3e1a128b4188eaf94dd4a2638fe31bdc246e31c5ba2a2472fc70538cff0f17d60f646766c08af98b84
+EBUILD make-3.81-r2.ebuild 1198 SHA256 18ba4984a8102eb672e05a859e48aba328db54891513744cc2c5f5409bdf6d3f SHA512 d2348b81a5fbfb9406d8b2d178ce46dc9f91e6c492a10953f39a87fc977fed5a4a1644f76447c08ea45da97c01481f02b6e97ec0605d69313a54feb191bf4c1d WHIRLPOOL 12cb73d99b4c63fa11c9d317c4b4a9d2b18caddb6d0f961ff5a7bba2b92d7db0973e37b253084a561d95c139b0b4982055f09f09c7e50d3ec148872965b2a187
+EBUILD make-3.82-r4.ebuild 1698 SHA256 ec233d07e49f6e91a711e4bf92f77c3be246b48b99129cccf6b1f44fe48e4e50 SHA512 efe00112524c6dacac99d5c60b8cbddfa4942631450106ef35e822c854bf1fd32d56a487f6a96def9870b04e8a1a914e7055649ec9c295a920031629f902f3ea WHIRLPOOL 39a4eea0a86e424cfddaf35e88696bbd1a2d20d514b5405a20211e2564bc47ae910d590864957aa0b209908ef9129d8fbdc4aa208f860b5d0fc481b58c53a8c5
+EBUILD make-4.0-r1.ebuild 1296 SHA256 b7295d49d39a917d7ca008b275b87b8cae181235966dd861ac7c7d9df4bd456f SHA512 dae5616eedd77c83eb4b2cb9d54a02740df9f82f7d4333a9aad382f9137c039cf897a6758eb314afd9bc2ffac454fc9ae975b3d8a9d0b7761ae4d0d9afe2367d WHIRLPOOL 3e3af52f6ced9cf0d07ff392e091f0b3139434dc71babdc173ada849e3fafb09de3897e0ea5f74e51351bb1cf722d170a1e5ceedcf47a4f7025a03ae930b69de
+EBUILD make-4.1-r1.ebuild 1306 SHA256 9c406b1538084d329c1e04d01da6863084b3db12c30147eb4ae39cfbaf9f9beb SHA512 42ba99cd73a1af23b15cca67afa469fa048c77a7a1e0870f94e8f6eb81b825ca2a379e49a1c4093d45771db8b625545cb5f362c815c1012474c4b5bbf6c73809 WHIRLPOOL c103cd25cbf22271f5423363f9d7742b3b43fc17b1b37ea12cdb0a4f507029cdfadb17a06efc0816d541021633d3ee88ba4e66de809849c33606d5d7b5bb2cec
+EBUILD make-4.2.1-r1.ebuild 1343 SHA256 7100017e5597d4bdbc6734f39b265c3f2620914c5621b57b5c3cad3ee7415076 SHA512 3c990f6788274012a5db9f18c04901b6761c7729bd78fc583f629f8a6e7f3e3c9a696afe8e9483fbff8fd685acd2c03bab256b2aad11331efc493120d3e863f3 WHIRLPOOL 1e20db182b7917f2d78006f8a22b70bf7e89a5ad7b27440145e5a491d32dc1fead50bf4862cdf95d21ca4181bb557c44f7e395058e8ca416f0887347bdd01dc8
+EBUILD make-4.2.1.ebuild 1291 SHA256 3d742c70fccc645ff79a97f353342afc77a5adee2082c52d9683a52fb94a5935 SHA512 ef759245fedebf4ee4f83686b10ecc50d53dc80c99c5fe9933f1738b04ea641685ce74583f04bfbbe8bfc84257f82511a7eafc010b5f05cf755599205fa200f1 WHIRLPOOL 1f155490b49a47d8539fc095dcda50fd2a55cd98984da2f6b1639f337871cf8405b90cf260dbb0bdd655b6f302cc2f1dd1678fbe709139eeb4b390d911bfad75
+MISC ChangeLog 5709 SHA256 eec1b695efb46f1db754046e8fd2c1b41b8ce0495ca8dbe6bb7f9337beb51d57 SHA512 85887c429d69fb6af1d823c2a6023b072438ab902bc3713a1f343b6601ecbaaf534f2364efd4f6b700d0230308c6e66faf87ce523588a233b29d786c9636c604 WHIRLPOOL 674baf7c652517865e316a86fd96fd07dec057c6ecb56f905a0eb74e2553be7736826f03ad1e98500e75775f5f0fa32ec66d8f933d816358116d42e91df1c97e
+MISC ChangeLog-2015 18347 SHA256 1ae3c0c93f7f5c97fd21dd8890a4a9701802b08713e6c1ffe05ab48e21994ea1 SHA512 df210658a1d5036b7fe188834a66818343bf8f94716fffbfeeedd343ffa12d32d465bb7104753ef69b052c151458bbc21627009608e7ac28bcf843b50f265e75 WHIRLPOOL efcf138911b6d2bb39746997f1e75795b1a7cf3e448a5957418577d5d20b09df5cac68906e30d7ef8c299228d5b981379ccb5e9d483b68375d4347fb9a817f04
+MISC metadata.xml 253 SHA256 d82c33ef453113a5c1ebe250dcba373c22934a69b0a86c6ab15a5ca589c25b91 SHA512 54a9069aeb4165d2dff3d473c8001bc51613aac9dff3f7f5e9971a9891a737a31511ffa11cbd523febe581ac1d9de2bdf2f40410f0c4239138f2ccca3ef15555 WHIRLPOOL e5aee23acff864609953a1e4de768f0e4aef704b44c53c021f28573e1ca5c99f1a46d92935ecec2449f7b4419a36d8373127d0ecfa8d7bae72d835e1839eb3f8
diff --git a/sys-devel/make/files/3.80-memory.patch b/sys-devel/make/files/3.80-memory.patch
new file mode 100644
index 000000000000..663acf52d77c
--- /dev/null
+++ b/sys-devel/make/files/3.80-memory.patch
@@ -0,0 +1,77 @@
+Index: variable.h
+===================================================================
+RCS file: /cvsroot/make/make/variable.h,v
+retrieving revision 1.24
+diff -u -B -b -r1.24 variable.h
+--- variable.h 8 Aug 2002 00:11:19 -0000 1.24
++++ variable.h 25 Oct 2002 21:37:32 -0000
+@@ -107,6 +107,8 @@
+ extern char *expand_argument PARAMS ((char *str, char *end));
+ extern char *variable_expand_string PARAMS ((char *line, char *string,
+ long length));
++extern void install_variable_buffer PARAMS ((char **bufp, unsigned int *lenp));
++extern void restore_variable_buffer PARAMS ((char *buf, unsigned int len));
+
+ /* function.c */
+ extern int handle_function PARAMS ((char **op, char **stringp));
+Index: expand.c
+===================================================================
+RCS file: /cvsroot/make/make/expand.c,v
+retrieving revision 1.33
+diff -u -B -b -r1.33 expand.c
+--- expand.c 14 Oct 2002 21:54:04 -0000 1.33
++++ expand.c 25 Oct 2002 21:37:32 -0000
+@@ -545,3 +545,28 @@
+
+ return value;
+ }
++
++/* Install a new variable_buffer context, returning the current one for
++ safe-keeping. */
++
++void
++install_variable_buffer (char **bufp, unsigned int *lenp)
++{
++ *bufp = variable_buffer;
++ *lenp = variable_buffer_length;
++
++ variable_buffer = 0;
++ initialize_variable_output ();
++}
++
++/* Restore a previously-saved variable_buffer setting (free the current one).
++ */
++
++void
++restore_variable_buffer (char *buf, unsigned int len)
++{
++ free (variable_buffer);
++
++ variable_buffer = buf;
++ variable_buffer_length = len;
++}
+Index: function.c
+===================================================================
+RCS file: /cvsroot/make/make/function.c,v
+retrieving revision 1.71
+diff -u -B -b -r1.71 function.c
+--- function.c 14 Oct 2002 21:54:04 -0000 1.71
++++ function.c 25 Oct 2002 21:37:32 -0000
+@@ -1196,7 +1196,17 @@
+ static char *
+ func_eval (char *o, char **argv, const char *funcname)
+ {
++ char *buf;
++ unsigned int len;
++
++ /* Eval the buffer. Pop the current variable buffer setting so that the
++ eval'd code can use its own without conflicting. */
++
++ install_variable_buffer (&buf, &len);
++
+ eval_buffer (argv[0]);
++
++ restore_variable_buffer (buf, len);
+
+ return o;
+ } \ No newline at end of file
diff --git a/sys-devel/make/files/make-3.80-conditional-eval.patch b/sys-devel/make/files/make-3.80-conditional-eval.patch
new file mode 100644
index 000000000000..f4c1581f316f
--- /dev/null
+++ b/sys-devel/make/files/make-3.80-conditional-eval.patch
@@ -0,0 +1,157 @@
+Fix from upstream
+
+https://savannah.gnu.org/bugs/index.php?func=detailitem&item_id=1516
+http://bugs.gentoo.org/123317
+
+Index: read.c
+===================================================================
+RCS file: /cvsroot/make/make/read.c,v
+retrieving revision 1.124
+retrieving revision 1.125
+diff -u -p -r1.124 -r1.125
+--- read.c 14 Oct 2002 21:54:04 -0000 1.124
++++ read.c 25 Oct 2002 22:01:47 -0000 1.125
+@@ -272,6 +272,34 @@ read_all_makefiles (char **makefiles)
+ return read_makefiles;
+ }
+
++/* Install a new conditional and return the previous one. */
++
++static struct conditionals *
++install_conditionals (struct conditionals *new)
++{
++ struct conditionals *save = conditionals;
++
++ bzero ((char *) new, sizeof (*new));
++ conditionals = new;
++
++ return save;
++}
++
++/* Free the current conditionals and reinstate a saved one. */
++
++static void
++restore_conditionals (struct conditionals *saved)
++{
++ /* Free any space allocated by conditional_line. */
++ if (conditionals->ignoring)
++ free (conditionals->ignoring);
++ if (conditionals->seen_else)
++ free (conditionals->seen_else);
++
++ /* Restore state. */
++ conditionals = saved;
++}
++
+ static int
+ eval_makefile (char *filename, int flags)
+ {
+@@ -388,6 +416,8 @@ int
+ eval_buffer (char *buffer)
+ {
+ struct ebuffer ebuf;
++ struct conditionals *saved;
++ struct conditionals new;
+ const struct floc *curfile;
+ int r;
+
+@@ -402,8 +432,12 @@ eval_buffer (char *buffer)
+ curfile = reading_file;
+ reading_file = &ebuf.floc;
+
++ saved = install_conditionals (&new);
++
+ r = eval (&ebuf, 1);
+
++ restore_conditionals (saved);
++
+ reading_file = curfile;
+
+ return r;
+@@ -412,13 +446,8 @@ eval_buffer (char *buffer)
+
+ /* Read file FILENAME as a makefile and add its contents to the data base.
+
+- SET_DEFAULT is true if we are allowed to set the default goal.
++ SET_DEFAULT is true if we are allowed to set the default goal. */
+
+- FILENAME is added to the `read_makefiles' chain.
+-
+- Returns 0 if a file was not found or not read.
+- Returns 1 if FILENAME was found and read.
+- Returns 2 if FILENAME was read, and we kept a reference (don't free it). */
+
+ static int
+ eval (struct ebuffer *ebuf, int set_default)
+@@ -782,9 +811,7 @@ eval (struct ebuffer *ebuf, int set_defa
+
+ /* Save the state of conditionals and start
+ the included makefile with a clean slate. */
+- save = conditionals;
+- bzero ((char *) &new_conditionals, sizeof new_conditionals);
+- conditionals = &new_conditionals;
++ save = install_conditionals (&new_conditionals);
+
+ /* Record the rules that are waiting so they will determine
+ the default goal before those in the included makefile. */
+@@ -810,14 +837,8 @@ eval (struct ebuffer *ebuf, int set_defa
+ }
+ }
+
+- /* Free any space allocated by conditional_line. */
+- if (conditionals->ignoring)
+- free (conditionals->ignoring);
+- if (conditionals->seen_else)
+- free (conditionals->seen_else);
+-
+- /* Restore state. */
+- conditionals = save;
++ /* Restore conditional state. */
++ restore_conditionals (save);
+
+ goto rule_complete;
+ }
+Index: tests/scripts/functions/eval
+===================================================================
+RCS file: /cvsroot/make/make/tests/scripts/functions/eval,v
+retrieving revision 1.1
+retrieving revision 1.2
+diff -u -p -r1.1 -r1.2
+--- tests/scripts/functions/eval 8 Jul 2002 02:26:48 -0000 1.1
++++ tests/scripts/functions/eval 25 Oct 2002 22:01:47 -0000 1.2
+@@ -57,4 +57,35 @@ $answer = "A = A B = B\n";
+
+ &compare_output($answer,&get_logfile(1));
+
++# Test to make sure eval'ing inside conditionals works properly
++
++$makefile3 = &get_tmpfile;
++
++open(MAKEFILE,"> $makefile3");
++
++print MAKEFILE <<'EOF';
++FOO = foo
++
++all:: ; @echo it
++
++define Y
++ all:: ; @echo worked
++endef
++
++ifdef BAR
++$(eval $(Y))
++endif
++
++EOF
++
++close(MAKEFILE);
++
++&run_make_with_options($makefile3, "", &get_logfile);
++$answer = "it\n";
++&compare_output($answer,&get_logfile(1));
++
++&run_make_with_options($makefile3, "BAR=1", &get_logfile);
++$answer = "it\nworked\n";
++&compare_output($answer,&get_logfile(1));
++
+ 1;
diff --git a/sys-devel/make/files/make-3.80-parallel-build-failure.patch b/sys-devel/make/files/make-3.80-parallel-build-failure.patch
new file mode 100644
index 000000000000..717e0f3556ce
--- /dev/null
+++ b/sys-devel/make/files/make-3.80-parallel-build-failure.patch
@@ -0,0 +1,59 @@
+http://lists.gnu.org/archive/html/bug-make/2005-07/msg00050.html
+http://lists.gnu.org/archive/html/bug-make/2005-08/msg00019.html
+http://bugs.gentoo.org/107613
+
+2005-08-07 Paul D. Smith <psmith@gnu.org>
+
+ Fix a bug reported by Michael Matz <matz@suse.de>: patch included.
+ If make is running in parallel without -k and two jobs die in a
+ row, but not too close to each other, then make will quit without
+ waiting for the rest of the jobs to die.
+
+ * main.c (die): Don't reset err before calling reap_children() the
+ second time: we still want it to be in the error condition.
+ * job.c (reap_children): Use a static variable, rather than err,
+ to control whether or not the error message should be printed.
+
+Index: job.c
+===================================================================
+RCS file: /cvsroot/make/make/job.c,v
+retrieving revision 1.166
+retrieving revision 1.167
+diff -u -p -r1.166 -r1.167
+--- job.c 26 Jun 2005 03:31:30 -0000 1.166
++++ job.c 8 Aug 2005 05:08:00 -0000 1.167
+@@ -475,9 +479,14 @@ reap_children (int block, int err)
+
+ if (err && block)
+ {
+- /* We might block for a while, so let the user know why. */
++ static int printed = 0;
++
++ /* We might block for a while, so let the user know why.
++ Only print this message once no matter how many jobs are left. */
+ fflush (stdout);
+- error (NILF, _("*** Waiting for unfinished jobs...."));
++ if (!printed)
++ error (NILF, _("*** Waiting for unfinished jobs...."));
++ printed = 1;
+ }
+
+ /* We have one less dead child to reap. As noted in
+Index: main.c
+===================================================================
+RCS file: /cvsroot/make/make/main.c,v
+retrieving revision 1.210
+retrieving revision 1.211
+diff -u -p -r1.210 -r1.211
+--- main.c 12 Jul 2005 04:35:13 -0000 1.210
++++ main.c 8 Aug 2005 05:08:00 -0000 1.211
+@@ -2990,7 +2996,8 @@ die (int status)
+ print_version ();
+
+ /* Wait for children to die. */
+- for (err = (status != 0); job_slots_used > 0; err = 0)
++ err = (status != 0);
++ while (job_slots_used > 0)
+ reap_children (1, err);
+
+ /* Let the remote job module clean up its state. */
diff --git a/sys-devel/make/files/make-3.81-jobserver.patch b/sys-devel/make/files/make-3.81-jobserver.patch
new file mode 100644
index 000000000000..cd787ca769d2
--- /dev/null
+++ b/sys-devel/make/files/make-3.81-jobserver.patch
@@ -0,0 +1,19 @@
+related to bug #193258, but this is the final patch that Fedora went with
+
+--- make-3.81/main.c 2007-09-24 15:28:34.000000000 +0200
++++ make-3.81-pm/main.c 2007-09-24 15:32:50.000000000 +0200
+@@ -1669,8 +1669,12 @@ main (int argc, char **argv, char **envp
+
+ if (job_slots > 0)
+ {
+- close (job_fds[0]);
+- close (job_fds[1]);
++ if (restarts == 0)
++ {
++ close (job_fds[0]);
++ close (job_fds[1]);
++ }
++
+ job_fds[0] = job_fds[1] = -1;
+ free (jobserver_fds->list);
+ free (jobserver_fds);
diff --git a/sys-devel/make/files/make-3.81-long-cmdline.patch b/sys-devel/make/files/make-3.81-long-cmdline.patch
new file mode 100644
index 000000000000..9ceb5e8195e2
--- /dev/null
+++ b/sys-devel/make/files/make-3.81-long-cmdline.patch
@@ -0,0 +1,100 @@
+http://bugs.gentoo.org/301116
+
+tweaked a little to avoid regenerating autotools
+
+2009-07-29 Ralf Wildenhues <Ralf.Wildenhues <at> gmx.de>
+
+ * configure.in: Check for sys/user.h and linux/binfmts.h
+ headers.
+ * job.c: Include them if available.
+ (construct_command_argv_internal): When constructing the command
+ line with 'sh -c', use multiple arguments together with eval
+ expansion to evade the Linux per-argument length limit
+ MAX_ARG_STRLEN if it is defined.
+ Problem reported against Automake by Xan Lopez <xan <at> gnome.org>.
+
+--- job.c.orig 2010-01-15 18:36:53.000000000 +0200
++++ job.c 2010-01-15 18:41:09.000000000 +0200
+@@ -29,6 +29,15 @@
+
+ #include <string.h>
+
++#if defined(__linux__) /* defined (HAVE_LINUX_BINFMTS_H) && defined (HAVE_SYS_USER_H) */
++#include <sys/user.h>
++#include <unistd.h>
++#ifndef PAGE_SIZE
++#define PAGE_SIZE sysconf(_SC_PAGE_SIZE)
++#endif
++#include <linux/binfmts.h>
++#endif
++
+ /* Default shell to use. */
+ #ifdef WINDOWS32
+ #include <windows.h>
+@@ -2697,9 +2702,19 @@
+ #endif
+ unsigned int line_len = strlen (line);
+
++#ifdef MAX_ARG_STRLEN
++ static char eval_line[] = "eval\\ \\\"set\\ x\\;\\ shift\\;\\ ";
++#define ARG_NUMBER_DIGITS 5
++#define EVAL_LEN (sizeof(eval_line)-1 + shell_len + 4 \
++ + (7 + ARG_NUMBER_DIGITS) * 2 * line_len / (MAX_ARG_STRLEN - 2))
++#else
++#define EVAL_LEN 0
++#endif
+ char *new_line = (char *) alloca (shell_len + (sizeof (minus_c) - 1)
+- + (line_len * 2) + 1);
++ + (line_len*2) + 1 + EVAL_LEN);
++
+ char *command_ptr = NULL; /* used for batch_mode_shell mode */
++ char *args_ptr;
+
+ # ifdef __EMX__ /* is this necessary? */
+ if (!unixy_shell)
+@@ -2712,6 +2727,30 @@
+ bcopy (minus_c, ap, sizeof (minus_c) - 1);
+ ap += sizeof (minus_c) - 1;
+ command_ptr = ap;
++
++#if !defined (WINDOWS32) && defined (MAX_ARG_STRLEN)
++ if (unixy_shell && line_len > MAX_ARG_STRLEN)
++ {
++ unsigned j;
++ memcpy (ap, eval_line, sizeof (eval_line) - 1);
++ ap += sizeof (eval_line) - 1;
++ for (j = 1; j <= 2 * line_len / (MAX_ARG_STRLEN - 2); j++)
++ ap += sprintf (ap, "\\$\\{%u\\}", j);
++ *ap++ = '\\';
++ *ap++ = '"';
++ *ap++ = ' ';
++ /* Copy only the first word of SHELL to $0. */
++ for (p = shell; *p != '\0'; ++p)
++ {
++ if (isspace ((unsigned char)*p))
++ break;
++ *ap++ = *p;
++ }
++ *ap++ = ' ';
++ }
++#endif
++ args_ptr = ap;
++
+ for (p = line; *p != '\0'; ++p)
+ {
+ if (restp != NULL && *p == '\n')
+@@ -2760,6 +2799,14 @@
+ }
+ #endif
+ *ap++ = *p;
++
++#if !defined (WINDOWS32) && defined (MAX_ARG_STRLEN)
++ if (unixy_shell && line_len > MAX_ARG_STRLEN && (ap - args_ptr > MAX_ARG_STRLEN - 2))
++ {
++ *ap++ = ' ';
++ args_ptr = ap;
++ }
++#endif
+ }
+ if (ap == new_line + shell_len + sizeof (minus_c) - 1)
+ /* Line was empty. */
diff --git a/sys-devel/make/files/make-3.81-tests-lang.patch b/sys-devel/make/files/make-3.81-tests-lang.patch
new file mode 100644
index 000000000000..f4e514712a0e
--- /dev/null
+++ b/sys-devel/make/files/make-3.81-tests-lang.patch
@@ -0,0 +1,55 @@
+Fix from upstream for running tests when LC_ALL is set to non-C
+
+http://bugs.gentoo.org/149147
+
+Index: make/tests/run_make_tests.pl
+===================================================================
+RCS file: /cvsroot/make/make/tests/run_make_tests.pl,v
+retrieving revision 1.22
+retrieving revision 1.23
+diff -u -p -r1.22 -r1.23
+--- make/tests/run_make_tests.pl 8 Mar 2006 20:15:09 -0000 1.22
++++ make/tests/run_make_tests.pl 1 Oct 2006 05:38:38 -0000 1.23
+@@ -228,11 +228,6 @@ sub set_more_defaults
+ local($string);
+ local($index);
+
+- # Make sure we're in the C locale for those systems that support it,
+- # so sorting, etc. is predictable.
+- #
+- $ENV{LANG} = 'C';
+-
+ # find the type of the port. We do this up front to have a single
+ # point of change if it needs to be tweaked.
+ #
+Index: make/tests/test_driver.pl
+===================================================================
+RCS file: /cvsroot/make/make/tests/test_driver.pl,v
+retrieving revision 1.19
+retrieving revision 1.20
+diff -u -p -r1.19 -r1.20
+--- make/tests/test_driver.pl 10 Mar 2006 02:20:45 -0000 1.19
++++ make/tests/test_driver.pl 1 Oct 2006 05:38:38 -0000 1.20
+@@ -78,9 +78,9 @@ sub resetENV
+ sub toplevel
+ {
+ # Pull in benign variables from the user's environment
+- #
++
+ foreach (# UNIX-specific things
+- 'TZ', 'LANG', 'TMPDIR', 'HOME', 'USER', 'LOGNAME', 'PATH',
++ 'TZ', 'TMPDIR', 'HOME', 'USER', 'LOGNAME', 'PATH',
+ # Purify things
+ 'PURIFYOPTIONS',
+ # Windows NT-specific stuff
+@@ -92,6 +92,10 @@ sub toplevel
+ $makeENV{$_} = $ENV{$_} if $ENV{$_};
+ }
+
++ # Make sure our compares are not foiled by locale differences
++
++ $makeENV{LC_ALL} = 'C';
++
+ # Replace the environment with the new one
+ #
+ %origENV = %ENV;
diff --git a/sys-devel/make/files/make-3.81-tests-recursion.patch b/sys-devel/make/files/make-3.81-tests-recursion.patch
new file mode 100644
index 000000000000..490e2a912cd8
--- /dev/null
+++ b/sys-devel/make/files/make-3.81-tests-recursion.patch
@@ -0,0 +1,14 @@
+http://bugs.gentoo.org/329153
+https://savannah.gnu.org/bugs/index.php?29968
+
+--- tests/scripts/features/recursion 2005/02/10 00:10:58 1.2
++++ tests/scripts/features/recursion 2010/07/01 07:16:00 1.3
+@@ -16,7 +16,7 @@
+ @echo MAKELEVEL = $(MAKELEVEL)
+ @echo THE END
+ ',
+- ('CFLAGS=-O -w' . ($parallel_jobs ? '-j 2' : '')),
++ ('CFLAGS=-O -w' . ($parallel_jobs ? ' -j 2' : '')),
+ ($vos
+ ? "#MAKE#: Entering directory `#PWD#'
+ make 'CFLAGS=-O' -f #MAKEFILE# foo
diff --git a/sys-devel/make/files/make-3.82-MAKEFLAGS-reexec.patch b/sys-devel/make/files/make-3.82-MAKEFLAGS-reexec.patch
new file mode 100644
index 000000000000..a2f59657d4ca
--- /dev/null
+++ b/sys-devel/make/files/make-3.82-MAKEFLAGS-reexec.patch
@@ -0,0 +1,14 @@
+http://bugs.gentoo.org/331975
+https://savannah.gnu.org/bugs/?30723
+
+--- main.c 2010/07/19 07:10:53 1.243
++++ main.c 2010/08/10 07:35:34 1.244
+@@ -2093,7 +2093,7 @@
+ const char *pv = define_makeflags (1, 1);
+ char *p = alloca (sizeof ("MAKEFLAGS=") + strlen (pv) + 1);
+ sprintf (p, "MAKEFLAGS=%s", pv);
+- putenv (p);
++ putenv (allocated_variable_expand (p));
+ }
+
+ if (ISDB (DB_BASIC))
diff --git a/sys-devel/make/files/make-3.82-archives-many-objs.patch b/sys-devel/make/files/make-3.82-archives-many-objs.patch
new file mode 100644
index 000000000000..abdcd3228014
--- /dev/null
+++ b/sys-devel/make/files/make-3.82-archives-many-objs.patch
@@ -0,0 +1,60 @@
+http://bugs.gentoo.org/334889
+https://savannah.gnu.org/bugs/?30612
+
+revision 1.194
+date: 2010-08-13 22:50:14 -0400; author: psmith; state: Exp; lines: +9 -6; commitid: 4UaslPqQHZTs5wKu;
+- Fix Savannah bug #30612: handling of archive references with >1 object
+
+Index: read.c
+===================================================================
+RCS file: /sources/make/make/read.c,v
+retrieving revision 1.193
+retrieving revision 1.194
+diff -u -p -r1.193 -r1.194
+--- read.c 13 Jul 2010 01:20:42 -0000 1.193
++++ read.c 14 Aug 2010 02:50:14 -0000 1.194
+@@ -3028,7 +3028,7 @@ parse_file_seq (char **stringp, unsigned
+ {
+ /* This looks like the first element in an open archive group.
+ A valid group MUST have ')' as the last character. */
+- const char *e = p + nlen;
++ const char *e = p;
+ do
+ {
+ e = next_token (e);
+@@ -3084,19 +3084,19 @@ parse_file_seq (char **stringp, unsigned
+ Go to the next item in the string. */
+ if (flags & PARSEFS_NOGLOB)
+ {
+- NEWELT (concat (2, prefix, tp));
++ NEWELT (concat (2, prefix, tmpbuf));
+ continue;
+ }
+
+ /* If we get here we know we're doing glob expansion.
+ TP is a string in tmpbuf. NLEN is no longer used.
+ We may need to do more work: after this NAME will be set. */
+- name = tp;
++ name = tmpbuf;
+
+ /* Expand tilde if applicable. */
+- if (tp[0] == '~')
++ if (tmpbuf[0] == '~')
+ {
+- tildep = tilde_expand (tp);
++ tildep = tilde_expand (tmpbuf);
+ if (tildep != 0)
+ name = tildep;
+ }
+@@ -3152,7 +3152,10 @@ parse_file_seq (char **stringp, unsigned
+ else
+ {
+ /* We got a chain of items. Attach them. */
+- (*newp)->next = found;
++ if (*newp)
++ (*newp)->next = found;
++ else
++ *newp = found;
+
+ /* Find and set the new end. Massage names if necessary. */
+ while (1)
diff --git a/sys-devel/make/files/make-3.82-construct-command-line.patch b/sys-devel/make/files/make-3.82-construct-command-line.patch
new file mode 100644
index 000000000000..c504c45291ba
--- /dev/null
+++ b/sys-devel/make/files/make-3.82-construct-command-line.patch
@@ -0,0 +1,71 @@
+https://savannah.gnu.org/bugs/?23922
+
+From 6f3684710a0f832533191f8657a57bc2fbba90ba Mon Sep 17 00:00:00 2001
+From: eliz <eliz>
+Date: Sat, 7 May 2011 08:29:13 +0000
+Subject: [PATCH] job.c (construct_command_argv_internal): Don't assume
+ shellflags is always non-NULL. Escape-protect characters
+ special to the shell when copying the value of SHELL into
+ new_line. Fixes Savannah bug #23922.
+
+---
+ ChangeLog | 7 +++++++
+ job.c | 23 ++++++++++++++++-------
+ 2 files changed, 23 insertions(+), 7 deletions(-)
+
+diff --git a/job.c b/job.c
+index 67b402d..c2ce84d 100644
+--- a/job.c
++++ b/job.c
+@@ -2844,12 +2844,12 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
+
+ unsigned int shell_len = strlen (shell);
+ unsigned int line_len = strlen (line);
+- unsigned int sflags_len = strlen (shellflags);
++ unsigned int sflags_len = shellflags ? strlen (shellflags) : 0;
+ char *command_ptr = NULL; /* used for batch_mode_shell mode */
+ char *new_line;
+
+ # ifdef __EMX__ /* is this necessary? */
+- if (!unixy_shell)
++ if (!unixy_shell && shellflags)
+ shellflags[0] = '/'; /* "/c" */
+ # endif
+
+@@ -2911,19 +2911,28 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
+
+ new_argv = xmalloc (4 * sizeof (char *));
+ new_argv[0] = xstrdup(shell);
+- new_argv[1] = xstrdup(shellflags);
++ new_argv[1] = xstrdup(shellflags ? shellflags : "");
+ new_argv[2] = line;
+ new_argv[3] = NULL;
+ return new_argv;
+ }
+
+- new_line = alloca (shell_len + 1 + sflags_len + 1
++ new_line = alloca ((shell_len*2) + 1 + sflags_len + 1
+ + (line_len*2) + 1);
+ ap = new_line;
+- memcpy (ap, shell, shell_len);
+- ap += shell_len;
++ /* Copy SHELL, escaping any characters special to the shell. If
++ we don't escape them, construct_command_argv_internal will
++ recursively call itself ad nauseam, or until stack overflow,
++ whichever happens first. */
++ for (p = shell; *p != '\0'; ++p)
++ {
++ if (strchr (sh_chars, *p) != 0)
++ *(ap++) = '\\';
++ *(ap++) = *p;
++ }
+ *(ap++) = ' ';
+- memcpy (ap, shellflags, sflags_len);
++ if (shellflags)
++ memcpy (ap, shellflags, sflags_len);
+ ap += sflags_len;
+ *(ap++) = ' ';
+ command_ptr = ap;
+--
+1.7.12
+
diff --git a/sys-devel/make/files/make-3.82-copy-on-expand.patch b/sys-devel/make/files/make-3.82-copy-on-expand.patch
new file mode 100644
index 000000000000..3f202b4db96b
--- /dev/null
+++ b/sys-devel/make/files/make-3.82-copy-on-expand.patch
@@ -0,0 +1,58 @@
+fix from upstream cvs
+
+----------------------------
+revision 1.58
+date: 2011-08-29 12:20:19 -0400; author: psmith; state: Exp; lines: +7 -13; commitid: MdH0jSxpuIy7mqxv;
+Save strings we're expanding in case an embedded eval causes them
+to be freed (if they're the value of a variable that's reset for example).
+See Savannah patch #7534
+
+Index: expand.c
+===================================================================
+RCS file: /sources/make/make/expand.c,v
+retrieving revision 1.57
+retrieving revision 1.58
+diff -u -p -r1.57 -r1.58
+--- expand.c 7 May 2011 20:03:49 -0000 1.57
++++ expand.c 29 Aug 2011 16:20:19 -0000 1.58
+@@ -197,7 +197,7 @@ variable_expand_string (char *line, cons
+ {
+ struct variable *v;
+ const char *p, *p1;
+- char *abuf = NULL;
++ char *save;
+ char *o;
+ unsigned int line_offset;
+
+@@ -212,16 +212,11 @@ variable_expand_string (char *line, cons
+ return (variable_buffer);
+ }
+
+- /* If we want a subset of the string, allocate a temporary buffer for it.
+- Most of the functions we use here don't work with length limits. */
+- if (length > 0 && string[length] != '\0')
+- {
+- abuf = xmalloc(length+1);
+- memcpy(abuf, string, length);
+- abuf[length] = '\0';
+- string = abuf;
+- }
+- p = string;
++ /* We need a copy of STRING: due to eval, it's possible that it will get
++ freed as we process it (it might be the value of a variable that's reset
++ for example). Also having a nil-terminated string is handy. */
++ save = length < 0 ? xstrdup (string) : xstrndup (string, length);
++ p = save;
+
+ while (1)
+ {
+@@ -411,8 +406,7 @@ variable_expand_string (char *line, cons
+ ++p;
+ }
+
+- if (abuf)
+- free (abuf);
++ free (save);
+
+ variable_buffer_output (o, "", 1);
+ return (variable_buffer + line_offset);
diff --git a/sys-devel/make/files/make-3.82-darwin-library_search-dylib.patch b/sys-devel/make/files/make-3.82-darwin-library_search-dylib.patch
new file mode 100644
index 000000000000..de7e4f615212
--- /dev/null
+++ b/sys-devel/make/files/make-3.82-darwin-library_search-dylib.patch
@@ -0,0 +1,17 @@
+Fixed default libpatttern on Darwin, imported from prefix overlay.
+Got merged upstream:
+https://savannah.gnu.org/bugs/?37197
+--- default.c.orig 2009-05-02 12:25:24 +0200
++++ default.c 2009-05-02 12:25:58 +0200
+@@ -509,7 +509,11 @@
+ #ifdef __MSDOS__
+ ".LIBPATTERNS", "lib%.a $(DJDIR)/lib/lib%.a",
+ #else
++#ifdef __APPLE__
++ ".LIBPATTERNS", "lib%.dylib lib%.a",
++#else
+ ".LIBPATTERNS", "lib%.so lib%.a",
++#endif
+ #endif
+ #endif
+
diff --git a/sys-devel/make/files/make-3.82-glob-speedup.patch b/sys-devel/make/files/make-3.82-glob-speedup.patch
new file mode 100644
index 000000000000..c826c2c0e1fa
--- /dev/null
+++ b/sys-devel/make/files/make-3.82-glob-speedup.patch
@@ -0,0 +1,104 @@
+change from upstream to speed up by skipping unused globs
+https://bugs.gentoo.org/382845
+
+http://cvs.savannah.gnu.org/viewvc/make/read.c?root=make&r1=1.198&r2=1.200
+
+Revision 1.200
+Sat May 7 14:36:12 2011 UTC (4 months, 1 week ago) by psmith
+Branch: MAIN
+Changes since 1.199: +1 -1 lines
+Inverted the boolean test from what I wanted it to be. Added a
+regression test to make sure this continues to work.
+
+Revision 1.199
+Mon May 2 00:18:06 2011 UTC (4 months, 2 weeks ago) by psmith
+Branch: MAIN
+Changes since 1.198: +35 -25 lines
+Avoid invoking glob() unless the filename has potential globbing
+characters in it, for performance improvements.
+
+--- a/read.c 2011/04/29 15:27:39 1.198
++++ b/read.c 2011/05/07 14:36:12 1.200
+@@ -2901,6 +2901,7 @@
+ const char *name;
+ const char **nlist = 0;
+ char *tildep = 0;
++ int globme = 1;
+ #ifndef NO_ARCHIVES
+ char *arname = 0;
+ char *memname = 0;
+@@ -3109,32 +3110,40 @@
+ }
+ #endif /* !NO_ARCHIVES */
+
+- switch (glob (name, GLOB_NOSORT|GLOB_ALTDIRFUNC, NULL, &gl))
+- {
+- case GLOB_NOSPACE:
+- fatal (NILF, _("virtual memory exhausted"));
+-
+- case 0:
+- /* Success. */
+- i = gl.gl_pathc;
+- nlist = (const char **)gl.gl_pathv;
+- break;
+-
+- case GLOB_NOMATCH:
+- /* If we want only existing items, skip this one. */
+- if (flags & PARSEFS_EXISTS)
+- {
+- i = 0;
+- break;
+- }
+- /* FALLTHROUGH */
+-
+- default:
+- /* By default keep this name. */
++ /* glob() is expensive: don't call it unless we need to. */
++ if (!(flags & PARSEFS_EXISTS) && strpbrk (name, "?*[") == NULL)
++ {
++ globme = 0;
+ i = 1;
+ nlist = &name;
+- break;
+- }
++ }
++ else
++ switch (glob (name, GLOB_NOSORT|GLOB_ALTDIRFUNC, NULL, &gl))
++ {
++ case GLOB_NOSPACE:
++ fatal (NILF, _("virtual memory exhausted"));
++
++ case 0:
++ /* Success. */
++ i = gl.gl_pathc;
++ nlist = (const char **)gl.gl_pathv;
++ break;
++
++ case GLOB_NOMATCH:
++ /* If we want only existing items, skip this one. */
++ if (flags & PARSEFS_EXISTS)
++ {
++ i = 0;
++ break;
++ }
++ /* FALLTHROUGH */
++
++ default:
++ /* By default keep this name. */
++ i = 1;
++ nlist = &name;
++ break;
++ }
+
+ /* For each matched element, add it to the list. */
+ while (i-- > 0)
+@@ -3174,7 +3183,8 @@
+ #endif /* !NO_ARCHIVES */
+ NEWELT (concat (2, prefix, nlist[i]));
+
+- globfree (&gl);
++ if (globme)
++ globfree (&gl);
+
+ #ifndef NO_ARCHIVES
+ if (arname)
diff --git a/sys-devel/make/files/make-3.82-intermediate-parallel.patch b/sys-devel/make/files/make-3.82-intermediate-parallel.patch
new file mode 100644
index 000000000000..df9b8d475b95
--- /dev/null
+++ b/sys-devel/make/files/make-3.82-intermediate-parallel.patch
@@ -0,0 +1,62 @@
+https://savannah.gnu.org/bugs/?30653
+https://bugs.gentoo.org/431250
+
+From d1ba0ee36b2bdd91434b5df90f0f4cceda7d6979 Mon Sep 17 00:00:00 2001
+From: psmith <psmith>
+Date: Mon, 10 Sep 2012 02:36:05 +0000
+Subject: [PATCH] Force intermediate targets to be considered if their
+ non-intermediate parent needs to be remade. Fixes Savannah
+ bug #30653.
+
+---
+ ChangeLog | 4 ++++
+ remake.c | 4 ++++
+ tests/scripts/features/parallelism | 17 +++++++++++++++++
+ 3 files changed, 25 insertions(+)
+
+diff --git a/remake.c b/remake.c
+index c0bf709..b1ddd23 100644
+--- a/remake.c
++++ b/remake.c
+@@ -612,6 +612,10 @@ update_file_1 (struct file *file, unsigned int depth)
+ d->file->dontcare = file->dontcare;
+ }
+
++ /* We may have already considered this file, when we didn't know
++ we'd need to update it. Force update_file() to consider it and
++ not prune it. */
++ d->file->considered = !considered;
+
+ dep_status |= update_file (d->file, depth);
+
+diff --git a/tests/scripts/features/parallelism b/tests/scripts/features/parallelism
+index d4250f0..76d24a7 100644
+--- a/tests/scripts/features/parallelism
++++ b/tests/scripts/features/parallelism
+@@ -214,6 +214,23 @@ rm main.x");
+ rmfiles(qw(foo.y foo.y.in main.bar));
+ }
+
++# Ensure intermediate/secondary files are not pruned incorrectly.
++# See Savannah bug #30653
++
++utouch(-15, 'file2');
++utouch(-10, 'file4');
++utouch(-5, 'file1');
++
++run_make_test(q!
++.INTERMEDIATE: file3
++file4: file3 ; @mv -f $< $@
++file3: file2 ; touch $@
++file2: file1 ; @touch $@
++!,
++ '--no-print-directory -j2', "touch file3");
++
++#rmfiles('file1', 'file2', 'file3', 'file4');
++
+ if ($all_tests) {
+ # Jobserver FD handling is messed up in some way.
+ # Savannah bug #28189
+--
+1.7.12
+
diff --git a/sys-devel/make/files/make-3.82-long-command-line.patch b/sys-devel/make/files/make-3.82-long-command-line.patch
new file mode 100644
index 000000000000..9266786e4da7
--- /dev/null
+++ b/sys-devel/make/files/make-3.82-long-command-line.patch
@@ -0,0 +1,54 @@
+https://savannah.gnu.org/bugs/?36451
+
+From a95796de3a491d8acfc8ea94c217b90531161786 Mon Sep 17 00:00:00 2001
+From: psmith <psmith>
+Date: Sun, 9 Sep 2012 23:25:07 +0000
+Subject: [PATCH] Keep the command line on the heap to avoid stack overflow.
+ Fixes Savannah bug #36451.
+
+---
+ ChangeLog | 3 +++
+ job.c | 13 +++++++++----
+ 2 files changed, 12 insertions(+), 4 deletions(-)
+
+diff --git a/job.c b/job.c
+index 754576b..f7b7d51 100644
+--- a/job.c
++++ b/job.c
+@@ -2984,8 +2984,8 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
+ return new_argv;
+ }
+
+- new_line = alloca ((shell_len*2) + 1 + sflags_len + 1
+- + (line_len*2) + 1);
++ new_line = xmalloc ((shell_len*2) + 1 + sflags_len + 1
++ + (line_len*2) + 1);
+ ap = new_line;
+ /* Copy SHELL, escaping any characters special to the shell. If
+ we don't escape them, construct_command_argv_internal will
+@@ -3052,8 +3052,11 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
+ *ap++ = *p;
+ }
+ if (ap == new_line + shell_len + sflags_len + 2)
+- /* Line was empty. */
+- return 0;
++ {
++ /* Line was empty. */
++ free (new_line);
++ return 0;
++ }
+ *ap = '\0';
+
+ #ifdef WINDOWS32
+@@ -3194,6 +3197,8 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
+ fatal (NILF, _("%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"),
+ __FILE__, __LINE__);
+ #endif
++
++ free (new_line);
+ }
+ #endif /* ! AMIGA */
+
+--
+1.7.12
+
diff --git a/sys-devel/make/files/make-3.82-memory-corruption.patch b/sys-devel/make/files/make-3.82-memory-corruption.patch
new file mode 100644
index 000000000000..b28c07353ec2
--- /dev/null
+++ b/sys-devel/make/files/make-3.82-memory-corruption.patch
@@ -0,0 +1,37 @@
+--- function.c 2011/04/18 01:25:20 1.121
++++ function.c 2011/05/02 12:35:01 1.122
+@@ -706,7 +706,7 @@
+ const char *word_iterator = argv[0];
+ char buf[20];
+
+- while (find_next_token (&word_iterator, (unsigned int *) 0) != 0)
++ while (find_next_token (&word_iterator, NULL) != 0)
+ ++i;
+
+ sprintf (buf, "%d", i);
+@@ -1133,21 +1133,14 @@
+
+ /* Find the maximum number of words we'll have. */
+ t = argv[0];
+- wordi = 1;
+- while (*t != '\0')
++ wordi = 0;
++ while ((p = find_next_token (&t, NULL)) != 0)
+ {
+- char c = *(t++);
+-
+- if (! isspace ((unsigned char)c))
+- continue;
+-
++ ++t;
+ ++wordi;
+-
+- while (isspace ((unsigned char)*t))
+- ++t;
+ }
+
+- words = xmalloc (wordi * sizeof (char *));
++ words = xmalloc ((wordi == 0 ? 1 : wordi) * sizeof (char *));
+
+ /* Now assign pointers to each string in the array. */
+ t = argv[0];
diff --git a/sys-devel/make/files/make-3.82-oneshell.patch b/sys-devel/make/files/make-3.82-oneshell.patch
new file mode 100644
index 000000000000..fbade127ce61
--- /dev/null
+++ b/sys-devel/make/files/make-3.82-oneshell.patch
@@ -0,0 +1,24 @@
+fix from upstream cvs
+
+----------------------------
+revision 1.245
+date: 2010-08-13 22:50:14 -0400; author: psmith; state: Exp; lines: +1 -1; commitid: 4UaslPqQHZTs5wKu;
+- Add oneshell to $(.FEATURES) (forgot that!)
+
+Index: main.c
+===================================================================
+RCS file: /sources/make/make/main.c,v
+retrieving revision 1.244
+retrieving revision 1.245
+diff -u -p -r1.244 -r1.245
+--- main.c 10 Aug 2010 07:35:34 -0000 1.244
++++ main.c 14 Aug 2010 02:50:14 -0000 1.245
+@@ -1138,7 +1138,7 @@ main (int argc, char **argv, char **envp
+ a macro and some compilers (MSVC) don't like conditionals in macros. */
+ {
+ const char *features = "target-specific order-only second-expansion"
+- " else-if shortest-stem undefine"
++ " else-if shortest-stem undefine oneshell"
+ #ifndef NO_ARCHIVES
+ " archives"
+ #endif
diff --git a/sys-devel/make/files/make-3.82-parallel-remake.patch b/sys-devel/make/files/make-3.82-parallel-remake.patch
new file mode 100644
index 000000000000..a19fe7b7d629
--- /dev/null
+++ b/sys-devel/make/files/make-3.82-parallel-remake.patch
@@ -0,0 +1,39 @@
+fix from upstream cvs
+
+----------------------------
+revision 1.247
+date: 2011-09-18 19:39:26 -0400; author: psmith; state: Exp; lines: +5 -3; commitid: 07NxO4T5PiWC82Av;
+When we re-exec the master makefile in a jobserver environment, ensure
+that MAKEFLAGS is set properly so the re-exec'd make runs in parallel.
+See Savannah bug #33873.
+
+Index: main.c
+===================================================================
+RCS file: /sources/make/make/main.c,v
+retrieving revision 1.246
+retrieving revision 1.247
+diff -u -p -r1.246 -r1.247
+--- main.c 29 Aug 2010 23:05:27 -0000 1.246
++++ main.c 18 Sep 2011 23:39:26 -0000 1.247
+@@ -2089,6 +2089,11 @@ main (int argc, char **argv, char **envp
+
+ ++restarts;
+
++ /* If we're re-exec'ing the first make, put back the number of
++ job slots so define_makefiles() will get it right. */
++ if (master_job_slots)
++ job_slots = master_job_slots;
++
+ /* Reset makeflags in case they were changed. */
+ {
+ const char *pv = define_makeflags (1, 1);
+@@ -2825,9 +2830,6 @@ define_makeflags (int all, int makefile)
+ && (*(unsigned int *) cs->value_ptr ==
+ *(unsigned int *) cs->noarg_value))
+ ADD_FLAG ("", 0); /* Optional value omitted; see below. */
+- else if (cs->c == 'j')
+- /* Special case for `-j'. */
+- ADD_FLAG ("1", 1);
+ else
+ {
+ char *buf = alloca (30);
diff --git a/sys-devel/make/files/make-4.0-char-cast.patch b/sys-devel/make/files/make-4.0-char-cast.patch
new file mode 100644
index 000000000000..129f54092047
--- /dev/null
+++ b/sys-devel/make/files/make-4.0-char-cast.patch
@@ -0,0 +1,46 @@
+https://savannah.gnu.org/bugs/?40371
+http://git.savannah.gnu.org/cgit/make.git/commit/?id=9d58570c
+
+From 9d58570c77240fed53d1f88217877f8e778f4bb2 Mon Sep 17 00:00:00 2001
+From: Paul Smith <psmith@gnu.org>
+Date: Sat, 26 Oct 2013 04:10:17 +0000
+Subject: * makeint.h (STOP_SET): [SV 40371] Cast to unsigned char.
+
+* tests/scripts/misc/utf8: Test variable names with characters >127.
+Fix suggested by Robert Bogomip <bob.bogo@milohedge.com>
+---
+diff --git a/makeint.h b/makeint.h
+index 77f51e0..c591427 100644
+--- a/makeint.h
++++ b/makeint.h
+@@ -415,7 +415,7 @@ extern int unixy_shell;
+ # define MAP_VMSCOMMA 0x0000
+ #endif
+
+-#define STOP_SET(_v,_m) ANY_SET (stopchar_map[(int)(_v)],(_m))
++#define STOP_SET(_v,_m) ANY_SET (stopchar_map[(unsigned char)(_v)],(_m))
+
+ #if defined(HAVE_SYS_RESOURCE_H) && defined(HAVE_GETRLIMIT) && defined(HAVE_SETRLIMIT)
+ # define SET_STACK_SIZE
+diff --git a/tests/scripts/misc/utf8 b/tests/scripts/misc/utf8
+new file mode 100644
+index 0000000..2adcd07
+--- a/dev/null
++++ b/tests/scripts/misc/utf8
+@@ -0,0 +1,14 @@
++# -*-perl-*-
++$description = "Test utf8 handling.";
++
++$details = "";
++
++# Variable names containing UTF8 characters
++run_make_test("
++\xe2\x96\xaa := hello
++\$(info \$(\xe2\x96\xaa))
++all:
++",
++ '', "hello\n#MAKE#: Nothing to be done for 'all'.");
++
++1;
+--
+cgit v0.9.0.2
diff --git a/sys-devel/make/files/make-4.1-fix_null_returns_from_ttyname.patch b/sys-devel/make/files/make-4.1-fix_null_returns_from_ttyname.patch
new file mode 100644
index 000000000000..f6be5c9f06af
--- /dev/null
+++ b/sys-devel/make/files/make-4.1-fix_null_returns_from_ttyname.patch
@@ -0,0 +1,53 @@
+From 292da6f6867b75a5af7ddbb639a1feae022f438f Mon Sep 17 00:00:00 2001
+From: Paul Smith <psmith@gnu.org>
+Date: Mon, 20 Oct 2014 05:54:56 +0000
+Subject: * main.c (main): [SV 43434] Handle NULL returns from ttyname().
+
+---
+diff --git a/main.c b/main.c
+index b2d169c..0cdb8a8 100644
+--- a/main.c
++++ b/main.c
+@@ -1429,13 +1429,18 @@ main (int argc, char **argv, char **envp)
+ #ifdef HAVE_ISATTY
+ if (isatty (fileno (stdout)))
+ if (! lookup_variable (STRING_SIZE_TUPLE ("MAKE_TERMOUT")))
+- define_variable_cname ("MAKE_TERMOUT", TTYNAME (fileno (stdout)),
+- o_default, 0)->export = v_export;
+-
++ {
++ const char *tty = TTYNAME (fileno (stdout));
++ define_variable_cname ("MAKE_TERMOUT", tty ? tty : DEFAULT_TTYNAME,
++ o_default, 0)->export = v_export;
++ }
+ if (isatty (fileno (stderr)))
+ if (! lookup_variable (STRING_SIZE_TUPLE ("MAKE_TERMERR")))
+- define_variable_cname ("MAKE_TERMERR", TTYNAME (fileno (stderr)),
+- o_default, 0)->export = v_export;
++ {
++ const char *tty = TTYNAME (fileno (stderr));
++ define_variable_cname ("MAKE_TERMERR", tty ? tty : DEFAULT_TTYNAME,
++ o_default, 0)->export = v_export;
++ }
+ #endif
+
+ /* Reset in case the switches changed our minds. */
+diff --git a/makeint.h b/makeint.h
+index 6223936..2009f41 100644
+--- a/makeint.h
++++ b/makeint.h
+@@ -436,10 +436,11 @@ extern struct rlimit stack_limit;
+ /* The number of bytes needed to represent the largest integer as a string. */
+ #define INTSTR_LENGTH CSTRLEN ("18446744073709551616")
+
++#define DEFAULT_TTYNAME "true"
+ #ifdef HAVE_TTYNAME
+ # define TTYNAME(_f) ttyname (_f)
+ #else
+-# define TTYNAME(_f) "true"
++# define TTYNAME(_f) DEFAULT_TTYNAME
+ #endif
+
+
+--
+cgit v0.9.0.2
diff --git a/sys-devel/make/files/make-4.2-default-cxx.patch b/sys-devel/make/files/make-4.2-default-cxx.patch
new file mode 100644
index 000000000000..4d592086a6ff
--- /dev/null
+++ b/sys-devel/make/files/make-4.2-default-cxx.patch
@@ -0,0 +1,13 @@
+diff --git a/default.c b/default.c
+index 3d865c7..e8b3ed6 100644
+--- a/default.c
++++ b/default.c
+@@ -530,7 +530,7 @@ static const char *default_variables[] =
+ "OBJC", "gcc",
+ #else
+ "CC", "cc",
+- "CXX", "g++",
++ "CXX", "c++",
+ "OBJC", "cc",
+ #endif
+
diff --git a/sys-devel/make/make-3.80-r4.ebuild b/sys-devel/make/make-3.80-r4.ebuild
new file mode 100644
index 000000000000..91a6ec2b73d9
--- /dev/null
+++ b/sys-devel/make/make-3.80-r4.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils flag-o-matic
+
+DESCRIPTION="Standard tool to compile source trees"
+HOMEPAGE="https://www.gnu.org/software/make/make.html"
+SRC_URI="mirror://gnu//make/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
+IUSE="nls static"
+
+DEPEND="nls? ( sys-devel/gettext )"
+RDEPEND=""
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${PV}-memory.patch
+ epatch "${FILESDIR}"/${P}-parallel-build-failure.patch
+ epatch "${FILESDIR}"/${P}-conditional-eval.patch #123317
+}
+
+src_compile() {
+ use static && append-ldflags -static
+ econf \
+ $(use_enable nls) \
+ --program-prefix=g \
+ || die
+ emake || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc AUTHORS ChangeLog NEWS README*
+ if [[ ${USERLAND} == "GNU" ]] ; then
+ dosym gmake /usr/bin/make
+ dosym gmake.1 /usr/share/man/man1/make.1
+ fi
+}
diff --git a/sys-devel/make/make-3.81-r2.ebuild b/sys-devel/make/make-3.81-r2.ebuild
new file mode 100644
index 000000000000..cd996376ff85
--- /dev/null
+++ b/sys-devel/make/make-3.81-r2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit flag-o-matic eutils
+
+DESCRIPTION="Standard tool to compile source trees"
+HOMEPAGE="https://www.gnu.org/software/make/make.html"
+SRC_URI="mirror://gnu//make/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="nls static"
+
+DEPEND="nls? ( sys-devel/gettext )"
+RDEPEND="nls? ( virtual/libintl )"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-tests-lang.patch
+ epatch "${FILESDIR}"/${P}-long-cmdline.patch #301116
+ epatch "${FILESDIR}"/${P}-tests-recursion.patch #329153
+ epatch "${FILESDIR}"/${P}-jobserver.patch #193258
+}
+
+src_compile() {
+ use static && append-ldflags -static
+ econf \
+ $(use_enable nls) \
+ --program-prefix=g \
+ || die
+ emake || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc AUTHORS ChangeLog NEWS README*
+ if [[ ${USERLAND} == "GNU" ]] ; then
+ # we install everywhere as 'gmake' but on GNU systems,
+ # symlink 'make' to 'gmake'
+ dosym gmake /usr/bin/make
+ dosym gmake.1 /usr/share/man/man1/make.1
+ fi
+}
diff --git a/sys-devel/make/make-3.82-r4.ebuild b/sys-devel/make/make-3.82-r4.ebuild
new file mode 100644
index 000000000000..49dece74fb9e
--- /dev/null
+++ b/sys-devel/make/make-3.82-r4.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="2"
+
+inherit flag-o-matic eutils
+
+DESCRIPTION="Standard tool to compile source trees"
+HOMEPAGE="https://www.gnu.org/software/make/make.html"
+SRC_URI="mirror://gnu//make/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="nls static"
+
+DEPEND="nls? ( sys-devel/gettext )"
+RDEPEND="nls? ( virtual/libintl )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-archives-many-objs.patch #334889
+ epatch "${FILESDIR}"/${P}-MAKEFLAGS-reexec.patch #31975
+ epatch "${FILESDIR}"/${P}-memory-corruption.patch #355907
+ epatch "${FILESDIR}"/${P}-glob-speedup.patch #382845
+ epatch "${FILESDIR}"/${P}-copy-on-expand.patch
+ epatch "${FILESDIR}"/${P}-oneshell.patch
+ epatch "${FILESDIR}"/${P}-parallel-remake.patch
+ epatch "${FILESDIR}"/${P}-intermediate-parallel.patch #431250
+ epatch "${FILESDIR}"/${P}-construct-command-line.patch
+ epatch "${FILESDIR}"/${P}-long-command-line.patch
+ epatch "${FILESDIR}"/${P}-darwin-library_search-dylib.patch
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ econf \
+ --program-prefix=g \
+ $(use_enable nls)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc AUTHORS ChangeLog NEWS README*
+ if [[ ${USERLAND} == "GNU" ]] ; then
+ # we install everywhere as 'gmake' but on GNU systems,
+ # symlink 'make' to 'gmake'
+ dosym gmake /usr/bin/make
+ dosym gmake.1 /usr/share/man/man1/make.1
+ fi
+}
diff --git a/sys-devel/make/make-4.0-r1.ebuild b/sys-devel/make/make-4.0-r1.ebuild
new file mode 100644
index 000000000000..43b8b2760cdf
--- /dev/null
+++ b/sys-devel/make/make-4.0-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit flag-o-matic eutils
+
+DESCRIPTION="Standard tool to compile source trees"
+HOMEPAGE="https://www.gnu.org/software/make/make.html"
+SRC_URI="mirror://gnu//make/${P}.tar.bz2"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="guile nls static"
+
+CDEPEND="guile? ( >=dev-scheme/guile-1.8 )"
+DEPEND="${CDEPEND}
+ nls? ( sys-devel/gettext )"
+RDEPEND="${CDEPEND}
+ nls? ( virtual/libintl )"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-3.82-darwin-library_search-dylib.patch \
+ "${FILESDIR}"/${P}-char-cast.patch
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ econf \
+ --program-prefix=g \
+ $(use_with guile) \
+ $(use_enable nls)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc AUTHORS ChangeLog NEWS README*
+ if [[ ${USERLAND} == "GNU" ]] ; then
+ # we install everywhere as 'gmake' but on GNU systems,
+ # symlink 'make' to 'gmake'
+ dosym gmake /usr/bin/make
+ dosym gmake.1 /usr/share/man/man1/make.1
+ fi
+}
diff --git a/sys-devel/make/make-4.1-r1.ebuild b/sys-devel/make/make-4.1-r1.ebuild
new file mode 100644
index 000000000000..f531d4104c13
--- /dev/null
+++ b/sys-devel/make/make-4.1-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit flag-o-matic eutils
+
+DESCRIPTION="Standard tool to compile source trees"
+HOMEPAGE="https://www.gnu.org/software/make/make.html"
+SRC_URI="mirror://gnu//make/${P}.tar.bz2"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="guile nls static"
+
+CDEPEND="guile? ( >=dev-scheme/guile-1.8 )"
+DEPEND="${CDEPEND}
+ nls? ( sys-devel/gettext )"
+RDEPEND="${CDEPEND}
+ nls? ( virtual/libintl )"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-3.82-darwin-library_search-dylib.patch \
+ "${FILESDIR}"/${P}-fix_null_returns_from_ttyname.patch
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ econf \
+ --program-prefix=g \
+ $(use_with guile) \
+ $(use_enable nls)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc AUTHORS NEWS README*
+ if [[ ${USERLAND} == "GNU" ]] ; then
+ # we install everywhere as 'gmake' but on GNU systems,
+ # symlink 'make' to 'gmake'
+ dosym gmake /usr/bin/make
+ dosym gmake.1 /usr/share/man/man1/make.1
+ fi
+}
diff --git a/sys-devel/make/make-4.2.1-r1.ebuild b/sys-devel/make/make-4.2.1-r1.ebuild
new file mode 100644
index 000000000000..2b944c675fad
--- /dev/null
+++ b/sys-devel/make/make-4.2.1-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit flag-o-matic eutils
+
+DESCRIPTION="Standard tool to compile source trees"
+HOMEPAGE="https://www.gnu.org/software/make/make.html"
+SRC_URI="mirror://gnu//make/${P}.tar.bz2"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="guile nls static"
+
+CDEPEND="guile? ( >=dev-scheme/guile-1.8:= )"
+DEPEND="${CDEPEND}
+ nls? ( sys-devel/gettext )"
+RDEPEND="${CDEPEND}
+ nls? ( virtual/libintl )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.82-darwin-library_search-dylib.patch
+ "${FILESDIR}"/${PN}-4.2-default-cxx.patch
+)
+
+src_prepare() {
+ epatch "${PATCHES[@]}"
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ econf \
+ --program-prefix=g \
+ $(use_with guile) \
+ $(use_enable nls)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc AUTHORS NEWS README*
+ if [[ ${USERLAND} == "GNU" ]] ; then
+ # we install everywhere as 'gmake' but on GNU systems,
+ # symlink 'make' to 'gmake'
+ dosym gmake /usr/bin/make
+ dosym gmake.1 /usr/share/man/man1/make.1
+ fi
+}
diff --git a/sys-devel/make/make-4.2.1.ebuild b/sys-devel/make/make-4.2.1.ebuild
new file mode 100644
index 000000000000..70e90b6bf623
--- /dev/null
+++ b/sys-devel/make/make-4.2.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit flag-o-matic eutils
+
+DESCRIPTION="Standard tool to compile source trees"
+HOMEPAGE="https://www.gnu.org/software/make/make.html"
+SRC_URI="mirror://gnu//make/${P}.tar.bz2"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="guile nls static"
+
+CDEPEND="guile? ( >=dev-scheme/guile-1.8:= )"
+DEPEND="${CDEPEND}
+ nls? ( sys-devel/gettext )"
+RDEPEND="${CDEPEND}
+ nls? ( virtual/libintl )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.82-darwin-library_search-dylib.patch
+)
+
+src_prepare() {
+ epatch "${PATCHES[@]}"
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ econf \
+ --program-prefix=g \
+ $(use_with guile) \
+ $(use_enable nls)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc AUTHORS NEWS README*
+ if [[ ${USERLAND} == "GNU" ]] ; then
+ # we install everywhere as 'gmake' but on GNU systems,
+ # symlink 'make' to 'gmake'
+ dosym gmake /usr/bin/make
+ dosym gmake.1 /usr/share/man/man1/make.1
+ fi
+}
diff --git a/sys-devel/make/metadata.xml b/sys-devel/make/metadata.xml
new file mode 100644
index 000000000000..56c124413057
--- /dev/null
+++ b/sys-devel/make/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+</maintainer>
+</pkgmetadata>