From 36ac65103bf5503e5bad1ecc7e8cb9e7643f6840 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 13 Sep 2019 17:49:31 +0100 Subject: Revert "gentoo resync : 13.09.2019" This reverts commit a1392efe64137262023d92492396ca9156d22396. --- dev-lang/erlang/Manifest | 30 ++- dev-lang/erlang/erlang-19.1.ebuild | 155 ++++++++++++++++ dev-lang/erlang/erlang-20.3.8.10.ebuild | 227 +++++++++++++++++++++++ dev-lang/erlang/erlang-20.3.8.20.ebuild | 227 +++++++++++++++++++++++ dev-lang/erlang/erlang-20.3.ebuild | 174 +++++++++++++++++ dev-lang/erlang/erlang-21.2.6.ebuild | 160 ++++++++++++++++ dev-lang/erlang/erlang-21.2.7.ebuild | 160 ++++++++++++++++ dev-lang/erlang/erlang-21.3-r1.ebuild | 162 ++++++++++++++++ dev-lang/erlang/erlang-21.3.ebuild | 160 ++++++++++++++++ dev-lang/erlang/erlang-22.0.2.ebuild | 147 +++++++++++++++ dev-lang/erlang/files/erlang-21.3-lto.patch | 140 ++++++++++++++ dev-lang/erlang/files/erlang-21.3-pgo-loop.patch | 13 ++ dev-lang/erlang/metadata.xml | 2 + 13 files changed, 1756 insertions(+), 1 deletion(-) create mode 100644 dev-lang/erlang/erlang-19.1.ebuild create mode 100644 dev-lang/erlang/erlang-20.3.8.10.ebuild create mode 100644 dev-lang/erlang/erlang-20.3.8.20.ebuild create mode 100644 dev-lang/erlang/erlang-20.3.ebuild create mode 100644 dev-lang/erlang/erlang-21.2.6.ebuild create mode 100644 dev-lang/erlang/erlang-21.2.7.ebuild create mode 100644 dev-lang/erlang/erlang-21.3-r1.ebuild create mode 100644 dev-lang/erlang/erlang-21.3.ebuild create mode 100644 dev-lang/erlang/erlang-22.0.2.ebuild create mode 100644 dev-lang/erlang/files/erlang-21.3-lto.patch create mode 100644 dev-lang/erlang/files/erlang-21.3-pgo-loop.patch (limited to 'dev-lang/erlang') diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest index 4c3bce2f1b6a..777f6a5b9105 100644 --- a/dev-lang/erlang/Manifest +++ b/dev-lang/erlang/Manifest @@ -5,15 +5,43 @@ AUX epmd.init 534 BLAKE2B 34230f6c6edaed48123369df02f5fb71deb90491ebbb6d17984220 AUX epmd.init-r1 457 BLAKE2B 1aa451203bf629a1d4f752ab87a91c0a27ade1a74f8edbd69b9dfe7d667bf68e4d41fc369f4aa1b67e7773ee96882cc0c95721a53b43122abf25b69600009527 SHA512 e0e507feae94bd3b6897c46c67c5a74a28771c3c9c367662d297faef52a1336c202c532a0c04f84464bd1829076bd8272244cd018e0badaa4f81872de00d89d7 AUX epmd.service 138 BLAKE2B f56c907ec51bb85c437235334cf01c6a43ccf2316be3b226ab557e3f71cab48baf59b5a9533a4dccb2cb61a4434e3a51d44eae06010718dbf9a732d605c40f73 SHA512 405740f8f9cd55d4ecd7420748399ab3f374b7cb09e53605f44ba49d0af86b70e4a1baf1fde05a703fb90c8a83dbcdd5cfbbf09185e9d7b58ff9612aefc2dd28 AUX erlang-20.3.2-dont-ignore-LDFLAGS.patch 1337 BLAKE2B 7272c96b1ee947a98f0a5b1f3bd1fce11e8d02f121348208196ae60af965dfde7fac15263ca0a58df96dff21785a1a63f4fc10f7e7e10c0f68a618e760e5ffd7 SHA512 59d39b1680ac3406e4c37f81a0207588208a873279920258235af54700f80bd67584c3e55c9278f893cd7813573bbec8b13195e47ba00101fc578d5a2b40fa34 +AUX erlang-21.3-lto.patch 5277 BLAKE2B 32bfdda0c1deb8bd7d2403ad6810b6f8cd8bf6ec3bfd54d02ab4637d800ef0fe77b4da883877ba3c08a9c24596c7af09069aab5449fc22627d811ccc6257f18c SHA512 fb3460e4d881e8c9bc256840d62f8ba988456abc581c01e2b8c43d1302549cdb59b179f613f65139bd89b6e1fb8395e74472ba0a000ff0dcf8af84c4593dac03 +AUX erlang-21.3-pgo-loop.patch 420 BLAKE2B e0ad61bd592c7a3ddf2410ecbcd38a3f72ad34a58223af9b73eba586cc1970b289886c71a7d7e23a69318d86bd2bb220c21bb4b7e5db1984586ed5bd81990159 SHA512 97f7239b729e9f809a4b6226a4e69a833db94cdd4f5d937b26b33ae432663ceab1c0bab7c3168ca729bd8eb3bb5ead2fbf0510ef88bb124a44541d6b18f0d0f3 AUX erlang-22.0-dont-ignore-LDFLAGS.patch 1174 BLAKE2B 64900c6b934ecbd11238e604f907e6f8b1ec2730d2b98aad5405383742563e050bc6ffaae22d55a22998658460109fac9f6628458f5e976e9fbfe71cc26f1d64 SHA512 0fd7cbef64a9a54e0959d49b50096f9abc6fcede4360c153631c7f649f5c41b35ffb1f2d06f80964bf49421464bcc43c96147c227d60cf413c51b3e89ae9ad24 AUX erlang-add-epmd-pid-file-creation-for-openrc.patch 2359 BLAKE2B 54a3148144bcbb9a4dd68e89fd609a09a9e9a0a9c7a71a4e9eaafc12632e23da44411d72c1590e482fda73d5464b1071386aa564b8d9a73b032b62c474d20570 SHA512 301aed1980a8638a8cd069ecb6e968e5c15d3e82b38580861a0ed6a2fc7a9505d99525a53a6ac19c2d9b786703aac6bf51751275a6a7fafd8f530c07ea0c7e8c AUX erlang-custom-autoconf.patch 398 BLAKE2B c99d3bc311bbca379786b9e4d29ee4983354a069508328c95e99a62bdfb8d15dbf372124acdf66c603f64acd9cabeb146e5bd5ec1e1ffd09af125fc4a076abdc SHA512 b82e09d0cd686c07b9d370e397edda10bd96435e70f4a0995ec06638e237e3b8fd0e1195ecc036b51367ffa36a0b4db5a2b1fe5d389a0b97e19d32aec51755d9 +DIST erlang-20.3.8.10.tar.gz 53511918 BLAKE2B 5f430bda415a5b59e9dec3222abe311264277ee91b2e7e9e69dba1016169492dc621df314c057e39f16b7bfe01686f405b9ccde362f84c5c2f0ffde68a923ffa SHA512 0d5ab27d17ff203d2c719fd5a03d843e3046037240e97ae9ad59d9f0690cf46cfb5fac2569590ce68f62169b1b2b2bc693e9a9b82f6ab0371693c5324bd3288b +DIST erlang-20.3.8.20.tar.gz 53523729 BLAKE2B d245f0bd80d8ee41b8e832b30864d4539f5333a84d8a74126adcc99203a7646af933d6c80efdbb1f88b955107a7e637487c00ed951baf767f09082c41a8dc8eb SHA512 463c9563ed114f7a4d0364640f7c0e20e234b443d4b9d72687113fbbf106d52b07adad890a58473101311dcb34d072cb27b7ce871c61edc38ba2bd65024fa9cc DIST erlang-21.1.1.tar.gz 53854332 BLAKE2B 32ab508b5a305eb92eac9f49bd513374c573966e7565d98aa6ba986ce42eb955a46130b9f33dbb415f48de5c179b308a8b06b345a844afcb2700f7e3f257f27e SHA512 dc11aace126aad5411b0d583579fe95a7263be328612fdc9f9c02d917aef7ea7a128b1e54ddcf7a52232980d2c81fc8e90ae5a8806ee5ae6ea97f00a9cf3faab +DIST erlang-21.2.6.tar.gz 53956256 BLAKE2B a39e57df65afef7a746ef5b6feb6041621607e9209fa3e81f91be31a4b736238c7fef73db436d3ae57ab3cee856531684d2ffb8ea5bc608b4166c81d1cd8a3ea SHA512 0d43a5eb6e9d01e2997b7c82a15b2bd7483a0623f86f8aaff3ec59b5da6aa2cd8135d48cf66233e28c780473f83b90ad56c076374273cefa79b79622e57027f9 +DIST erlang-21.2.7.tar.gz 53954838 BLAKE2B 1f81e439a9f6cc6f560791043c6f84847fa1dd71a94b0195e1141d805e9c327b88afda233dc426215679107661b22c5b93448b7d1a1b55af5669e3fdd6753356 SHA512 2a5cec5b9e0ae7b8f53060c95ac1d7a61dbf7b591199c7bc2d527d643dd2a09484ae27055bf3135fb32a69500dbbae8ae95258cea22f2c100ea9f892b87715f7 +DIST erlang-21.3.tar.gz 54021160 BLAKE2B 1a65fa67df3a7227abb1fd99eb5c77a60cf5e156dd54b2dfca89befeb85c6eb30ab8afec1ae1d54ac57b574b3b6a915e758b93e89234f668478cf7cfd933cc43 SHA512 7001b6a37597e8d78b9b071d517e7be449592d7d7f9f8bf6f555dd3ed58caec429644adf52d9c5669c2e06dafc61149544a730f3dae138a8c25da0f61d06ba83 DIST erlang-22.0.2.tar.gz 54805264 BLAKE2B d30fd8a7a4ada892f4b8e14c82ab7e20f77caa78573774d0b591a1abcc26c63ae5e0a65ae5c30f0f5cc8a6e4c5e13d167929eb049cbb172fcf2899d61f5ec8dc SHA512 6dbc3705a8b9ba5c8b6694e256c226c882521d87c3af4deb9212c33fff83b510191ea547888d15ced17dd66857fb1d7ba72d9fbd54a5c63091aa86680b960436 +DIST erlang_doc_html_20.3.tar.gz 33594990 BLAKE2B 34db68a5c3ae56f097474cc0b776971853d96c57d3d2e058a5db8998aad9c8d498610979a46155e8e935022f363c944f407c10c650fd35174cf1f50697ddf1de SHA512 4b280228fb9cbd9eb62db12ff9d6fad67d6855d0cdbc780839bbc95302ffd907c5b410e6f8519207db8850b753964571a9bf9df9eca53749f5b01d1b27dbc6d4 DIST erlang_doc_html_21.1.tar.gz 32692731 BLAKE2B a7fa8ebe1c876ab7eecd2dd46ffd4d288db6d308e0f131d53c26ee4b67a92cb6fcb89b6c880ef34df395c7ad61fcdc81eac32e0fcf7336be7d517263218146bc SHA512 0d659f55bfb01eecf140a310154724489ef56b6ccbe9ac30f6b053f598276721b80de7b5b3200707cf8a6e77b8854eae5453f655225f431fcc982550539f767f +DIST erlang_doc_html_21.2.tar.gz 32798331 BLAKE2B 7c0606186caa36fe9ff6099a11930cf457f5f67dc276d5d75bd4c2934943e0adaa71658d701b5ef9102063db07a67fd66c5fe0c74f4839ac24f96d845a9e8902 SHA512 a7be67ff704aee78377b986e2425691937a1d53253ab3ec520eb689fcb7cf7595dae8026dc2b5dab73e25ae2ae76f8458a034eb0dfeb320ddc61306dcf52f3f9 +DIST erlang_doc_html_21.3.tar.gz 33069226 BLAKE2B d2a9b3154b1b91d15864d9398e145ce18c2a9a409e01b12d726946836939a5a7dc80221da9ec493471f97d854e9fb385ff589f23a6ab584188d55a423c49c69d SHA512 eaa3bd14717cf5f27bdc605b215d20b63126c4e0b7201c28e3f59dd560bf90c239d79bf028e1862318db511135ba7237b27a2f701964d14df3e7763a73a28a34 DIST erlang_doc_html_22.0.tar.gz 33737075 BLAKE2B f49aba36e9b84e5bc4422052e33aab5cb407dfcf2086ddb8a2370003dc63842acc79a67d9d453ee9e59d7b69416b23527e2d9f564b2d8a58d4c46bc3a93881c4 SHA512 89229a97fb5c78246ce9fa6a2d23446c6c3c2de15617911739e133b7e58714a91b1360af64bf61659d96808a816d84e4c410f8c8efe1e544930f88d73242b6e7 +DIST erlang_doc_man_20.3.tar.gz 1339710 BLAKE2B 00aba848940914b3d98f9500b8201b0679d7d63d066cee296c8fbb399f132340b989f3cdcdd6c45a46e432efdb7c40c39d8ab4f3dbd64570316d649efc9faed1 SHA512 22c398ce3b42c7ef8abec1db85745eeb4d8804bc679d40b6a786fdc40dc241e43b5551df5d1eccb3ca8d4a64b833bf6663e77044f4564bb49cf67c4b74c5ea25 DIST erlang_doc_man_21.1.tar.gz 1317726 BLAKE2B 5e5c2b77a41da6ab9ae1264ba5824a9f3bda6d3b7a824b372e01356888db437ed9e45bf987d678aca3fd8d0f0e6dce25080c7a2aaa4e061936f1e6ac4717e843 SHA512 94c6191ba9f42bffeb398e865026fbc79f3b233389c7d471f0c680799aa3669e97ab5305cd53f26d6525aed33d738ebfc4eb79a8f1a0b29dc4b79a2a37a29a4f +DIST erlang_doc_man_21.2.tar.gz 1325975 BLAKE2B c46e0f8a9198f4deee46e3f845cfd5bb6f7cf306ecf3165960add0e3d09beb1ac9221d630c10d3d7d3ff874c7579db9ff04b3c5c1251a4bdf102ce573db6f6ea SHA512 adfb62815ced0010585772f2de4ca8fc4fa513929881ed5dc5ec5367ff279778f4f69fffcb05b52ef9bf3a6d79c3999c7343fafd9920a9a5570f8a09ef6b50cc +DIST erlang_doc_man_21.3.tar.gz 1332545 BLAKE2B 964c8031203d384053366ec27a7731af5c257afee44730f98a081e387e4ca08b220db8880c8939f4257acbed4c093527459615c64ca165d8218880e8cd5f6c11 SHA512 24e012a30436d63cfef10d53696b03cd5564ca0988850b5d497f526d7afed33354824f04ce937d43063d8a5745e427380920d50a2fe9b67adb84195569dc65f2 DIST erlang_doc_man_22.0.tar.gz 1347830 BLAKE2B 52fd7adf46c9727dba70edc73150b2c7e9b96728ccb0af6d717ab9881bcb38fd98cd1d9d8ff9b28688889cf162230dc0f054377446a21d9114ad70e706aef863 SHA512 f980439d21aea6e1487afbd2e22a1a909cee40bd2464569219159bd38048d7d8d7adc9c5c639c04d5fe3160d090b51f2fd33b3ef479969731ce1861338278e41 +DIST otp_doc_html_19.1.tar.gz 34624316 BLAKE2B e3a5edfe1645d58e4cbd6537c775190716eed7613610ddfa112692fdbace2077b1ccdf7df5987973d2ae4ef529e4ec45d44a240265157816e2a15dabe9232b83 SHA512 2c6448af0be4bf35427950aca82eac3aac7554575ba07a8ba8942c27e1eb668461fde00604c3be28fbaca8a1e28ee4861608e33a9c79bc951bb695f99b1c1ac8 +DIST otp_doc_html_20.3.tar.gz 33594990 BLAKE2B 34db68a5c3ae56f097474cc0b776971853d96c57d3d2e058a5db8998aad9c8d498610979a46155e8e935022f363c944f407c10c650fd35174cf1f50697ddf1de SHA512 4b280228fb9cbd9eb62db12ff9d6fad67d6855d0cdbc780839bbc95302ffd907c5b410e6f8519207db8850b753964571a9bf9df9eca53749f5b01d1b27dbc6d4 +DIST otp_doc_man_19.1.tar.gz 1405580 BLAKE2B 93b79b88f81a00d7cbb934dbac811c6ea0ec59413e073fe613038eab71087908ed4e4bcbb6c8ed2f0c5bdd03ab4a570f20c4460f233c040ae0c4238e1cfa097a SHA512 4ee35feeff70419ff5500e00dc17e34fdea8be21342d41cf1e255b84a1826b51057046be543ee1052153ae8c8cd215f4720cecae7d9fe1576cbd681dcf4b2334 +DIST otp_doc_man_20.3.tar.gz 1339710 BLAKE2B 00aba848940914b3d98f9500b8201b0679d7d63d066cee296c8fbb399f132340b989f3cdcdd6c45a46e432efdb7c40c39d8ab4f3dbd64570316d649efc9faed1 SHA512 22c398ce3b42c7ef8abec1db85745eeb4d8804bc679d40b6a786fdc40dc241e43b5551df5d1eccb3ca8d4a64b833bf6663e77044f4564bb49cf67c4b74c5ea25 +DIST otp_src_19.1.tar.gz 68103074 BLAKE2B 48e06ce5998929a8ca9804e51f07a4153e7fb1c8b1b4b1b60132e255c29c475534ce018a7902ed29b696b783a21daa73d1778435aada1a77064ab46e915af87d SHA512 bd1c243393c867c91768367613aedb40d56889add149390c81f22e022e76b716d6e9a4d5db7e6477ceb1216c26c18c962abdfd8215a87420758f5ef2063b9714 +DIST otp_src_20.3.tar.gz 88170904 BLAKE2B 3f92641e4eb4079572c0cc1cbc6ba1f56977efd182efcef6c466a0ac6232e18d9481823624cdd49a866feb38e96db6150f40927f25f2daaa64fe4aafd02089b4 SHA512 4169e2e653055c62dd66e214dcab577b49cadb8328dcc43adb8a2d44850b12c02db8323992c21852409697c5a48493068316417be9d97519b039a8f1cde143da +EBUILD erlang-19.1.ebuild 4479 BLAKE2B 671c00139feb254a2d053abd6006504aac816ad56b68291653f663d482138c4b8672b0893ef4e7d37f1610a581aa07695a722fcefa4c233523ab459b9adb292d SHA512 61ed8db5368a33c031588f896ea7f62cd770567dd61e8dbbb1793e4020cc540877e2823291a90227a9bc55811f7057448e49becdba792c600bd5d6168dd3af18 +EBUILD erlang-20.3.8.10.ebuild 6713 BLAKE2B 99d8e6c2e71fc01c815cafb7cdb2b6aa730f3ff07d174d82ee1ab44bfad140395fa6c5e0eb121d32ccd6c98f6bd37a5b384dd3cc02215fc96f229d3bf220f8f0 SHA512 e718298bb175bf3c7fc2828a603d504b474294258b46c6941a20a367e77b460e3f396d425b805c69a310aa428ce3477e8af38c40ea1abbc026c4e5488f8c1a44 +EBUILD erlang-20.3.8.20.ebuild 6713 BLAKE2B 34ca2b5c2e31d4bbc742d5e06320695d010fb3f76a785f2a4ec111c90d3ca9b315a881f4df02fd9fbd5ed28f1b6d9516c79bb6156b053d47dd9fa6bb74f68e84 SHA512 6247240df690ae70699f443528b30b1c96581b6a50b08da7ae06c4fb7bfcf9fa5f92ead01fbf84556d6a452a00d3c49b0a502d8dc762cea0eb8cdda000da5811 +EBUILD erlang-20.3.ebuild 4826 BLAKE2B 80ccf3e15c5cb5fc585c4b014b8093ce2306222d6b32c9653aab92e3bdcba2d66e9cfc18b6132ec0a1907495acb13cfa1e5e0f8baa3d12b0a5a8975ea0989e16 SHA512 41682162335ded8341591393fff4bd35aac71e49418a36da6e3c4b41066a39cf0c711ab5a73a61811ee82fb365db15fbb4cbd466dc985a58262303694c2f4cb5 EBUILD erlang-21.1.1.ebuild 4428 BLAKE2B 06350debf91e3d7d376579d6444377fc019b22826f8d4bd6dcc3c70a7a92d2a41aebe1ba8998e241f35b0b149430541cedb0a214a5b8c191cef50d3d9c57a2c4 SHA512 c8568a460b18fd5c816f3cd3f654bb66298f0e5cf9b08d7dd6b80a6f8ab1ce141c704ac1eafef684cdd6c757af974fde0f8fb75e5a9e0a2a7f6364cee4582281 +EBUILD erlang-21.2.6.ebuild 4434 BLAKE2B d0a694be6cf620a6034235d8fa0a8bbbc9a419ba44ade3d3c946e2af662aa11fb26c1fb6b58d4541c805bcb979c8f8390374a1f423c54101f180d803e5e4a059 SHA512 734b4ca60ed34ffabac86fc4f5bd5d32c8b22ded33a12bacf9c76cfbce62590a4e8faba2ec0344d69ec6d58613ee02e9f73dbdb8eaf927d452f97421b01ea0ef +EBUILD erlang-21.2.7.ebuild 4434 BLAKE2B d0a694be6cf620a6034235d8fa0a8bbbc9a419ba44ade3d3c946e2af662aa11fb26c1fb6b58d4541c805bcb979c8f8390374a1f423c54101f180d803e5e4a059 SHA512 734b4ca60ed34ffabac86fc4f5bd5d32c8b22ded33a12bacf9c76cfbce62590a4e8faba2ec0344d69ec6d58613ee02e9f73dbdb8eaf927d452f97421b01ea0ef +EBUILD erlang-21.3-r1.ebuild 4511 BLAKE2B 2c6845a8bb9ed75313108397a7231188904f27c92fb711da841c04a57bc0559724b6f9b0c761149f8801efb1d778f55e4f3bcf5576a05edd7367b788372b65e8 SHA512 f6ef4c7613150745520302652d4a322e7a333e480c9b41838b0b83545ba6b8d89691208fe18482ec5636de3d7c0e9a91af490ee52bebe14e475f032a4de88c0b +EBUILD erlang-21.3.ebuild 4434 BLAKE2B d0a694be6cf620a6034235d8fa0a8bbbc9a419ba44ade3d3c946e2af662aa11fb26c1fb6b58d4541c805bcb979c8f8390374a1f423c54101f180d803e5e4a059 SHA512 734b4ca60ed34ffabac86fc4f5bd5d32c8b22ded33a12bacf9c76cfbce62590a4e8faba2ec0344d69ec6d58613ee02e9f73dbdb8eaf927d452f97421b01ea0ef EBUILD erlang-22.0.2-r1.ebuild 4140 BLAKE2B b490b4dd9d3f9bcd1104a2e87f826d6e1063bb301bdde4523b906e07f52b0e694fdc6e50d53cb09c3569555b2db8ffd49dd4f8695303de37c2dda9860e3c5e24 SHA512 6220b41788af18e7069f5e06a378857e1829e93f213f95d0f379c2d44523fff18d9383cb5ffdeb226999f980c481bc4b83d56473a1f06de1f58a0fa42f6e7420 -MISC metadata.xml 598 BLAKE2B 96580b32a3828261a05374d0559fefc496f8e9ac272e7b5886cc40c1540c378a5931f433a3526d433286c90a376fc98baab9abee390010c419cdfa196b48d65a SHA512 63aa9d7744c3f609ecf3069972959c1c1c1f7d5f32ff79d78c7f438fda88f2f35774b2761ee9cb714f59013465e8f9f70f493bd93225d53e079c39b782ba34e4 +EBUILD erlang-22.0.2.ebuild 4097 BLAKE2B 62317e5f3a47b4c4bdfff3e0c1a736c1f55bd79bba19e8d90ac952c8f3c5596336add108793d535dbc492d24e7189d0677bd42a982c4cbaf06ec5e50f39451bf SHA512 ae5d0a24c628a4de58de10f4b7781d6d98326fb929f426b88ab8249fb8c7b05ec6616aaf26e99223df091cd4a6de4061b68a04c51626359fa391bfc808bf4c4b +MISC metadata.xml 767 BLAKE2B 7b4e24e035cc581418aa0509baad9913b3abb195414f2e91136510a5910b69a186853b352557f1e49280aae7871cc2e033b6e2ea6f22b3b73c88d78853937309 SHA512 c816f414d07fac9433a22bdfb083db600200f45cc0fcc0eb06389056df4ccdfa31767ff0a25b8f7caf1b17dffc303ff3f766a642cfd263c0c723623c31c5a716 diff --git a/dev-lang/erlang/erlang-19.1.ebuild b/dev-lang/erlang/erlang-19.1.ebuild new file mode 100644 index 000000000000..de5385b19eec --- /dev/null +++ b/dev-lang/erlang/erlang-19.1.ebuild @@ -0,0 +1,155 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +WX_GTK_VER="3.0" + +inherit autotools elisp-common eutils java-pkg-opt-2 multilib systemd versionator wxwidgets + +# NOTE: If you need symlinks for binaries please tell maintainers or +# open up a bug to let it be created. + +DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" +HOMEPAGE="https://www.erlang.org/" +SRC_URI="http://erlang.org/download/otp_src_${PV}.tar.gz + http://erlang.org/download/otp_doc_man_${PV}.tar.gz + doc? ( http://erlang.org/download/otp_doc_html_${PV}.tar.gz )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" +IUSE="compat-ethread dirty-schedulers doc emacs hipe java kpoll libressl odbc smp sctp ssl systemd tk wxwidgets" + +RDEPEND=" + ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.7d:0 ) + libressl? ( dev-libs/libressl ) + ) + emacs? ( virtual/emacs ) + java? ( >=virtual/jdk-1.2:* ) + odbc? ( dev-db/unixODBC ) + systemd? ( sys-apps/systemd )" +DEPEND="${RDEPEND} + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] virtual/glu ) + sctp? ( net-misc/lksctp-tools ) + tk? ( dev-lang/tk )" + +S="${WORKDIR}/otp_src_${PV}" + +SITEFILE=50${PN}-gentoo.el + +src_prepare() { + epatch "${FILESDIR}"/18.2.1-wx3.0.patch + + use odbc || sed -i 's: odbc : :' lib/Makefile + + # bug 263129, don't ignore LDFLAGS, reported upstream + sed -e 's:LDFLAGS = \$(DED_LDFLAGS):LDFLAGS += \$(DED_LDFLAGS):' -i "${S}"/lib/megaco/src/flex/Makefile.in + + # don't ignore LDFLAGS, reported upstream + sed -e 's:LDFLAGS = \$(ODBC_LIB) \$(EI_LDFLAGS):LDFLAGS += \$(ODBC_LIB) \$(EI_LDFLAGS):' -i "${S}"/lib/odbc/c_src/Makefile.in + + if ! use wxwidgets; then + sed -i 's: wx : :' lib/Makefile + rm -rf lib/wx + fi + + # Nasty workaround, reported upstream + cp "${S}"/lib/configure.in.src "${S}"/lib/configure.in + + # bug 383697 + sed -i '1i#define OF(x) x' erts/emulator/drivers/common/gzio.c + + cd erts && mv configure.in configure.ac && eautoreconf +} + +src_configure() { + use wxwidgets && need-wxwidgets unicode + use java || export JAVAC=false + + econf \ + --enable-threads \ + $(use_enable sctp) \ + $(use_enable systemd) \ + $(use_enable hipe) \ + $(use_with ssl ssl "${EPREFIX}"/usr) \ + $(use_enable ssl dynamic-ssl-lib) \ + $(use_enable kpoll kernel-poll) \ + $(use_enable smp smp-support) \ + $(use compat-ethread && echo "--enable-ethread-pre-pentium4-compatibility") \ + $(use x64-macos && echo "--enable-darwin-64bit") \ + $(use_enable dirty-schedulers) +} + +src_compile() { + use java || export JAVAC=false + emake + + if use emacs ; then + pushd lib/tools/emacs + elisp-compile *.el + popd + fi +} + +extract_version() { + sed -n -e "/^$2 = \(.*\)$/s::\1:p" "${S}/$1/vsn.mk" +} + +src_install() { + local ERL_LIBDIR=/usr/$(get_libdir)/erlang + local ERL_INTERFACE_VER=$(extract_version lib/erl_interface EI_VSN) + local ERL_ERTS_VER=$(extract_version erts VSN) + + emake INSTALL_PREFIX="${D}" install + dodoc AUTHORS README.md + + dosym "${ERL_LIBDIR}/bin/erl" /usr/bin/erl + dosym "${ERL_LIBDIR}/bin/erlc" /usr/bin/erlc + dosym "${ERL_LIBDIR}/bin/escript" /usr/bin/escript + dosym \ + "${ERL_LIBDIR}/lib/erl_interface-${ERL_INTERFACE_VER}/bin/erl_call" \ + /usr/bin/erl_call + dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam" /usr/bin/beam + use smp && dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam.smp" /usr/bin/beam.smp + + ## Clean up the no longer needed files + rm "${ED}/${ERL_LIBDIR}/Install" + + for i in "${WORKDIR}"/man/man* ; do + dodir "${ERL_LIBDIR}/${i##${WORKDIR}}" + done + for file in "${WORKDIR}"/man/man*/*.[1-9]; do + # doman sucks so we can't use it + cp ${file} "${ED}/${ERL_LIBDIR}"/man/man${file##*.}/ + done + # extend MANPATH, so the normal man command can find it + # see bug 189639 + dodir /etc/env.d/ + echo "MANPATH=\"${EPREFIX}${ERL_LIBDIR}/man\"" > "${ED}/etc/env.d/90erlang" + + if use doc ; then + dohtml -A README,erl,hrl,c,h,kwc,info -r \ + "${WORKDIR}"/doc "${WORKDIR}"/lib "${WORKDIR}"/erts-* + fi + + if use emacs ; then + pushd "${S}" + elisp-install erlang lib/tools/emacs/*.{el,elc} + sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ + "${FILESDIR}"/${SITEFILE} > "${T}"/${SITEFILE} + elisp-site-file-install "${T}"/${SITEFILE} + popd + fi + + newinitd "${FILESDIR}"/epmd.init epmd + systemd_dounit "${FILESDIR}"/epmd.service +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/erlang/erlang-20.3.8.10.ebuild b/dev-lang/erlang/erlang-20.3.8.10.ebuild new file mode 100644 index 000000000000..0e30f8b86d26 --- /dev/null +++ b/dev-lang/erlang/erlang-20.3.8.10.ebuild @@ -0,0 +1,227 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +WX_GTK_VER="3.0" + +inherit autotools elisp-common java-pkg-opt-2 systemd versionator wxwidgets + +# NOTE: If you need symlinks for binaries please tell maintainers or +# open up a bug to let it be created. + +UPSTREAM_V="$(get_version_component_range 1-2)" + +DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" +HOMEPAGE="https://www.erlang.org/" +SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz + http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz + doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" + +IUSE="dirty-schedulers doc emacs hipe java kpoll libressl odbc smp sctp ssl systemd tk wxwidgets" +REQUIRED_USE="dirty-schedulers? ( smp )" #621610 + +RDEPEND=" + ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.7d:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + emacs? ( virtual/emacs ) + java? ( >=virtual/jdk-1.2:* ) + odbc? ( dev-db/unixODBC ) + systemd? ( sys-apps/systemd ) +" +DEPEND="${RDEPEND} + dev-lang/perl + sctp? ( net-misc/lksctp-tools ) + sys-libs/zlib + tk? ( dev-lang/tk ) + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] + virtual/glu ) +" + +S="${WORKDIR}/otp-OTP-${PV}" + +PATCHES=( + "${FILESDIR}/18.2.1-wx3.0.patch" + "${FILESDIR}/${PN}-20.3.2-dont-ignore-LDFLAGS.patch" + "${FILESDIR}/${PN}-add-epmd-pid-file-creation-for-openrc.patch" + ) + +SITEFILE=50"${PN}"-gentoo.el + +# Taken from the upstream build script, build_otp +erlang_create_lib_configure_in() { + local bootstrap_apps="erts lib/asn1 lib/compiler lib/hipelib/ic lib/kernel + lib/parsetools lib/sasl lib/snmp lib/stdlib lib/syntax_tools" + local sdirs= + for lib_app in ${bootstrap_apps}; do + case "${lib_app}" in + lib/*) + if [[ -f "${lib_app}/configure.in" ]]; then + mv "${lib_app}/configure.in" "${lib_app}/configure.ac" || die + app=`echo "${lib_app}" | sed "s|lib/\(.*\)|\1|"` + sdirs="${sdirs}test ! -f ${app}/configure || AC_CONFIG_SUBDIRS(${app}/.)\n" || die + fi;; + *) + ;; + esac + done + + local sed_bootstrap="s%@BOOTSTRAP_CONFIGURE_APPS@%$sdirs%g" + + sdirs= + for lib_app in lib/*; do + local is_bapp=false + for bapp in ${bootstrap_apps}; do + test "${bapp} != ${lib_app}" || { "${is_bapp}"=true; break; } + done + if [[ "${is_bapp}" = false ]] && [[ -f "${lib_app}/configure.in" ]]; then + mv "${lib_app}/configure.in" "${lib_app}/configure.ac" || die + app=`echo "${lib_app}" | sed "s|lib/\(.*\)|\1|"` || die + sdirs="${sdirs} test ! -f ${app}/configure || AC_CONFIG_SUBDIRS(${app}/.)\n" + fi + done + + local sed_non_bootstrap="s%@NON_BOOTSTRAP_CONFIGURE_APPS@%$sdirs%g" + + rm -f lib/configure.in || die + sed "$sed_bootstrap;$sed_non_bootstrap" > lib/configure.ac < lib/configure.in.src || die "Failed to create lib/configure.ac" + +} + +# Taken from the upstream build script, build_otp +erlang_distribute_config_helpers() { + local aclocal_dirs=". ./lib/erl_interface ./lib/odbc ./lib/wx ./lib/megaco" + local autoconf_aux_dirs="./lib/common_test/priv/auxdir ./lib/erl_interface/src/auxdir ./lib/common_test/test_server ./lib/wx/autoconf" + + local aclocal_master="./erts/aclocal.m4" + local install_sh_master="./erts/autoconf/install-sh" + local config_guess_master="./erts/autoconf/config.guess" + local config_sub_master="./erts/autoconf/config.sub" + + for dir in ${aclocal_dirs}; do + "${install_sh_master}" -m 644 -t "${dir}" "${aclocal_master}" || die + done + + for dir in ${autoconf_aux_dirs}; do + "${install_sh_master}" -d "${dir}" || die + "${install_sh_master}" -t "${dir}" "${install_sh_master}" || die + "${install_sh_master}" -t "${dir}" "${config_guess_master}" || die + "${install_sh_master}" -t "${dir}" "${config_sub_master}" || die + done +} + +src_prepare() { + default + + # Determines which directories to recurse into with autoconf + erlang_create_lib_configure_in + + # Move local autoconf files into the neccessary directories + erlang_distribute_config_helpers + + java-pkg-opt-2_src_prepare + + eautoreconf +} + +src_configure() { + use wxwidgets && need-wxwidgets unicode + + econf \ + --disable-builtin-zlib \ + $(use_enable dirty-schedulers) \ + $(use_enable hipe) \ + $(use_enable kpoll kernel-poll) \ + $(use_with java javac) \ + $(use_with odbc) \ + $(use_enable sctp) \ + $(use_enable smp smp-support) \ + $(use_with ssl) \ + $(use_with ssl ssl-rpath "no") \ + $(use_enable ssl dynamic-ssl-lib) \ + $(use_enable systemd) \ + --enable-threads +} + +src_compile() { + emake + + if use emacs ; then + pushd lib/tools/emacs &>/dev/null || die + elisp-compile *.el + popd &>/dev/null || die + fi +} + +extract_version() { + sed -n -e "/^$2 = \(.*\)$/s::\1:p" "${S}/$1/vsn.mk" +} + +src_install() { + local ERL_LIBDIR="/usr/$(get_libdir)/erlang" + local ERL_INTERFACE_VER="$(extract_version lib/erl_interface EI_VSN)" + local ERL_ERTS_VER="$(extract_version erts VSN)" + local MY_MANPATH="/usr/share/${PN}/man" + + [[ -z "${ERL_ERTS_VER}" ]] && die "Couldn't determine erts version" + [[ -z "${ERL_INTERFACE_VER}" ]] && die "Couldn't determine interface version" + + emake INSTALL_PREFIX="${D}" install + + if use doc ; then + local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* ) + docompress -x /usr/share/doc/${PF} + fi + + einstalldocs + + dosym "${ERL_LIBDIR}/bin/erl" /usr/bin/erl + dosym "${ERL_LIBDIR}/bin/erlc" /usr/bin/erlc + dosym "${ERL_LIBDIR}/bin/escript" /usr/bin/escript + dosym \ + "${ERL_LIBDIR}/lib/erl_interface-${ERL_INTERFACE_VER}/bin/erl_call" \ + /usr/bin/erl_call + + if use smp; then + dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam.smp" /usr/bin/beam.smp + else + dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam" /usr/bin/beam + fi + + ## Clean up the no longer needed files + rm "${ED}/${ERL_LIBDIR}/Install" || die + + insinto "${MY_MANPATH}" + + doins -r "${WORKDIR}"/man/* + + # extend MANPATH, so the normal man command can find it + # see bug 189639 + echo "MANPATH=\"${MY_MANPATH}\"" > "${T}/90erlang" || die + doenvd "${T}/90erlang" + + if use emacs ; then + pushd "${S}" &>/dev/null || die + elisp-install erlang lib/tools/emacs/*.{el,elc} + sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ + "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die + elisp-site-file-install "${T}/${SITEFILE}" + popd &>/dev/null || die + fi + + newinitd "${FILESDIR}"/epmd.init epmd + systemd_dounit "${FILESDIR}"/epmd.service +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/erlang/erlang-20.3.8.20.ebuild b/dev-lang/erlang/erlang-20.3.8.20.ebuild new file mode 100644 index 000000000000..22c4fe4d937a --- /dev/null +++ b/dev-lang/erlang/erlang-20.3.8.20.ebuild @@ -0,0 +1,227 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +WX_GTK_VER="3.0" + +inherit autotools elisp-common java-pkg-opt-2 systemd versionator wxwidgets + +# NOTE: If you need symlinks for binaries please tell maintainers or +# open up a bug to let it be created. + +UPSTREAM_V="$(get_version_component_range 1-2)" + +DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" +HOMEPAGE="https://www.erlang.org/" +SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz + http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz + doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" + +IUSE="dirty-schedulers doc emacs hipe java kpoll libressl odbc smp sctp ssl systemd tk wxwidgets" +REQUIRED_USE="dirty-schedulers? ( smp )" #621610 + +RDEPEND=" + ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.7d:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + emacs? ( virtual/emacs ) + java? ( >=virtual/jdk-1.2:* ) + odbc? ( dev-db/unixODBC ) + systemd? ( sys-apps/systemd ) +" +DEPEND="${RDEPEND} + dev-lang/perl + sctp? ( net-misc/lksctp-tools ) + sys-libs/zlib + tk? ( dev-lang/tk ) + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] + virtual/glu ) +" + +S="${WORKDIR}/otp-OTP-${PV}" + +PATCHES=( + "${FILESDIR}/18.2.1-wx3.0.patch" + "${FILESDIR}/${PN}-20.3.2-dont-ignore-LDFLAGS.patch" + "${FILESDIR}/${PN}-add-epmd-pid-file-creation-for-openrc.patch" + ) + +SITEFILE=50"${PN}"-gentoo.el + +# Taken from the upstream build script, build_otp +erlang_create_lib_configure_in() { + local bootstrap_apps="erts lib/asn1 lib/compiler lib/hipelib/ic lib/kernel + lib/parsetools lib/sasl lib/snmp lib/stdlib lib/syntax_tools" + local sdirs= + for lib_app in ${bootstrap_apps}; do + case "${lib_app}" in + lib/*) + if [[ -f "${lib_app}/configure.in" ]]; then + mv "${lib_app}/configure.in" "${lib_app}/configure.ac" || die + app=`echo "${lib_app}" | sed "s|lib/\(.*\)|\1|"` + sdirs="${sdirs}test ! -f ${app}/configure || AC_CONFIG_SUBDIRS(${app}/.)\n" || die + fi;; + *) + ;; + esac + done + + local sed_bootstrap="s%@BOOTSTRAP_CONFIGURE_APPS@%$sdirs%g" + + sdirs= + for lib_app in lib/*; do + local is_bapp=false + for bapp in ${bootstrap_apps}; do + test "${bapp} != ${lib_app}" || { "${is_bapp}"=true; break; } + done + if [[ "${is_bapp}" = false ]] && [[ -f "${lib_app}/configure.in" ]]; then + mv "${lib_app}/configure.in" "${lib_app}/configure.ac" || die + app=`echo "${lib_app}" | sed "s|lib/\(.*\)|\1|"` || die + sdirs="${sdirs} test ! -f ${app}/configure || AC_CONFIG_SUBDIRS(${app}/.)\n" + fi + done + + local sed_non_bootstrap="s%@NON_BOOTSTRAP_CONFIGURE_APPS@%$sdirs%g" + + rm -f lib/configure.in || die + sed "$sed_bootstrap;$sed_non_bootstrap" > lib/configure.ac < lib/configure.in.src || die "Failed to create lib/configure.ac" + +} + +# Taken from the upstream build script, build_otp +erlang_distribute_config_helpers() { + local aclocal_dirs=". ./lib/erl_interface ./lib/odbc ./lib/wx ./lib/megaco" + local autoconf_aux_dirs="./lib/common_test/priv/auxdir ./lib/erl_interface/src/auxdir ./lib/common_test/test_server ./lib/wx/autoconf" + + local aclocal_master="./erts/aclocal.m4" + local install_sh_master="./erts/autoconf/install-sh" + local config_guess_master="./erts/autoconf/config.guess" + local config_sub_master="./erts/autoconf/config.sub" + + for dir in ${aclocal_dirs}; do + "${install_sh_master}" -m 644 -t "${dir}" "${aclocal_master}" || die + done + + for dir in ${autoconf_aux_dirs}; do + "${install_sh_master}" -d "${dir}" || die + "${install_sh_master}" -t "${dir}" "${install_sh_master}" || die + "${install_sh_master}" -t "${dir}" "${config_guess_master}" || die + "${install_sh_master}" -t "${dir}" "${config_sub_master}" || die + done +} + +src_prepare() { + default + + # Determines which directories to recurse into with autoconf + erlang_create_lib_configure_in + + # Move local autoconf files into the neccessary directories + erlang_distribute_config_helpers + + java-pkg-opt-2_src_prepare + + eautoreconf +} + +src_configure() { + use wxwidgets && need-wxwidgets unicode + + econf \ + --disable-builtin-zlib \ + $(use_enable dirty-schedulers) \ + $(use_enable hipe) \ + $(use_enable kpoll kernel-poll) \ + $(use_with java javac) \ + $(use_with odbc) \ + $(use_enable sctp) \ + $(use_enable smp smp-support) \ + $(use_with ssl) \ + $(use_with ssl ssl-rpath "no") \ + $(use_enable ssl dynamic-ssl-lib) \ + $(use_enable systemd) \ + --enable-threads +} + +src_compile() { + emake + + if use emacs ; then + pushd lib/tools/emacs &>/dev/null || die + elisp-compile *.el + popd &>/dev/null || die + fi +} + +extract_version() { + sed -n -e "/^$2 = \(.*\)$/s::\1:p" "${S}/$1/vsn.mk" +} + +src_install() { + local ERL_LIBDIR="/usr/$(get_libdir)/erlang" + local ERL_INTERFACE_VER="$(extract_version lib/erl_interface EI_VSN)" + local ERL_ERTS_VER="$(extract_version erts VSN)" + local MY_MANPATH="/usr/share/${PN}/man" + + [[ -z "${ERL_ERTS_VER}" ]] && die "Couldn't determine erts version" + [[ -z "${ERL_INTERFACE_VER}" ]] && die "Couldn't determine interface version" + + emake INSTALL_PREFIX="${D}" install + + if use doc ; then + local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* ) + docompress -x /usr/share/doc/${PF} + fi + + einstalldocs + + dosym "${ERL_LIBDIR}/bin/erl" /usr/bin/erl + dosym "${ERL_LIBDIR}/bin/erlc" /usr/bin/erlc + dosym "${ERL_LIBDIR}/bin/escript" /usr/bin/escript + dosym \ + "${ERL_LIBDIR}/lib/erl_interface-${ERL_INTERFACE_VER}/bin/erl_call" \ + /usr/bin/erl_call + + if use smp; then + dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam.smp" /usr/bin/beam.smp + else + dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam" /usr/bin/beam + fi + + ## Clean up the no longer needed files + rm "${ED}/${ERL_LIBDIR}/Install" || die + + insinto "${MY_MANPATH}" + + doins -r "${WORKDIR}"/man/* + + # extend MANPATH, so the normal man command can find it + # see bug 189639 + echo "MANPATH=\"${MY_MANPATH}\"" > "${T}/90erlang" || die + doenvd "${T}/90erlang" + + if use emacs ; then + pushd "${S}" &>/dev/null || die + elisp-install erlang lib/tools/emacs/*.{el,elc} + sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ + "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die + elisp-site-file-install "${T}/${SITEFILE}" + popd &>/dev/null || die + fi + + newinitd "${FILESDIR}"/epmd.init epmd + systemd_dounit "${FILESDIR}"/epmd.service +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/erlang/erlang-20.3.ebuild b/dev-lang/erlang/erlang-20.3.ebuild new file mode 100644 index 000000000000..afdfa64d151c --- /dev/null +++ b/dev-lang/erlang/erlang-20.3.ebuild @@ -0,0 +1,174 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +WX_GTK_VER="3.0" + +inherit autotools elisp-common java-pkg-opt-2 systemd versionator wxwidgets + +# NOTE: If you need symlinks for binaries please tell maintainers or +# open up a bug to let it be created. + +DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" +HOMEPAGE="https://www.erlang.org/" +SRC_URI="http://erlang.org/download/otp_src_${PV}.tar.gz + http://erlang.org/download/otp_doc_man_${PV}.tar.gz + doc? ( http://erlang.org/download/otp_doc_html_${PV}.tar.gz )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" + +IUSE="compat-ethread dirty-schedulers doc emacs hipe java kpoll libressl odbc smp sctp ssl systemd tk wxwidgets" +REQUIRED_USE="dirty-schedulers? ( smp )" #621610 + +# False positives caused by nested configure scripts +QA_CONFIGURE_OPTIONS="--disable-silent-rules" + +RDEPEND=" + ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.7d:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + emacs? ( virtual/emacs ) + java? ( >=virtual/jdk-1.2:* ) + odbc? ( dev-db/unixODBC ) + systemd? ( sys-apps/systemd ) +" +DEPEND="${RDEPEND} + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] virtual/glu ) + sctp? ( net-misc/lksctp-tools ) + tk? ( dev-lang/tk ) +" + +S="${WORKDIR}/otp_src_${PV}" + +SITEFILE=50${PN}-gentoo.el + +src_prepare() { + default + + eapply "${FILESDIR}"/18.2.1-wx3.0.patch \ + "${FILESDIR}"/${PN}-add-epmd-pid-file-creation-for-openrc.patch + + if ! use odbc; then + sed -i 's: odbc : :' lib/Makefile || die + rm -rf lib/odbc/ + fi + + # bug 263129, don't ignore LDFLAGS, reported upstream + sed -e 's:LDFLAGS = \$(DED_LDFLAGS):LDFLAGS += \$(DED_LDFLAGS):' -i "${S}"/lib/megaco/src/flex/Makefile.in + + # don't ignore LDFLAGS, reported upstream + use odbc && sed -e 's:LDFLAGS = \$(ODBC_LIB) \$(EI_LDFLAGS):LDFLAGS += \$(ODBC_LIB) \$(EI_LDFLAGS):' -i "${S}"/lib/odbc/c_src/Makefile.in + + if ! use wxwidgets; then + sed -i 's: wx : :' lib/Makefile + rm -rf lib/wx + fi + + # Nasty workaround, reported upstream + cp "${S}"/lib/configure.in.src "${S}"/lib/configure.in + + # bug 383697 + sed -i '1i#define OF(x) x' erts/emulator/drivers/common/gzio.c + + cd erts && mv configure.in configure.ac && eautoreconf +} + +src_configure() { + use wxwidgets && need-wxwidgets unicode + use java || export JAVAC=false + + econf \ + --enable-threads \ + $(use_enable sctp) \ + $(use_enable systemd) \ + $(use_enable hipe) \ + $(use_with ssl ssl "${EPREFIX}"/usr) \ + $(use_enable ssl dynamic-ssl-lib) \ + $(use_enable kpoll kernel-poll) \ + $(use_enable smp smp-support) \ + $(use compat-ethread && echo "--enable-ethread-pre-pentium4-compatibility") \ + $(use x64-macos && echo "--enable-darwin-64bit") \ + $(use_enable dirty-schedulers) +} + +src_compile() { + use java || export JAVAC=false + emake + + if use emacs ; then + pushd lib/tools/emacs + elisp-compile *.el + popd + fi +} + +extract_version() { + sed -n -e "/^$2 = \(.*\)$/s::\1:p" "${S}/$1/vsn.mk" +} + +src_install() { + local ERL_LIBDIR=/usr/$(get_libdir)/erlang + local ERL_INTERFACE_VER=$(extract_version lib/erl_interface EI_VSN) + local ERL_ERTS_VER=$(extract_version erts VSN) + + emake INSTALL_PREFIX="${D}" install + einstalldocs + + dosym "${ERL_LIBDIR}/bin/erl" /usr/bin/erl + dosym "${ERL_LIBDIR}/bin/erlc" /usr/bin/erlc + dosym "${ERL_LIBDIR}/bin/escript" /usr/bin/escript + dosym \ + "${ERL_LIBDIR}/lib/erl_interface-${ERL_INTERFACE_VER}/bin/erl_call" \ + /usr/bin/erl_call + + if use smp; then + dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam.smp" /usr/bin/beam.smp + else + dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam" /usr/bin/beam + fi + + ## Clean up the no longer needed files + rm "${ED}/${ERL_LIBDIR}/Install" + + for i in "${WORKDIR}"/man/man* ; do + dodir "${ERL_LIBDIR}/${i##${WORKDIR}}" + done + for file in "${WORKDIR}"/man/man*/*.[1-9]; do + # doman sucks so we can't use it + cp ${file} "${ED}/${ERL_LIBDIR}"/man/man${file##*.}/ + done + # extend MANPATH, so the normal man command can find it + # see bug 189639 + dodir /etc/env.d/ + echo "MANPATH=\"${EPREFIX}${ERL_LIBDIR}/man\"" > "${ED}/etc/env.d/90erlang" + + if use doc ; then + local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc "${WORKDIR}"/lib "${WORKDIR}"/erts-* ) + docompress -x /usr/share/doc/${PF} + fi + + einstalldocs + + if use emacs ; then + pushd "${S}" + elisp-install erlang lib/tools/emacs/*.{el,elc} + sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ + "${FILESDIR}"/${SITEFILE} > "${T}"/${SITEFILE} + elisp-site-file-install "${T}"/${SITEFILE} + popd + fi + + newinitd "${FILESDIR}"/epmd.init epmd + systemd_dounit "${FILESDIR}"/epmd.service +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/erlang/erlang-21.2.6.ebuild b/dev-lang/erlang/erlang-21.2.6.ebuild new file mode 100644 index 000000000000..ec653705b1a1 --- /dev/null +++ b/dev-lang/erlang/erlang-21.2.6.ebuild @@ -0,0 +1,160 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +WX_GTK_VER="3.0" + +inherit autotools eapi7-ver elisp-common java-pkg-opt-2 systemd wxwidgets + +# NOTE: If you need symlinks for binaries please tell maintainers or +# open up a bug to let it be created. + +UPSTREAM_V="$(ver_cut 1-2)" + +DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" +HOMEPAGE="https://www.erlang.org/" +SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz + http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz + doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" +IUSE="doc emacs +hipe java +kpoll libressl odbc pgo sctp ssl systemd tk wxwidgets" + +RDEPEND=" + sys-libs/ncurses:0 + sys-libs/zlib + emacs? ( virtual/emacs ) + java? ( >=virtual/jdk-1.8:* ) + odbc? ( dev-db/unixODBC ) + sctp? ( net-misc/lksctp-tools ) + ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.7d:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + systemd? ( sys-apps/systemd ) + tk? ( dev-lang/tk:0 ) + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] ) +" +DEPEND="${RDEPEND} + dev-lang/perl +" + +S="${WORKDIR}/otp-OTP-${PV}" + +PATCHES=( + "${FILESDIR}/18.2.1-wx3.0.patch" + "${FILESDIR}/${PN}-20.3.2-dont-ignore-LDFLAGS.patch" + "${FILESDIR}/${PN}-add-epmd-pid-file-creation-for-openrc.patch" + "${FILESDIR}/${PN}-custom-autoconf.patch" +) + +SITEFILE=50"${PN}"-gentoo.el + +src_prepare() { + default + + ./otp_build autoconf + find -name configure.in -execdir mv '{}' configure.ac \; || die "find failed" + eautoreconf +} + +src_configure() { + use wxwidgets && setup-wxwidgets + + local myconf=( + --disable-builtin-zlib + $(use_enable hipe) + $(use_enable kpoll kernel-poll) + $(use_with java javac) + $(use_with odbc) + $(use_enable sctp) + $(use_with ssl ssl "${EPREFIX}"/usr) + $(use_enable ssl dynamic-ssl-lib) + $(use_enable systemd) + $(use_enable pgo) + $(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null") + --enable-threads + ) + econf "${myconf[@]}" +} + +src_compile() { + if use pgo; then + # disable distcc and ccache + export DISTCC_HOSTS="" + export CCACHE_DISABLE=1 + fi + + emake + + if use emacs ; then + pushd lib/tools/emacs &>/dev/null || die + elisp-compile *.el + popd &>/dev/null || die + fi +} + +extract_version() { + local path="$1" + local var_name="$2" + sed -n -e "/^${var_name} = \(.*\)$/s::\1:p" "${S}/${path}/vsn.mk" || die "extract_version() failed" +} + +src_install() { + local erl_libdir_rel="$(get_libdir)/erlang" + local erl_libdir="/usr/${erl_libdir_rel}" + local erl_interface_ver="$(extract_version lib/erl_interface EI_VSN)" + local erl_erts_ver="$(extract_version erts VSN)" + local my_manpath="/usr/share/${PN}/man" + + [[ -z "${erl_erts_ver}" ]] && die "Couldn't determine erts version" + [[ -z "${erl_interface_ver}" ]] && die "Couldn't determine interface version" + + emake INSTALL_PREFIX="${D}" install + + if use doc ; then + local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* ) + docompress -x /usr/share/doc/${PF} + else + local DOCS=("README.md") + fi + + einstalldocs + + dosym "../${erl_libdir_rel}/bin/erl" /usr/bin/erl + dosym "../${erl_libdir_rel}/bin/erlc" /usr/bin/erlc + dosym "../${erl_libdir_rel}/bin/escript" /usr/bin/escript + dosym "../${erl_libdir_rel}/lib/erl_interface-${erl_interface_ver}/bin/erl_call" /usr/bin/erl_call + dosym "../${erl_libdir_rel}/erts-${erl_erts_ver}/bin/beam.smp" /usr/bin/beam.smp + + ## Clean up the no longer needed files + rm "${ED}/${erl_libdir}/Install" || die + + insinto "${my_manpath}" + doins -r "${WORKDIR}"/man/* + # extend MANPATH, so the normal man command can find it + # see bug 189639 + newenvd - "90erlang" <<-_EOF_ + MANPATH="${my_manpath}" + _EOF_ + + if use emacs ; then + elisp-install erlang lib/tools/emacs/*.{el,elc} + sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ + "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die + elisp-site-file-install "${T}/${SITEFILE}" + fi + + newinitd "${FILESDIR}"/epmd.init epmd + use systemd && systemd_dounit "${FILESDIR}"/epmd.service +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/erlang/erlang-21.2.7.ebuild b/dev-lang/erlang/erlang-21.2.7.ebuild new file mode 100644 index 000000000000..ec653705b1a1 --- /dev/null +++ b/dev-lang/erlang/erlang-21.2.7.ebuild @@ -0,0 +1,160 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +WX_GTK_VER="3.0" + +inherit autotools eapi7-ver elisp-common java-pkg-opt-2 systemd wxwidgets + +# NOTE: If you need symlinks for binaries please tell maintainers or +# open up a bug to let it be created. + +UPSTREAM_V="$(ver_cut 1-2)" + +DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" +HOMEPAGE="https://www.erlang.org/" +SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz + http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz + doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" +IUSE="doc emacs +hipe java +kpoll libressl odbc pgo sctp ssl systemd tk wxwidgets" + +RDEPEND=" + sys-libs/ncurses:0 + sys-libs/zlib + emacs? ( virtual/emacs ) + java? ( >=virtual/jdk-1.8:* ) + odbc? ( dev-db/unixODBC ) + sctp? ( net-misc/lksctp-tools ) + ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.7d:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + systemd? ( sys-apps/systemd ) + tk? ( dev-lang/tk:0 ) + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] ) +" +DEPEND="${RDEPEND} + dev-lang/perl +" + +S="${WORKDIR}/otp-OTP-${PV}" + +PATCHES=( + "${FILESDIR}/18.2.1-wx3.0.patch" + "${FILESDIR}/${PN}-20.3.2-dont-ignore-LDFLAGS.patch" + "${FILESDIR}/${PN}-add-epmd-pid-file-creation-for-openrc.patch" + "${FILESDIR}/${PN}-custom-autoconf.patch" +) + +SITEFILE=50"${PN}"-gentoo.el + +src_prepare() { + default + + ./otp_build autoconf + find -name configure.in -execdir mv '{}' configure.ac \; || die "find failed" + eautoreconf +} + +src_configure() { + use wxwidgets && setup-wxwidgets + + local myconf=( + --disable-builtin-zlib + $(use_enable hipe) + $(use_enable kpoll kernel-poll) + $(use_with java javac) + $(use_with odbc) + $(use_enable sctp) + $(use_with ssl ssl "${EPREFIX}"/usr) + $(use_enable ssl dynamic-ssl-lib) + $(use_enable systemd) + $(use_enable pgo) + $(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null") + --enable-threads + ) + econf "${myconf[@]}" +} + +src_compile() { + if use pgo; then + # disable distcc and ccache + export DISTCC_HOSTS="" + export CCACHE_DISABLE=1 + fi + + emake + + if use emacs ; then + pushd lib/tools/emacs &>/dev/null || die + elisp-compile *.el + popd &>/dev/null || die + fi +} + +extract_version() { + local path="$1" + local var_name="$2" + sed -n -e "/^${var_name} = \(.*\)$/s::\1:p" "${S}/${path}/vsn.mk" || die "extract_version() failed" +} + +src_install() { + local erl_libdir_rel="$(get_libdir)/erlang" + local erl_libdir="/usr/${erl_libdir_rel}" + local erl_interface_ver="$(extract_version lib/erl_interface EI_VSN)" + local erl_erts_ver="$(extract_version erts VSN)" + local my_manpath="/usr/share/${PN}/man" + + [[ -z "${erl_erts_ver}" ]] && die "Couldn't determine erts version" + [[ -z "${erl_interface_ver}" ]] && die "Couldn't determine interface version" + + emake INSTALL_PREFIX="${D}" install + + if use doc ; then + local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* ) + docompress -x /usr/share/doc/${PF} + else + local DOCS=("README.md") + fi + + einstalldocs + + dosym "../${erl_libdir_rel}/bin/erl" /usr/bin/erl + dosym "../${erl_libdir_rel}/bin/erlc" /usr/bin/erlc + dosym "../${erl_libdir_rel}/bin/escript" /usr/bin/escript + dosym "../${erl_libdir_rel}/lib/erl_interface-${erl_interface_ver}/bin/erl_call" /usr/bin/erl_call + dosym "../${erl_libdir_rel}/erts-${erl_erts_ver}/bin/beam.smp" /usr/bin/beam.smp + + ## Clean up the no longer needed files + rm "${ED}/${erl_libdir}/Install" || die + + insinto "${my_manpath}" + doins -r "${WORKDIR}"/man/* + # extend MANPATH, so the normal man command can find it + # see bug 189639 + newenvd - "90erlang" <<-_EOF_ + MANPATH="${my_manpath}" + _EOF_ + + if use emacs ; then + elisp-install erlang lib/tools/emacs/*.{el,elc} + sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ + "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die + elisp-site-file-install "${T}/${SITEFILE}" + fi + + newinitd "${FILESDIR}"/epmd.init epmd + use systemd && systemd_dounit "${FILESDIR}"/epmd.service +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/erlang/erlang-21.3-r1.ebuild b/dev-lang/erlang/erlang-21.3-r1.ebuild new file mode 100644 index 000000000000..ed159555d82f --- /dev/null +++ b/dev-lang/erlang/erlang-21.3-r1.ebuild @@ -0,0 +1,162 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +WX_GTK_VER="3.0" + +inherit autotools eapi7-ver elisp-common java-pkg-opt-2 systemd wxwidgets + +# NOTE: If you need symlinks for binaries please tell maintainers or +# open up a bug to let it be created. + +UPSTREAM_V="$(ver_cut 1-2)" + +DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" +HOMEPAGE="https://www.erlang.org/" +SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz + http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz + doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" +IUSE="doc emacs +hipe java +kpoll libressl odbc pgo sctp ssl systemd tk wxwidgets" + +RDEPEND=" + sys-libs/ncurses:0 + sys-libs/zlib + emacs? ( virtual/emacs ) + java? ( >=virtual/jdk-1.8:* ) + odbc? ( dev-db/unixODBC ) + sctp? ( net-misc/lksctp-tools ) + ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.7d:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + systemd? ( sys-apps/systemd ) + tk? ( dev-lang/tk:0 ) + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] ) +" +DEPEND="${RDEPEND} + dev-lang/perl +" + +S="${WORKDIR}/otp-OTP-${PV}" + +PATCHES=( + "${FILESDIR}/18.2.1-wx3.0.patch" + "${FILESDIR}/${PN}-20.3.2-dont-ignore-LDFLAGS.patch" + "${FILESDIR}/${PN}-add-epmd-pid-file-creation-for-openrc.patch" + "${FILESDIR}/${PN}-custom-autoconf.patch" + "${FILESDIR}/${PN}-21.3-lto.patch" + "${FILESDIR}/${PN}-21.3-pgo-loop.patch" +) + +SITEFILE=50"${PN}"-gentoo.el + +src_prepare() { + default + + ./otp_build autoconf + find -name configure.in -execdir mv '{}' configure.ac \; || die "find failed" + eautoreconf +} + +src_configure() { + use wxwidgets && setup-wxwidgets + + local myconf=( + --disable-builtin-zlib + $(use_enable hipe) + $(use_enable kpoll kernel-poll) + $(use_with java javac) + $(use_with odbc) + $(use_enable sctp) + $(use_with ssl ssl "${EPREFIX}"/usr) + $(use_enable ssl dynamic-ssl-lib) + $(use_enable systemd) + $(use_enable pgo) + $(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null") + --enable-threads + ) + econf "${myconf[@]}" +} + +src_compile() { + if use pgo; then + # disable distcc and ccache + export DISTCC_HOSTS="" + export CCACHE_DISABLE=1 + fi + + emake + + if use emacs ; then + pushd lib/tools/emacs &>/dev/null || die + elisp-compile *.el + popd &>/dev/null || die + fi +} + +extract_version() { + local path="$1" + local var_name="$2" + sed -n -e "/^${var_name} = \(.*\)$/s::\1:p" "${S}/${path}/vsn.mk" || die "extract_version() failed" +} + +src_install() { + local erl_libdir_rel="$(get_libdir)/erlang" + local erl_libdir="/usr/${erl_libdir_rel}" + local erl_interface_ver="$(extract_version lib/erl_interface EI_VSN)" + local erl_erts_ver="$(extract_version erts VSN)" + local my_manpath="/usr/share/${PN}/man" + + [[ -z "${erl_erts_ver}" ]] && die "Couldn't determine erts version" + [[ -z "${erl_interface_ver}" ]] && die "Couldn't determine interface version" + + emake INSTALL_PREFIX="${D}" install + + if use doc ; then + local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* ) + docompress -x /usr/share/doc/${PF} + else + local DOCS=("README.md") + fi + + einstalldocs + + dosym "../${erl_libdir_rel}/bin/erl" /usr/bin/erl + dosym "../${erl_libdir_rel}/bin/erlc" /usr/bin/erlc + dosym "../${erl_libdir_rel}/bin/escript" /usr/bin/escript + dosym "../${erl_libdir_rel}/lib/erl_interface-${erl_interface_ver}/bin/erl_call" /usr/bin/erl_call + dosym "../${erl_libdir_rel}/erts-${erl_erts_ver}/bin/beam.smp" /usr/bin/beam.smp + + ## Clean up the no longer needed files + rm "${ED}/${erl_libdir}/Install" || die + + insinto "${my_manpath}" + doins -r "${WORKDIR}"/man/* + # extend MANPATH, so the normal man command can find it + # see bug 189639 + newenvd - "90erlang" <<-_EOF_ + MANPATH="${my_manpath}" + _EOF_ + + if use emacs ; then + elisp-install erlang lib/tools/emacs/*.{el,elc} + sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ + "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die + elisp-site-file-install "${T}/${SITEFILE}" + fi + + newinitd "${FILESDIR}"/epmd.init epmd + use systemd && systemd_dounit "${FILESDIR}"/epmd.service +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/erlang/erlang-21.3.ebuild b/dev-lang/erlang/erlang-21.3.ebuild new file mode 100644 index 000000000000..ec653705b1a1 --- /dev/null +++ b/dev-lang/erlang/erlang-21.3.ebuild @@ -0,0 +1,160 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +WX_GTK_VER="3.0" + +inherit autotools eapi7-ver elisp-common java-pkg-opt-2 systemd wxwidgets + +# NOTE: If you need symlinks for binaries please tell maintainers or +# open up a bug to let it be created. + +UPSTREAM_V="$(ver_cut 1-2)" + +DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" +HOMEPAGE="https://www.erlang.org/" +SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz + http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz + doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" +IUSE="doc emacs +hipe java +kpoll libressl odbc pgo sctp ssl systemd tk wxwidgets" + +RDEPEND=" + sys-libs/ncurses:0 + sys-libs/zlib + emacs? ( virtual/emacs ) + java? ( >=virtual/jdk-1.8:* ) + odbc? ( dev-db/unixODBC ) + sctp? ( net-misc/lksctp-tools ) + ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.7d:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + systemd? ( sys-apps/systemd ) + tk? ( dev-lang/tk:0 ) + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] ) +" +DEPEND="${RDEPEND} + dev-lang/perl +" + +S="${WORKDIR}/otp-OTP-${PV}" + +PATCHES=( + "${FILESDIR}/18.2.1-wx3.0.patch" + "${FILESDIR}/${PN}-20.3.2-dont-ignore-LDFLAGS.patch" + "${FILESDIR}/${PN}-add-epmd-pid-file-creation-for-openrc.patch" + "${FILESDIR}/${PN}-custom-autoconf.patch" +) + +SITEFILE=50"${PN}"-gentoo.el + +src_prepare() { + default + + ./otp_build autoconf + find -name configure.in -execdir mv '{}' configure.ac \; || die "find failed" + eautoreconf +} + +src_configure() { + use wxwidgets && setup-wxwidgets + + local myconf=( + --disable-builtin-zlib + $(use_enable hipe) + $(use_enable kpoll kernel-poll) + $(use_with java javac) + $(use_with odbc) + $(use_enable sctp) + $(use_with ssl ssl "${EPREFIX}"/usr) + $(use_enable ssl dynamic-ssl-lib) + $(use_enable systemd) + $(use_enable pgo) + $(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null") + --enable-threads + ) + econf "${myconf[@]}" +} + +src_compile() { + if use pgo; then + # disable distcc and ccache + export DISTCC_HOSTS="" + export CCACHE_DISABLE=1 + fi + + emake + + if use emacs ; then + pushd lib/tools/emacs &>/dev/null || die + elisp-compile *.el + popd &>/dev/null || die + fi +} + +extract_version() { + local path="$1" + local var_name="$2" + sed -n -e "/^${var_name} = \(.*\)$/s::\1:p" "${S}/${path}/vsn.mk" || die "extract_version() failed" +} + +src_install() { + local erl_libdir_rel="$(get_libdir)/erlang" + local erl_libdir="/usr/${erl_libdir_rel}" + local erl_interface_ver="$(extract_version lib/erl_interface EI_VSN)" + local erl_erts_ver="$(extract_version erts VSN)" + local my_manpath="/usr/share/${PN}/man" + + [[ -z "${erl_erts_ver}" ]] && die "Couldn't determine erts version" + [[ -z "${erl_interface_ver}" ]] && die "Couldn't determine interface version" + + emake INSTALL_PREFIX="${D}" install + + if use doc ; then + local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* ) + docompress -x /usr/share/doc/${PF} + else + local DOCS=("README.md") + fi + + einstalldocs + + dosym "../${erl_libdir_rel}/bin/erl" /usr/bin/erl + dosym "../${erl_libdir_rel}/bin/erlc" /usr/bin/erlc + dosym "../${erl_libdir_rel}/bin/escript" /usr/bin/escript + dosym "../${erl_libdir_rel}/lib/erl_interface-${erl_interface_ver}/bin/erl_call" /usr/bin/erl_call + dosym "../${erl_libdir_rel}/erts-${erl_erts_ver}/bin/beam.smp" /usr/bin/beam.smp + + ## Clean up the no longer needed files + rm "${ED}/${erl_libdir}/Install" || die + + insinto "${my_manpath}" + doins -r "${WORKDIR}"/man/* + # extend MANPATH, so the normal man command can find it + # see bug 189639 + newenvd - "90erlang" <<-_EOF_ + MANPATH="${my_manpath}" + _EOF_ + + if use emacs ; then + elisp-install erlang lib/tools/emacs/*.{el,elc} + sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ + "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die + elisp-site-file-install "${T}/${SITEFILE}" + fi + + newinitd "${FILESDIR}"/epmd.init epmd + use systemd && systemd_dounit "${FILESDIR}"/epmd.service +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/erlang/erlang-22.0.2.ebuild b/dev-lang/erlang/erlang-22.0.2.ebuild new file mode 100644 index 000000000000..0887db0d747d --- /dev/null +++ b/dev-lang/erlang/erlang-22.0.2.ebuild @@ -0,0 +1,147 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +WX_GTK_VER="3.0" + +inherit eapi7-ver elisp-common java-pkg-opt-2 systemd wxwidgets + +# NOTE: If you need symlinks for binaries please tell maintainers or +# open up a bug to let it be created. + +UPSTREAM_V="$(ver_cut 1-2)" + +DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" +HOMEPAGE="https://www.erlang.org/" +SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz + http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz + doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" +IUSE="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets" + +RDEPEND=" + sys-libs/ncurses:0 + sys-libs/zlib + emacs? ( virtual/emacs ) + java? ( >=virtual/jdk-1.8:* ) + odbc? ( dev-db/unixODBC ) + sctp? ( net-misc/lksctp-tools ) + ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.7d:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + systemd? ( sys-apps/systemd ) + tk? ( dev-lang/tk:0 ) + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] ) +" +DEPEND="${RDEPEND} + dev-lang/perl +" + +S="${WORKDIR}/otp-OTP-${PV}" + +PATCHES=( + "${FILESDIR}/18.2.1-wx3.0.patch" + "${FILESDIR}/${PN}-22.0-dont-ignore-LDFLAGS.patch" + "${FILESDIR}/${PN}-add-epmd-pid-file-creation-for-openrc.patch" +) + +SITEFILE=50"${PN}"-gentoo.el + +src_prepare() { + default + + ./otp_build autoconf +} + +src_configure() { + use wxwidgets && setup-wxwidgets + + local myconf=( + --disable-builtin-zlib + $(use_enable hipe) + $(use_enable kpoll kernel-poll) + $(use_with java javac) + $(use_enable sctp) + $(use_with ssl ssl "${EPREFIX}"/usr) + $(use_enable ssl dynamic-ssl-lib) + $(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null") + ) + econf "${myconf[@]}" +} + +src_compile() { + emake + + if use emacs ; then + pushd lib/tools/emacs &>/dev/null || die + elisp-compile *.el + popd &>/dev/null || die + fi +} + +extract_version() { + local path="$1" + local var_name="$2" + sed -n -e "/^${var_name} = \(.*\)$/s::\1:p" "${S}/${path}/vsn.mk" || die "extract_version() failed" +} + +src_install() { + local erl_libdir_rel="$(get_libdir)/erlang" + local erl_libdir="/usr/${erl_libdir_rel}" + local erl_interface_ver="$(extract_version lib/erl_interface EI_VSN)" + local erl_erts_ver="$(extract_version erts VSN)" + local my_manpath="/usr/share/${PN}/man" + + [[ -z "${erl_erts_ver}" ]] && die "Couldn't determine erts version" + [[ -z "${erl_interface_ver}" ]] && die "Couldn't determine interface version" + + emake INSTALL_PREFIX="${D}" install + + if use doc ; then + local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* ) + docompress -x /usr/share/doc/${PF} + else + local DOCS=("README.md") + fi + + einstalldocs + + dosym "../${erl_libdir_rel}/bin/erl" /usr/bin/erl + dosym "../${erl_libdir_rel}/bin/erlc" /usr/bin/erlc + dosym "../${erl_libdir_rel}/bin/escript" /usr/bin/escript + dosym "../${erl_libdir_rel}/lib/erl_interface-${erl_interface_ver}/bin/erl_call" /usr/bin/erl_call + dosym "../${erl_libdir_rel}/erts-${erl_erts_ver}/bin/beam.smp" /usr/bin/beam.smp + + ## Clean up the no longer needed files + rm "${ED}/${erl_libdir}/Install" || die + + insinto "${my_manpath}" + doins -r "${WORKDIR}"/man/* + # extend MANPATH, so the normal man command can find it + # see bug 189639 + newenvd - "90erlang" <<-_EOF_ + MANPATH="${my_manpath}" + _EOF_ + + if use emacs ; then + elisp-install erlang lib/tools/emacs/*.{el,elc} + sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ + "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die + elisp-site-file-install "${T}/${SITEFILE}" + fi + + newinitd "${FILESDIR}"/epmd.init epmd + use systemd && systemd_dounit "${FILESDIR}"/epmd.service +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/erlang/files/erlang-21.3-lto.patch b/dev-lang/erlang/files/erlang-21.3-lto.patch new file mode 100644 index 000000000000..c41e89f42c6c --- /dev/null +++ b/dev-lang/erlang/files/erlang-21.3-lto.patch @@ -0,0 +1,140 @@ +https://github.com/erlang/otp/pull/2194 +https://bugs.gentoo.org/681778 + +From ed751968d8dc4c0b58210247e94409a8a52cc501 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich +Date: Thu, 28 Mar 2019 08:38:56 +0000 +Subject: [PATCH] stdlib: fix re:replace on LTO builds + +Fabio Coatti reported elixir build failure in https://bugs.gentoo.org/681778. +The minimal reproducer looks like that (from otp git tree): + + $ ./configure CFLAGS='-O2 -flto' LDFLAGS='-O2 -flto=8' + $ make + $ ERL_TOP=$PWD \ + PATH=$ERL_TOP/bin:$PATH \ + \ + bin/erl \ + \ + -noshell -eval 're:replace("a","b","c",[{return,list}]).' \ + -s erlang halt + + {"init terminating in do_boot",{badarg,[{re,replace,["a","b","c",[{return,list}]], + [{file,"re.erl"},{line,362}]}, + {erl_eval,do_apply,6,[{file,"erl_eval.erl"},{line,680}]}, + {init,start_it,1,[]}, + {init,start_em,1,[]}, + {init,do_boot,3,[]}]}} + init terminating in do_boot ({badarg,[{re,replace,[[_],[_],[_],[_]],[{_},{_}]}, + {erl_eval,do_apply,6,[{_},{_}]},{init,start_it,1,[]},{init,start_em,1,[]},{init,do_boot,3,[]}]}) + Crash dump is being written to: erl_crash.dump...done + +The failure happens in libpcre2 where stack overflow is mis-identified +at function entry of + + erts_pcre_compile2() + compile_regex() + if (PUBL(stack_guard) != NULL && PUBL(stack_guard)()) + { + *errorcodeptr= ERR85; + return FALSE; + } + +The stack "overflow" detection happens in + + thr_wrapper() + ethr_set_stacklimit__() + +because the stack usage code relies on the fact that ethr_set_stacklimit__() +and similar functions don't get inlined into callers for stack growth +measurement. + +Before the change inlining avoidance was achieved by putting functions +into standalone translation units. LTO makes this technique inefficient. + +The change marks functions explicitly as __attribute__((__noinline__)) on gcc. + +Reported-by: Fabio Coatti +Bug: https://bugs.gentoo.org/681778 +Signed-off-by: Sergei Trofimovich +--- + erts/emulator/beam/global.h | 9 +++++---- + erts/emulator/beam/sys.h | 10 ++++++++++ + erts/include/internal/ethr_internal.h | 2 +- + erts/include/internal/ethread_inline.h | 3 +++ + 4 files changed, 19 insertions(+), 5 deletions(-) + +diff --git a/erts/emulator/beam/global.h b/erts/emulator/beam/global.h +index f9bbe4167f9..4c8d3d3dbe6 100644 +--- a/erts/emulator/beam/global.h ++++ b/erts/emulator/beam/global.h +@@ -1216,10 +1216,11 @@ Uint64 erts_timestamp_millis(void); + + Export* erts_find_function(Eterm, Eterm, unsigned int, ErtsCodeIndex); + +-void *erts_calc_stacklimit(char *prev_c, UWord stacksize); +-int erts_check_below_limit(char *ptr, char *limit); +-int erts_check_above_limit(char *ptr, char *limit); +-void *erts_ptr_id(void *ptr); ++/* ERTS_NOINLINE prevents link-time optimization across modules */ ++void *erts_calc_stacklimit(char *prev_c, UWord stacksize) ERTS_NOINLINE; ++int erts_check_below_limit(char *ptr, char *limit) ERTS_NOINLINE; ++int erts_check_above_limit(char *ptr, char *limit) ERTS_NOINLINE; ++void *erts_ptr_id(void *ptr) ERTS_NOINLINE; + + Eterm store_external_or_ref_in_proc_(Process *, Eterm); + Eterm store_external_or_ref_(Uint **, ErlOffHeap*, Eterm); +diff --git a/erts/emulator/beam/sys.h b/erts/emulator/beam/sys.h +index a6312293cc8..24b6738e082 100644 +--- a/erts/emulator/beam/sys.h ++++ b/erts/emulator/beam/sys.h +@@ -63,6 +63,16 @@ + # endif + #endif + ++#ifndef ERTS_NOINLINE ++# if ERTS_AT_LEAST_GCC_VSN__(3,1,1) ++# define ERTS_NOINLINE __attribute__((__noinline__)) ++# elif defined(__WIN32__) ++# define ERTS_NOINLINE __declspec(noinline) ++# else ++# define ERTS_NOINLINE ++# endif ++#endif ++ + #if defined(DEBUG) || defined(ERTS_ENABLE_LOCK_CHECK) + # undef ERTS_CAN_INLINE + # define ERTS_CAN_INLINE 0 +diff --git a/erts/include/internal/ethr_internal.h b/erts/include/internal/ethr_internal.h +index ac27ff2ed09..17ec84c52b6 100644 +--- a/erts/include/internal/ethr_internal.h ++++ b/erts/include/internal/ethr_internal.h +@@ -90,7 +90,7 @@ int ethr_init_common__(ethr_init_data *id); + int ethr_late_init_common__(ethr_late_init_data *lid); + void ethr_run_exit_handlers__(void); + void ethr_ts_event_destructor__(void *vtsep); +-void ethr_set_stacklimit__(char *prev_c, size_t stacksize); ++void ethr_set_stacklimit__(char *prev_c, size_t stacksize) ETHR_NOINLINE; + + #if defined(ETHR_X86_RUNTIME_CONF__) + void ethr_x86_cpuid__(int *eax, int *ebx, int *ecx, int *edx); +diff --git a/erts/include/internal/ethread_inline.h b/erts/include/internal/ethread_inline.h +index 8e6bcfc4a8c..f25ba4ae721 100644 +--- a/erts/include/internal/ethread_inline.h ++++ b/erts/include/internal/ethread_inline.h +@@ -62,12 +62,15 @@ + # define ETHR_INLINE __inline__ + # if ETHR_AT_LEAST_GCC_VSN__(3, 1, 1) + # define ETHR_FORCE_INLINE __inline__ __attribute__((__always_inline__)) ++# define ETHR_NOINLINE __attribute__((__noinline__)) + # else + # define ETHR_FORCE_INLINE __inline__ ++# define ETHR_NOINLINE + # endif + #elif defined(__WIN32__) + # define ETHR_INLINE __forceinline + # define ETHR_FORCE_INLINE __forceinline ++# define ETHR_NOINLINE __declspec(noinline) + #endif + + #endif /* #ifndef ETHREAD_INLINE_H__ */ diff --git a/dev-lang/erlang/files/erlang-21.3-pgo-loop.patch b/dev-lang/erlang/files/erlang-21.3-pgo-loop.patch new file mode 100644 index 000000000000..82add992a448 --- /dev/null +++ b/dev-lang/erlang/files/erlang-21.3-pgo-loop.patch @@ -0,0 +1,13 @@ +https://bugs.gentoo.org/686786 + +--- a/erts/configure.in ++++ b/erts/configure.in +@@ -682,7 +682,7 @@ elif test "X$PROFILE_INSTR_GENERATE" = "Xtrue" -a "X$PROFILE_INSTR_USE" = "Xtrue + PROFILE_COMPILER=clang + AC_MSG_RESULT([yes, using -fprofile-instr-generate]) + else +- if $enable_pgo = yes; then ++ if test $enable_pgo = yes; then + AC_MSG_ERROR(cannot use PGO with this compiler) + else + AC_MSG_RESULT([no]) diff --git a/dev-lang/erlang/metadata.xml b/dev-lang/erlang/metadata.xml index da056a8cdd3f..2f3f0770a55f 100644 --- a/dev-lang/erlang/metadata.xml +++ b/dev-lang/erlang/metadata.xml @@ -3,6 +3,8 @@ + Enable compatibility with pre-pentium 4 CPUs in the ethread library. + Enable dirty schedulers HIgh Performance Erlang extension Enable kernel polling support Build erts with profile-guided optimizations -- cgit v1.2.3