diff options
Diffstat (limited to 'sys-devel/make')
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> |