From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id B489015808E for ; Thu, 28 Apr 2022 00:46:49 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id C7547E086D; Thu, 28 Apr 2022 00:46:48 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 84C0FE086D for ; Thu, 28 Apr 2022 00:46:48 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 425553410AE for ; Thu, 28 Apr 2022 00:46:47 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 6DDBA3F0 for ; Thu, 28 Apr 2022 00:46:45 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1651106797.638b787bdb4744f8ea4357388110a5c7f226e3b5.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/ncurses/ X-VCS-Repository: repo/gentoo X-VCS-Files: sys-libs/ncurses/Manifest sys-libs/ncurses/ncurses-6.3_p20220423-r1.ebuild sys-libs/ncurses/ncurses-6.3_p20220423.ebuild X-VCS-Directories: sys-libs/ncurses/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 638b787bdb4744f8ea4357388110a5c7f226e3b5 X-VCS-Branch: master Date: Thu, 28 Apr 2022 00:46:45 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 9ddfc774-a214-474f-8ba8-308357fde645 X-Archives-Hash: 6af019fa3bab062ac3bb2e8a43912f10 commit: 638b787bdb4744f8ea4357388110a5c7f226e3b5 Author: Sam James gentoo org> AuthorDate: Thu Apr 28 00:45:15 2022 +0000 Commit: Sam James gentoo org> CommitDate: Thu Apr 28 00:46:37 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=638b787b sys-libs/ncurses: add 6.3_p20220423{,-r1} (unkeyworded) Includes FORTIFY_SOURCE=3 (glibc-2.35 + gcc 12+ or Clang 13(?)+ needed for that, plus not on by default) and a buffer overflow fix too. Includes -r1 w/ dropped curses symlink too. Unkeyworded for now. Bug: https://bugs.gentoo.org/839351 Signed-off-by: Sam James gentoo.org> sys-libs/ncurses/Manifest | 52 +++ sys-libs/ncurses/ncurses-6.3_p20220423-r1.ebuild | 386 +++++++++++++++++++++++ sys-libs/ncurses/ncurses-6.3_p20220423.ebuild | 383 ++++++++++++++++++++++ 3 files changed, 821 insertions(+) diff --git a/sys-libs/ncurses/Manifest b/sys-libs/ncurses/Manifest index 71621376f4c0..3631d0295529 100644 --- a/sys-libs/ncurses/Manifest +++ b/sys-libs/ncurses/Manifest @@ -1,6 +1,58 @@ DIST ncurses-6.2-20210619-patch.sh.bz2 836967 BLAKE2B f210bf25c33f11d67e54a6f416aae75f0a976880ea543408780fd3a8dc992ee8d9999bf15c925c79504be0f30ade4bbfaed763abedd2b2d6b35de65b353a6314 SHA512 b8392bf6c0b7570766ae31a043df311660201265dfe3e2e49425b1e2aa08c72030b5f5b6c7871532897596262c88a7192e3ff2adfdc618f1b9c13c22c373eeb3 DIST ncurses-6.2.tar.gz 3425862 BLAKE2B 6680cd7a369a4cb8234442a70869c283f0db6db9d7da1da2a7a5c519eb862a2c9b9411957d99f9ebb5089cad00b42e1ca6bc0784327461113df2eeaec695913c SHA512 4c1333dcc30e858e8a9525d4b9aefb60000cfc727bc4a1062bace06ffc4639ad9f6e54f6bdda0e3a0e5ea14de995f96b52b3327d9ec633608792c99a1e8d840d DIST ncurses-6.3-20211026.patch.gz 117363 BLAKE2B 74c6c80271edc3b69d17c891436e48ee0579b3d16dd1bbd42f953be5b6ef07596343abd34f4d508b0cb371c1c0febfec12d65e938739892a617c8b141f599753 SHA512 25a99bc9cb7a18eb8fd16a0f887bae90c2551e0228b077d28f7217e58190f4b19a526350c999922f7394a1b749e834643c1bf5f339248b842717c146a3ec1df4 +DIST ncurses-6.3-20211026.patch.gz.asc 729 BLAKE2B 470aa4aad00d0dfa9924ca3247d720b720563bfe5a3b5c9571acb4c74a7b3fb55adbae6b0aa854eb0e29c56d7949fa1e3b6d959c25681f1b46c23c96a3c0e054 SHA512 276e8a09ee6fddf20be38b9d8a6f93cbafcec51ed17de375b9d2f4f6c34ff546fdbd81083f54aba1a5aaea5c2c691c25754dfca47568c5b70197437420dd2581 DIST ncurses-6.3-20211030.patch.gz 46304 BLAKE2B 6fa0f5223c97dc045117c208b92e75aad61638585506aeed0fa5cd6b215f67d212fc780e527f1281ae77063edb1ef9b3a3671b00d306fe322c3ca1b34c1d4d81 SHA512 90440af3959a17388999f07a3b40f770c5511bceda6a39d4c56f867dc5ae8494e49cfb700eb79e31422ebfd1b1990f6d7912083c688963139446f1e43e9d08c8 +DIST ncurses-6.3-20211030.patch.gz.asc 729 BLAKE2B af1715038a877ebe10660872bed82d536df410f8987508aca7ffed6d19fcdc95a2f5bd8f527b5a30580b07d7c770fade7bac2cfce3e20315faf472eaeb075d5f SHA512 526ff0ff7030cef711e92150fe0f2be7076bf8fe8c7b5fff9ee709c202e747c921479bf3efc2c3da8df2f0d7926de6b1571d03270e49bf64bc539193b0a3020d DIST ncurses-6.3-20211106.patch.gz 3995 BLAKE2B fbacfd6bfbf64b2935d47f648bd74c93136ea8d17b51e218b80a24695b52246ce8ec01704a0636692bae72815c8b93dec8573570dfd126b19645ec90926e818a SHA512 799819ed01967387fdca4755ab44401f0dc90306f6f771c894ce6702c929e2ff87f45d3e1c2e683cc32bb01553f3332c3a7591a00b7a4bdff93da25307379bdc +DIST ncurses-6.3-20211106.patch.gz.asc 729 BLAKE2B a60360000338be6f19e9769d901b03917a632d2da961523ea81191b44b04430d757ba0dea30a6b02e29b324dffdc447cf1fe729428138e0e71b138d84aed26b4 SHA512 3902c88633078ccfebda4ce67dbf6e4ccf0e8be296a0193d07ccf51b56dd75c34f326f885330c90d81aa0d487aad513eb797c3916aba682a8ed6673b51483c84 +DIST ncurses-6.3-20211113.patch.gz 116573 BLAKE2B 5c0926fa97628e1e15f10f47e3c668d5867c066b03b80ec1be2cada6a48ec02aca81dbf997718fc1d9bbdd36016de62981eb19e875aac4b4c531c90c0a2f1c48 SHA512 2225859cb6770d31cd5d147f1b767c61ad28534542b64e3e22a9630977f2cabcdad11313d533c0c462f53a6e0dc17cd80985ca759d796658775676720e50998a +DIST ncurses-6.3-20211113.patch.gz.asc 729 BLAKE2B 16e9645ea71db7afa7b3a52831b04920e9d7d960bfef074361ac77264a28b9bd95a6240e1e3e2e96373615f2915a35acf6d3c21b63a6c4130fd35bf3c65dbbe2 SHA512 7d5b8740512b31bc5b6ace1cc9ebbdf36f2092bc88aa3994f757085ac2add814648daa70c18410a4433fb6327115d9b1762eaf93f9d337de3e10a9707f411f1f +DIST ncurses-6.3-20211115.patch.gz 2259 BLAKE2B bf3ecd64919707bdf25b1db20d99c68d47d122406bcc4884c370d9b13c3df4bd8fd5e913d3f5ac7dcfbec58f4910d2d42176c32d879095c45e2513cc4c933a22 SHA512 7571da910f51152200d2fa76659d1a253ceb7022c00bfa587188c7ad1f6896ed836eafa3e724933fe3c4bfc03aaf6ac1d51102c5db1a3e37f944f3b15d50f9db +DIST ncurses-6.3-20211115.patch.gz.asc 729 BLAKE2B 8b853439790674b22029d4d71a65b29019bfc1d2109b44cc2d08a08cc396bd5b784ca8169e4a8edc1fc4e9a08611b89c50f9e3a18781aef0b5a56ea20b335117 SHA512 5427ac588426bba6e9b579faa6c1e1b17839fe2e3327dcd76ac187a46792693da327b279eef35c43e39b08f755cf930e7efe03a753d8b8ba326c039408131d60 +DIST ncurses-6.3-20211120.patch.gz 122226 BLAKE2B 390bb1bee13b83d282ce31a26327bf46000d74851f5d2a363e04915ef73ca5ffaf365255d6696b0c4d10fbb1fb124baa07fa0b841f378b018a37ac1a741aa579 SHA512 37eca2eb6478332e095c139eaa0ff740b8bdf82da4a1c0e990010ffaa3385b38a1c6956ff3f1dc182894384d9face8c265d35faa3ffd0a517c404890b51d177e +DIST ncurses-6.3-20211120.patch.gz.asc 729 BLAKE2B dd03ec2ae80bfb83ebce5b55410914ce3d5015da2933984b04d2e4d6170b42cccf109bbe2312b4d77c83933f9bad9af7f19e8b1ff23f3791b99238c2d0834891 SHA512 5693a92e631718c6f2bc791e994f5e225a70cd6eab9df5b5da2c180b96480e77c0e5485f48653cffdfe267048175523b7dc42414083500310fb87554043dd19c +DIST ncurses-6.3-20211127.patch.gz 38780 BLAKE2B b9e6e1c065c7aa97809e65a0af2bb398e7d2ed17c95c35bc4320451ad47efd1a292dfb74d2ff53ff12a68c9cabd6464fe7be40e389c35c4f99ebdc66ec7ad77f SHA512 e2971c8606173da0e044630622506fdef4b83e968b2c501c4e1db9b0b4e54cf93d76570fdacf0edeff986d9cdd728471050c9365881092817b54bd83917fdb25 +DIST ncurses-6.3-20211127.patch.gz.asc 729 BLAKE2B 11ccba2a3310a70b228d0df1b088501ba30f159878662791ce3a294b48e0819c6619dff8763590cdfd74d6e2dc24a5897705808e6da64510d49eea7889e3b1a0 SHA512 8949ab4d8e6b124769bac40becf2853bc0f370814fdd013c7b0c638b9008c1628e5b7cc372f95731549a5cb184ac6d80172f985e114d186a30cebd67268dae61 +DIST ncurses-6.3-20211204.patch.gz 29875 BLAKE2B ce2c8ada23ea01d22baa8d68bb34bfebd3913ce8dd787f1a3825eb07c7a8d83dfe4317e755fc2a16469f6936022a2c45155ea5e3aaf9d01a5caaf124cf1eede2 SHA512 30454d917631cfad474191dbb7e1318e5370e829cab4b63470f51e9c13c953975d999a41cb10a35dfabcf038fe666247d32659f597a6e8a8bac572a4fe6b3fd6 +DIST ncurses-6.3-20211204.patch.gz.asc 729 BLAKE2B b6cc88dd5ac8edc1afa60baccb8af84daf00d8806822f04284c78f0ed132f7fcd839f4d39bc62ff58d48bd3fbf504baab9bb9815a4c236f0bbdbcf23798be71e SHA512 5dbbd09311d4f5bcf1697373945db190925c0d7d1e0aa3d65f83608e34a9c407a74df8553581ec5a49d634e94261ba8f5fac26dbe9718177df173fc4e52543e2 +DIST ncurses-6.3-20211211.patch.gz 5277 BLAKE2B be82f85d49e28a25ef8c26dda4355ac111fab68917d157af05289b518a669e7e42a1f6bf65a813bb3d0747e56cd2723ee1dfa28dc02501ae8350ac74e01c1b39 SHA512 c57157bc401190867aad64f4503e438777606786814de32b38e44df6d73733b91b5c5ca4e173035dd5ccfddbdca2814fdad7a1781f6a144adae4d96d2c6e7e78 +DIST ncurses-6.3-20211211.patch.gz.asc 729 BLAKE2B 01ba5f095250a316fdf30f3f15032804db351c5995dda85820e67cacbb62a0d8a750c4bdfbe6deb9654f01ef124a78ef89b9fe41e4b494561ffa5a79f243c72e SHA512 17973f01a765d121597b3cff6fed2feffe5ff895c4589ea08a86134ba3b9913742f740deba9369d2e7aa89aa033c1925b4d49518d188cae57ba83ff5a3668225 +DIST ncurses-6.3-20211219.patch.gz 6874 BLAKE2B a5b98f1a0fc7b31340713f5aa2a0106184e270ac2312851a5a92ff6947d70d86e9af849a3830f5306c17bad58fbda4640b4cc15715b23cb6e2411b7f86ba0282 SHA512 c38b31e133d336fb50936cc176a04fa076c197c6e6fe56beb840002d6ac65c76c4a3d1f2506122b1095d680ce254a886b52c56194f2fe586edf69355d68f2a45 +DIST ncurses-6.3-20211219.patch.gz.asc 729 BLAKE2B 2ff431a67bf8ac671ec330c8ea7c61e6467cf2c7acb7760ebe035b72a05e675b1945e891d55943f1dfe0fed0c29f91731094ae5d198e11af6d9d0a21534282ed SHA512 7d6a3a0e4a51c885fa2ef37c71f089b7493daa57a59cb02188bef64597657fabb7dc20fce1d55bbd4c368987becdc1dcb89cdce14b45576ce7657522046d8b2b +DIST ncurses-6.3-20211225.patch.gz 205972 BLAKE2B 34ea7243f7f8ecff69e60a90fc1a0a9b9d69b4e87227714d7ae8f603c3b16f82466c96987e7696fbb45005dbaa2c732f85a79b4fc39a61f8555bac661f27ba53 SHA512 1c2c1687233cfc72cf050883bbee60d88ed179e0fa865dd752985e83add68b5278e498b2e9bd2658b00ef7791e04fc456f43e82fcbb8cb4ed46365bff3c336d8 +DIST ncurses-6.3-20211225.patch.gz.asc 729 BLAKE2B efc0b1a5cf93c71912ab6a7232ddc7c50d2369a955992e6e60f8d86e56aee3cf539c82e082951d5b6215bbde835219588619ae95525b08a54486d3c75ffe3658 SHA512 f2bb524f604883858015a23fbeb698db8483afb88012b3271bfa10935fc71845088b7b5c9fcf950ea9fc2aaa0e2baa4147a8d9f4e42902d3be9f424ce01f7ad4 +DIST ncurses-6.3-20220101.patch.gz 11576 BLAKE2B 76b2ff3bb028bd6ebbcfd0f79e20aa5fd06806279c569e2640e9b6de83899913ef8755c37888a65cdce3ee701db2ef704181de6d36417abfc158fe651d5c0e68 SHA512 07dbf0def9d21a6b701f4f3d18a8f82d5115f8e4d826a57bf5914534029c79aad2b539f60ab5b1795886894f490a9f604acddce3a77cdd474d80db5428568b97 +DIST ncurses-6.3-20220101.patch.gz.asc 729 BLAKE2B c86a9999b42fb312c1452f619269bdc5c1293c19cb8adb2436b5670acf706800a951d266f2c1b78caf1ab10608933e99fc49e761eaef1a658b0ed35fc4816ea9 SHA512 1ddbcdef1e7b5a04dbf0a7b371cd775337ca3ac39247f5215e5c6d099d4758367b98c28a6d5568a08bdcdcb7ff29a7ef2936b12b431d9a0e00eaad2cc78976d4 +DIST ncurses-6.3-20220115.patch.gz 294400 BLAKE2B 97293251ae0c6322df5e4663fca4991e5a1978ad63f1d7d015027dfd6e5dc5e1a52d46683199da2efb5f7f18e7b5424ff7702d34d0dba5eb4ba83dbd85039078 SHA512 0e42e298fa22bf2a463870576ac697ae71320eacfd3ee41bc4b41a229f05603cbdf52bd4e7b724de83c41c2587469deb1e2f876a5e6eabe1df1799263f5c1a87 +DIST ncurses-6.3-20220115.patch.gz.asc 729 BLAKE2B d1288c86c4fdd9890dc8654f81e2e8c956412173a03f26f0018234d6bad6fae6043df8f65d1bf1942c8ea8de68f631d6cd6e8741c932277b85fe9735ec9414a7 SHA512 cf3aafd09105362d8c896d3de73a49ed1f19818a78bd2f2a9f1f8ece218dc01159e65793ef4010d5f5a850fa9057f4f2723d745e6fbca7530a4e8c468005bd41 +DIST ncurses-6.3-20220122.patch.gz 106624 BLAKE2B 33d12cec7df1553cd2c4c3e09152f53ef5b8e86a4cf9bb5afadcc92065f93bd0734f761be088f13f150ec9e8e4d7d8159ea22b2c2bf0bec824e25078d2ea9251 SHA512 c585ba9f3c27314cfb9097d8cf9feb1653014d676670f1644cefffb347ef70a7172ca56c20015531c7117eb23909d55815a295850738499e58c4d5306ec5d747 +DIST ncurses-6.3-20220122.patch.gz.asc 729 BLAKE2B fb8f0e236ec7582b1adfa9c7facb959fe1b88ffcee494308dec6fb4ece6e518d1aae3af5c52e0b82f59660e60c3c01dd56037e1b107e25240a12a03f4300f91a SHA512 609c55b3028a89d4ff09774279435bad58d8d0e179042dafe2c61092f32b5edcad2397cdd8a6eeb7ab61322064fd1b24d8b6b960adc6ede0b7254c3b12284fe1 +DIST ncurses-6.3-20220129.patch.gz 117854 BLAKE2B 1dce0288609407e6bc803ffc8f61b0c33f8a1dcf1c6c4303cd4c730741e4f0b68b7fb7e7b79c1a29dc1c7cde7f2e5aa7b615402b13ee3af7a7c28cae1ce804d0 SHA512 3f573b645f67279e0394352456d844d289be89e2ca70d832d24fe945ce2e6b017273eb305171e5a704492ac3d600de05e5e6c1e268a939bea4b5cfd74b292753 +DIST ncurses-6.3-20220129.patch.gz.asc 729 BLAKE2B a6b8fa01d3a5c8c3f4055757ac23a2700e5b8627214f8606f25c82f560f1637ff2db70a872f43a9aa25b64e3efb3c98bb9980b0673a35ca13073c4f9d5063fa4 SHA512 b2906c5d27312df3c6e79ab486753420ab83e9562d1b3d35971b5ed7f6d15a1ad7f8a3b18bafe3e5e8c6ef9b09d32dade373269ebfbbe9ce5d2b417e0848a5d9 +DIST ncurses-6.3-20220205.patch.gz 48085 BLAKE2B 1d1bd94138379e1947941c87c1ef6cb76e1e5dcf49e04985b59f1d111a524976629f94ece79f9ec93a2c773f8dda9bde0b90b1d34ed1ec51a573d4f1587cad86 SHA512 166f3f6687f52c18169d67e5cd7338aee7ec283898c522e964a4d9f59b20a5754d6865e0268c5297ef7c4b7fc34b8607f00129aecb5b7ab616788a0b98f674b2 +DIST ncurses-6.3-20220205.patch.gz.asc 729 BLAKE2B cace085a89847d3d19eab5049c64afb187b1419dd7ea6ac1e9cd8c037aa83897788cbddc3e97ebe15d32f09e1c5156664e5d3af5727edf6ba6b739025582f984 SHA512 c2176c35fe7044ba82869a928c614faec3a894521b3becbe37277ab95cc5615fb1b33b935d6394a4f75dad15015e5203bcb29001f68fa05420289145729638b3 +DIST ncurses-6.3-20220212.patch.gz 41501 BLAKE2B a0257b9a740a14090e46e85b67a59e754018e77d6484b30eec6f5a3fa84dddf329078b94d4425800ee45a85a31a9c47b1ccc25ed32fdc2f433465c3238e3c8e7 SHA512 1f596ad2f806411a2e89ebc8b74e9d44754fcdd3baa0c727fe610121fe64eb27e1c35871545dd7ab743930e1c49c2d96581aed0a0b37d0a33d2ee7c590c0c42e +DIST ncurses-6.3-20220212.patch.gz.asc 729 BLAKE2B ed7466b3294baeda59fdd56df93583662a257efb3434ff2817d31994cd5218605ccd535e95ce668f741693fec9fcc5f39223dd67884668aee777bfc9eeff55ce SHA512 3394f9c37a0a1d7e19becb023542534c734f15f030ff725ba54ae010417898be2935d6820f7f7f6d76a0abc3663a9a7f4ccf98a9571c03123f4ba8321ea5c9c1 +DIST ncurses-6.3-20220219.patch.gz 6845 BLAKE2B 660191d5561af0ca763ba8377899ae5793a48e73fec27ef5d9ae00e28cb53edbe96c6ee0480bc1de321ec19cbc8c02f7330861811f3a000b603ce6bdd9921070 SHA512 41d9e29f4f673a6c930f8637dbbf7c55f427aad28088f96ddab824b560b462015dcc21a371551a087adb44dde4797abe9cde2ea07e2537e81216b17b330a14e7 +DIST ncurses-6.3-20220219.patch.gz.asc 729 BLAKE2B e216aa89dbe7d7ea0bafa6d91aca090ac316844ec6d1b1d36da8452bc623e3897722f19b3fb1cc89174ad1aa41a6e8fab4d1b761081090c2bbf338fa027a534d SHA512 555f22dfb585e7b93727f20e46fb6fa77cb633bafdfe6ca3cf3bfabd462a4761f23bb341fbb25c1518b8d9652388f23d671e15f7acecd01755c55d5fa48d3e67 +DIST ncurses-6.3-20220226.patch.gz 5429 BLAKE2B fd0b50218992daf8e5228cf77fe72db651bba494d9699d0057e0e676fc01b699ff4d8f0fb9636faac5ea3fc1936d59d27403a5a5e89f6aa3c42f7c101d9dcb35 SHA512 0d77a955c1f24b7ba58d830cf5c256bcf5946f535b29077484e4ce4ae871a0803fc0db70c66d177ad427da797f7ae30b9a08ff56cd6d0b5f37dd3f231bd67b35 +DIST ncurses-6.3-20220226.patch.gz.asc 729 BLAKE2B e1b83208bf9e9ca9558b3e93f824766765159fcf3b5b4c7a4d92415229a8ef653eb1503446cc5fc8088a354e08cf6fbefb5fcc28e995c8c1718dc77b59552267 SHA512 972f65a645490ef425a6f7314f859cbf8d1aefe5ce6b0847adad3a457d8fd5634af64becb6542e477d14bdacc72aca00fef213c3d5b51f68258ebaef876aec86 +DIST ncurses-6.3-20220305.patch.gz 3732 BLAKE2B b756ad0d8831c2f0eff78dabf1b45adec7888dedc846a91a94cef739c10057f87bbbe7984a4758aa82a8c146d7cc9eeb356b7321bf529fd54480fe334e0ec608 SHA512 4ced572ac32afc2676896e79acac9145c7b138dafa8ebe0c29b2355bf65169a68df3be8fd273b7b957931f98f39ab0f20ada6081be5e11045d32f91f055116c6 +DIST ncurses-6.3-20220305.patch.gz.asc 729 BLAKE2B ef22a7429cffe8dcfebdbd6e339684b7a96c437e3d0bc3ba3eb02c4e8a537909f14306a4d7ce2d0f0752e1a02975b11ad04aabf27a6ba0aa99f4f486b1fe4826 SHA512 68a73ba690722ecca38099521fd9396e7c46dfab9c1a090f0cb7d1a18480bf027a6b7a5e3f1b0ab92a7ad29b05df1c9f7d4c197e13b9e916b6fcb0c54a472e4e +DIST ncurses-6.3-20220312.patch.gz 3659 BLAKE2B 8ec667f1a615b7fdaf7aeef1c14145ce4c90ad75c8acc474d160c61bf85b13a10fbb6c248a2659dba94db50a9db866c002c2ff429a3bdab8124b1d9b28031364 SHA512 1565f364fa694e2b84f73e9d6ad716b18cdde4f18aeb9bcee8d78d59ed9e995968f7ecea7d307e6738943208ed17bcd459b6b30cc85fa0f7e8ff2c64e2a7b385 +DIST ncurses-6.3-20220312.patch.gz.asc 729 BLAKE2B e5b4cd10b313c7d7f61e3251fddc2c85fbd920b2855d8b9ecb585a1d3acbd5b1bb3a1dcf5043bcb807ab9ecb03c9e711e1625a86ae6adcf6f41b37f8b71b0d21 SHA512 ca819f78d6b5b4c9bfd9e536c6e8ec4ccd9d6c3ad3f00e1e85f5e646e2e5d2b30e8c72ffe91f789a9b8f2268b89f4fbc07798b433a202b263673a187c74774c9 +DIST ncurses-6.3-20220319.patch.gz 3975 BLAKE2B eb9a9896704463e64c0b46721322190cdaaf1bf6d30f3a8b4ef2d815a5cba5dc0ca84674404ef720d0d861cf724b265988e187fec94096f6926633da62933829 SHA512 f642180bc13bc26d8befa48145a66d36f064cd5a4c5891e0eb5e9e463cd7a446280040ce04aa8d7bedacb06d060916fc32ca7f6f66010ee6fbf95c4a367e2c1f +DIST ncurses-6.3-20220319.patch.gz.asc 729 BLAKE2B e6f763a035db48bdfb1bb7c05aa30f91c0e693efebb0f74eebc696a0f5b4acba3655112af6bf9b0d5bb502a5d67dd3416b4f26dc3be5cb775692f1c958aaa911 SHA512 e07dce52dc16d73dcddfcb982b40cb9fb4ff60097e704e9dc56604262cb30eabf2283a4b436e78a8ddf6abca69cc3fef5a2d93d9145658ad4a36022e2b053406 +DIST ncurses-6.3-20220326.patch.gz 4163 BLAKE2B 20f83d6491dfe4c6833c72582dbddc5f69f4356f78251989afc7e689a2f261f477a8db17cea7c084ab798d3ead34dd1204a595e4718255a6c4a3a9735c36b217 SHA512 62210e6bdf5577fea31e2d793d15ba55bf1c89a855e02ebfe82bc918dec3423f70c49756b08a8fbf1a7cd4311ff09a2751f76a4bb7b2924a3eacc96c2ea25634 +DIST ncurses-6.3-20220326.patch.gz.asc 729 BLAKE2B 65254b2f56dd831be92fa8e89359bd52252dc7959a16d99888c372722bf533a7c2cc3b285452af5bc33f0478bb2f143ed74b5f0b57ad9cc74626b4902f0ccdbc SHA512 a60b780f39424b3f712e5fd81fe397b1eaa476026b497c50edd5c6e460eaf320ea9412a0d0ce122bb7bb3cdfe2f473bad5a0bbf923a22cc1bcd04c621aa5c023 +DIST ncurses-6.3-20220402.patch.gz 11483 BLAKE2B 3210094fb4be4d7c2b751ce3d7b4efee71db0c420f0159db846efcd0ae6e85673069b7c39b943346a3b1a1aeda247493aba6bf832eb192fd3729a9585d0c9a66 SHA512 f8ce6ab6ef5df746ecbc6286c5b46ec53ab0f3fed831878f693c8afe49b34f3f2769f2d3078b81799952f7905bf18217069fce7dd52d3126b7e4dc2ae84f5443 +DIST ncurses-6.3-20220402.patch.gz.asc 729 BLAKE2B 0ab44b4bbf10aa0c67dc1022012b1e156c9ce9c57214c5f92e7b3714cdccead69e0a869b9247b799797680f896dd8e86b3a2ca2e9587f5cc11250711ab36006f SHA512 299b5b7c337f95b0621571261b23d3110c963ed0f584f145238049caad52ba325d6982e138545d02041e297cf78f3f1a0f8d08f9162bb7b61885870382df2e06 +DIST ncurses-6.3-20220409.patch.gz 22728 BLAKE2B 7b8514a9fc8b8ddbf5cbf1f6b0cb45895808f6226db726c206ed8490c3abccbf8a8d49e6bcfdcad806414d8aa0d4fce89faac43c60a38ecf71e613ff01f67224 SHA512 1dde730b7fa12efeb2bc7b98012f3e5529630f0aabde2d877046ef85d541dafb5d64488747ddb559f97a3f25d1ec5f716815f9e6c1ce100f4f308bfa86501d20 +DIST ncurses-6.3-20220409.patch.gz.asc 729 BLAKE2B 9d5321cd1990c68ac812691713d941d467dcd2f95c93f2488cf212d4162415b615397546bc397a2907f1b6ae38907dea6f72e3012ecdafa0054a91d59a94ca64 SHA512 8db2631d35ee1d7d07d906fa194e499ed8239acfbfd215e192a2382b1cd998a9ee3d0ad971aab43edb5e91cdbb2a772835a42cf0645b2541c5c7dab9bf4adf74 +DIST ncurses-6.3-20220416.patch.gz 67896 BLAKE2B c95a993f51beb87bb9891bd0eee08729795a583df50c66df8265cdd5c4adbef83b9fc0339c71aa5137408fe10fa15b0ba4028d5539a0ac66df06c0c1d72e8359 SHA512 2686ed16f5103d76c92cfa4943a8f82d8bc414db074c1c7fb73810b49c6d1d0103988611edf36715d5be24891d0bb2c97ceb08dc4111d0900b5dba6fac12af0a +DIST ncurses-6.3-20220416.patch.gz.asc 729 BLAKE2B 52ab1bfcac4b5d7b3733c399509ba4c0a6b9531c02a05846d39344488ba3a9196326a8126db225845a3ff1ca3fdd609fa1d9264583e7e57e28d2f4e3b58b4389 SHA512 c5a60d2ef9996c02264e6656a966f4be910a3acbee777a4ff2a5131efd156bdf1d32418a39d6e3c07fcbb59c75554d4cc1e7e9f84f5b59f69e7e4c17fafc749f +DIST ncurses-6.3-20220423.patch.gz 3394 BLAKE2B ac93810f1e826fc82de72a85effe5479576af14fa86e0dd08b8823b6f4652922f79242e9c867b1c864f0049c9e6d9864d6efc9282ab1e734dc316cac05655f4c SHA512 5dc87f70793d8319c5ee2f07c7f9432b1128e05f3aa2841a74deeaf294e46859f4198483dc783bb80e5e98f81f05cfef148df75a5abc5acfa69a9d6ad3abb702 +DIST ncurses-6.3-20220423.patch.gz.asc 729 BLAKE2B 7225d28f7e61ae584183e98d8c93c7d470e96984aea4e462333f115c329a8c187927196447b8368949986d4b8c96086f5839fde5b442936e76ac797685ee109b SHA512 b0eecbdad448f193fb255bec2fa458d3fea972c181891882d8dc1e09cc325ecda38e98f2d410993f768f513f3a48b9be4b36dbb2919d82a778496b8ef2051565 DIST ncurses-6.3.tar.gz 3583550 BLAKE2B b2c174ac48d587b4d3aa054f04e4ec8bffd8a657a4aff5f090104965c741901e600712c8f8e5e98f3b8a26bc558996a1e14a746f113854832853b855e9d406c3 SHA512 5373f228cba6b7869210384a607a2d7faecfcbfef6dbfcd7c513f4e84fbd8bcad53ac7db2e7e84b95582248c1039dcfc7c4db205a618f7da22a166db482f0105 +DIST ncurses-6.3.tar.gz.sig 438 BLAKE2B d7f9852292110fe7a048a9e38611ea06564b5142cb4cbeb8d99bba752d5df8eeffa3b57e5ca315c14024520bc008b30650e99669c995dca05a798399a0c85d39 SHA512 b9a2a25e0b1854c272bf89c610c81fc0ba061f0296eca5c0079a79cfe310e44eb16c46eb5a0dd018f1ca9114d569c9d5087a2b8e60b0344f1eb97f7c5addafc6 diff --git a/sys-libs/ncurses/ncurses-6.3_p20220423-r1.ebuild b/sys-libs/ncurses/ncurses-6.3_p20220423-r1.ebuild new file mode 100644 index 000000000000..4b058013e9b3 --- /dev/null +++ b/sys-libs/ncurses/ncurses-6.3_p20220423-r1.ebuild @@ -0,0 +1,386 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/thomasdickey.asc +inherit toolchain-funcs multilib multilib-minimal preserve-libs usr-ldscript verify-sig + +MY_PV="${PV:0:3}" +MY_P="${PN}-${MY_PV}" +DESCRIPTION="Console display library" +HOMEPAGE="https://www.gnu.org/software/ncurses/ https://invisible-island.net/ncurses/" +SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz + https://invisible-island.net/archives/${PN}/${MY_P}.tar.gz + verify-sig? ( mirror://gnu/ncurses/${MY_P}.tar.gz.sig )" + +if [[ ${PV} == *_p* ]] ; then + # Sometimes, after releases, there's no megapatch available yet. + # + # From upstream README at e.g. https://invisible-island.net/archives/ncurses/6.3/: + # + # "At times (generally to mark a relatively stable point), I create a rollup + # patch, which consists of all changes from the release through the current date." + # + # This array should contain a list of all the snapshots since the last + # release if there's no megapatch available yet. + PATCH_DATES=( + 20211026 + 20211030 + 20211106 + 20211113 + 20211115 + 20211120 + 20211127 + 20211204 + 20211211 + 20211219 + 20211225 + 20220101 + 20220115 + 20220122 + 20220129 + 20220205 + 20220212 + 20220219 + 20220226 + 20220305 + 20220312 + 20220319 + 20220326 + 20220402 + 20220409 + 20220416 + + # Latest patch is just _pN = $(ver_cut 4) + $(ver_cut 4) + ) + + if [[ -z ${PATCH_DATES[@]} ]] ; then + SRC_URI+=" https://invisible-island.net/archives/${PN}/${PV/_p*}/${P/_p/-}.patch.sh.gz" + SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${PV/_p*}/${P/_p/-}.patch.sh.gz.asc" + else + patch_url= + my_patch_index= + for ((my_patch_index=0; my_patch_index < "${#PATCH_DATES[@]}"; my_patch_index++)); do + patch_url="$(printf "https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P}-%s" ${PATCH_DATES[${my_patch_index}]}.patch.gz)" + SRC_URI+=" ${patch_url}" + SRC_URI+=" verify-sig? ( ${patch_url}.asc )" + done + unset patch_url + unset my_patch_index + fi +fi + +LICENSE="MIT" +# The subslot reflects the SONAME. +SLOT="0/6" +#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="ada +cxx debug doc gpm minimal profile static-libs test tinfo trace" +RESTRICT="!test? ( test )" + +DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )" +# berkdb? ( sys-libs/db )" +# Block the older ncurses that installed all files w/SLOT=5. #557472 +RDEPEND="${DEPEND} + !<=sys-libs/ncurses-5.9-r4:5 + !& /dev/null \ + || lbuildflags="${dbuildflags}" + + # We can't re-use the multilib BUILD_DIR because we run outside of it. + BUILD_DIR="${WORKDIR}" \ + CC=${BUILD_CC} \ + CHOST=${CBUILD} \ + CFLAGS=${BUILD_CFLAGS} \ + CXXFLAGS=${BUILD_CXXFLAGS} \ + CPPFLAGS=${BUILD_CPPFLAGS} \ + LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \ + do_configure cross --without-shared --with-normal --with-progs + fi + multilib-minimal_src_configure +} + +multilib_src_configure() { + local t + for t in "${NCURSES_TARGETS[@]}" ; do + do_configure "${t}" + done +} + +do_configure() { + local target=$1 + shift + + mkdir "${BUILD_DIR}/${target}" || die + cd "${BUILD_DIR}/${target}" || die + + local conf=( + # We need the basic terminfo files in /etc, bug #37026. We will + # add '--with-terminfo-dirs' and then populate /etc/terminfo in + # src_install() ... + --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo" + + # Disabled until #245417 is sorted out. + #$(use_with berkdb hashed-db) + + # Enable installation of .pc files. + --enable-pc-files + # This path is used to control where the .pc files are installed. + --with-pkg-config-libdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig" + + # Now the rest of the various standard flags. + --with-shared + --without-hashed-db + $(use_with ada) + $(use_with cxx) + $(use_with cxx cxx-binding) + --with-cxx-shared + $(use_with debug) + $(use_with profile) + # The configure script uses ldd to parse the linked output which + # is flaky for cross-compiling/multilib/ldd versions/etc... + $(use_with gpm gpm libgpm.so.1) + # Required for building on mingw-w64, and possibly other windows + # platforms, bug #639670 + $(use_enable kernel_Winnt term-driver) + --disable-termcap + --enable-symlinks + --with-rcs-ids + --with-manpage-format=normal + --enable-const + --enable-colorfgbg + --enable-hard-tabs + --enable-echo + $(use_enable !ada warnings) + $(use_with debug assertions) + $(use_enable !debug leaks) + $(use_with debug expanded) + $(use_with !debug macros) + $(multilib_native_with progs) + $(use_with test tests) + $(use_with trace) + $(use_with tinfo termlib) + --disable-stripping + --disable-pkg-ldflags + ) + + if [[ ${target} == ncurses*w ]] ; then + conf+=( --enable-widec ) + else + conf+=( --disable-widec ) + fi + if [[ ${target} == ncursest* ]] ; then + conf+=( --with-{pthread,reentrant} ) + else + conf+=( --without-{pthread,reentrant} ) + fi + # Make sure each variant goes in a unique location. + if [[ ${target} == "ncurses" ]] ; then + # "ncurses" variant goes into "${EPREFIX}"/usr/include + # It is needed on Prefix because the configure script appends + # "ncurses" to "${prefix}/include" if "${prefix}" is not /usr. + conf+=( --enable-overwrite ) + else + conf+=( --includedir="${EPREFIX}"/usr/include/${target} ) + fi + # See comments in src_configure. + if [[ ${target} != "cross" ]] ; then + local cross_path="${WORKDIR}/cross" + [[ -d ${cross_path} ]] && export TIC_PATH="${cross_path}/progs/tic" + fi + + # Force bash until upstream rebuilds the configure script with a newer + # version of autotools. #545532 + #CONFIG_SHELL=${EPREFIX}/bin/bash \ + ECONF_SOURCE="${S}" \ + econf "${conf[@]}" "$@" +} + +src_compile() { + # See comments in src_configure. + if ! has_version -b "~sys-libs/${P}:0" ; then + # We could possibly merge these two branches but opting to be + # conservative when merging some of the Prefix changes. + + if [[ ${CHOST} == *-cygwin* ]] && ! multilib_is_native_abi ; then + # We make 'tic$(x)' here, for Cygwin having x=".exe". + BUILD_DIR="${WORKDIR}" \ + do_compile cross -C progs all PROGS='tic$(x)' + else + BUILD_DIR="${WORKDIR}" \ + do_compile cross -C progs tic + fi + fi + + multilib-minimal_src_compile +} + +multilib_src_compile() { + local t + for t in "${NCURSES_TARGETS[@]}" ; do + do_compile "${t}" + done +} + +do_compile() { + local target=$1 + shift + + cd "${BUILD_DIR}/${target}" || die + + # A little hack to fix parallel builds ... they break when + # generating sources so if we generate the sources first (in + # non-parallel), we can then build the rest of the package + # in parallel. This is not really a perf hit since the source + # generation is quite small. + emake -j1 sources + # For some reason, sources depends on pc-files which depends on + # compiled libraries which depends on sources which ... + # Manually delete the pc-files file so the install step will + # create the .pc files we want. + rm -f misc/pc-files || die + emake "$@" +} + +multilib_src_install() { + local target + for target in "${NCURSES_TARGETS[@]}" ; do + emake -C "${BUILD_DIR}/${target}" DESTDIR="${D}" install + done + + # Move main libraries into /. + if multilib_is_native_abi ; then + gen_usr_ldscript -a \ + "${NCURSES_TARGETS[@]}" \ + $(usex tinfo 'tinfow tinfo' '') + fi + # don't delete '*.dll.a', needed for linking #631468 + if ! use static-libs; then + find "${ED}"/usr/ -name '*.a' ! -name '*.dll.a' -delete || die + fi + + # Build fails to create this ... + # -FIXME- + # Ugly hackaround for riscv having two parts libdir (#689240) + # Replace this hack with an official solution once we have one... + # -FIXME- + dosym $(sed 's@[^/]\+@..@g' <<< $(get_libdir))/share/terminfo \ + /usr/$(get_libdir)/terminfo + + # Remove obsolete libcurses symlink that is created by the build + # system. Technically, this could be also achieved + # via --disable-overwrite but it also moves headers implicitly, + # and we do not want to do this yet. + # https://bugs.gentoo.org/836696 + rm "${ED}"/usr/$(get_libdir)/libcurses* || die +} + +multilib_src_install_all() { +# if ! use berkdb ; then + # We need the basic terminfo files in /etc for embedded/recovery. #37026 + einfo "Installing basic terminfo files in /etc..." + local terms=( + # Dumb/simple values that show up when using the in-kernel VT. + ansi console dumb linux + vt{52,100,102,200,220} + # [u]rxvt users used to be pretty common. Probably should drop this + # since upstream is dead and people are moving away from it. + rxvt{,-unicode}{,-256color} + # xterm users are common, as is terminals re-using/spoofing it. + xterm xterm-{,256}color + # screen is common (and reused by tmux). + screen{,-256color} + screen.xterm-256color + ) + local x + for x in "${terms[@]}"; do + local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null) + local basedir=$(basename "$(dirname "${termfile}")") + + if [[ -n ${termfile} ]] ; then + dodir "/etc/terminfo/${basedir}" + mv "${termfile}" "${ED}/etc/terminfo/${basedir}/" || die + dosym "../../../../etc/terminfo/${basedir}/${x}" \ + "/usr/share/terminfo/${basedir}/${x}" + fi + done +# fi + + echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" | newenvd - 50ncurses + + use minimal && rm -r "${ED}"/usr/share/terminfo* + # Because ncurses5-config --terminfo returns the directory we keep it + keepdir /usr/share/terminfo #245374 + + cd "${S}" || die + dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc + if use doc ; then + docinto html + dodoc -r doc/html/ + fi +} + +pkg_preinst() { + preserve_old_lib /$(get_libdir)/libncurses.so.5 + preserve_old_lib /$(get_libdir)/libncursesw.so.5 +} + +pkg_postinst() { + preserve_old_lib_notify /$(get_libdir)/libncurses.so.5 + preserve_old_lib_notify /$(get_libdir)/libncursesw.so.5 +} diff --git a/sys-libs/ncurses/ncurses-6.3_p20220423.ebuild b/sys-libs/ncurses/ncurses-6.3_p20220423.ebuild new file mode 100644 index 000000000000..7123b8237c1d --- /dev/null +++ b/sys-libs/ncurses/ncurses-6.3_p20220423.ebuild @@ -0,0 +1,383 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/thomasdickey.asc +inherit toolchain-funcs multilib multilib-minimal preserve-libs usr-ldscript verify-sig + +MY_PV="${PV:0:3}" +MY_P="${PN}-${MY_PV}" +DESCRIPTION="Console display library" +HOMEPAGE="https://www.gnu.org/software/ncurses/ https://invisible-island.net/ncurses/" +SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz + https://invisible-island.net/archives/${PN}/${MY_P}.tar.gz + verify-sig? ( mirror://gnu/ncurses/${MY_P}.tar.gz.sig )" + +if [[ ${PV} == *_p* ]] ; then + # Sometimes, after releases, there's no megapatch available yet. + # + # From upstream README at e.g. https://invisible-island.net/archives/ncurses/6.3/: + # + # "At times (generally to mark a relatively stable point), I create a rollup + # patch, which consists of all changes from the release through the current date." + # + # This array should contain a list of all the snapshots since the last + # release if there's no megapatch available yet. + PATCH_DATES=( + 20211026 + 20211030 + 20211106 + 20211113 + 20211115 + 20211120 + 20211127 + 20211204 + 20211211 + 20211219 + 20211225 + 20220101 + 20220115 + 20220122 + 20220129 + 20220205 + 20220212 + 20220219 + 20220226 + 20220305 + 20220312 + 20220319 + 20220326 + 20220402 + 20220409 + 20220416 + + # Latest patch is just _pN = $(ver_cut 4) + $(ver_cut 4) + ) + + if [[ -z ${PATCH_DATES[@]} ]] ; then + SRC_URI+=" https://invisible-island.net/archives/${PN}/${PV/_p*}/${P/_p/-}.patch.sh.gz" + SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${PV/_p*}/${P/_p/-}.patch.sh.gz.asc" + else + patch_url= + my_patch_index= + for ((my_patch_index=0; my_patch_index < "${#PATCH_DATES[@]}"; my_patch_index++)); do + patch_url="$(printf "https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P}-%s" ${PATCH_DATES[${my_patch_index}]}.patch.gz)" + SRC_URI+=" ${patch_url}" + SRC_URI+=" verify-sig? ( ${patch_url}.asc )" + done + unset patch_url + unset my_patch_index + fi +fi + +LICENSE="MIT" +# The subslot reflects the SONAME. +SLOT="0/6" +#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="ada +cxx debug doc gpm minimal profile static-libs test tinfo trace" +RESTRICT="!test? ( test )" + +DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )" +# berkdb? ( sys-libs/db )" +# Block the older ncurses that installed all files w/SLOT=5. #557472 +RDEPEND="${DEPEND} + !<=sys-libs/ncurses-5.9-r4:5 + !& /dev/null \ + || lbuildflags="${dbuildflags}" + + # We can't re-use the multilib BUILD_DIR because we run outside of it. + BUILD_DIR="${WORKDIR}" \ + CC=${BUILD_CC} \ + CHOST=${CBUILD} \ + CFLAGS=${BUILD_CFLAGS} \ + CXXFLAGS=${BUILD_CXXFLAGS} \ + CPPFLAGS=${BUILD_CPPFLAGS} \ + LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \ + do_configure cross --without-shared --with-normal --with-progs + fi + multilib-minimal_src_configure +} + +multilib_src_configure() { + local t + for t in "${NCURSES_TARGETS[@]}" ; do + do_configure "${t}" + done +} + +do_configure() { + local target=$1 + shift + + mkdir "${BUILD_DIR}/${target}" || die + cd "${BUILD_DIR}/${target}" || die + + local conf=( + # We need the basic terminfo files in /etc, bug #37026. We will + # add '--with-terminfo-dirs' and then populate /etc/terminfo in + # src_install() ... + --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo" + + # Disabled until #245417 is sorted out. + #$(use_with berkdb hashed-db) + + # Enable installation of .pc files. + --enable-pc-files + # This path is used to control where the .pc files are installed. + --with-pkg-config-libdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig" + + # Now the rest of the various standard flags. + --with-shared + --without-hashed-db + $(use_with ada) + $(use_with cxx) + $(use_with cxx cxx-binding) + --with-cxx-shared + $(use_with debug) + $(use_with profile) + # The configure script uses ldd to parse the linked output which + # is flaky for cross-compiling/multilib/ldd versions/etc... + $(use_with gpm gpm libgpm.so.1) + # Required for building on mingw-w64, and possibly other windows + # platforms, bug #639670 + $(use_enable kernel_Winnt term-driver) + --disable-termcap + --enable-symlinks + --with-rcs-ids + --with-manpage-format=normal + --enable-const + --enable-colorfgbg + --enable-hard-tabs + --enable-echo + $(use_enable !ada warnings) + $(use_with debug assertions) + $(use_enable !debug leaks) + $(use_with debug expanded) + $(use_with !debug macros) + $(multilib_native_with progs) + $(use_with test tests) + $(use_with trace) + $(use_with tinfo termlib) + --disable-stripping + --disable-pkg-ldflags + ) + + if [[ ${target} == ncurses*w ]] ; then + conf+=( --enable-widec ) + else + conf+=( --disable-widec ) + fi + if [[ ${target} == ncursest* ]] ; then + conf+=( --with-{pthread,reentrant} ) + else + conf+=( --without-{pthread,reentrant} ) + fi + # Make sure each variant goes in a unique location. + if [[ ${target} == "ncurses" ]] ; then + # "ncurses" variant goes into "${EPREFIX}"/usr/include + # It is needed on Prefix because the configure script appends + # "ncurses" to "${prefix}/include" if "${prefix}" is not /usr. + conf+=( --enable-overwrite ) + else + conf+=( --includedir="${EPREFIX}"/usr/include/${target} ) + fi + # See comments in src_configure. + if [[ ${target} != "cross" ]] ; then + local cross_path="${WORKDIR}/cross" + [[ -d ${cross_path} ]] && export TIC_PATH="${cross_path}/progs/tic" + fi + + # Force bash until upstream rebuilds the configure script with a newer + # version of autotools. #545532 + #CONFIG_SHELL=${EPREFIX}/bin/bash \ + ECONF_SOURCE="${S}" \ + econf "${conf[@]}" "$@" +} + +src_compile() { + # See comments in src_configure. + if ! has_version -b "~sys-libs/${P}:0" ; then + # We could possibly merge these two branches but opting to be + # conservative when merging some of the Prefix changes. + + if [[ ${CHOST} == *-cygwin* ]] && ! multilib_is_native_abi ; then + # We make 'tic$(x)' here, for Cygwin having x=".exe". + BUILD_DIR="${WORKDIR}" \ + do_compile cross -C progs all PROGS='tic$(x)' + else + BUILD_DIR="${WORKDIR}" \ + do_compile cross -C progs tic + fi + fi + + multilib-minimal_src_compile +} + +multilib_src_compile() { + local t + for t in "${NCURSES_TARGETS[@]}" ; do + do_compile "${t}" + done +} + +do_compile() { + local target=$1 + shift + + cd "${BUILD_DIR}/${target}" || die + + # A little hack to fix parallel builds ... they break when + # generating sources so if we generate the sources first (in + # non-parallel), we can then build the rest of the package + # in parallel. This is not really a perf hit since the source + # generation is quite small. + emake -j1 sources + # For some reason, sources depends on pc-files which depends on + # compiled libraries which depends on sources which ... + # Manually delete the pc-files file so the install step will + # create the .pc files we want. + rm -f misc/pc-files || die + emake "$@" +} + +multilib_src_install() { + local target + for target in "${NCURSES_TARGETS[@]}" ; do + emake -C "${BUILD_DIR}/${target}" DESTDIR="${D}" install + done + + # Move main libraries into /. + if multilib_is_native_abi ; then + gen_usr_ldscript -a \ + "${NCURSES_TARGETS[@]}" \ + $(usex tinfo 'tinfow tinfo' '') + fi + if ! tc-is-static-only ; then + # Provide a link for -lcurses. + ln -sf libncurses$(get_libname) "${ED}"/usr/$(get_libdir)/libcurses$(get_libname) || die + fi + # don't delete '*.dll.a', needed for linking #631468 + if ! use static-libs; then + find "${ED}"/usr/ -name '*.a' ! -name '*.dll.a' -delete || die + fi + + # Build fails to create this ... + # -FIXME- + # Ugly hackaround for riscv having two parts libdir (#689240) + # Replace this hack with an official solution once we have one... + # -FIXME- + dosym $(sed 's@[^/]\+@..@g' <<< $(get_libdir))/share/terminfo \ + /usr/$(get_libdir)/terminfo +} + +multilib_src_install_all() { +# if ! use berkdb ; then + # We need the basic terminfo files in /etc for embedded/recovery. #37026 + einfo "Installing basic terminfo files in /etc..." + local terms=( + # Dumb/simple values that show up when using the in-kernel VT. + ansi console dumb linux + vt{52,100,102,200,220} + # [u]rxvt users used to be pretty common. Probably should drop this + # since upstream is dead and people are moving away from it. + rxvt{,-unicode}{,-256color} + # xterm users are common, as is terminals re-using/spoofing it. + xterm xterm-{,256}color + # screen is common (and reused by tmux). + screen{,-256color} + screen.xterm-256color + ) + local x + for x in "${terms[@]}"; do + local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null) + local basedir=$(basename "$(dirname "${termfile}")") + + if [[ -n ${termfile} ]] ; then + dodir "/etc/terminfo/${basedir}" + mv "${termfile}" "${ED}/etc/terminfo/${basedir}/" || die + dosym "../../../../etc/terminfo/${basedir}/${x}" \ + "/usr/share/terminfo/${basedir}/${x}" + fi + done +# fi + + echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" | newenvd - 50ncurses + + use minimal && rm -r "${ED}"/usr/share/terminfo* + # Because ncurses5-config --terminfo returns the directory we keep it + keepdir /usr/share/terminfo #245374 + + cd "${S}" || die + dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc + if use doc ; then + docinto html + dodoc -r doc/html/ + fi +} + +pkg_preinst() { + preserve_old_lib /$(get_libdir)/libncurses.so.5 + preserve_old_lib /$(get_libdir)/libncursesw.so.5 +} + +pkg_postinst() { + preserve_old_lib_notify /$(get_libdir)/libncurses.so.5 + preserve_old_lib_notify /$(get_libdir)/libncursesw.so.5 +}