From 162945d2a91899b637bbb9e163b406350de12906 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 30 Oct 2021 19:43:03 +0100 Subject: gentoo resync : 30.10.2021 --- sys-cluster/openmpi/Manifest | 30 ++--- sys-cluster/openmpi/openmpi-1.10.7.ebuild | 4 +- sys-cluster/openmpi/openmpi-1.4.5-r1.ebuild | 103 +++++++++++++++ sys-cluster/openmpi/openmpi-1.4.5.ebuild | 103 --------------- sys-cluster/openmpi/openmpi-1.7.5-r1.ebuild | 166 ------------------------ sys-cluster/openmpi/openmpi-1.7.5-r2.ebuild | 166 ++++++++++++++++++++++++ sys-cluster/openmpi/openmpi-1.8.8-r1.ebuild | 179 ++++++++++++++++++++++++++ sys-cluster/openmpi/openmpi-1.8.8.ebuild | 179 -------------------------- sys-cluster/openmpi/openmpi-2.0.4-r1.ebuild | 180 ++++++++++++++++++++++++++ sys-cluster/openmpi/openmpi-2.0.4.ebuild | 180 -------------------------- sys-cluster/openmpi/openmpi-2.1.6-r1.ebuild | 173 +++++++++++++++++++++++++ sys-cluster/openmpi/openmpi-2.1.6.ebuild | 173 ------------------------- sys-cluster/openmpi/openmpi-3.0.4-r1.ebuild | 170 +++++++++++++++++++++++++ sys-cluster/openmpi/openmpi-3.0.4.ebuild | 170 ------------------------- sys-cluster/openmpi/openmpi-3.1.4-r1.ebuild | 170 +++++++++++++++++++++++++ sys-cluster/openmpi/openmpi-3.1.4.ebuild | 170 ------------------------- sys-cluster/openmpi/openmpi-4.0.2-r1.ebuild | 166 ++++++++++++++++++++++++ sys-cluster/openmpi/openmpi-4.0.2.ebuild | 166 ------------------------ sys-cluster/openmpi/openmpi-4.0.3-r1.ebuild | 166 ++++++++++++++++++++++++ sys-cluster/openmpi/openmpi-4.0.3.ebuild | 166 ------------------------ sys-cluster/openmpi/openmpi-4.0.4-r1.ebuild | 166 ++++++++++++++++++++++++ sys-cluster/openmpi/openmpi-4.0.4.ebuild | 166 ------------------------ sys-cluster/openmpi/openmpi-4.0.5-r1.ebuild | 177 -------------------------- sys-cluster/openmpi/openmpi-4.0.5-r2.ebuild | 166 ++++++++++++++++++++++++ sys-cluster/openmpi/openmpi-4.0.5-r3.ebuild | 177 ++++++++++++++++++++++++++ sys-cluster/openmpi/openmpi-4.0.5.ebuild | 166 ------------------------ sys-cluster/openmpi/openmpi-4.0.6-r1.ebuild | 179 ++++++++++++++++++++++++++ sys-cluster/openmpi/openmpi-4.0.6.ebuild | 179 -------------------------- sys-cluster/openmpi/openmpi-4.1.1-r1.ebuild | 187 ++++++++++++++++++++++++++++ sys-cluster/openmpi/openmpi-4.1.1.ebuild | 187 ---------------------------- 30 files changed, 2365 insertions(+), 2365 deletions(-) create mode 100644 sys-cluster/openmpi/openmpi-1.4.5-r1.ebuild delete mode 100644 sys-cluster/openmpi/openmpi-1.4.5.ebuild delete mode 100644 sys-cluster/openmpi/openmpi-1.7.5-r1.ebuild create mode 100644 sys-cluster/openmpi/openmpi-1.7.5-r2.ebuild create mode 100644 sys-cluster/openmpi/openmpi-1.8.8-r1.ebuild delete mode 100644 sys-cluster/openmpi/openmpi-1.8.8.ebuild create mode 100644 sys-cluster/openmpi/openmpi-2.0.4-r1.ebuild delete mode 100644 sys-cluster/openmpi/openmpi-2.0.4.ebuild create mode 100644 sys-cluster/openmpi/openmpi-2.1.6-r1.ebuild delete mode 100644 sys-cluster/openmpi/openmpi-2.1.6.ebuild create mode 100644 sys-cluster/openmpi/openmpi-3.0.4-r1.ebuild delete mode 100644 sys-cluster/openmpi/openmpi-3.0.4.ebuild create mode 100644 sys-cluster/openmpi/openmpi-3.1.4-r1.ebuild delete mode 100644 sys-cluster/openmpi/openmpi-3.1.4.ebuild create mode 100644 sys-cluster/openmpi/openmpi-4.0.2-r1.ebuild delete mode 100644 sys-cluster/openmpi/openmpi-4.0.2.ebuild create mode 100644 sys-cluster/openmpi/openmpi-4.0.3-r1.ebuild delete mode 100644 sys-cluster/openmpi/openmpi-4.0.3.ebuild create mode 100644 sys-cluster/openmpi/openmpi-4.0.4-r1.ebuild delete mode 100644 sys-cluster/openmpi/openmpi-4.0.4.ebuild delete mode 100644 sys-cluster/openmpi/openmpi-4.0.5-r1.ebuild create mode 100644 sys-cluster/openmpi/openmpi-4.0.5-r2.ebuild create mode 100644 sys-cluster/openmpi/openmpi-4.0.5-r3.ebuild delete mode 100644 sys-cluster/openmpi/openmpi-4.0.5.ebuild create mode 100644 sys-cluster/openmpi/openmpi-4.0.6-r1.ebuild delete mode 100644 sys-cluster/openmpi/openmpi-4.0.6.ebuild create mode 100644 sys-cluster/openmpi/openmpi-4.1.1-r1.ebuild delete mode 100644 sys-cluster/openmpi/openmpi-4.1.1.ebuild (limited to 'sys-cluster/openmpi') diff --git a/sys-cluster/openmpi/Manifest b/sys-cluster/openmpi/Manifest index edf6fd4f4aa7..ee1aeae5d40c 100644 --- a/sys-cluster/openmpi/Manifest +++ b/sys-cluster/openmpi/Manifest @@ -14,19 +14,19 @@ DIST openmpi-4.0.4.tar.bz2 9748444 BLAKE2B 3c3258b7cd71156deec317479ac1ea9766b09 DIST openmpi-4.0.5.tar.bz2 9752045 BLAKE2B 9709dc8c251d4f2be14d0ab498c5d0d0e59f95db98fb16d9e84fe3d30af5a8e2f9636bbceaf7ae4086a3312bcd6299f0e9e1ca609d658930a1f5abe1018311e1 SHA512 b7a1a5ccfc0eaa0f0504ff770b550480f7ae6727fa891e3310d9340a0d844a2ceddf62c2e59efd047ab9416b24c829919bbccd29606ca0e0d7a0569dad800011 DIST openmpi-4.0.6.tar.bz2 9805015 BLAKE2B 2a476fc22a953bd8afb56153ca73e86e27a60ea1490bc1f2ac2a800d352876504e474d8cf8fc768e447ea9840413d7ae9eb7d852c14b0d751b90b86a6133b194 SHA512 4900a957756399464a74e7f685d5d0bf2b4672e274dc02f7de3e5ac07d9e890713d20ef424e0810368ace2315a2d3dea727bfeca980eb2d7cc99f12979dde22d DIST openmpi-4.1.1.tar.bz2 10052770 BLAKE2B 2f853ca44703197469e5ccd42ecd81de72d39f265e0da9d847e6b2f7a7646241b76346c71969bf6a3d4605c28f02de6b587fd0330c753ad7dec8503af0784b69 SHA512 0d85ba45a40c0879f266e5286615e2cf94eb3570f0a705194525821d5c85d460cefc3a2da8207e6e84c479d3d0da656e2342cc2d6f88c4b4577ca22bbeacc89d -EBUILD openmpi-1.10.7.ebuild 6255 BLAKE2B 9c95f5795f1ae64079ee6196437bd10fa74cd94cbe38c2923d582ba50041e61fec23accffb9e21c259495b79a37d8a5cc151e6d81818fb7f7840bd40de666671 SHA512 45d7ca9d261a9309acc1e857e3e26ba63d0a39c95bcabca2023b2573c336d2d4ebe25213a037a986bfac38385cf5977ddabe16f7cebcf18a2f697a363fcf2469 -EBUILD openmpi-1.4.5.ebuild 2413 BLAKE2B 0e4c9ad51c2f7f44449b0a5d3e1400de600f5337d591dcb89eb938455afa24d891573e03abdfa7434432b8377ffb3f9aefc291881713de0b80fe50322b962ba7 SHA512 187962e3788b94607b9a22728c6f90405cd4c49007413e9d0cfb4df45d5e67f30bcd2129ae8132d08460d9760891f2b15539f995e481962d91c2b7c5a7005002 -EBUILD openmpi-1.7.5-r1.ebuild 4695 BLAKE2B c00f8c11c18323c38a9ed700693d9b67313588d04facacf24f29fae2d625aaa6fe5643adb01f9505effefd5314ce016730a1ff350ab7d467876be6d36d556135 SHA512 07050a17e0f331301f07b7de3473c9f7eb0e89741e39206b69f18d0cb48beb0541c29557ebc7e833a0e79df6405a22eace83799b6b4745a9bdda26d6919ddcc5 -EBUILD openmpi-1.8.8.ebuild 5249 BLAKE2B 6fbf1a0adad811879e393672e6425f1766fbe69e51479a8eaa9cb456f506077833fe07e8befe274546de5e0fe5a93c96b17e5ff1a23a71d8518e9d05a5851380 SHA512 f423c2423f12ca013c393bc14c42841acf910674770124eb4f8a81220606e80ae46795d27524242ea98e83f5d5aaf4bc53358097cffc4b54ce908b93b4eb41bd -EBUILD openmpi-2.0.4.ebuild 5865 BLAKE2B d16aaad399c13dedfeaffdc1c171c3a93a3394969b258c8b6a1b3b44494d8bdbb680f04c6a77cccef65baec41da2c7c9a408c895bdf74a8509239e786380c807 SHA512 82a99b9e2fde11a9f9b847077e0c685f467b7764d638580bbe6175c6d0065a085cf44d30101859ca7025eddaa5b041d370a7e1cb4acb104eb273d38e88c8e33f -EBUILD openmpi-2.1.6.ebuild 5470 BLAKE2B 3b2c88ac0478b6828001366437acb965d62061a956de45fb7b9e7917641757a65dddfaf63b6c80475837d5742f92d60cc4bf140ea6f42f78b1491f56fd324f52 SHA512 166142b1364b7964991129d1340549148f0cf96124493495e83a0a2ea011dc60424f297f0c5c101b3d3b0d14c58e6bd45d05b50ae0f0d13fe22cda183542bffe -EBUILD openmpi-3.0.4.ebuild 5356 BLAKE2B 2330d221b4b6f8cfb83abddd5c9d0ea62c733bfb3c2b2e0f9a05be4cf54516208ef508bcf782ef3ff0b22221b5eb91bc8e963db2032495e58b4620fec52a9084 SHA512 7ff7298fe6e6bf4d20d2ab5c75b47c5f354a34c24a057ca18150a971665b93926355b6de7d2434bd4c4237072a5346641b02debcedb48d4aecfb5d1f782876a2 -EBUILD openmpi-3.1.4.ebuild 5356 BLAKE2B 2330d221b4b6f8cfb83abddd5c9d0ea62c733bfb3c2b2e0f9a05be4cf54516208ef508bcf782ef3ff0b22221b5eb91bc8e963db2032495e58b4620fec52a9084 SHA512 7ff7298fe6e6bf4d20d2ab5c75b47c5f354a34c24a057ca18150a971665b93926355b6de7d2434bd4c4237072a5346641b02debcedb48d4aecfb5d1f782876a2 -EBUILD openmpi-4.0.2.ebuild 5321 BLAKE2B 09350d41a27b89cc1938e2ecc9330b5b9511cfda313ec1c46467ae148ecf2c752d301d1c21d9cb164550f9f792fdbd1d1684a1ed2285be59a85d7c5ce4b332cf SHA512 09b95d07f982900cd4d46eaaba11a316528d37c6ac48b1ce51fb94968481530e8283170405bb3c7c9272ae7c452f3cc8f57a55ddd645854c6c1c318f45363b35 -EBUILD openmpi-4.0.3.ebuild 5321 BLAKE2B 09350d41a27b89cc1938e2ecc9330b5b9511cfda313ec1c46467ae148ecf2c752d301d1c21d9cb164550f9f792fdbd1d1684a1ed2285be59a85d7c5ce4b332cf SHA512 09b95d07f982900cd4d46eaaba11a316528d37c6ac48b1ce51fb94968481530e8283170405bb3c7c9272ae7c452f3cc8f57a55ddd645854c6c1c318f45363b35 -EBUILD openmpi-4.0.4.ebuild 5321 BLAKE2B 09350d41a27b89cc1938e2ecc9330b5b9511cfda313ec1c46467ae148ecf2c752d301d1c21d9cb164550f9f792fdbd1d1684a1ed2285be59a85d7c5ce4b332cf SHA512 09b95d07f982900cd4d46eaaba11a316528d37c6ac48b1ce51fb94968481530e8283170405bb3c7c9272ae7c452f3cc8f57a55ddd645854c6c1c318f45363b35 -EBUILD openmpi-4.0.5-r1.ebuild 5493 BLAKE2B 54a40d373efd7523f03b51ac5c3a10b0eb80395581c3c8951ce6aa6a46a3bdf0af01b73c89b228d8c7e1a350a78af34efd708cb851fc1aac88b88fd7c6f78312 SHA512 8a558fc006e424b85ade91510d3348f98941cee6a2725a140370cc30565c66840ca50cab7038172d61f6b1bb571b7245b976943fe67e9bdf9133a80c13156ac8 -EBUILD openmpi-4.0.5.ebuild 5379 BLAKE2B 4f710429ea2e112c0c1500371c199e990da8b15aed1df010372efcef84cc09b740f1ed39cac64170136f7f6831e475cc4643ec4424abde0501744f9c34667174 SHA512 da2d5951249ae7c4c191c8aef70bd092dae49593db86f675578d182b4e04888b9db5d13bea062ccf2e9702a5bf210b3f51658de4770d71c97cc13246995a841a -EBUILD openmpi-4.0.6.ebuild 5499 BLAKE2B fbb71a014e7cd2f1a1972f8cb57e09a017d3bfbdf2741032014957aa73df61cebca92369e3bc090015b1ee9531f574644e2c38bd77e2bc7a759ade24c523d9b3 SHA512 3a3267eac9883d7e05036159bdaca16d8693375d6c9a37180776eb7797ee250fd9938c479f645b4eab599a7ecce5414dfd5e72669d33efb33873ee56fb135acd -EBUILD openmpi-4.1.1.ebuild 5811 BLAKE2B a76789abb5e0b8e5b5224eed68714736f0b778286a84622b5f23c21ab233efea63f72525485e1e68752490033dad5526472e9ff82642be20bd96e0777e17b86c SHA512 3aaf933bb0c3f4049938b8ad2658e15f0d497878287167270a19e2302792e5d7d13d7f25dc2e1e4b4e5053b034214a3ebc24ef5b8e8d6eac03ed129bfc980231 +EBUILD openmpi-1.10.7.ebuild 6259 BLAKE2B 2d1121714a453904b55d0773b1b66328ae738970b516122503d9a7237851fc4a1af2d020966c981887c5ad575749cba83ff080f10191490d75dfe6eba8e65d49 SHA512 b9d936fd911d07f2c0c9dc94137bbce7be58322bffcf1d35cf3b260aed66f4052d378e29b659c0949f2c1920f667d3d134a5d766a0af17a4eee6075101738ebd +EBUILD openmpi-1.4.5-r1.ebuild 2413 BLAKE2B e19baf3cecf5b23e1323faf8201d7c9c61f30cb4a3d1db78a6b7d1f801a6d0648c68fd47a8b3237e6534aa4096a392b7f0c57053528c64150f5728424e60e0d1 SHA512 fc1fff1385bc270d88d87b52e699e6d65c5b0e9c80ed1807417a7db5757848cd69c555a5221a0b0238b1bf4001174e458e71d851e657622aaf83c13391a311a1 +EBUILD openmpi-1.7.5-r2.ebuild 4699 BLAKE2B 78e51295e74e29456e37f319af559c0b591d3eeb372165eb860964d2dc288aa90bb0de98061227f92360b1365ca160dd8ea32b98a60aee2799b460c12db61585 SHA512 964d4d9844bed55525a34cfd989bb158a5f8f87ef02739f8c0ee79e714359a0646bbeb2b3015856f09d9898ec50509d8d79296cb94f779ad4cfd39b76dd75edf +EBUILD openmpi-1.8.8-r1.ebuild 5253 BLAKE2B 7e18d2a533ef2a69de0f218056deeaee0858095df843ca98e97e9e9b1bf9e877b4fad06365b7d43ce121a31046d94dca06e774ceaea5c814a01f8d1431a04528 SHA512 0097e79f0b758e67ff6db13e3fd0c8a98b64f9ea1354d4b3c9648417b8f766cc86f9af5056ca7d589d47dbae395f935cf906e24ddb8358fc128a35865a526e97 +EBUILD openmpi-2.0.4-r1.ebuild 5869 BLAKE2B c11e119fe1f3813e869e182e1f5423318b98608fb007456e9fdca0974c1fb3876b7adf72eb0ed579afce9b7688f3baf274b8e2809131f09d313f79e17d692b0d SHA512 c612834739d16e76f01a57501ceea24ab785b3d04d58c012e2dd426f3cce5194d67c87ac1e5e0c2ac10d1f011295dfcc577f1912bde721d06998bd75c47d4d60 +EBUILD openmpi-2.1.6-r1.ebuild 5474 BLAKE2B 5962ed25e854b22a093ae699db72eff78cb2e976d69fc35416b0302f5c5d84d0ac64ec293243dc83b65a281924436e4b09a772803a435edfe06873769f6a5459 SHA512 e3406aa2e48a312221f2c9675c5975f914a54ea84cd134c397d4aa63f082e77643fc08322360506ed5f3e75a21950ba21a3bd94a0076b0533a86ab4e6bb829f4 +EBUILD openmpi-3.0.4-r1.ebuild 5360 BLAKE2B 148965a551f9645c2c429e9efca2feee657c9cd64822fa4f903d0016a2625825677bcfe81ff6b8103ae4bde2a33cee9d791626c025c7ea0e8d4139ef4c72105c SHA512 cc4beb41832db11165f66a94ec44661b81a4b7ab6fad1bae54c22e48cdabacc7bb2a9423acca94511a2682a595f5a8da7431f26d6db6de3b70949e9c4c789e5f +EBUILD openmpi-3.1.4-r1.ebuild 5360 BLAKE2B 148965a551f9645c2c429e9efca2feee657c9cd64822fa4f903d0016a2625825677bcfe81ff6b8103ae4bde2a33cee9d791626c025c7ea0e8d4139ef4c72105c SHA512 cc4beb41832db11165f66a94ec44661b81a4b7ab6fad1bae54c22e48cdabacc7bb2a9423acca94511a2682a595f5a8da7431f26d6db6de3b70949e9c4c789e5f +EBUILD openmpi-4.0.2-r1.ebuild 5323 BLAKE2B 77ba576ec0494dcb9354152f2d943a1dea241343fc297e60f4a07997d09d90cd94e09c7f09799313f5725d9f4c05e44d5470a2f20885d0ef35b17bc6690b348a SHA512 3724903c5d70076ff9626bf0f422405395dd2e31b9591b12a599cc748b57168dc42622181257fdbb0baf08774cd5e21897bd5aec5504f6a75bb3f07e1209d4da +EBUILD openmpi-4.0.3-r1.ebuild 5323 BLAKE2B 77ba576ec0494dcb9354152f2d943a1dea241343fc297e60f4a07997d09d90cd94e09c7f09799313f5725d9f4c05e44d5470a2f20885d0ef35b17bc6690b348a SHA512 3724903c5d70076ff9626bf0f422405395dd2e31b9591b12a599cc748b57168dc42622181257fdbb0baf08774cd5e21897bd5aec5504f6a75bb3f07e1209d4da +EBUILD openmpi-4.0.4-r1.ebuild 5323 BLAKE2B 77ba576ec0494dcb9354152f2d943a1dea241343fc297e60f4a07997d09d90cd94e09c7f09799313f5725d9f4c05e44d5470a2f20885d0ef35b17bc6690b348a SHA512 3724903c5d70076ff9626bf0f422405395dd2e31b9591b12a599cc748b57168dc42622181257fdbb0baf08774cd5e21897bd5aec5504f6a75bb3f07e1209d4da +EBUILD openmpi-4.0.5-r2.ebuild 5381 BLAKE2B 563c2cc627514ea7230194ef3e301e7bcf1f32f7f82337c77909c4f0858d986e48e591a2b33f54b79c7231c75cd2c0741786e455a69447b407526dbee9697f24 SHA512 fe538a342237eea851165c5c2976e3d72bcfebad200be4d001e8582480c9eb6f0000dc18e61cbd02426c2294ab09bc1e248f48bc6a809208ffc8eab8c84ec5d3 +EBUILD openmpi-4.0.5-r3.ebuild 5495 BLAKE2B 6bc1dd2a8a22fb91d9440affa0e9ed6957a2f85e9b318726b0d60cf4e9af26aee3a3b456f5bf02891c5e4b131aa8b1abc11bb500e5dbed84b9f4da1c7319308d SHA512 88cd50baa7a1e2a82a17616470aeeaef973c35d7c3f4a2418984eddd7f4034e4c12e371316ce00e4b0581f3e53d392244411bb3f77a8c5dd8211e42ebfe4a39d +EBUILD openmpi-4.0.6-r1.ebuild 5501 BLAKE2B 2fea55fdd5cad7b3761a1b0f5f22094bee988796a615e18002c0ac1d6045d0c87ce73d7f96f5d9cb6b01c091f2b946e7f58ba53689eb3b88a5068ae5ceebdb4d SHA512 1d7472a9c74f3d11560a54721e5e91d8a66fb7813ebf2002adcd8f479cca328e88a706ccaadc67433df4e981baabff9984e1877eff671e9dfa146f8cbb1359c1 +EBUILD openmpi-4.1.1-r1.ebuild 5813 BLAKE2B c6e0c20cb05932f24f5f5aadabee0f6487d946ca1fa2896537d7b562f451af8de212e4530fdac7b31a7511b21565ee424e6a163491c744d9bae6781f059c39bc SHA512 647b04be36ba199de2202b5cce0e9555411e642e1eea7134ca1487c0a3e9159e619360f51b4793f375a6500601b3b7ff6105035903e7fc123b4036a9e0bc913d MISC metadata.xml 961 BLAKE2B 83fe60a3b125736b98fb8fde2deef0231d8dab694f251a1ca929360a92558774707da4f8085dbfa3431c311aabacaf06cefb0c2969126c95cee4996485cad87f SHA512 970e915852eb254419c67ba00df53034761e31ef12c63b3672ffcd1006a00e6ede30ae09d5ccd8c52e2d5899301cdecf24a477a67c8df9ec319e129705e9cd9c diff --git a/sys-cluster/openmpi/openmpi-1.10.7.ebuild b/sys-cluster/openmpi/openmpi-1.10.7.ebuild index 662924556001..2f7dc01da22f 100644 --- a/sys-cluster/openmpi/openmpi-1.10.7.ebuild +++ b/sys-cluster/openmpi/openmpi-1.10.7.ebuild @@ -58,9 +58,9 @@ CDEPEND=" !sys-cluster/mpich2 !sys-cluster/nullmpi !sys-cluster/pmix - >=dev-libs/libevent-2.0.21[${MULTILIB_USEDEP}] + >=dev-libs/libevent-2.0.21:=[${MULTILIB_USEDEP}] dev-libs/libltdl:0[${MULTILIB_USEDEP}] - =sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1 ) openmpi_fabrics_ofed? ( sys-fabric/ofed:* ) diff --git a/sys-cluster/openmpi/openmpi-1.4.5-r1.ebuild b/sys-cluster/openmpi/openmpi-1.4.5-r1.ebuild new file mode 100644 index 000000000000..fb848dabe383 --- /dev/null +++ b/sys-cluster/openmpi/openmpi-1.4.5-r1.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +FORTRAN_NEEDED=fortran + +inherit fortran-2 flag-o-matic toolchain-funcs + +MY_P=${P/-mpi} + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="https://www.open-mpi.org" +SRC_URI="https://www.open-mpi.org/software/ompi/v1.4/downloads/${MY_P}.tar.bz2" + +LICENSE="BSD" +SLOT="0" +RESTRICT="mpi-threads? ( test )" + +KEYWORDS="~alpha amd64 ~ia64 ppc ppc64 sparc x86" +IUSE="+cxx fortran heterogeneous ipv6 mpi-threads pbs romio threads vt" +RDEPEND=" + pbs? ( sys-cluster/torque ) + vt? ( + !dev-libs/libotf + !app-text/lcdf-typetools + ) + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/pmix" +DEPEND="${RDEPEND}" + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + fortran-2_pkg_setup + if use mpi-threads; then + echo + ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by" + ewarn "default and officially unsupported by upstream." + ewarn "You may stop now and set USE=-mpi-threads" + echo + fi + + echo + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + echo +} + +src_prepare() { + default + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + if use threads; then + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf + fi +} + +src_configure() { + local myconf=( + --sysconfdir="${EPREFIX}/etc/${PN}" + --enable-pretty-print-stacktrace + --enable-orterun-prefix-by-default + --without-slurm) + + if use mpi-threads; then + myconf+=(--enable-mpi-threads + --enable-progress-threads) + fi + + if use fortran; then + if [[ $(tc-getFC) =~ g77 ]]; then + myconf+=(--disable-mpi-f90) + elif [[ $(tc-getFC) =~ if ]]; then + # Enabled here as gfortran compile times are huge with this enabled. + myconf+=(--with-mpi-f90-size=medium) + fi + else + myconf+=(--disable-mpi-f90 --disable-mpi-f77) + fi + + ! use vt && myconf+=(--enable-contrib-no-build=vt) + + econf "${myconf[@]}" \ + $(use_enable cxx mpi-cxx) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_with pbs tm) \ + $(use_enable ipv6) +} + +src_install() { + default + dodoc README AUTHORS NEWS VERSION +} + +src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + emake -j1 check +} diff --git a/sys-cluster/openmpi/openmpi-1.4.5.ebuild b/sys-cluster/openmpi/openmpi-1.4.5.ebuild deleted file mode 100644 index 2a04e5e38eb9..000000000000 --- a/sys-cluster/openmpi/openmpi-1.4.5.ebuild +++ /dev/null @@ -1,103 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -FORTRAN_NEEDED=fortran - -inherit fortran-2 flag-o-matic toolchain-funcs - -MY_P=${P/-mpi} - -DESCRIPTION="A high-performance message passing library (MPI)" -HOMEPAGE="https://www.open-mpi.org" -SRC_URI="https://www.open-mpi.org/software/ompi/v1.4/downloads/${MY_P}.tar.bz2" - -LICENSE="BSD" -SLOT="0" -RESTRICT="mpi-threads? ( test )" - -KEYWORDS="~alpha amd64 ~ia64 ppc ppc64 sparc x86" -IUSE="+cxx fortran heterogeneous ipv6 mpi-threads pbs romio threads vt" -RDEPEND=" - pbs? ( sys-cluster/torque ) - vt? ( - !dev-libs/libotf - !app-text/lcdf-typetools - ) - !sys-cluster/mpich - !sys-cluster/mpich2 - !sys-cluster/pmix" -DEPEND="${RDEPEND}" - -S=${WORKDIR}/${MY_P} - -pkg_setup() { - fortran-2_pkg_setup - if use mpi-threads; then - echo - ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by" - ewarn "default and officially unsupported by upstream." - ewarn "You may stop now and set USE=-mpi-threads" - echo - fi - - echo - elog "OpenMPI has an overwhelming count of configuration options." - elog "Don't forget the EXTRA_ECONF environment variable can let you" - elog "specify configure options if you find them necessary." - echo -} - -src_prepare() { - default - # Necessary for scalibility, see - # http://www.open-mpi.org/community/lists/users/2008/09/6514.php - if use threads; then - echo 'oob_tcp_listen_mode = listen_thread' \ - >> opal/etc/openmpi-mca-params.conf - fi -} - -src_configure() { - local myconf=( - --sysconfdir="${EPREFIX}/etc/${PN}" - --enable-pretty-print-stacktrace - --enable-orterun-prefix-by-default - --without-slurm) - - if use mpi-threads; then - myconf+=(--enable-mpi-threads - --enable-progress-threads) - fi - - if use fortran; then - if [[ $(tc-getFC) =~ g77 ]]; then - myconf+=(--disable-mpi-f90) - elif [[ $(tc-getFC) =~ if ]]; then - # Enabled here as gfortran compile times are huge with this enabled. - myconf+=(--with-mpi-f90-size=medium) - fi - else - myconf+=(--disable-mpi-f90 --disable-mpi-f77) - fi - - ! use vt && myconf+=(--enable-contrib-no-build=vt) - - econf "${myconf[@]}" \ - $(use_enable cxx mpi-cxx) \ - $(use_enable romio io-romio) \ - $(use_enable heterogeneous) \ - $(use_with pbs tm) \ - $(use_enable ipv6) -} - -src_install() { - default - dodoc README AUTHORS NEWS VERSION -} - -src_test() { - # Doesn't work with the default src_test as the dry run (-n) fails. - emake -j1 check -} diff --git a/sys-cluster/openmpi/openmpi-1.7.5-r1.ebuild b/sys-cluster/openmpi/openmpi-1.7.5-r1.ebuild deleted file mode 100644 index 2a01a1f2fb30..000000000000 --- a/sys-cluster/openmpi/openmpi-1.7.5-r1.ebuild +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -FORTRAN_NEEDED=fortran - -inherit autotools cuda flag-o-matic fortran-2 toolchain-funcs - -MY_P=${P/-mpi} - -S="${WORKDIR}"/${MY_P} - -IUSE_OPENMPI_FABRICS=" - openmpi_fabrics_ofed - openmpi_fabrics_knem - openmpi_fabrics_psm" - -IUSE_OPENMPI_RM=" - openmpi_rm_pbs - openmpi_rm_slurm" - -IUSE_OPENMPI_OFED_FEATURES=" - openmpi_ofed_features_control-hdr-padding - openmpi_ofed_features_connectx-xrc - openmpi_ofed_features_rdmacm - openmpi_ofed_features_dynamic-sl - openmpi_ofed_features_failover" - -DESCRIPTION="A high-performance message passing library (MPI)" -HOMEPAGE="https://www.open-mpi.org" -SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux" -IUSE="cma cuda +cxx fortran heterogeneous ipv6 mpi-threads romio threads vt - ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" - -REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) - openmpi_rm_pbs? ( !openmpi_rm_slurm ) - openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )" - -MPI_UNCLASSED_DEP_STR=" - vt? ( - !dev-libs/libotf - !app-text/lcdf-typetools - )" - -RDEPEND=" - !sys-cluster/mpich - !sys-cluster/mpich2 - !sys-cluster/pmix - dev-libs/libevent - dev-libs/libltdl:0 - > opal/etc/openmpi-mca-params.conf - fi - - # https://github.com/open-mpi/ompi/issues/163 - eapply "${FILESDIR}"/openmpi-ltdl.patch - - AT_M4DIR=config eautoreconf -} - -src_configure() { - local myconf=( - --sysconfdir="${EPREFIX}/etc/${PN}" - --enable-pretty-print-stacktrace - --enable-orterun-prefix-by-default - --with-hwloc="${EPREFIX}/usr" - --with-libltdl=external - ) - - if use mpi-threads; then - myconf+=(--enable-mpi-threads - --enable-opal-multi-threads) - fi - - if use fortran; then - if [[ $(tc-getFC) =~ g77 ]]; then - myconf+=(--disable-mpi-f90) - elif [[ $(tc-getFC) =~ if ]]; then - # Enabled here as gfortran compile times are huge with this enabled. - myconf+=(--with-mpi-f90-size=medium) - fi - else - myconf+=(--disable-mpi-f90 --disable-mpi-f77) - fi - - ! use vt && myconf+=(--enable-contrib-no-build=vt) - - econf "${myconf[@]}" \ - $(use_enable cxx mpi-cxx) \ - $(use_with cma) \ - $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \ - $(use_enable romio io-romio) \ - $(use_enable heterogeneous) \ - $(use_enable ipv6) \ - $(use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ - $(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ - $(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ - $(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ - $(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \ - $(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ - $(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ - $(use_enable openmpi_ofed_features_failover btl-openib-failover) \ - $(use_with openmpi_rm_pbs tm) \ - $(use_with openmpi_rm_slurm slurm) -} - -src_install() { - default - - # From USE=vt see #359917 - rm "${ED}"/usr/share/libtool || die - - # Avoid collisions with libevent - rm -rf "${ED}"/usr/include/event2 || die - dodoc README AUTHORS NEWS VERSION -} - -src_test() { - # Doesn't work with the default src_test as the dry run (-n) fails. - - # Do not override malloc during build. Works around #462602 - emake -j1 check -} diff --git a/sys-cluster/openmpi/openmpi-1.7.5-r2.ebuild b/sys-cluster/openmpi/openmpi-1.7.5-r2.ebuild new file mode 100644 index 000000000000..6c2e0849a42f --- /dev/null +++ b/sys-cluster/openmpi/openmpi-1.7.5-r2.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +FORTRAN_NEEDED=fortran + +inherit autotools cuda flag-o-matic fortran-2 toolchain-funcs + +MY_P=${P/-mpi} + +S="${WORKDIR}"/${MY_P} + +IUSE_OPENMPI_FABRICS=" + openmpi_fabrics_ofed + openmpi_fabrics_knem + openmpi_fabrics_psm" + +IUSE_OPENMPI_RM=" + openmpi_rm_pbs + openmpi_rm_slurm" + +IUSE_OPENMPI_OFED_FEATURES=" + openmpi_ofed_features_control-hdr-padding + openmpi_ofed_features_connectx-xrc + openmpi_ofed_features_rdmacm + openmpi_ofed_features_dynamic-sl + openmpi_ofed_features_failover" + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="https://www.open-mpi.org" +SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux" +IUSE="cma cuda +cxx fortran heterogeneous ipv6 mpi-threads romio threads vt + ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" + +REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) + openmpi_rm_pbs? ( !openmpi_rm_slurm ) + openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )" + +MPI_UNCLASSED_DEP_STR=" + vt? ( + !dev-libs/libotf + !app-text/lcdf-typetools + )" + +RDEPEND=" + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/pmix + dev-libs/libevent:= + dev-libs/libltdl:0 + > opal/etc/openmpi-mca-params.conf + fi + + # https://github.com/open-mpi/ompi/issues/163 + eapply "${FILESDIR}"/openmpi-ltdl.patch + + AT_M4DIR=config eautoreconf +} + +src_configure() { + local myconf=( + --sysconfdir="${EPREFIX}/etc/${PN}" + --enable-pretty-print-stacktrace + --enable-orterun-prefix-by-default + --with-hwloc="${EPREFIX}/usr" + --with-libltdl=external + ) + + if use mpi-threads; then + myconf+=(--enable-mpi-threads + --enable-opal-multi-threads) + fi + + if use fortran; then + if [[ $(tc-getFC) =~ g77 ]]; then + myconf+=(--disable-mpi-f90) + elif [[ $(tc-getFC) =~ if ]]; then + # Enabled here as gfortran compile times are huge with this enabled. + myconf+=(--with-mpi-f90-size=medium) + fi + else + myconf+=(--disable-mpi-f90 --disable-mpi-f77) + fi + + ! use vt && myconf+=(--enable-contrib-no-build=vt) + + econf "${myconf[@]}" \ + $(use_enable cxx mpi-cxx) \ + $(use_with cma) \ + $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_enable ipv6) \ + $(use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ + $(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ + $(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ + $(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ + $(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \ + $(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ + $(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ + $(use_enable openmpi_ofed_features_failover btl-openib-failover) \ + $(use_with openmpi_rm_pbs tm) \ + $(use_with openmpi_rm_slurm slurm) +} + +src_install() { + default + + # From USE=vt see #359917 + rm "${ED}"/usr/share/libtool || die + + # Avoid collisions with libevent + rm -rf "${ED}"/usr/include/event2 || die + dodoc README AUTHORS NEWS VERSION +} + +src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + + # Do not override malloc during build. Works around #462602 + emake -j1 check +} diff --git a/sys-cluster/openmpi/openmpi-1.8.8-r1.ebuild b/sys-cluster/openmpi/openmpi-1.8.8-r1.ebuild new file mode 100644 index 000000000000..1fa495fae505 --- /dev/null +++ b/sys-cluster/openmpi/openmpi-1.8.8-r1.ebuild @@ -0,0 +1,179 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +FORTRAN_NEEDED=fortran + +inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +IUSE_OPENMPI_FABRICS=" + openmpi_fabrics_ofed + openmpi_fabrics_knem + openmpi_fabrics_psm" + +IUSE_OPENMPI_RM=" + openmpi_rm_pbs + openmpi_rm_slurm" + +IUSE_OPENMPI_OFED_FEATURES=" + openmpi_ofed_features_control-hdr-padding + openmpi_ofed_features_connectx-xrc + openmpi_ofed_features_udcm + openmpi_ofed_features_rdmacm + openmpi_ofed_features_dynamic-sl + openmpi_ofed_features_failover" + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="https://www.open-mpi.org" +SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux" +IUSE="cma cuda +cxx fortran heterogeneous ipv6 java mpi-threads numa romio threads vt + ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" + +REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) + openmpi_rm_pbs? ( !openmpi_rm_slurm ) + openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )" + +MPI_UNCLASSED_DEP_STR=" + vt? ( + !dev-libs/libotf + !app-text/lcdf-typetools + )" + +CDEPEND=" + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/pmix + dev-libs/libevent:= + dev-libs/libltdl:0 + > opal/etc/openmpi-mca-params.conf + fi +} + +src_configure() { + local myconf=( + --sysconfdir="${EPREFIX}/etc/${PN}" + --enable-pretty-print-stacktrace + --enable-orterun-prefix-by-default + --with-hwloc="${EPREFIX}/usr" + --with-libltdl="${EPREFIX}/usr" + ) + + if use fortran; then + myconf+=(--enable-mpi-fortran=all) + else + myconf+=(--enable-mpi-fortran=no) + fi + + if use java; then + # We must always build with the right -source and -target + # flags. Passing flags to javac isn't explicitly supported here + # but we can cheat by overriding the configure test for javac. + export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" + fi + + ! use vt && myconf+=(--enable-contrib-no-build=vt) + + econf "${myconf[@]}" \ + $(use_enable cxx mpi-cxx) \ + $(use_with cma) \ + $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_enable ipv6) \ + $(use_enable mpi-threads mpi-thread-multiple) \ + $(use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ + $(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ + $(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ + $(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ + $(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \ + $(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ + $(use_enable openmpi_ofed_features_udcm openib-udcm) \ + $(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ + $(use_enable openmpi_ofed_features_failover btl-openib-failover) \ + $(use_with openmpi_rm_pbs tm) \ + $(use_with openmpi_rm_slurm slurm) \ + $(use_enable java) \ + $(use_enable java mpi-java) +} + +src_install() { + default + + # From USE=vt see #359917 + rm "${ED}"/usr/share/libtool || die + + # Avoid collisions with libevent + rm -rf "${ED}"/usr/include/event2 || die + + # Remove la files, no static libs are installed and we have pkg-config + find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete + + if use java; then + local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar + java-pkg_dojar "${mpi_jar}" + # We don't want to install the jar file twice + # so let's clean after ourselves. + rm "${mpi_jar}" || die + fi + + dodoc README AUTHORS NEWS VERSION +} + +src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + emake -j1 check +} diff --git a/sys-cluster/openmpi/openmpi-1.8.8.ebuild b/sys-cluster/openmpi/openmpi-1.8.8.ebuild deleted file mode 100644 index 8c48f707e036..000000000000 --- a/sys-cluster/openmpi/openmpi-1.8.8.ebuild +++ /dev/null @@ -1,179 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -FORTRAN_NEEDED=fortran - -inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs - -MY_P=${P/-mpi} -S=${WORKDIR}/${MY_P} - -IUSE_OPENMPI_FABRICS=" - openmpi_fabrics_ofed - openmpi_fabrics_knem - openmpi_fabrics_psm" - -IUSE_OPENMPI_RM=" - openmpi_rm_pbs - openmpi_rm_slurm" - -IUSE_OPENMPI_OFED_FEATURES=" - openmpi_ofed_features_control-hdr-padding - openmpi_ofed_features_connectx-xrc - openmpi_ofed_features_udcm - openmpi_ofed_features_rdmacm - openmpi_ofed_features_dynamic-sl - openmpi_ofed_features_failover" - -DESCRIPTION="A high-performance message passing library (MPI)" -HOMEPAGE="https://www.open-mpi.org" -SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux" -IUSE="cma cuda +cxx fortran heterogeneous ipv6 java mpi-threads numa romio threads vt - ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" - -REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) - openmpi_rm_pbs? ( !openmpi_rm_slurm ) - openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )" - -MPI_UNCLASSED_DEP_STR=" - vt? ( - !dev-libs/libotf - !app-text/lcdf-typetools - )" - -CDEPEND=" - !sys-cluster/mpich - !sys-cluster/mpich2 - !sys-cluster/pmix - dev-libs/libevent - dev-libs/libltdl:0 - > opal/etc/openmpi-mca-params.conf - fi -} - -src_configure() { - local myconf=( - --sysconfdir="${EPREFIX}/etc/${PN}" - --enable-pretty-print-stacktrace - --enable-orterun-prefix-by-default - --with-hwloc="${EPREFIX}/usr" - --with-libltdl="${EPREFIX}/usr" - ) - - if use fortran; then - myconf+=(--enable-mpi-fortran=all) - else - myconf+=(--enable-mpi-fortran=no) - fi - - if use java; then - # We must always build with the right -source and -target - # flags. Passing flags to javac isn't explicitly supported here - # but we can cheat by overriding the configure test for javac. - export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" - fi - - ! use vt && myconf+=(--enable-contrib-no-build=vt) - - econf "${myconf[@]}" \ - $(use_enable cxx mpi-cxx) \ - $(use_with cma) \ - $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \ - $(use_enable romio io-romio) \ - $(use_enable heterogeneous) \ - $(use_enable ipv6) \ - $(use_enable mpi-threads mpi-thread-multiple) \ - $(use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ - $(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ - $(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ - $(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ - $(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \ - $(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ - $(use_enable openmpi_ofed_features_udcm openib-udcm) \ - $(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ - $(use_enable openmpi_ofed_features_failover btl-openib-failover) \ - $(use_with openmpi_rm_pbs tm) \ - $(use_with openmpi_rm_slurm slurm) \ - $(use_enable java) \ - $(use_enable java mpi-java) -} - -src_install() { - default - - # From USE=vt see #359917 - rm "${ED}"/usr/share/libtool || die - - # Avoid collisions with libevent - rm -rf "${ED}"/usr/include/event2 || die - - # Remove la files, no static libs are installed and we have pkg-config - find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete - - if use java; then - local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar - java-pkg_dojar "${mpi_jar}" - # We don't want to install the jar file twice - # so let's clean after ourselves. - rm "${mpi_jar}" || die - fi - - dodoc README AUTHORS NEWS VERSION -} - -src_test() { - # Doesn't work with the default src_test as the dry run (-n) fails. - emake -j1 check -} diff --git a/sys-cluster/openmpi/openmpi-2.0.4-r1.ebuild b/sys-cluster/openmpi/openmpi-2.0.4-r1.ebuild new file mode 100644 index 000000000000..d9a4f81bf34a --- /dev/null +++ b/sys-cluster/openmpi/openmpi-2.0.4-r1.ebuild @@ -0,0 +1,180 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +FORTRAN_NEEDED=fortran + +inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs multilib-minimal + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +IUSE_OPENMPI_FABRICS=" + openmpi_fabrics_ofed + openmpi_fabrics_knem + openmpi_fabrics_psm" + +IUSE_OPENMPI_RM=" + openmpi_rm_pbs + openmpi_rm_slurm" + +IUSE_OPENMPI_OFED_FEATURES=" + openmpi_ofed_features_control-hdr-padding + openmpi_ofed_features_connectx-xrc + openmpi_ofed_features_udcm + openmpi_ofed_features_rdmacm + openmpi_ofed_features_dynamic-sl + openmpi_ofed_features_failover" + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="https://www.open-mpi.org" +SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha amd64 arm ~ia64 ~ppc ~ppc64 sparc x86 ~amd64-linux" +IUSE="cma cuda cxx fortran heterogeneous ipv6 java mpi-threads numa romio threads + ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" + +REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) + openmpi_rm_pbs? ( !openmpi_rm_slurm ) + openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )" + +# dev-util/nvidia-cuda-toolkit is always multilib +CDEPEND=" + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/nullmpi + !sys-cluster/pmix + >=dev-libs/libevent-2.0.22:=[${MULTILIB_USEDEP},threads] + dev-libs/libltdl:0[${MULTILIB_USEDEP}] + =sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= ) + openmpi_fabrics_ofed? ( sys-fabric/ofed:* ) + openmpi_fabrics_knem? ( sys-cluster/knem ) + openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) + openmpi_rm_pbs? ( sys-cluster/torque ) + openmpi_rm_slurm? ( sys-cluster/slurm ) + openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )" + +RDEPEND="${CDEPEND} + java? ( >=virtual/jre-1.6 )" + +DEPEND="${CDEPEND} + java? ( >=virtual/jdk-1.6 )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/mpi.h + /usr/include/openmpi/ompi/mpi/java/mpiJava.h +) + +pkg_setup() { + fortran-2_pkg_setup + java-pkg-opt-2_pkg_setup + + elog + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + elog +} + +src_prepare() { + default + + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + if use threads; then + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf || die + fi +} + +multilib_src_configure() { + if use java; then + # We must always build with the right -source and -target + # flags. Passing flags to javac isn't explicitly supported here + # but we can cheat by overriding the configure test for javac. + export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" + fi + + ECONF_SOURCE=${S} econf \ + --sysconfdir="${EPREFIX}/etc/${PN}" \ + --enable-pretty-print-stacktrace \ + --enable-orterun-prefix-by-default \ + --with-hwloc="${EPREFIX}/usr" \ + --with-libltdl="${EPREFIX}/usr" \ + --with-libevent="${EPREFIX}/usr" \ + --enable-mpi-fortran=$(usex fortran all no) \ + $(use_enable cxx mpi-cxx) \ + $(use_with cma) \ + $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_enable ipv6) \ + $(multilib_native_use_enable java) \ + $(multilib_native_use_enable java mpi-java) \ + $(multilib_native_use_enable mpi-threads mpi-thread-multiple) \ + $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ + $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ + $(multilib_native_use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \ + $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ + $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \ + $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ + $(multilib_native_use_enable openmpi_ofed_features_failover btl-openib-failover) \ + $(multilib_native_use_with openmpi_rm_pbs tm) \ + $(multilib_native_use_with openmpi_rm_slurm slurm) + + # fix parallel build when f08 is enabled + mkdir -p ompi/mpi/fortran/use-mpi-f08/profile || die +} + +multilib_src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + emake -j1 check +} + +multilib_src_install() { + default + + # fortran header cannot be wrapped (bug #540508), workaround part 1 + if multilib_is_native_abi && use fortran; then + mkdir "${T}"/fortran || die + mv "${ED}"/usr/include/mpif* "${T}"/fortran || die + else + # some fortran files get installed unconditionally + rm \ + "${ED}"/usr/include/mpif* \ + "${ED}"/usr/bin/mpif* \ + || die + fi +} + +multilib_src_install_all() { + # fortran header cannot be wrapped (bug #540508), workaround part 2 + if use fortran; then + mv "${T}"/fortran/mpif* "${ED}"/usr/include || die + fi + + # Remove la files, no static libs are installed and we have pkg-config + find "${ED}" -name '*.la' -delete || die + + if use java; then + local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar + java-pkg_dojar "${mpi_jar}" + # We don't want to install the jar file twice + # so let's clean after ourselves. + rm "${mpi_jar}" || die + fi + + einstalldocs +} diff --git a/sys-cluster/openmpi/openmpi-2.0.4.ebuild b/sys-cluster/openmpi/openmpi-2.0.4.ebuild deleted file mode 100644 index 93c7bfd018cf..000000000000 --- a/sys-cluster/openmpi/openmpi-2.0.4.ebuild +++ /dev/null @@ -1,180 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -FORTRAN_NEEDED=fortran - -inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs multilib-minimal - -MY_P=${P/-mpi} -S=${WORKDIR}/${MY_P} - -IUSE_OPENMPI_FABRICS=" - openmpi_fabrics_ofed - openmpi_fabrics_knem - openmpi_fabrics_psm" - -IUSE_OPENMPI_RM=" - openmpi_rm_pbs - openmpi_rm_slurm" - -IUSE_OPENMPI_OFED_FEATURES=" - openmpi_ofed_features_control-hdr-padding - openmpi_ofed_features_connectx-xrc - openmpi_ofed_features_udcm - openmpi_ofed_features_rdmacm - openmpi_ofed_features_dynamic-sl - openmpi_ofed_features_failover" - -DESCRIPTION="A high-performance message passing library (MPI)" -HOMEPAGE="https://www.open-mpi.org" -SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha amd64 arm ~ia64 ~ppc ~ppc64 sparc x86 ~amd64-linux" -IUSE="cma cuda cxx fortran heterogeneous ipv6 java mpi-threads numa romio threads - ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" - -REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) - openmpi_rm_pbs? ( !openmpi_rm_slurm ) - openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )" - -# dev-util/nvidia-cuda-toolkit is always multilib -CDEPEND=" - !sys-cluster/mpich - !sys-cluster/mpich2 - !sys-cluster/nullmpi - !sys-cluster/pmix - >=dev-libs/libevent-2.0.22[${MULTILIB_USEDEP},threads] - dev-libs/libltdl:0[${MULTILIB_USEDEP}] - =sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] - cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= ) - openmpi_fabrics_ofed? ( sys-fabric/ofed:* ) - openmpi_fabrics_knem? ( sys-cluster/knem ) - openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) - openmpi_rm_pbs? ( sys-cluster/torque ) - openmpi_rm_slurm? ( sys-cluster/slurm ) - openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )" - -RDEPEND="${CDEPEND} - java? ( >=virtual/jre-1.6 )" - -DEPEND="${CDEPEND} - java? ( >=virtual/jdk-1.6 )" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/mpi.h - /usr/include/openmpi/ompi/mpi/java/mpiJava.h -) - -pkg_setup() { - fortran-2_pkg_setup - java-pkg-opt-2_pkg_setup - - elog - elog "OpenMPI has an overwhelming count of configuration options." - elog "Don't forget the EXTRA_ECONF environment variable can let you" - elog "specify configure options if you find them necessary." - elog -} - -src_prepare() { - default - - # Necessary for scalibility, see - # http://www.open-mpi.org/community/lists/users/2008/09/6514.php - if use threads; then - echo 'oob_tcp_listen_mode = listen_thread' \ - >> opal/etc/openmpi-mca-params.conf || die - fi -} - -multilib_src_configure() { - if use java; then - # We must always build with the right -source and -target - # flags. Passing flags to javac isn't explicitly supported here - # but we can cheat by overriding the configure test for javac. - export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" - fi - - ECONF_SOURCE=${S} econf \ - --sysconfdir="${EPREFIX}/etc/${PN}" \ - --enable-pretty-print-stacktrace \ - --enable-orterun-prefix-by-default \ - --with-hwloc="${EPREFIX}/usr" \ - --with-libltdl="${EPREFIX}/usr" \ - --with-libevent="${EPREFIX}/usr" \ - --enable-mpi-fortran=$(usex fortran all no) \ - $(use_enable cxx mpi-cxx) \ - $(use_with cma) \ - $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \ - $(use_enable romio io-romio) \ - $(use_enable heterogeneous) \ - $(use_enable ipv6) \ - $(multilib_native_use_enable java) \ - $(multilib_native_use_enable java mpi-java) \ - $(multilib_native_use_enable mpi-threads mpi-thread-multiple) \ - $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ - $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ - $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ - $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ - $(multilib_native_use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \ - $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ - $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \ - $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ - $(multilib_native_use_enable openmpi_ofed_features_failover btl-openib-failover) \ - $(multilib_native_use_with openmpi_rm_pbs tm) \ - $(multilib_native_use_with openmpi_rm_slurm slurm) - - # fix parallel build when f08 is enabled - mkdir -p ompi/mpi/fortran/use-mpi-f08/profile || die -} - -multilib_src_test() { - # Doesn't work with the default src_test as the dry run (-n) fails. - emake -j1 check -} - -multilib_src_install() { - default - - # fortran header cannot be wrapped (bug #540508), workaround part 1 - if multilib_is_native_abi && use fortran; then - mkdir "${T}"/fortran || die - mv "${ED}"/usr/include/mpif* "${T}"/fortran || die - else - # some fortran files get installed unconditionally - rm \ - "${ED}"/usr/include/mpif* \ - "${ED}"/usr/bin/mpif* \ - || die - fi -} - -multilib_src_install_all() { - # fortran header cannot be wrapped (bug #540508), workaround part 2 - if use fortran; then - mv "${T}"/fortran/mpif* "${ED}"/usr/include || die - fi - - # Remove la files, no static libs are installed and we have pkg-config - find "${ED}" -name '*.la' -delete || die - - if use java; then - local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar - java-pkg_dojar "${mpi_jar}" - # We don't want to install the jar file twice - # so let's clean after ourselves. - rm "${mpi_jar}" || die - fi - - einstalldocs -} diff --git a/sys-cluster/openmpi/openmpi-2.1.6-r1.ebuild b/sys-cluster/openmpi/openmpi-2.1.6-r1.ebuild new file mode 100644 index 000000000000..c37db55963e6 --- /dev/null +++ b/sys-cluster/openmpi/openmpi-2.1.6-r1.ebuild @@ -0,0 +1,173 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +FORTRAN_NEEDED=fortran + +inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs multilib-minimal + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +IUSE_OPENMPI_FABRICS=" + openmpi_fabrics_ofed + openmpi_fabrics_knem + openmpi_fabrics_psm" + +IUSE_OPENMPI_RM=" + openmpi_rm_pbs + openmpi_rm_slurm" + +IUSE_OPENMPI_OFED_FEATURES=" + openmpi_ofed_features_control-hdr-padding + openmpi_ofed_features_udcm + openmpi_ofed_features_rdmacm + openmpi_ofed_features_dynamic-sl" + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="https://www.open-mpi.org" +SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux" +IUSE="cma cuda cxx fortran heterogeneous ipv6 java mpi-threads numa romio threads + ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" + +REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) + openmpi_rm_pbs? ( !openmpi_rm_slurm ) + openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )" + +# dev-util/nvidia-cuda-toolkit is always multilib +CDEPEND=" + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/nullmpi + !sys-cluster/pmix + >=dev-libs/libevent-2.0.22:=[${MULTILIB_USEDEP},threads] + dev-libs/libltdl:0[${MULTILIB_USEDEP}] + =sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= ) + openmpi_fabrics_ofed? ( sys-fabric/ofed:* ) + openmpi_fabrics_knem? ( sys-cluster/knem ) + openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) + openmpi_rm_pbs? ( sys-cluster/torque ) + openmpi_rm_slurm? ( sys-cluster/slurm ) + openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )" + +RDEPEND="${CDEPEND} + java? ( >=virtual/jre-1.6 )" + +DEPEND="${CDEPEND} + java? ( >=virtual/jdk-1.6 )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/mpi.h + /usr/include/openmpi/ompi/mpi/java/mpiJava.h +) + +pkg_setup() { + fortran-2_pkg_setup + java-pkg-opt-2_pkg_setup + + elog + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + elog +} + +src_prepare() { + default + + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + if use threads; then + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf || die + fi +} + +multilib_src_configure() { + if use java; then + # We must always build with the right -source and -target + # flags. Passing flags to javac isn't explicitly supported here + # but we can cheat by overriding the configure test for javac. + export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" + fi + + ECONF_SOURCE=${S} econf \ + --sysconfdir="${EPREFIX}/etc/${PN}" \ + --enable-pretty-print-stacktrace \ + --enable-orterun-prefix-by-default \ + --with-hwloc="${EPREFIX}/usr" \ + --with-libltdl="${EPREFIX}/usr" \ + --with-libevent="${EPREFIX}/usr" \ + --enable-mpi-fortran=$(usex fortran all no) \ + $(use_enable cxx mpi-cxx) \ + $(use_with cma) \ + $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_enable ipv6) \ + $(multilib_native_use_enable java) \ + $(multilib_native_use_enable java mpi-java) \ + $(multilib_native_use_enable mpi-threads mpi-thread-multiple) \ + $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ + $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ + $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ + $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \ + $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ + $(multilib_native_use_with openmpi_rm_pbs tm) \ + $(multilib_native_use_with openmpi_rm_slurm slurm) +} + +multilib_src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + emake -j1 check +} + +multilib_src_install() { + default + + # fortran header cannot be wrapped (bug #540508), workaround part 1 + if multilib_is_native_abi && use fortran; then + mkdir "${T}"/fortran || die + mv "${ED}"/usr/include/mpif* "${T}"/fortran || die + else + # some fortran files get installed unconditionally + rm \ + "${ED}"/usr/include/mpif* \ + "${ED}"/usr/bin/mpif* \ + "${ED}"/usr/bin/oshfort \ + "${ED}"/usr/bin/shmemfort \ + || die + fi +} + +multilib_src_install_all() { + # fortran header cannot be wrapped (bug #540508), workaround part 2 + if use fortran; then + mv "${T}"/fortran/mpif* "${ED}"/usr/include || die + fi + + # Remove la files, no static libs are installed and we have pkg-config + find "${ED}" -name '*.la' -delete || die + + if use java; then + local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar + java-pkg_dojar "${mpi_jar}" + # We don't want to install the jar file twice + # so let's clean after ourselves. + rm "${mpi_jar}" || die + fi + + einstalldocs +} diff --git a/sys-cluster/openmpi/openmpi-2.1.6.ebuild b/sys-cluster/openmpi/openmpi-2.1.6.ebuild deleted file mode 100644 index bb8a65b2cf1c..000000000000 --- a/sys-cluster/openmpi/openmpi-2.1.6.ebuild +++ /dev/null @@ -1,173 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -FORTRAN_NEEDED=fortran - -inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs multilib-minimal - -MY_P=${P/-mpi} -S=${WORKDIR}/${MY_P} - -IUSE_OPENMPI_FABRICS=" - openmpi_fabrics_ofed - openmpi_fabrics_knem - openmpi_fabrics_psm" - -IUSE_OPENMPI_RM=" - openmpi_rm_pbs - openmpi_rm_slurm" - -IUSE_OPENMPI_OFED_FEATURES=" - openmpi_ofed_features_control-hdr-padding - openmpi_ofed_features_udcm - openmpi_ofed_features_rdmacm - openmpi_ofed_features_dynamic-sl" - -DESCRIPTION="A high-performance message passing library (MPI)" -HOMEPAGE="https://www.open-mpi.org" -SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux" -IUSE="cma cuda cxx fortran heterogeneous ipv6 java mpi-threads numa romio threads - ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" - -REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) - openmpi_rm_pbs? ( !openmpi_rm_slurm ) - openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )" - -# dev-util/nvidia-cuda-toolkit is always multilib -CDEPEND=" - !sys-cluster/mpich - !sys-cluster/mpich2 - !sys-cluster/nullmpi - !sys-cluster/pmix - >=dev-libs/libevent-2.0.22[${MULTILIB_USEDEP},threads] - dev-libs/libltdl:0[${MULTILIB_USEDEP}] - =sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] - cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= ) - openmpi_fabrics_ofed? ( sys-fabric/ofed:* ) - openmpi_fabrics_knem? ( sys-cluster/knem ) - openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) - openmpi_rm_pbs? ( sys-cluster/torque ) - openmpi_rm_slurm? ( sys-cluster/slurm ) - openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )" - -RDEPEND="${CDEPEND} - java? ( >=virtual/jre-1.6 )" - -DEPEND="${CDEPEND} - java? ( >=virtual/jdk-1.6 )" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/mpi.h - /usr/include/openmpi/ompi/mpi/java/mpiJava.h -) - -pkg_setup() { - fortran-2_pkg_setup - java-pkg-opt-2_pkg_setup - - elog - elog "OpenMPI has an overwhelming count of configuration options." - elog "Don't forget the EXTRA_ECONF environment variable can let you" - elog "specify configure options if you find them necessary." - elog -} - -src_prepare() { - default - - # Necessary for scalibility, see - # http://www.open-mpi.org/community/lists/users/2008/09/6514.php - if use threads; then - echo 'oob_tcp_listen_mode = listen_thread' \ - >> opal/etc/openmpi-mca-params.conf || die - fi -} - -multilib_src_configure() { - if use java; then - # We must always build with the right -source and -target - # flags. Passing flags to javac isn't explicitly supported here - # but we can cheat by overriding the configure test for javac. - export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" - fi - - ECONF_SOURCE=${S} econf \ - --sysconfdir="${EPREFIX}/etc/${PN}" \ - --enable-pretty-print-stacktrace \ - --enable-orterun-prefix-by-default \ - --with-hwloc="${EPREFIX}/usr" \ - --with-libltdl="${EPREFIX}/usr" \ - --with-libevent="${EPREFIX}/usr" \ - --enable-mpi-fortran=$(usex fortran all no) \ - $(use_enable cxx mpi-cxx) \ - $(use_with cma) \ - $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \ - $(use_enable romio io-romio) \ - $(use_enable heterogeneous) \ - $(use_enable ipv6) \ - $(multilib_native_use_enable java) \ - $(multilib_native_use_enable java mpi-java) \ - $(multilib_native_use_enable mpi-threads mpi-thread-multiple) \ - $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ - $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ - $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ - $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ - $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ - $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \ - $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ - $(multilib_native_use_with openmpi_rm_pbs tm) \ - $(multilib_native_use_with openmpi_rm_slurm slurm) -} - -multilib_src_test() { - # Doesn't work with the default src_test as the dry run (-n) fails. - emake -j1 check -} - -multilib_src_install() { - default - - # fortran header cannot be wrapped (bug #540508), workaround part 1 - if multilib_is_native_abi && use fortran; then - mkdir "${T}"/fortran || die - mv "${ED}"/usr/include/mpif* "${T}"/fortran || die - else - # some fortran files get installed unconditionally - rm \ - "${ED}"/usr/include/mpif* \ - "${ED}"/usr/bin/mpif* \ - "${ED}"/usr/bin/oshfort \ - "${ED}"/usr/bin/shmemfort \ - || die - fi -} - -multilib_src_install_all() { - # fortran header cannot be wrapped (bug #540508), workaround part 2 - if use fortran; then - mv "${T}"/fortran/mpif* "${ED}"/usr/include || die - fi - - # Remove la files, no static libs are installed and we have pkg-config - find "${ED}" -name '*.la' -delete || die - - if use java; then - local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar - java-pkg_dojar "${mpi_jar}" - # We don't want to install the jar file twice - # so let's clean after ourselves. - rm "${mpi_jar}" || die - fi - - einstalldocs -} diff --git a/sys-cluster/openmpi/openmpi-3.0.4-r1.ebuild b/sys-cluster/openmpi/openmpi-3.0.4-r1.ebuild new file mode 100644 index 000000000000..d54b56e6cd25 --- /dev/null +++ b/sys-cluster/openmpi/openmpi-3.0.4-r1.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +FORTRAN_NEEDED=fortran + +inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs multilib-minimal + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +IUSE_OPENMPI_FABRICS=" + openmpi_fabrics_ofed + openmpi_fabrics_knem + openmpi_fabrics_psm" + +IUSE_OPENMPI_RM=" + openmpi_rm_pbs + openmpi_rm_slurm" + +IUSE_OPENMPI_OFED_FEATURES=" + openmpi_ofed_features_control-hdr-padding + openmpi_ofed_features_udcm + openmpi_ofed_features_rdmacm + openmpi_ofed_features_dynamic-sl" + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="https://www.open-mpi.org" +SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux" +IUSE="cma cuda cxx fortran heterogeneous ipv6 java numa romio + ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" + +REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) + openmpi_rm_pbs? ( !openmpi_rm_slurm ) + openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )" + +# dev-util/nvidia-cuda-toolkit is always multilib +CDEPEND=" + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/nullmpi + !sys-cluster/pmix + >=dev-libs/libevent-2.0.22:=[${MULTILIB_USEDEP},threads] + dev-libs/libltdl:0[${MULTILIB_USEDEP}] + =sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= ) + openmpi_fabrics_ofed? ( sys-fabric/ofed:* ) + openmpi_fabrics_knem? ( sys-cluster/knem ) + openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) + openmpi_rm_pbs? ( sys-cluster/torque ) + openmpi_rm_slurm? ( sys-cluster/slurm ) + openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )" + +RDEPEND="${CDEPEND} + java? ( >=virtual/jre-1.6 )" + +DEPEND="${CDEPEND} + java? ( >=virtual/jdk-1.6 )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/mpi.h + /usr/include/openmpi/ompi/mpi/java/mpiJava.h +) + +pkg_setup() { + fortran-2_pkg_setup + java-pkg-opt-2_pkg_setup + + elog + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + elog +} + +src_prepare() { + default + + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf || die +} + +multilib_src_configure() { + if use java; then + # We must always build with the right -source and -target + # flags. Passing flags to javac isn't explicitly supported here + # but we can cheat by overriding the configure test for javac. + export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" + fi + + ECONF_SOURCE=${S} econf \ + --sysconfdir="${EPREFIX}/etc/${PN}" \ + --enable-pretty-print-stacktrace \ + --enable-orterun-prefix-by-default \ + --with-hwloc="${EPREFIX}/usr" \ + --with-libltdl="${EPREFIX}/usr" \ + --with-libevent="${EPREFIX}/usr" \ + --enable-mpi-fortran=$(usex fortran all no) \ + $(use_enable cxx mpi-cxx) \ + $(use_with cma) \ + $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_enable ipv6) \ + $(multilib_native_use_enable java) \ + $(multilib_native_use_enable java mpi-java) \ + $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ + $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ + $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ + $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \ + $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ + $(multilib_native_use_with openmpi_rm_pbs tm) \ + $(multilib_native_use_with openmpi_rm_slurm slurm) +} + +multilib_src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + emake -j1 check +} + +multilib_src_install() { + default + + # fortran header cannot be wrapped (bug #540508), workaround part 1 + if multilib_is_native_abi && use fortran; then + mkdir "${T}"/fortran || die + mv "${ED}"/usr/include/mpif* "${T}"/fortran || die + else + # some fortran files get installed unconditionally + rm \ + "${ED}"/usr/include/mpif* \ + "${ED}"/usr/bin/mpif* \ + "${ED}"/usr/bin/oshfort \ + "${ED}"/usr/bin/shmemfort \ + || die + fi +} + +multilib_src_install_all() { + # fortran header cannot be wrapped (bug #540508), workaround part 2 + if use fortran; then + mv "${T}"/fortran/mpif* "${ED}"/usr/include || die + fi + + # Remove la files, no static libs are installed and we have pkg-config + find "${ED}" -name '*.la' -delete || die + + if use java; then + local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar + java-pkg_dojar "${mpi_jar}" + # We don't want to install the jar file twice + # so let's clean after ourselves. + rm "${mpi_jar}" || die + fi + + einstalldocs +} diff --git a/sys-cluster/openmpi/openmpi-3.0.4.ebuild b/sys-cluster/openmpi/openmpi-3.0.4.ebuild deleted file mode 100644 index 6d1e97a1de5c..000000000000 --- a/sys-cluster/openmpi/openmpi-3.0.4.ebuild +++ /dev/null @@ -1,170 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -FORTRAN_NEEDED=fortran - -inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs multilib-minimal - -MY_P=${P/-mpi} -S=${WORKDIR}/${MY_P} - -IUSE_OPENMPI_FABRICS=" - openmpi_fabrics_ofed - openmpi_fabrics_knem - openmpi_fabrics_psm" - -IUSE_OPENMPI_RM=" - openmpi_rm_pbs - openmpi_rm_slurm" - -IUSE_OPENMPI_OFED_FEATURES=" - openmpi_ofed_features_control-hdr-padding - openmpi_ofed_features_udcm - openmpi_ofed_features_rdmacm - openmpi_ofed_features_dynamic-sl" - -DESCRIPTION="A high-performance message passing library (MPI)" -HOMEPAGE="https://www.open-mpi.org" -SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux" -IUSE="cma cuda cxx fortran heterogeneous ipv6 java numa romio - ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" - -REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) - openmpi_rm_pbs? ( !openmpi_rm_slurm ) - openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )" - -# dev-util/nvidia-cuda-toolkit is always multilib -CDEPEND=" - !sys-cluster/mpich - !sys-cluster/mpich2 - !sys-cluster/nullmpi - !sys-cluster/pmix - >=dev-libs/libevent-2.0.22[${MULTILIB_USEDEP},threads] - dev-libs/libltdl:0[${MULTILIB_USEDEP}] - =sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] - cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= ) - openmpi_fabrics_ofed? ( sys-fabric/ofed:* ) - openmpi_fabrics_knem? ( sys-cluster/knem ) - openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) - openmpi_rm_pbs? ( sys-cluster/torque ) - openmpi_rm_slurm? ( sys-cluster/slurm ) - openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )" - -RDEPEND="${CDEPEND} - java? ( >=virtual/jre-1.6 )" - -DEPEND="${CDEPEND} - java? ( >=virtual/jdk-1.6 )" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/mpi.h - /usr/include/openmpi/ompi/mpi/java/mpiJava.h -) - -pkg_setup() { - fortran-2_pkg_setup - java-pkg-opt-2_pkg_setup - - elog - elog "OpenMPI has an overwhelming count of configuration options." - elog "Don't forget the EXTRA_ECONF environment variable can let you" - elog "specify configure options if you find them necessary." - elog -} - -src_prepare() { - default - - # Necessary for scalibility, see - # http://www.open-mpi.org/community/lists/users/2008/09/6514.php - echo 'oob_tcp_listen_mode = listen_thread' \ - >> opal/etc/openmpi-mca-params.conf || die -} - -multilib_src_configure() { - if use java; then - # We must always build with the right -source and -target - # flags. Passing flags to javac isn't explicitly supported here - # but we can cheat by overriding the configure test for javac. - export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" - fi - - ECONF_SOURCE=${S} econf \ - --sysconfdir="${EPREFIX}/etc/${PN}" \ - --enable-pretty-print-stacktrace \ - --enable-orterun-prefix-by-default \ - --with-hwloc="${EPREFIX}/usr" \ - --with-libltdl="${EPREFIX}/usr" \ - --with-libevent="${EPREFIX}/usr" \ - --enable-mpi-fortran=$(usex fortran all no) \ - $(use_enable cxx mpi-cxx) \ - $(use_with cma) \ - $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \ - $(use_enable romio io-romio) \ - $(use_enable heterogeneous) \ - $(use_enable ipv6) \ - $(multilib_native_use_enable java) \ - $(multilib_native_use_enable java mpi-java) \ - $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ - $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ - $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ - $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ - $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ - $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \ - $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ - $(multilib_native_use_with openmpi_rm_pbs tm) \ - $(multilib_native_use_with openmpi_rm_slurm slurm) -} - -multilib_src_test() { - # Doesn't work with the default src_test as the dry run (-n) fails. - emake -j1 check -} - -multilib_src_install() { - default - - # fortran header cannot be wrapped (bug #540508), workaround part 1 - if multilib_is_native_abi && use fortran; then - mkdir "${T}"/fortran || die - mv "${ED}"/usr/include/mpif* "${T}"/fortran || die - else - # some fortran files get installed unconditionally - rm \ - "${ED}"/usr/include/mpif* \ - "${ED}"/usr/bin/mpif* \ - "${ED}"/usr/bin/oshfort \ - "${ED}"/usr/bin/shmemfort \ - || die - fi -} - -multilib_src_install_all() { - # fortran header cannot be wrapped (bug #540508), workaround part 2 - if use fortran; then - mv "${T}"/fortran/mpif* "${ED}"/usr/include || die - fi - - # Remove la files, no static libs are installed and we have pkg-config - find "${ED}" -name '*.la' -delete || die - - if use java; then - local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar - java-pkg_dojar "${mpi_jar}" - # We don't want to install the jar file twice - # so let's clean after ourselves. - rm "${mpi_jar}" || die - fi - - einstalldocs -} diff --git a/sys-cluster/openmpi/openmpi-3.1.4-r1.ebuild b/sys-cluster/openmpi/openmpi-3.1.4-r1.ebuild new file mode 100644 index 000000000000..d54b56e6cd25 --- /dev/null +++ b/sys-cluster/openmpi/openmpi-3.1.4-r1.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +FORTRAN_NEEDED=fortran + +inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs multilib-minimal + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +IUSE_OPENMPI_FABRICS=" + openmpi_fabrics_ofed + openmpi_fabrics_knem + openmpi_fabrics_psm" + +IUSE_OPENMPI_RM=" + openmpi_rm_pbs + openmpi_rm_slurm" + +IUSE_OPENMPI_OFED_FEATURES=" + openmpi_ofed_features_control-hdr-padding + openmpi_ofed_features_udcm + openmpi_ofed_features_rdmacm + openmpi_ofed_features_dynamic-sl" + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="https://www.open-mpi.org" +SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux" +IUSE="cma cuda cxx fortran heterogeneous ipv6 java numa romio + ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" + +REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) + openmpi_rm_pbs? ( !openmpi_rm_slurm ) + openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )" + +# dev-util/nvidia-cuda-toolkit is always multilib +CDEPEND=" + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/nullmpi + !sys-cluster/pmix + >=dev-libs/libevent-2.0.22:=[${MULTILIB_USEDEP},threads] + dev-libs/libltdl:0[${MULTILIB_USEDEP}] + =sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= ) + openmpi_fabrics_ofed? ( sys-fabric/ofed:* ) + openmpi_fabrics_knem? ( sys-cluster/knem ) + openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) + openmpi_rm_pbs? ( sys-cluster/torque ) + openmpi_rm_slurm? ( sys-cluster/slurm ) + openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )" + +RDEPEND="${CDEPEND} + java? ( >=virtual/jre-1.6 )" + +DEPEND="${CDEPEND} + java? ( >=virtual/jdk-1.6 )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/mpi.h + /usr/include/openmpi/ompi/mpi/java/mpiJava.h +) + +pkg_setup() { + fortran-2_pkg_setup + java-pkg-opt-2_pkg_setup + + elog + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + elog +} + +src_prepare() { + default + + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf || die +} + +multilib_src_configure() { + if use java; then + # We must always build with the right -source and -target + # flags. Passing flags to javac isn't explicitly supported here + # but we can cheat by overriding the configure test for javac. + export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" + fi + + ECONF_SOURCE=${S} econf \ + --sysconfdir="${EPREFIX}/etc/${PN}" \ + --enable-pretty-print-stacktrace \ + --enable-orterun-prefix-by-default \ + --with-hwloc="${EPREFIX}/usr" \ + --with-libltdl="${EPREFIX}/usr" \ + --with-libevent="${EPREFIX}/usr" \ + --enable-mpi-fortran=$(usex fortran all no) \ + $(use_enable cxx mpi-cxx) \ + $(use_with cma) \ + $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_enable ipv6) \ + $(multilib_native_use_enable java) \ + $(multilib_native_use_enable java mpi-java) \ + $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ + $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ + $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ + $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \ + $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ + $(multilib_native_use_with openmpi_rm_pbs tm) \ + $(multilib_native_use_with openmpi_rm_slurm slurm) +} + +multilib_src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + emake -j1 check +} + +multilib_src_install() { + default + + # fortran header cannot be wrapped (bug #540508), workaround part 1 + if multilib_is_native_abi && use fortran; then + mkdir "${T}"/fortran || die + mv "${ED}"/usr/include/mpif* "${T}"/fortran || die + else + # some fortran files get installed unconditionally + rm \ + "${ED}"/usr/include/mpif* \ + "${ED}"/usr/bin/mpif* \ + "${ED}"/usr/bin/oshfort \ + "${ED}"/usr/bin/shmemfort \ + || die + fi +} + +multilib_src_install_all() { + # fortran header cannot be wrapped (bug #540508), workaround part 2 + if use fortran; then + mv "${T}"/fortran/mpif* "${ED}"/usr/include || die + fi + + # Remove la files, no static libs are installed and we have pkg-config + find "${ED}" -name '*.la' -delete || die + + if use java; then + local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar + java-pkg_dojar "${mpi_jar}" + # We don't want to install the jar file twice + # so let's clean after ourselves. + rm "${mpi_jar}" || die + fi + + einstalldocs +} diff --git a/sys-cluster/openmpi/openmpi-3.1.4.ebuild b/sys-cluster/openmpi/openmpi-3.1.4.ebuild deleted file mode 100644 index 6d1e97a1de5c..000000000000 --- a/sys-cluster/openmpi/openmpi-3.1.4.ebuild +++ /dev/null @@ -1,170 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -FORTRAN_NEEDED=fortran - -inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs multilib-minimal - -MY_P=${P/-mpi} -S=${WORKDIR}/${MY_P} - -IUSE_OPENMPI_FABRICS=" - openmpi_fabrics_ofed - openmpi_fabrics_knem - openmpi_fabrics_psm" - -IUSE_OPENMPI_RM=" - openmpi_rm_pbs - openmpi_rm_slurm" - -IUSE_OPENMPI_OFED_FEATURES=" - openmpi_ofed_features_control-hdr-padding - openmpi_ofed_features_udcm - openmpi_ofed_features_rdmacm - openmpi_ofed_features_dynamic-sl" - -DESCRIPTION="A high-performance message passing library (MPI)" -HOMEPAGE="https://www.open-mpi.org" -SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux" -IUSE="cma cuda cxx fortran heterogeneous ipv6 java numa romio - ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" - -REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) - openmpi_rm_pbs? ( !openmpi_rm_slurm ) - openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )" - -# dev-util/nvidia-cuda-toolkit is always multilib -CDEPEND=" - !sys-cluster/mpich - !sys-cluster/mpich2 - !sys-cluster/nullmpi - !sys-cluster/pmix - >=dev-libs/libevent-2.0.22[${MULTILIB_USEDEP},threads] - dev-libs/libltdl:0[${MULTILIB_USEDEP}] - =sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] - cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= ) - openmpi_fabrics_ofed? ( sys-fabric/ofed:* ) - openmpi_fabrics_knem? ( sys-cluster/knem ) - openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) - openmpi_rm_pbs? ( sys-cluster/torque ) - openmpi_rm_slurm? ( sys-cluster/slurm ) - openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )" - -RDEPEND="${CDEPEND} - java? ( >=virtual/jre-1.6 )" - -DEPEND="${CDEPEND} - java? ( >=virtual/jdk-1.6 )" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/mpi.h - /usr/include/openmpi/ompi/mpi/java/mpiJava.h -) - -pkg_setup() { - fortran-2_pkg_setup - java-pkg-opt-2_pkg_setup - - elog - elog "OpenMPI has an overwhelming count of configuration options." - elog "Don't forget the EXTRA_ECONF environment variable can let you" - elog "specify configure options if you find them necessary." - elog -} - -src_prepare() { - default - - # Necessary for scalibility, see - # http://www.open-mpi.org/community/lists/users/2008/09/6514.php - echo 'oob_tcp_listen_mode = listen_thread' \ - >> opal/etc/openmpi-mca-params.conf || die -} - -multilib_src_configure() { - if use java; then - # We must always build with the right -source and -target - # flags. Passing flags to javac isn't explicitly supported here - # but we can cheat by overriding the configure test for javac. - export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" - fi - - ECONF_SOURCE=${S} econf \ - --sysconfdir="${EPREFIX}/etc/${PN}" \ - --enable-pretty-print-stacktrace \ - --enable-orterun-prefix-by-default \ - --with-hwloc="${EPREFIX}/usr" \ - --with-libltdl="${EPREFIX}/usr" \ - --with-libevent="${EPREFIX}/usr" \ - --enable-mpi-fortran=$(usex fortran all no) \ - $(use_enable cxx mpi-cxx) \ - $(use_with cma) \ - $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \ - $(use_enable romio io-romio) \ - $(use_enable heterogeneous) \ - $(use_enable ipv6) \ - $(multilib_native_use_enable java) \ - $(multilib_native_use_enable java mpi-java) \ - $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ - $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ - $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ - $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ - $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ - $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \ - $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ - $(multilib_native_use_with openmpi_rm_pbs tm) \ - $(multilib_native_use_with openmpi_rm_slurm slurm) -} - -multilib_src_test() { - # Doesn't work with the default src_test as the dry run (-n) fails. - emake -j1 check -} - -multilib_src_install() { - default - - # fortran header cannot be wrapped (bug #540508), workaround part 1 - if multilib_is_native_abi && use fortran; then - mkdir "${T}"/fortran || die - mv "${ED}"/usr/include/mpif* "${T}"/fortran || die - else - # some fortran files get installed unconditionally - rm \ - "${ED}"/usr/include/mpif* \ - "${ED}"/usr/bin/mpif* \ - "${ED}"/usr/bin/oshfort \ - "${ED}"/usr/bin/shmemfort \ - || die - fi -} - -multilib_src_install_all() { - # fortran header cannot be wrapped (bug #540508), workaround part 2 - if use fortran; then - mv "${T}"/fortran/mpif* "${ED}"/usr/include || die - fi - - # Remove la files, no static libs are installed and we have pkg-config - find "${ED}" -name '*.la' -delete || die - - if use java; then - local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar - java-pkg_dojar "${mpi_jar}" - # We don't want to install the jar file twice - # so let's clean after ourselves. - rm "${mpi_jar}" || die - fi - - einstalldocs -} diff --git a/sys-cluster/openmpi/openmpi-4.0.2-r1.ebuild b/sys-cluster/openmpi/openmpi-4.0.2-r1.ebuild new file mode 100644 index 000000000000..7dedbcb532f9 --- /dev/null +++ b/sys-cluster/openmpi/openmpi-4.0.2-r1.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +FORTRAN_NEEDED=fortran + +inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs multilib multilib-minimal + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +IUSE_OPENMPI_FABRICS=" + openmpi_fabrics_ofed + openmpi_fabrics_knem + openmpi_fabrics_psm" + +IUSE_OPENMPI_RM=" + openmpi_rm_pbs + openmpi_rm_slurm" + +IUSE_OPENMPI_OFED_FEATURES=" + openmpi_ofed_features_control-hdr-padding + openmpi_ofed_features_udcm + openmpi_ofed_features_rdmacm + openmpi_ofed_features_dynamic-sl" + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="https://www.open-mpi.org" +SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux" +IUSE="cma cuda cxx fortran heterogeneous ipv6 java romio + ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" + +REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) + openmpi_rm_pbs? ( !openmpi_rm_slurm ) + openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )" + +CDEPEND=" + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/nullmpi + >=dev-libs/libevent-2.0.22:=[${MULTILIB_USEDEP},threads] + dev-libs/libltdl:0[${MULTILIB_USEDEP}] + >=sys-apps/hwloc-2.0.2:=[${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= ) + openmpi_fabrics_ofed? ( sys-fabric/ofed:* ) + openmpi_fabrics_knem? ( sys-cluster/knem ) + openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) + openmpi_rm_pbs? ( sys-cluster/torque ) + openmpi_rm_slurm? ( sys-cluster/slurm ) + openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )" + +RDEPEND="${CDEPEND} + java? ( >=virtual/jre-1.6 )" + +DEPEND="${CDEPEND} + java? ( >=virtual/jdk-1.6 )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/mpi.h + /usr/include/openmpi/ompi/mpi/java/mpiJava.h +) + +pkg_setup() { + fortran-2_pkg_setup + java-pkg-opt-2_pkg_setup + + elog + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + elog +} + +src_prepare() { + default + + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf || die +} + +multilib_src_configure() { + if use java; then + # We must always build with the right -source and -target + # flags. Passing flags to javac isn't explicitly supported here + # but we can cheat by overriding the configure test for javac. + export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" + fi + + ECONF_SOURCE=${S} econf \ + --sysconfdir="${EPREFIX}/etc/${PN}" \ + --enable-pretty-print-stacktrace \ + --enable-orterun-prefix-by-default \ + --with-hwloc="${EPREFIX}/usr" \ + --with-hwloc-libdir="${EPREFIX}/usr/$(get_libdir)" \ + --with-libltdl="${EPREFIX}/usr" \ + --with-libevent="${EPREFIX}/usr" \ + --with-libevent-libdir="${EPREFIX}/usr/$(get_libdir)" \ + --enable-mpi-fortran=$(usex fortran all no) \ + $(use_enable cxx mpi-cxx) \ + $(use_with cma) \ + $(multilib_native_use_with cuda cuda "${EPREFIX}"/opt/cuda) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_enable ipv6) \ + $(multilib_native_use_enable java mpi-java) \ + $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ + $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ + $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ + $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \ + $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ + $(multilib_native_use_with openmpi_rm_pbs tm) \ + $(multilib_native_use_with openmpi_rm_slurm slurm) +} + +multilib_src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + emake -j1 check +} + +multilib_src_install() { + default + + # fortran header cannot be wrapped (bug #540508), workaround part 1 + if multilib_is_native_abi && use fortran; then + mkdir "${T}"/fortran || die + mv "${ED}"/usr/include/mpif* "${T}"/fortran || die + else + # some fortran files get installed unconditionally + rm \ + "${ED}"/usr/include/mpif* \ + "${ED}"/usr/bin/mpif* \ + || die + fi +} + +multilib_src_install_all() { + # fortran header cannot be wrapped (bug #540508), workaround part 2 + if use fortran; then + mv "${T}"/fortran/mpif* "${ED}"/usr/include || die + fi + + # Remove la files, no static libs are installed and we have pkg-config + find "${ED}" -name '*.la' -delete || die + + if use java; then + local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar + java-pkg_dojar "${mpi_jar}" + # We don't want to install the jar file twice + # so let's clean after ourselves. + rm "${mpi_jar}" || die + fi + einstalldocs +} diff --git a/sys-cluster/openmpi/openmpi-4.0.2.ebuild b/sys-cluster/openmpi/openmpi-4.0.2.ebuild deleted file mode 100644 index 082ecda8d6d3..000000000000 --- a/sys-cluster/openmpi/openmpi-4.0.2.ebuild +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -FORTRAN_NEEDED=fortran - -inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs multilib multilib-minimal - -MY_P=${P/-mpi} -S=${WORKDIR}/${MY_P} - -IUSE_OPENMPI_FABRICS=" - openmpi_fabrics_ofed - openmpi_fabrics_knem - openmpi_fabrics_psm" - -IUSE_OPENMPI_RM=" - openmpi_rm_pbs - openmpi_rm_slurm" - -IUSE_OPENMPI_OFED_FEATURES=" - openmpi_ofed_features_control-hdr-padding - openmpi_ofed_features_udcm - openmpi_ofed_features_rdmacm - openmpi_ofed_features_dynamic-sl" - -DESCRIPTION="A high-performance message passing library (MPI)" -HOMEPAGE="https://www.open-mpi.org" -SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux" -IUSE="cma cuda cxx fortran heterogeneous ipv6 java romio - ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" - -REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) - openmpi_rm_pbs? ( !openmpi_rm_slurm ) - openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )" - -CDEPEND=" - !sys-cluster/mpich - !sys-cluster/mpich2 - !sys-cluster/nullmpi - >=dev-libs/libevent-2.0.22:=[${MULTILIB_USEDEP},threads] - dev-libs/libltdl:0[${MULTILIB_USEDEP}] - >=sys-apps/hwloc-2.0.2[${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] - cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= ) - openmpi_fabrics_ofed? ( sys-fabric/ofed:* ) - openmpi_fabrics_knem? ( sys-cluster/knem ) - openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) - openmpi_rm_pbs? ( sys-cluster/torque ) - openmpi_rm_slurm? ( sys-cluster/slurm ) - openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )" - -RDEPEND="${CDEPEND} - java? ( >=virtual/jre-1.6 )" - -DEPEND="${CDEPEND} - java? ( >=virtual/jdk-1.6 )" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/mpi.h - /usr/include/openmpi/ompi/mpi/java/mpiJava.h -) - -pkg_setup() { - fortran-2_pkg_setup - java-pkg-opt-2_pkg_setup - - elog - elog "OpenMPI has an overwhelming count of configuration options." - elog "Don't forget the EXTRA_ECONF environment variable can let you" - elog "specify configure options if you find them necessary." - elog -} - -src_prepare() { - default - - # Necessary for scalibility, see - # http://www.open-mpi.org/community/lists/users/2008/09/6514.php - echo 'oob_tcp_listen_mode = listen_thread' \ - >> opal/etc/openmpi-mca-params.conf || die -} - -multilib_src_configure() { - if use java; then - # We must always build with the right -source and -target - # flags. Passing flags to javac isn't explicitly supported here - # but we can cheat by overriding the configure test for javac. - export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" - fi - - ECONF_SOURCE=${S} econf \ - --sysconfdir="${EPREFIX}/etc/${PN}" \ - --enable-pretty-print-stacktrace \ - --enable-orterun-prefix-by-default \ - --with-hwloc="${EPREFIX}/usr" \ - --with-hwloc-libdir="${EPREFIX}/usr/$(get_libdir)" \ - --with-libltdl="${EPREFIX}/usr" \ - --with-libevent="${EPREFIX}/usr" \ - --with-libevent-libdir="${EPREFIX}/usr/$(get_libdir)" \ - --enable-mpi-fortran=$(usex fortran all no) \ - $(use_enable cxx mpi-cxx) \ - $(use_with cma) \ - $(multilib_native_use_with cuda cuda "${EPREFIX}"/opt/cuda) \ - $(use_enable romio io-romio) \ - $(use_enable heterogeneous) \ - $(use_enable ipv6) \ - $(multilib_native_use_enable java mpi-java) \ - $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ - $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ - $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ - $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ - $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ - $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \ - $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ - $(multilib_native_use_with openmpi_rm_pbs tm) \ - $(multilib_native_use_with openmpi_rm_slurm slurm) -} - -multilib_src_test() { - # Doesn't work with the default src_test as the dry run (-n) fails. - emake -j1 check -} - -multilib_src_install() { - default - - # fortran header cannot be wrapped (bug #540508), workaround part 1 - if multilib_is_native_abi && use fortran; then - mkdir "${T}"/fortran || die - mv "${ED}"/usr/include/mpif* "${T}"/fortran || die - else - # some fortran files get installed unconditionally - rm \ - "${ED}"/usr/include/mpif* \ - "${ED}"/usr/bin/mpif* \ - || die - fi -} - -multilib_src_install_all() { - # fortran header cannot be wrapped (bug #540508), workaround part 2 - if use fortran; then - mv "${T}"/fortran/mpif* "${ED}"/usr/include || die - fi - - # Remove la files, no static libs are installed and we have pkg-config - find "${ED}" -name '*.la' -delete || die - - if use java; then - local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar - java-pkg_dojar "${mpi_jar}" - # We don't want to install the jar file twice - # so let's clean after ourselves. - rm "${mpi_jar}" || die - fi - einstalldocs -} diff --git a/sys-cluster/openmpi/openmpi-4.0.3-r1.ebuild b/sys-cluster/openmpi/openmpi-4.0.3-r1.ebuild new file mode 100644 index 000000000000..7dedbcb532f9 --- /dev/null +++ b/sys-cluster/openmpi/openmpi-4.0.3-r1.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +FORTRAN_NEEDED=fortran + +inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs multilib multilib-minimal + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +IUSE_OPENMPI_FABRICS=" + openmpi_fabrics_ofed + openmpi_fabrics_knem + openmpi_fabrics_psm" + +IUSE_OPENMPI_RM=" + openmpi_rm_pbs + openmpi_rm_slurm" + +IUSE_OPENMPI_OFED_FEATURES=" + openmpi_ofed_features_control-hdr-padding + openmpi_ofed_features_udcm + openmpi_ofed_features_rdmacm + openmpi_ofed_features_dynamic-sl" + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="https://www.open-mpi.org" +SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux" +IUSE="cma cuda cxx fortran heterogeneous ipv6 java romio + ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" + +REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) + openmpi_rm_pbs? ( !openmpi_rm_slurm ) + openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )" + +CDEPEND=" + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/nullmpi + >=dev-libs/libevent-2.0.22:=[${MULTILIB_USEDEP},threads] + dev-libs/libltdl:0[${MULTILIB_USEDEP}] + >=sys-apps/hwloc-2.0.2:=[${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= ) + openmpi_fabrics_ofed? ( sys-fabric/ofed:* ) + openmpi_fabrics_knem? ( sys-cluster/knem ) + openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) + openmpi_rm_pbs? ( sys-cluster/torque ) + openmpi_rm_slurm? ( sys-cluster/slurm ) + openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )" + +RDEPEND="${CDEPEND} + java? ( >=virtual/jre-1.6 )" + +DEPEND="${CDEPEND} + java? ( >=virtual/jdk-1.6 )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/mpi.h + /usr/include/openmpi/ompi/mpi/java/mpiJava.h +) + +pkg_setup() { + fortran-2_pkg_setup + java-pkg-opt-2_pkg_setup + + elog + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + elog +} + +src_prepare() { + default + + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf || die +} + +multilib_src_configure() { + if use java; then + # We must always build with the right -source and -target + # flags. Passing flags to javac isn't explicitly supported here + # but we can cheat by overriding the configure test for javac. + export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" + fi + + ECONF_SOURCE=${S} econf \ + --sysconfdir="${EPREFIX}/etc/${PN}" \ + --enable-pretty-print-stacktrace \ + --enable-orterun-prefix-by-default \ + --with-hwloc="${EPREFIX}/usr" \ + --with-hwloc-libdir="${EPREFIX}/usr/$(get_libdir)" \ + --with-libltdl="${EPREFIX}/usr" \ + --with-libevent="${EPREFIX}/usr" \ + --with-libevent-libdir="${EPREFIX}/usr/$(get_libdir)" \ + --enable-mpi-fortran=$(usex fortran all no) \ + $(use_enable cxx mpi-cxx) \ + $(use_with cma) \ + $(multilib_native_use_with cuda cuda "${EPREFIX}"/opt/cuda) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_enable ipv6) \ + $(multilib_native_use_enable java mpi-java) \ + $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ + $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ + $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ + $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \ + $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ + $(multilib_native_use_with openmpi_rm_pbs tm) \ + $(multilib_native_use_with openmpi_rm_slurm slurm) +} + +multilib_src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + emake -j1 check +} + +multilib_src_install() { + default + + # fortran header cannot be wrapped (bug #540508), workaround part 1 + if multilib_is_native_abi && use fortran; then + mkdir "${T}"/fortran || die + mv "${ED}"/usr/include/mpif* "${T}"/fortran || die + else + # some fortran files get installed unconditionally + rm \ + "${ED}"/usr/include/mpif* \ + "${ED}"/usr/bin/mpif* \ + || die + fi +} + +multilib_src_install_all() { + # fortran header cannot be wrapped (bug #540508), workaround part 2 + if use fortran; then + mv "${T}"/fortran/mpif* "${ED}"/usr/include || die + fi + + # Remove la files, no static libs are installed and we have pkg-config + find "${ED}" -name '*.la' -delete || die + + if use java; then + local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar + java-pkg_dojar "${mpi_jar}" + # We don't want to install the jar file twice + # so let's clean after ourselves. + rm "${mpi_jar}" || die + fi + einstalldocs +} diff --git a/sys-cluster/openmpi/openmpi-4.0.3.ebuild b/sys-cluster/openmpi/openmpi-4.0.3.ebuild deleted file mode 100644 index 082ecda8d6d3..000000000000 --- a/sys-cluster/openmpi/openmpi-4.0.3.ebuild +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -FORTRAN_NEEDED=fortran - -inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs multilib multilib-minimal - -MY_P=${P/-mpi} -S=${WORKDIR}/${MY_P} - -IUSE_OPENMPI_FABRICS=" - openmpi_fabrics_ofed - openmpi_fabrics_knem - openmpi_fabrics_psm" - -IUSE_OPENMPI_RM=" - openmpi_rm_pbs - openmpi_rm_slurm" - -IUSE_OPENMPI_OFED_FEATURES=" - openmpi_ofed_features_control-hdr-padding - openmpi_ofed_features_udcm - openmpi_ofed_features_rdmacm - openmpi_ofed_features_dynamic-sl" - -DESCRIPTION="A high-performance message passing library (MPI)" -HOMEPAGE="https://www.open-mpi.org" -SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux" -IUSE="cma cuda cxx fortran heterogeneous ipv6 java romio - ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" - -REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) - openmpi_rm_pbs? ( !openmpi_rm_slurm ) - openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )" - -CDEPEND=" - !sys-cluster/mpich - !sys-cluster/mpich2 - !sys-cluster/nullmpi - >=dev-libs/libevent-2.0.22:=[${MULTILIB_USEDEP},threads] - dev-libs/libltdl:0[${MULTILIB_USEDEP}] - >=sys-apps/hwloc-2.0.2[${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] - cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= ) - openmpi_fabrics_ofed? ( sys-fabric/ofed:* ) - openmpi_fabrics_knem? ( sys-cluster/knem ) - openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) - openmpi_rm_pbs? ( sys-cluster/torque ) - openmpi_rm_slurm? ( sys-cluster/slurm ) - openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )" - -RDEPEND="${CDEPEND} - java? ( >=virtual/jre-1.6 )" - -DEPEND="${CDEPEND} - java? ( >=virtual/jdk-1.6 )" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/mpi.h - /usr/include/openmpi/ompi/mpi/java/mpiJava.h -) - -pkg_setup() { - fortran-2_pkg_setup - java-pkg-opt-2_pkg_setup - - elog - elog "OpenMPI has an overwhelming count of configuration options." - elog "Don't forget the EXTRA_ECONF environment variable can let you" - elog "specify configure options if you find them necessary." - elog -} - -src_prepare() { - default - - # Necessary for scalibility, see - # http://www.open-mpi.org/community/lists/users/2008/09/6514.php - echo 'oob_tcp_listen_mode = listen_thread' \ - >> opal/etc/openmpi-mca-params.conf || die -} - -multilib_src_configure() { - if use java; then - # We must always build with the right -source and -target - # flags. Passing flags to javac isn't explicitly supported here - # but we can cheat by overriding the configure test for javac. - export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" - fi - - ECONF_SOURCE=${S} econf \ - --sysconfdir="${EPREFIX}/etc/${PN}" \ - --enable-pretty-print-stacktrace \ - --enable-orterun-prefix-by-default \ - --with-hwloc="${EPREFIX}/usr" \ - --with-hwloc-libdir="${EPREFIX}/usr/$(get_libdir)" \ - --with-libltdl="${EPREFIX}/usr" \ - --with-libevent="${EPREFIX}/usr" \ - --with-libevent-libdir="${EPREFIX}/usr/$(get_libdir)" \ - --enable-mpi-fortran=$(usex fortran all no) \ - $(use_enable cxx mpi-cxx) \ - $(use_with cma) \ - $(multilib_native_use_with cuda cuda "${EPREFIX}"/opt/cuda) \ - $(use_enable romio io-romio) \ - $(use_enable heterogeneous) \ - $(use_enable ipv6) \ - $(multilib_native_use_enable java mpi-java) \ - $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ - $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ - $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ - $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ - $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ - $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \ - $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ - $(multilib_native_use_with openmpi_rm_pbs tm) \ - $(multilib_native_use_with openmpi_rm_slurm slurm) -} - -multilib_src_test() { - # Doesn't work with the default src_test as the dry run (-n) fails. - emake -j1 check -} - -multilib_src_install() { - default - - # fortran header cannot be wrapped (bug #540508), workaround part 1 - if multilib_is_native_abi && use fortran; then - mkdir "${T}"/fortran || die - mv "${ED}"/usr/include/mpif* "${T}"/fortran || die - else - # some fortran files get installed unconditionally - rm \ - "${ED}"/usr/include/mpif* \ - "${ED}"/usr/bin/mpif* \ - || die - fi -} - -multilib_src_install_all() { - # fortran header cannot be wrapped (bug #540508), workaround part 2 - if use fortran; then - mv "${T}"/fortran/mpif* "${ED}"/usr/include || die - fi - - # Remove la files, no static libs are installed and we have pkg-config - find "${ED}" -name '*.la' -delete || die - - if use java; then - local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar - java-pkg_dojar "${mpi_jar}" - # We don't want to install the jar file twice - # so let's clean after ourselves. - rm "${mpi_jar}" || die - fi - einstalldocs -} diff --git a/sys-cluster/openmpi/openmpi-4.0.4-r1.ebuild b/sys-cluster/openmpi/openmpi-4.0.4-r1.ebuild new file mode 100644 index 000000000000..7dedbcb532f9 --- /dev/null +++ b/sys-cluster/openmpi/openmpi-4.0.4-r1.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +FORTRAN_NEEDED=fortran + +inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs multilib multilib-minimal + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +IUSE_OPENMPI_FABRICS=" + openmpi_fabrics_ofed + openmpi_fabrics_knem + openmpi_fabrics_psm" + +IUSE_OPENMPI_RM=" + openmpi_rm_pbs + openmpi_rm_slurm" + +IUSE_OPENMPI_OFED_FEATURES=" + openmpi_ofed_features_control-hdr-padding + openmpi_ofed_features_udcm + openmpi_ofed_features_rdmacm + openmpi_ofed_features_dynamic-sl" + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="https://www.open-mpi.org" +SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux" +IUSE="cma cuda cxx fortran heterogeneous ipv6 java romio + ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" + +REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) + openmpi_rm_pbs? ( !openmpi_rm_slurm ) + openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )" + +CDEPEND=" + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/nullmpi + >=dev-libs/libevent-2.0.22:=[${MULTILIB_USEDEP},threads] + dev-libs/libltdl:0[${MULTILIB_USEDEP}] + >=sys-apps/hwloc-2.0.2:=[${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= ) + openmpi_fabrics_ofed? ( sys-fabric/ofed:* ) + openmpi_fabrics_knem? ( sys-cluster/knem ) + openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) + openmpi_rm_pbs? ( sys-cluster/torque ) + openmpi_rm_slurm? ( sys-cluster/slurm ) + openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )" + +RDEPEND="${CDEPEND} + java? ( >=virtual/jre-1.6 )" + +DEPEND="${CDEPEND} + java? ( >=virtual/jdk-1.6 )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/mpi.h + /usr/include/openmpi/ompi/mpi/java/mpiJava.h +) + +pkg_setup() { + fortran-2_pkg_setup + java-pkg-opt-2_pkg_setup + + elog + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + elog +} + +src_prepare() { + default + + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf || die +} + +multilib_src_configure() { + if use java; then + # We must always build with the right -source and -target + # flags. Passing flags to javac isn't explicitly supported here + # but we can cheat by overriding the configure test for javac. + export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" + fi + + ECONF_SOURCE=${S} econf \ + --sysconfdir="${EPREFIX}/etc/${PN}" \ + --enable-pretty-print-stacktrace \ + --enable-orterun-prefix-by-default \ + --with-hwloc="${EPREFIX}/usr" \ + --with-hwloc-libdir="${EPREFIX}/usr/$(get_libdir)" \ + --with-libltdl="${EPREFIX}/usr" \ + --with-libevent="${EPREFIX}/usr" \ + --with-libevent-libdir="${EPREFIX}/usr/$(get_libdir)" \ + --enable-mpi-fortran=$(usex fortran all no) \ + $(use_enable cxx mpi-cxx) \ + $(use_with cma) \ + $(multilib_native_use_with cuda cuda "${EPREFIX}"/opt/cuda) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_enable ipv6) \ + $(multilib_native_use_enable java mpi-java) \ + $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ + $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ + $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ + $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \ + $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ + $(multilib_native_use_with openmpi_rm_pbs tm) \ + $(multilib_native_use_with openmpi_rm_slurm slurm) +} + +multilib_src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + emake -j1 check +} + +multilib_src_install() { + default + + # fortran header cannot be wrapped (bug #540508), workaround part 1 + if multilib_is_native_abi && use fortran; then + mkdir "${T}"/fortran || die + mv "${ED}"/usr/include/mpif* "${T}"/fortran || die + else + # some fortran files get installed unconditionally + rm \ + "${ED}"/usr/include/mpif* \ + "${ED}"/usr/bin/mpif* \ + || die + fi +} + +multilib_src_install_all() { + # fortran header cannot be wrapped (bug #540508), workaround part 2 + if use fortran; then + mv "${T}"/fortran/mpif* "${ED}"/usr/include || die + fi + + # Remove la files, no static libs are installed and we have pkg-config + find "${ED}" -name '*.la' -delete || die + + if use java; then + local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar + java-pkg_dojar "${mpi_jar}" + # We don't want to install the jar file twice + # so let's clean after ourselves. + rm "${mpi_jar}" || die + fi + einstalldocs +} diff --git a/sys-cluster/openmpi/openmpi-4.0.4.ebuild b/sys-cluster/openmpi/openmpi-4.0.4.ebuild deleted file mode 100644 index 082ecda8d6d3..000000000000 --- a/sys-cluster/openmpi/openmpi-4.0.4.ebuild +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -FORTRAN_NEEDED=fortran - -inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs multilib multilib-minimal - -MY_P=${P/-mpi} -S=${WORKDIR}/${MY_P} - -IUSE_OPENMPI_FABRICS=" - openmpi_fabrics_ofed - openmpi_fabrics_knem - openmpi_fabrics_psm" - -IUSE_OPENMPI_RM=" - openmpi_rm_pbs - openmpi_rm_slurm" - -IUSE_OPENMPI_OFED_FEATURES=" - openmpi_ofed_features_control-hdr-padding - openmpi_ofed_features_udcm - openmpi_ofed_features_rdmacm - openmpi_ofed_features_dynamic-sl" - -DESCRIPTION="A high-performance message passing library (MPI)" -HOMEPAGE="https://www.open-mpi.org" -SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux" -IUSE="cma cuda cxx fortran heterogeneous ipv6 java romio - ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" - -REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) - openmpi_rm_pbs? ( !openmpi_rm_slurm ) - openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )" - -CDEPEND=" - !sys-cluster/mpich - !sys-cluster/mpich2 - !sys-cluster/nullmpi - >=dev-libs/libevent-2.0.22:=[${MULTILIB_USEDEP},threads] - dev-libs/libltdl:0[${MULTILIB_USEDEP}] - >=sys-apps/hwloc-2.0.2[${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] - cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= ) - openmpi_fabrics_ofed? ( sys-fabric/ofed:* ) - openmpi_fabrics_knem? ( sys-cluster/knem ) - openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) - openmpi_rm_pbs? ( sys-cluster/torque ) - openmpi_rm_slurm? ( sys-cluster/slurm ) - openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )" - -RDEPEND="${CDEPEND} - java? ( >=virtual/jre-1.6 )" - -DEPEND="${CDEPEND} - java? ( >=virtual/jdk-1.6 )" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/mpi.h - /usr/include/openmpi/ompi/mpi/java/mpiJava.h -) - -pkg_setup() { - fortran-2_pkg_setup - java-pkg-opt-2_pkg_setup - - elog - elog "OpenMPI has an overwhelming count of configuration options." - elog "Don't forget the EXTRA_ECONF environment variable can let you" - elog "specify configure options if you find them necessary." - elog -} - -src_prepare() { - default - - # Necessary for scalibility, see - # http://www.open-mpi.org/community/lists/users/2008/09/6514.php - echo 'oob_tcp_listen_mode = listen_thread' \ - >> opal/etc/openmpi-mca-params.conf || die -} - -multilib_src_configure() { - if use java; then - # We must always build with the right -source and -target - # flags. Passing flags to javac isn't explicitly supported here - # but we can cheat by overriding the configure test for javac. - export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" - fi - - ECONF_SOURCE=${S} econf \ - --sysconfdir="${EPREFIX}/etc/${PN}" \ - --enable-pretty-print-stacktrace \ - --enable-orterun-prefix-by-default \ - --with-hwloc="${EPREFIX}/usr" \ - --with-hwloc-libdir="${EPREFIX}/usr/$(get_libdir)" \ - --with-libltdl="${EPREFIX}/usr" \ - --with-libevent="${EPREFIX}/usr" \ - --with-libevent-libdir="${EPREFIX}/usr/$(get_libdir)" \ - --enable-mpi-fortran=$(usex fortran all no) \ - $(use_enable cxx mpi-cxx) \ - $(use_with cma) \ - $(multilib_native_use_with cuda cuda "${EPREFIX}"/opt/cuda) \ - $(use_enable romio io-romio) \ - $(use_enable heterogeneous) \ - $(use_enable ipv6) \ - $(multilib_native_use_enable java mpi-java) \ - $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ - $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ - $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ - $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ - $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ - $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \ - $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ - $(multilib_native_use_with openmpi_rm_pbs tm) \ - $(multilib_native_use_with openmpi_rm_slurm slurm) -} - -multilib_src_test() { - # Doesn't work with the default src_test as the dry run (-n) fails. - emake -j1 check -} - -multilib_src_install() { - default - - # fortran header cannot be wrapped (bug #540508), workaround part 1 - if multilib_is_native_abi && use fortran; then - mkdir "${T}"/fortran || die - mv "${ED}"/usr/include/mpif* "${T}"/fortran || die - else - # some fortran files get installed unconditionally - rm \ - "${ED}"/usr/include/mpif* \ - "${ED}"/usr/bin/mpif* \ - || die - fi -} - -multilib_src_install_all() { - # fortran header cannot be wrapped (bug #540508), workaround part 2 - if use fortran; then - mv "${T}"/fortran/mpif* "${ED}"/usr/include || die - fi - - # Remove la files, no static libs are installed and we have pkg-config - find "${ED}" -name '*.la' -delete || die - - if use java; then - local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar - java-pkg_dojar "${mpi_jar}" - # We don't want to install the jar file twice - # so let's clean after ourselves. - rm "${mpi_jar}" || die - fi - einstalldocs -} diff --git a/sys-cluster/openmpi/openmpi-4.0.5-r1.ebuild b/sys-cluster/openmpi/openmpi-4.0.5-r1.ebuild deleted file mode 100644 index 6973f379e279..000000000000 --- a/sys-cluster/openmpi/openmpi-4.0.5-r1.ebuild +++ /dev/null @@ -1,177 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -FORTRAN_NEEDED=fortran - -inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs multilib multilib-minimal - -MY_P=${P/-mpi} -S=${WORKDIR}/${MY_P} - -IUSE_OPENMPI_FABRICS=" - openmpi_fabrics_ofed - openmpi_fabrics_knem - openmpi_fabrics_psm" - -IUSE_OPENMPI_RM=" - openmpi_rm_pbs - openmpi_rm_slurm" - -IUSE_OPENMPI_OFED_FEATURES=" - openmpi_ofed_features_control-hdr-padding - openmpi_ofed_features_udcm - openmpi_ofed_features_rdmacm - openmpi_ofed_features_dynamic-sl" - -DESCRIPTION="A high-performance message passing library (MPI)" -HOMEPAGE="https://www.open-mpi.org" -SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha amd64 arm ~ia64 ~ppc ~ppc64 ~riscv sparc x86 ~amd64-linux" -IUSE="cma cuda cxx fortran heterogeneous ipv6 java libompitrace peruse romio - ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" - -REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) - openmpi_rm_pbs? ( !openmpi_rm_slurm ) - openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )" - -CDEPEND=" - !sys-cluster/mpich - !sys-cluster/mpich2 - !sys-cluster/nullmpi - >=dev-libs/libevent-2.0.22:=[${MULTILIB_USEDEP},threads] - dev-libs/libltdl:0[${MULTILIB_USEDEP}] - >=sys-apps/hwloc-2.0.2[${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] - cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= ) - openmpi_fabrics_ofed? ( || ( sys-cluster/rdma-core sys-fabric/ofed:* ) ) - openmpi_fabrics_knem? ( sys-cluster/knem ) - openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) - openmpi_rm_pbs? ( sys-cluster/torque ) - openmpi_rm_slurm? ( sys-cluster/slurm ) - openmpi_ofed_features_rdmacm? ( || ( sys-cluster/rdma-core sys-fabric/librdmacm:* ) )" - -RDEPEND="${CDEPEND} - java? ( >=virtual/jre-1.8:* )" - -DEPEND="${CDEPEND} - java? ( >=virtual/jdk-1.8:* )" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/mpi.h - /usr/include/openmpi/ompi/mpi/java/mpiJava.h - /usr/include/openmpi/mpiext/mpiext_cuda_c.h -) - -pkg_setup() { - fortran-2_pkg_setup - java-pkg-opt-2_pkg_setup - - elog - elog "OpenMPI has an overwhelming count of configuration options." - elog "Don't forget the EXTRA_ECONF environment variable can let you" - elog "specify configure options if you find them necessary." - elog -} - -src_prepare() { - default - - # Necessary for scalibility, see - # http://www.open-mpi.org/community/lists/users/2008/09/6514.php - echo 'oob_tcp_listen_mode = listen_thread' \ - >> opal/etc/openmpi-mca-params.conf || die -} - -multilib_src_configure() { - if use java; then - # We must always build with the right -source and -target - # flags. Passing flags to javac isn't explicitly supported here - # but we can cheat by overriding the configure test for javac. - export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" - fi - - local myconf=( - --enable-mpi-fortran=$(usex fortran all no) - --enable-orterun-prefix-by-default - --enable-pretty-print-stacktrace - - --sysconfdir="${EPREFIX}/etc/${PN}" - - --with-hwloc="${EPREFIX}/usr" - --with-hwloc-libdir="${EPREFIX}/usr/$(get_libdir)" - --with-libltdl="${EPREFIX}/usr" - --with-libevent="${EPREFIX}/usr" - --with-libevent-libdir="${EPREFIX}/usr/$(get_libdir)" - - $(use_enable cxx mpi-cxx) - $(use_enable heterogeneous) - $(use_enable ipv6) - $(use_enable libompitrace) - $(use_enable peruse) - $(use_enable romio io-romio) - - $(use_with cma) - - $(multilib_native_use_enable java mpi-java) - $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) - $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) - $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) - $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) - - $(multilib_native_use_with cuda cuda "${EPREFIX}"/opt/cuda) - $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) - $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) - $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) - $(multilib_native_use_with openmpi_rm_pbs tm) - $(multilib_native_use_with openmpi_rm_slurm slurm) - ) - ECONF_SOURCE=${S} econf "${myconf[@]}" -} - -multilib_src_test() { - # Doesn't work with the default src_test as the dry run (-n) fails. - emake -j1 check -} - -multilib_src_install() { - default - - # fortran header cannot be wrapped (bug #540508), workaround part 1 - if multilib_is_native_abi && use fortran; then - mkdir "${T}"/fortran || die - mv "${ED}"/usr/include/mpif* "${T}"/fortran || die - else - # some fortran files get installed unconditionally - rm \ - "${ED}"/usr/include/mpif* \ - "${ED}"/usr/bin/mpif* \ - || die - fi -} - -multilib_src_install_all() { - # fortran header cannot be wrapped (bug #540508), workaround part 2 - if use fortran; then - mv "${T}"/fortran/mpif* "${ED}"/usr/include || die - fi - - # Remove la files, no static libs are installed and we have pkg-config - find "${ED}" -name '*.la' -delete || die - - if use java; then - local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar - java-pkg_dojar "${mpi_jar}" - # We don't want to install the jar file twice - # so let's clean after ourselves. - rm "${mpi_jar}" || die - fi - einstalldocs -} diff --git a/sys-cluster/openmpi/openmpi-4.0.5-r2.ebuild b/sys-cluster/openmpi/openmpi-4.0.5-r2.ebuild new file mode 100644 index 000000000000..910b08a8e8f6 --- /dev/null +++ b/sys-cluster/openmpi/openmpi-4.0.5-r2.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +FORTRAN_NEEDED=fortran + +inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs multilib multilib-minimal + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +IUSE_OPENMPI_FABRICS=" + openmpi_fabrics_ofed + openmpi_fabrics_knem + openmpi_fabrics_psm" + +IUSE_OPENMPI_RM=" + openmpi_rm_pbs + openmpi_rm_slurm" + +IUSE_OPENMPI_OFED_FEATURES=" + openmpi_ofed_features_control-hdr-padding + openmpi_ofed_features_udcm + openmpi_ofed_features_rdmacm + openmpi_ofed_features_dynamic-sl" + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="https://www.open-mpi.org" +SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux" +IUSE="cma cuda cxx fortran heterogeneous ipv6 java romio + ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" + +REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) + openmpi_rm_pbs? ( !openmpi_rm_slurm ) + openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )" + +CDEPEND=" + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/nullmpi + >=dev-libs/libevent-2.0.22:=[${MULTILIB_USEDEP},threads] + dev-libs/libltdl:0[${MULTILIB_USEDEP}] + >=sys-apps/hwloc-2.0.2:=[${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= ) + openmpi_fabrics_ofed? ( || ( sys-cluster/rdma-core sys-fabric/ofed:* ) ) + openmpi_fabrics_knem? ( sys-cluster/knem ) + openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) + openmpi_rm_pbs? ( sys-cluster/torque ) + openmpi_rm_slurm? ( sys-cluster/slurm ) + openmpi_ofed_features_rdmacm? ( || ( sys-cluster/rdma-core sys-fabric/librdmacm:* ) )" + +RDEPEND="${CDEPEND} + java? ( >=virtual/jre-1.6 )" + +DEPEND="${CDEPEND} + java? ( >=virtual/jdk-1.6 )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/mpi.h + /usr/include/openmpi/ompi/mpi/java/mpiJava.h +) + +pkg_setup() { + fortran-2_pkg_setup + java-pkg-opt-2_pkg_setup + + elog + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + elog +} + +src_prepare() { + default + + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf || die +} + +multilib_src_configure() { + if use java; then + # We must always build with the right -source and -target + # flags. Passing flags to javac isn't explicitly supported here + # but we can cheat by overriding the configure test for javac. + export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" + fi + + ECONF_SOURCE=${S} econf \ + --sysconfdir="${EPREFIX}/etc/${PN}" \ + --enable-pretty-print-stacktrace \ + --enable-orterun-prefix-by-default \ + --with-hwloc="${EPREFIX}/usr" \ + --with-hwloc-libdir="${EPREFIX}/usr/$(get_libdir)" \ + --with-libltdl="${EPREFIX}/usr" \ + --with-libevent="${EPREFIX}/usr" \ + --with-libevent-libdir="${EPREFIX}/usr/$(get_libdir)" \ + --enable-mpi-fortran=$(usex fortran all no) \ + $(use_enable cxx mpi-cxx) \ + $(use_with cma) \ + $(multilib_native_use_with cuda cuda "${EPREFIX}"/opt/cuda) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_enable ipv6) \ + $(multilib_native_use_enable java mpi-java) \ + $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ + $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ + $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ + $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \ + $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ + $(multilib_native_use_with openmpi_rm_pbs tm) \ + $(multilib_native_use_with openmpi_rm_slurm slurm) +} + +multilib_src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + emake -j1 check +} + +multilib_src_install() { + default + + # fortran header cannot be wrapped (bug #540508), workaround part 1 + if multilib_is_native_abi && use fortran; then + mkdir "${T}"/fortran || die + mv "${ED}"/usr/include/mpif* "${T}"/fortran || die + else + # some fortran files get installed unconditionally + rm \ + "${ED}"/usr/include/mpif* \ + "${ED}"/usr/bin/mpif* \ + || die + fi +} + +multilib_src_install_all() { + # fortran header cannot be wrapped (bug #540508), workaround part 2 + if use fortran; then + mv "${T}"/fortran/mpif* "${ED}"/usr/include || die + fi + + # Remove la files, no static libs are installed and we have pkg-config + find "${ED}" -name '*.la' -delete || die + + if use java; then + local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar + java-pkg_dojar "${mpi_jar}" + # We don't want to install the jar file twice + # so let's clean after ourselves. + rm "${mpi_jar}" || die + fi + einstalldocs +} diff --git a/sys-cluster/openmpi/openmpi-4.0.5-r3.ebuild b/sys-cluster/openmpi/openmpi-4.0.5-r3.ebuild new file mode 100644 index 000000000000..f7ced4a1d4a6 --- /dev/null +++ b/sys-cluster/openmpi/openmpi-4.0.5-r3.ebuild @@ -0,0 +1,177 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +FORTRAN_NEEDED=fortran + +inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs multilib multilib-minimal + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +IUSE_OPENMPI_FABRICS=" + openmpi_fabrics_ofed + openmpi_fabrics_knem + openmpi_fabrics_psm" + +IUSE_OPENMPI_RM=" + openmpi_rm_pbs + openmpi_rm_slurm" + +IUSE_OPENMPI_OFED_FEATURES=" + openmpi_ofed_features_control-hdr-padding + openmpi_ofed_features_udcm + openmpi_ofed_features_rdmacm + openmpi_ofed_features_dynamic-sl" + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="https://www.open-mpi.org" +SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha amd64 arm ~ia64 ~ppc ~ppc64 ~riscv sparc x86 ~amd64-linux" +IUSE="cma cuda cxx fortran heterogeneous ipv6 java libompitrace peruse romio + ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" + +REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) + openmpi_rm_pbs? ( !openmpi_rm_slurm ) + openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )" + +CDEPEND=" + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/nullmpi + >=dev-libs/libevent-2.0.22:=[${MULTILIB_USEDEP},threads] + dev-libs/libltdl:0[${MULTILIB_USEDEP}] + >=sys-apps/hwloc-2.0.2:=[${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= ) + openmpi_fabrics_ofed? ( || ( sys-cluster/rdma-core sys-fabric/ofed:* ) ) + openmpi_fabrics_knem? ( sys-cluster/knem ) + openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) + openmpi_rm_pbs? ( sys-cluster/torque ) + openmpi_rm_slurm? ( sys-cluster/slurm ) + openmpi_ofed_features_rdmacm? ( || ( sys-cluster/rdma-core sys-fabric/librdmacm:* ) )" + +RDEPEND="${CDEPEND} + java? ( >=virtual/jre-1.8:* )" + +DEPEND="${CDEPEND} + java? ( >=virtual/jdk-1.8:* )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/mpi.h + /usr/include/openmpi/ompi/mpi/java/mpiJava.h + /usr/include/openmpi/mpiext/mpiext_cuda_c.h +) + +pkg_setup() { + fortran-2_pkg_setup + java-pkg-opt-2_pkg_setup + + elog + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + elog +} + +src_prepare() { + default + + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf || die +} + +multilib_src_configure() { + if use java; then + # We must always build with the right -source and -target + # flags. Passing flags to javac isn't explicitly supported here + # but we can cheat by overriding the configure test for javac. + export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" + fi + + local myconf=( + --enable-mpi-fortran=$(usex fortran all no) + --enable-orterun-prefix-by-default + --enable-pretty-print-stacktrace + + --sysconfdir="${EPREFIX}/etc/${PN}" + + --with-hwloc="${EPREFIX}/usr" + --with-hwloc-libdir="${EPREFIX}/usr/$(get_libdir)" + --with-libltdl="${EPREFIX}/usr" + --with-libevent="${EPREFIX}/usr" + --with-libevent-libdir="${EPREFIX}/usr/$(get_libdir)" + + $(use_enable cxx mpi-cxx) + $(use_enable heterogeneous) + $(use_enable ipv6) + $(use_enable libompitrace) + $(use_enable peruse) + $(use_enable romio io-romio) + + $(use_with cma) + + $(multilib_native_use_enable java mpi-java) + $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) + $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) + $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) + $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) + + $(multilib_native_use_with cuda cuda "${EPREFIX}"/opt/cuda) + $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) + $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) + $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) + $(multilib_native_use_with openmpi_rm_pbs tm) + $(multilib_native_use_with openmpi_rm_slurm slurm) + ) + ECONF_SOURCE=${S} econf "${myconf[@]}" +} + +multilib_src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + emake -j1 check +} + +multilib_src_install() { + default + + # fortran header cannot be wrapped (bug #540508), workaround part 1 + if multilib_is_native_abi && use fortran; then + mkdir "${T}"/fortran || die + mv "${ED}"/usr/include/mpif* "${T}"/fortran || die + else + # some fortran files get installed unconditionally + rm \ + "${ED}"/usr/include/mpif* \ + "${ED}"/usr/bin/mpif* \ + || die + fi +} + +multilib_src_install_all() { + # fortran header cannot be wrapped (bug #540508), workaround part 2 + if use fortran; then + mv "${T}"/fortran/mpif* "${ED}"/usr/include || die + fi + + # Remove la files, no static libs are installed and we have pkg-config + find "${ED}" -name '*.la' -delete || die + + if use java; then + local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar + java-pkg_dojar "${mpi_jar}" + # We don't want to install the jar file twice + # so let's clean after ourselves. + rm "${mpi_jar}" || die + fi + einstalldocs +} diff --git a/sys-cluster/openmpi/openmpi-4.0.5.ebuild b/sys-cluster/openmpi/openmpi-4.0.5.ebuild deleted file mode 100644 index 6f6f5b1017cd..000000000000 --- a/sys-cluster/openmpi/openmpi-4.0.5.ebuild +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -FORTRAN_NEEDED=fortran - -inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs multilib multilib-minimal - -MY_P=${P/-mpi} -S=${WORKDIR}/${MY_P} - -IUSE_OPENMPI_FABRICS=" - openmpi_fabrics_ofed - openmpi_fabrics_knem - openmpi_fabrics_psm" - -IUSE_OPENMPI_RM=" - openmpi_rm_pbs - openmpi_rm_slurm" - -IUSE_OPENMPI_OFED_FEATURES=" - openmpi_ofed_features_control-hdr-padding - openmpi_ofed_features_udcm - openmpi_ofed_features_rdmacm - openmpi_ofed_features_dynamic-sl" - -DESCRIPTION="A high-performance message passing library (MPI)" -HOMEPAGE="https://www.open-mpi.org" -SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux" -IUSE="cma cuda cxx fortran heterogeneous ipv6 java romio - ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" - -REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) - openmpi_rm_pbs? ( !openmpi_rm_slurm ) - openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )" - -CDEPEND=" - !sys-cluster/mpich - !sys-cluster/mpich2 - !sys-cluster/nullmpi - >=dev-libs/libevent-2.0.22:=[${MULTILIB_USEDEP},threads] - dev-libs/libltdl:0[${MULTILIB_USEDEP}] - >=sys-apps/hwloc-2.0.2[${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] - cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= ) - openmpi_fabrics_ofed? ( || ( sys-cluster/rdma-core sys-fabric/ofed:* ) ) - openmpi_fabrics_knem? ( sys-cluster/knem ) - openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) - openmpi_rm_pbs? ( sys-cluster/torque ) - openmpi_rm_slurm? ( sys-cluster/slurm ) - openmpi_ofed_features_rdmacm? ( || ( sys-cluster/rdma-core sys-fabric/librdmacm:* ) )" - -RDEPEND="${CDEPEND} - java? ( >=virtual/jre-1.6 )" - -DEPEND="${CDEPEND} - java? ( >=virtual/jdk-1.6 )" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/mpi.h - /usr/include/openmpi/ompi/mpi/java/mpiJava.h -) - -pkg_setup() { - fortran-2_pkg_setup - java-pkg-opt-2_pkg_setup - - elog - elog "OpenMPI has an overwhelming count of configuration options." - elog "Don't forget the EXTRA_ECONF environment variable can let you" - elog "specify configure options if you find them necessary." - elog -} - -src_prepare() { - default - - # Necessary for scalibility, see - # http://www.open-mpi.org/community/lists/users/2008/09/6514.php - echo 'oob_tcp_listen_mode = listen_thread' \ - >> opal/etc/openmpi-mca-params.conf || die -} - -multilib_src_configure() { - if use java; then - # We must always build with the right -source and -target - # flags. Passing flags to javac isn't explicitly supported here - # but we can cheat by overriding the configure test for javac. - export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" - fi - - ECONF_SOURCE=${S} econf \ - --sysconfdir="${EPREFIX}/etc/${PN}" \ - --enable-pretty-print-stacktrace \ - --enable-orterun-prefix-by-default \ - --with-hwloc="${EPREFIX}/usr" \ - --with-hwloc-libdir="${EPREFIX}/usr/$(get_libdir)" \ - --with-libltdl="${EPREFIX}/usr" \ - --with-libevent="${EPREFIX}/usr" \ - --with-libevent-libdir="${EPREFIX}/usr/$(get_libdir)" \ - --enable-mpi-fortran=$(usex fortran all no) \ - $(use_enable cxx mpi-cxx) \ - $(use_with cma) \ - $(multilib_native_use_with cuda cuda "${EPREFIX}"/opt/cuda) \ - $(use_enable romio io-romio) \ - $(use_enable heterogeneous) \ - $(use_enable ipv6) \ - $(multilib_native_use_enable java mpi-java) \ - $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ - $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ - $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ - $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ - $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ - $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \ - $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ - $(multilib_native_use_with openmpi_rm_pbs tm) \ - $(multilib_native_use_with openmpi_rm_slurm slurm) -} - -multilib_src_test() { - # Doesn't work with the default src_test as the dry run (-n) fails. - emake -j1 check -} - -multilib_src_install() { - default - - # fortran header cannot be wrapped (bug #540508), workaround part 1 - if multilib_is_native_abi && use fortran; then - mkdir "${T}"/fortran || die - mv "${ED}"/usr/include/mpif* "${T}"/fortran || die - else - # some fortran files get installed unconditionally - rm \ - "${ED}"/usr/include/mpif* \ - "${ED}"/usr/bin/mpif* \ - || die - fi -} - -multilib_src_install_all() { - # fortran header cannot be wrapped (bug #540508), workaround part 2 - if use fortran; then - mv "${T}"/fortran/mpif* "${ED}"/usr/include || die - fi - - # Remove la files, no static libs are installed and we have pkg-config - find "${ED}" -name '*.la' -delete || die - - if use java; then - local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar - java-pkg_dojar "${mpi_jar}" - # We don't want to install the jar file twice - # so let's clean after ourselves. - rm "${mpi_jar}" || die - fi - einstalldocs -} diff --git a/sys-cluster/openmpi/openmpi-4.0.6-r1.ebuild b/sys-cluster/openmpi/openmpi-4.0.6-r1.ebuild new file mode 100644 index 000000000000..93df7d8495cc --- /dev/null +++ b/sys-cluster/openmpi/openmpi-4.0.6-r1.ebuild @@ -0,0 +1,179 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +FORTRAN_NEEDED=fortran + +inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs multilib multilib-minimal + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +IUSE_OPENMPI_FABRICS=" + openmpi_fabrics_ofed + openmpi_fabrics_knem + openmpi_fabrics_psm" + +IUSE_OPENMPI_RM=" + openmpi_rm_pbs + openmpi_rm_slurm" + +IUSE_OPENMPI_OFED_FEATURES=" + openmpi_ofed_features_control-hdr-padding + openmpi_ofed_features_udcm + openmpi_ofed_features_rdmacm + openmpi_ofed_features_dynamic-sl" + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="https://www.open-mpi.org" +SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux" +IUSE="cma cuda cxx fortran heterogeneous ipv6 java libompitrace peruse romio + ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" + +REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) + openmpi_rm_pbs? ( !openmpi_rm_slurm ) + openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )" + +CDEPEND=" + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/nullmpi + >=dev-libs/libevent-2.0.22:=[${MULTILIB_USEDEP},threads] + dev-libs/libltdl:0[${MULTILIB_USEDEP}] + >=sys-apps/hwloc-2.0.2:=[${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= ) + openmpi_fabrics_ofed? ( || ( sys-cluster/rdma-core sys-fabric/ofed:* ) ) + openmpi_fabrics_knem? ( sys-cluster/knem ) + openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) + openmpi_rm_pbs? ( sys-cluster/torque ) + openmpi_rm_slurm? ( sys-cluster/slurm ) + openmpi_ofed_features_rdmacm? ( || ( sys-cluster/rdma-core sys-fabric/librdmacm:* ) )" + +RDEPEND="${CDEPEND} + java? ( >=virtual/jre-1.8:* )" + +DEPEND="${CDEPEND} + java? ( >=virtual/jdk-1.8:* )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/mpi.h + /usr/include/openmpi/ompi/mpi/java/mpiJava.h + /usr/include/openmpi/mpiext/mpiext_cuda_c.h +) + +pkg_setup() { + fortran-2_pkg_setup + java-pkg-opt-2_pkg_setup + + elog + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + elog +} + +src_prepare() { + default + + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf || die +} + +multilib_src_configure() { + if use java; then + # We must always build with the right -source and -target + # flags. Passing flags to javac isn't explicitly supported here + # but we can cheat by overriding the configure test for javac. + export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" + fi + + local myconf=( + --enable-mpi-fortran=$(usex fortran all no) + --enable-orterun-prefix-by-default + --enable-pretty-print-stacktrace + + --sysconfdir="${EPREFIX}/etc/${PN}" + + --with-hwloc="${EPREFIX}/usr" + --with-hwloc-libdir="${EPREFIX}/usr/$(get_libdir)" + --with-libltdl="${EPREFIX}/usr" + --with-libevent="${EPREFIX}/usr" + --with-libevent-libdir="${EPREFIX}/usr/$(get_libdir)" + + $(use_enable cxx mpi-cxx) + $(use_enable heterogeneous) + $(use_enable ipv6) + $(use_enable libompitrace) + $(use_enable peruse) + $(use_enable romio io-romio) + + $(use_with cma) + + $(multilib_native_use_enable java mpi-java) + $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) + $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) + $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) + $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) + + $(multilib_native_use_with cuda cuda "${EPREFIX}"/opt/cuda) + $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) + $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) + $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) + $(multilib_native_use_with openmpi_rm_pbs tm) + $(multilib_native_use_with openmpi_rm_slurm slurm) + ) + + ECONF_SOURCE=${S} econf "${myconf[@]}" +} + +multilib_src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + emake -j1 check +} + +multilib_src_install() { + default + + # fortran header cannot be wrapped (bug #540508), workaround part 1 + if multilib_is_native_abi && use fortran; then + mkdir "${T}"/fortran || die + mv "${ED}"/usr/include/mpif* "${T}"/fortran || die + else + # some fortran files get installed unconditionally + rm \ + "${ED}"/usr/include/mpif* \ + "${ED}"/usr/bin/mpif* \ + || die + fi +} + +multilib_src_install_all() { + # fortran header cannot be wrapped (bug #540508), workaround part 2 + if use fortran; then + mv "${T}"/fortran/mpif* "${ED}"/usr/include || die + fi + + # Remove la files, no static libs are installed and we have pkg-config + find "${ED}" -name '*.la' -delete || die + + if use java; then + local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar + java-pkg_dojar "${mpi_jar}" + # We don't want to install the jar file twice + # so let's clean after ourselves. + rm "${mpi_jar}" || die + fi + einstalldocs +} diff --git a/sys-cluster/openmpi/openmpi-4.0.6.ebuild b/sys-cluster/openmpi/openmpi-4.0.6.ebuild deleted file mode 100644 index 47238b0329d1..000000000000 --- a/sys-cluster/openmpi/openmpi-4.0.6.ebuild +++ /dev/null @@ -1,179 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -FORTRAN_NEEDED=fortran - -inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs multilib multilib-minimal - -MY_P=${P/-mpi} -S=${WORKDIR}/${MY_P} - -IUSE_OPENMPI_FABRICS=" - openmpi_fabrics_ofed - openmpi_fabrics_knem - openmpi_fabrics_psm" - -IUSE_OPENMPI_RM=" - openmpi_rm_pbs - openmpi_rm_slurm" - -IUSE_OPENMPI_OFED_FEATURES=" - openmpi_ofed_features_control-hdr-padding - openmpi_ofed_features_udcm - openmpi_ofed_features_rdmacm - openmpi_ofed_features_dynamic-sl" - -DESCRIPTION="A high-performance message passing library (MPI)" -HOMEPAGE="https://www.open-mpi.org" -SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux" -IUSE="cma cuda cxx fortran heterogeneous ipv6 java libompitrace peruse romio - ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" - -REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) - openmpi_rm_pbs? ( !openmpi_rm_slurm ) - openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )" - -CDEPEND=" - !sys-cluster/mpich - !sys-cluster/mpich2 - !sys-cluster/nullmpi - >=dev-libs/libevent-2.0.22:=[${MULTILIB_USEDEP},threads] - dev-libs/libltdl:0[${MULTILIB_USEDEP}] - >=sys-apps/hwloc-2.0.2[${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] - cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= ) - openmpi_fabrics_ofed? ( || ( sys-cluster/rdma-core sys-fabric/ofed:* ) ) - openmpi_fabrics_knem? ( sys-cluster/knem ) - openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) - openmpi_rm_pbs? ( sys-cluster/torque ) - openmpi_rm_slurm? ( sys-cluster/slurm ) - openmpi_ofed_features_rdmacm? ( || ( sys-cluster/rdma-core sys-fabric/librdmacm:* ) )" - -RDEPEND="${CDEPEND} - java? ( >=virtual/jre-1.8:* )" - -DEPEND="${CDEPEND} - java? ( >=virtual/jdk-1.8:* )" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/mpi.h - /usr/include/openmpi/ompi/mpi/java/mpiJava.h - /usr/include/openmpi/mpiext/mpiext_cuda_c.h -) - -pkg_setup() { - fortran-2_pkg_setup - java-pkg-opt-2_pkg_setup - - elog - elog "OpenMPI has an overwhelming count of configuration options." - elog "Don't forget the EXTRA_ECONF environment variable can let you" - elog "specify configure options if you find them necessary." - elog -} - -src_prepare() { - default - - # Necessary for scalibility, see - # http://www.open-mpi.org/community/lists/users/2008/09/6514.php - echo 'oob_tcp_listen_mode = listen_thread' \ - >> opal/etc/openmpi-mca-params.conf || die -} - -multilib_src_configure() { - if use java; then - # We must always build with the right -source and -target - # flags. Passing flags to javac isn't explicitly supported here - # but we can cheat by overriding the configure test for javac. - export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" - fi - - local myconf=( - --enable-mpi-fortran=$(usex fortran all no) - --enable-orterun-prefix-by-default - --enable-pretty-print-stacktrace - - --sysconfdir="${EPREFIX}/etc/${PN}" - - --with-hwloc="${EPREFIX}/usr" - --with-hwloc-libdir="${EPREFIX}/usr/$(get_libdir)" - --with-libltdl="${EPREFIX}/usr" - --with-libevent="${EPREFIX}/usr" - --with-libevent-libdir="${EPREFIX}/usr/$(get_libdir)" - - $(use_enable cxx mpi-cxx) - $(use_enable heterogeneous) - $(use_enable ipv6) - $(use_enable libompitrace) - $(use_enable peruse) - $(use_enable romio io-romio) - - $(use_with cma) - - $(multilib_native_use_enable java mpi-java) - $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) - $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) - $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) - $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) - - $(multilib_native_use_with cuda cuda "${EPREFIX}"/opt/cuda) - $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) - $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) - $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) - $(multilib_native_use_with openmpi_rm_pbs tm) - $(multilib_native_use_with openmpi_rm_slurm slurm) - ) - - ECONF_SOURCE=${S} econf "${myconf[@]}" -} - -multilib_src_test() { - # Doesn't work with the default src_test as the dry run (-n) fails. - emake -j1 check -} - -multilib_src_install() { - default - - # fortran header cannot be wrapped (bug #540508), workaround part 1 - if multilib_is_native_abi && use fortran; then - mkdir "${T}"/fortran || die - mv "${ED}"/usr/include/mpif* "${T}"/fortran || die - else - # some fortran files get installed unconditionally - rm \ - "${ED}"/usr/include/mpif* \ - "${ED}"/usr/bin/mpif* \ - || die - fi -} - -multilib_src_install_all() { - # fortran header cannot be wrapped (bug #540508), workaround part 2 - if use fortran; then - mv "${T}"/fortran/mpif* "${ED}"/usr/include || die - fi - - # Remove la files, no static libs are installed and we have pkg-config - find "${ED}" -name '*.la' -delete || die - - if use java; then - local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar - java-pkg_dojar "${mpi_jar}" - # We don't want to install the jar file twice - # so let's clean after ourselves. - rm "${mpi_jar}" || die - fi - einstalldocs -} diff --git a/sys-cluster/openmpi/openmpi-4.1.1-r1.ebuild b/sys-cluster/openmpi/openmpi-4.1.1-r1.ebuild new file mode 100644 index 000000000000..6652c805f75a --- /dev/null +++ b/sys-cluster/openmpi/openmpi-4.1.1-r1.ebuild @@ -0,0 +1,187 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +FORTRAN_NEEDED=fortran + +inherit cuda fortran-2 java-pkg-opt-2 multilib-minimal + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +IUSE_OPENMPI_FABRICS=" + openmpi_fabrics_ofed + openmpi_fabrics_knem + openmpi_fabrics_psm" + +IUSE_OPENMPI_RM=" + openmpi_rm_pbs + openmpi_rm_slurm" + +IUSE_OPENMPI_OFED_FEATURES=" + openmpi_ofed_features_control-hdr-padding + openmpi_ofed_features_udcm + openmpi_ofed_features_rdmacm + openmpi_ofed_features_dynamic-sl" + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="https://www.open-mpi.org" +SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux" +IUSE="cma cuda cxx fortran heterogeneous ipv6 java libompitrace peruse romio + ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" + +REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) + openmpi_rm_pbs? ( !openmpi_rm_slurm ) + openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )" + +CDEPEND=" + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/nullmpi + >=dev-libs/libevent-2.0.22:=[${MULTILIB_USEDEP},threads] + dev-libs/libltdl:0[${MULTILIB_USEDEP}] + >=sys-apps/hwloc-2.0.2:=[${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= ) + openmpi_fabrics_ofed? ( || ( sys-cluster/rdma-core sys-fabric/ofed:* ) ) + openmpi_fabrics_knem? ( sys-cluster/knem ) + openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) + openmpi_rm_pbs? ( sys-cluster/torque ) + openmpi_rm_slurm? ( sys-cluster/slurm ) + openmpi_ofed_features_rdmacm? ( || ( sys-cluster/rdma-core sys-fabric/librdmacm:* ) )" + +RDEPEND="${CDEPEND} + java? ( >=virtual/jre-1.8:* )" + +DEPEND="${CDEPEND} + java? ( >=virtual/jdk-1.8:* )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/mpi.h + /usr/include/openmpi/ompi/mpi/java/mpiJava.h + /usr/include/openmpi/mpiext/mpiext_cuda_c.h +) + +pkg_setup() { + fortran-2_pkg_setup + java-pkg-opt-2_pkg_setup + + elog + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + elog +} + +src_prepare() { + default + + echo "void main() { return 0; }" > test/util/opal_path_nfs.c || die + + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf || die +} + +multilib_src_configure() { + if use java; then + # We must always build with the right -source and -target + # flags. Passing flags to javac isn't explicitly supported here + # but we can cheat by overriding the configure test for javac. + export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" + fi + + local myconf=( + --enable-mpi-fortran=$(usex fortran all no) + --enable-orterun-prefix-by-default + --enable-pretty-print-stacktrace + + --sysconfdir="${EPREFIX}/etc/${PN}" + + --with-hwloc="${EPREFIX}/usr" + --with-hwloc-libdir="${EPREFIX}/usr/$(get_libdir)" + --with-libltdl="${EPREFIX}/usr" + --with-libevent="${EPREFIX}/usr" + --with-libevent-libdir="${EPREFIX}/usr/$(get_libdir)" + + $(use_enable cxx mpi-cxx) + $(use_enable heterogeneous) + $(use_enable ipv6) + $(use_enable libompitrace) + $(use_enable peruse) + $(use_enable romio io-romio) + + $(use_with cma) + + $(multilib_native_use_enable java mpi-java) + $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) + $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) + $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) + $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) + + $(multilib_native_use_with cuda cuda "${EPREFIX}"/opt/cuda) + $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) + $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) + $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) + $(multilib_native_use_with openmpi_rm_pbs tm) + $(multilib_native_use_with openmpi_rm_slurm slurm) + ) + + CONFIG_SHELL="${BROOT}/bin/bash" ECONF_SOURCE=${S} econf "${myconf[@]}" +} + +multilib_src_compile() { + emake V=1 +} + +multilib_src_test() { + # -j1: doesn't work with the default src_test as the dry run (-n) fails. + # Explicit listing of test/* subdirs modulo util because of nfs test fails + # due to sandbox and couldn't find a sane way to skip it. + emake -j1 -C test asm class datatype dss event monitoring mpool spc support threads +} + +multilib_src_install() { + default + + # fortran header cannot be wrapped (bug #540508), workaround part 1 + if multilib_is_native_abi && use fortran; then + mkdir "${T}"/fortran || die + mv "${ED}"/usr/include/mpif* "${T}"/fortran || die + else + # some fortran files get installed unconditionally + rm \ + "${ED}"/usr/include/mpif* \ + "${ED}"/usr/bin/mpif* \ + || die + fi +} + +multilib_src_install_all() { + # fortran header cannot be wrapped (bug #540508), workaround part 2 + if use fortran; then + mv "${T}"/fortran/mpif* "${ED}"/usr/include || die + fi + + # Remove la files, no static libs are installed and we have pkg-config + find "${ED}" -name '*.la' -delete || die + + if use java; then + local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar + java-pkg_dojar "${mpi_jar}" + # We don't want to install the jar file twice + # so let's clean after ourselves. + rm "${mpi_jar}" || die + fi + einstalldocs +} diff --git a/sys-cluster/openmpi/openmpi-4.1.1.ebuild b/sys-cluster/openmpi/openmpi-4.1.1.ebuild deleted file mode 100644 index 84d39a7da2a5..000000000000 --- a/sys-cluster/openmpi/openmpi-4.1.1.ebuild +++ /dev/null @@ -1,187 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -FORTRAN_NEEDED=fortran - -inherit cuda fortran-2 java-pkg-opt-2 multilib-minimal - -MY_P=${P/-mpi} -S=${WORKDIR}/${MY_P} - -IUSE_OPENMPI_FABRICS=" - openmpi_fabrics_ofed - openmpi_fabrics_knem - openmpi_fabrics_psm" - -IUSE_OPENMPI_RM=" - openmpi_rm_pbs - openmpi_rm_slurm" - -IUSE_OPENMPI_OFED_FEATURES=" - openmpi_ofed_features_control-hdr-padding - openmpi_ofed_features_udcm - openmpi_ofed_features_rdmacm - openmpi_ofed_features_dynamic-sl" - -DESCRIPTION="A high-performance message passing library (MPI)" -HOMEPAGE="https://www.open-mpi.org" -SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux" -IUSE="cma cuda cxx fortran heterogeneous ipv6 java libompitrace peruse romio - ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" - -REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) - openmpi_rm_pbs? ( !openmpi_rm_slurm ) - openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) - openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )" - -CDEPEND=" - !sys-cluster/mpich - !sys-cluster/mpich2 - !sys-cluster/nullmpi - >=dev-libs/libevent-2.0.22:=[${MULTILIB_USEDEP},threads] - dev-libs/libltdl:0[${MULTILIB_USEDEP}] - >=sys-apps/hwloc-2.0.2[${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] - cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= ) - openmpi_fabrics_ofed? ( || ( sys-cluster/rdma-core sys-fabric/ofed:* ) ) - openmpi_fabrics_knem? ( sys-cluster/knem ) - openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) - openmpi_rm_pbs? ( sys-cluster/torque ) - openmpi_rm_slurm? ( sys-cluster/slurm ) - openmpi_ofed_features_rdmacm? ( || ( sys-cluster/rdma-core sys-fabric/librdmacm:* ) )" - -RDEPEND="${CDEPEND} - java? ( >=virtual/jre-1.8:* )" - -DEPEND="${CDEPEND} - java? ( >=virtual/jdk-1.8:* )" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/mpi.h - /usr/include/openmpi/ompi/mpi/java/mpiJava.h - /usr/include/openmpi/mpiext/mpiext_cuda_c.h -) - -pkg_setup() { - fortran-2_pkg_setup - java-pkg-opt-2_pkg_setup - - elog - elog "OpenMPI has an overwhelming count of configuration options." - elog "Don't forget the EXTRA_ECONF environment variable can let you" - elog "specify configure options if you find them necessary." - elog -} - -src_prepare() { - default - - echo "void main() { return 0; }" > test/util/opal_path_nfs.c || die - - # Necessary for scalibility, see - # http://www.open-mpi.org/community/lists/users/2008/09/6514.php - echo 'oob_tcp_listen_mode = listen_thread' \ - >> opal/etc/openmpi-mca-params.conf || die -} - -multilib_src_configure() { - if use java; then - # We must always build with the right -source and -target - # flags. Passing flags to javac isn't explicitly supported here - # but we can cheat by overriding the configure test for javac. - export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" - fi - - local myconf=( - --enable-mpi-fortran=$(usex fortran all no) - --enable-orterun-prefix-by-default - --enable-pretty-print-stacktrace - - --sysconfdir="${EPREFIX}/etc/${PN}" - - --with-hwloc="${EPREFIX}/usr" - --with-hwloc-libdir="${EPREFIX}/usr/$(get_libdir)" - --with-libltdl="${EPREFIX}/usr" - --with-libevent="${EPREFIX}/usr" - --with-libevent-libdir="${EPREFIX}/usr/$(get_libdir)" - - $(use_enable cxx mpi-cxx) - $(use_enable heterogeneous) - $(use_enable ipv6) - $(use_enable libompitrace) - $(use_enable peruse) - $(use_enable romio io-romio) - - $(use_with cma) - - $(multilib_native_use_enable java mpi-java) - $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) - $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) - $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) - $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) - - $(multilib_native_use_with cuda cuda "${EPREFIX}"/opt/cuda) - $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) - $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) - $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) - $(multilib_native_use_with openmpi_rm_pbs tm) - $(multilib_native_use_with openmpi_rm_slurm slurm) - ) - - CONFIG_SHELL="${BROOT}/bin/bash" ECONF_SOURCE=${S} econf "${myconf[@]}" -} - -multilib_src_compile() { - emake V=1 -} - -multilib_src_test() { - # -j1: doesn't work with the default src_test as the dry run (-n) fails. - # Explicit listing of test/* subdirs modulo util because of nfs test fails - # due to sandbox and couldn't find a sane way to skip it. - emake -j1 -C test asm class datatype dss event monitoring mpool spc support threads -} - -multilib_src_install() { - default - - # fortran header cannot be wrapped (bug #540508), workaround part 1 - if multilib_is_native_abi && use fortran; then - mkdir "${T}"/fortran || die - mv "${ED}"/usr/include/mpif* "${T}"/fortran || die - else - # some fortran files get installed unconditionally - rm \ - "${ED}"/usr/include/mpif* \ - "${ED}"/usr/bin/mpif* \ - || die - fi -} - -multilib_src_install_all() { - # fortran header cannot be wrapped (bug #540508), workaround part 2 - if use fortran; then - mv "${T}"/fortran/mpif* "${ED}"/usr/include || die - fi - - # Remove la files, no static libs are installed and we have pkg-config - find "${ED}" -name '*.la' -delete || die - - if use java; then - local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar - java-pkg_dojar "${mpi_jar}" - # We don't want to install the jar file twice - # so let's clean after ourselves. - rm "${mpi_jar}" || die - fi - einstalldocs -} -- cgit v1.2.3