summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-04-28 01:45:15 +0100
committerSam James <sam@gentoo.org>2022-04-28 01:46:37 +0100
commit638b787bdb4744f8ea4357388110a5c7f226e3b5 (patch)
tree8b9431ff9a9525c7b392ef4722868b1c07876482 /sys-libs
parentsec-keys/openpgp-keys-thomasdickey: new package, add 20220428 (diff)
downloadgentoo-638b787bdb4744f8ea4357388110a5c7f226e3b5.tar.gz
gentoo-638b787bdb4744f8ea4357388110a5c7f226e3b5.tar.bz2
gentoo-638b787bdb4744f8ea4357388110a5c7f226e3b5.zip
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 <sam@gentoo.org>
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/ncurses/Manifest52
-rw-r--r--sys-libs/ncurses/ncurses-6.3_p20220423-r1.ebuild386
-rw-r--r--sys-libs/ncurses/ncurses-6.3_p20220423.ebuild383
3 files changed, 821 insertions, 0 deletions
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
+ !<sys-libs/slang-2.3.2_pre23
+ !<x11-terms/rxvt-unicode-9.06-r3
+ !<x11-terms/st-0.6-r1"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-thomasdickey )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.7-nongnu.patch"
+ "${FILESDIR}/${PN}-6.0-rxvt-unicode-9.15.patch" #192083 #383871
+ "${FILESDIR}/${PN}-6.0-pkg-config.patch"
+ "${FILESDIR}/${PN}-6.0-ticlib.patch" #557360
+ "${FILESDIR}/${PN}-6.2_p20210123-cppflags-cross.patch" #601426
+)
+
+src_prepare() {
+ if [[ ${PV} == *_p* ]] ; then
+ #eapply "${WORKDIR}"/${P/_p/-}-patch.sh
+ eapply "${WORKDIR}"/
+ fi
+
+ default
+}
+
+src_configure() {
+ unset TERMINFO #115036
+ tc-export_build_env BUILD_{CC,CPP}
+ BUILD_CPPFLAGS+=" -D_GNU_SOURCE" #214642
+
+ # Build the various variants of ncurses -- narrow, wide, and threaded. #510440
+ # Order matters here -- we want unicode/thread versions to come last so that the
+ # binaries in /usr/bin support both wide and narrow.
+ # The naming is also important as we use these directly with filenames and when
+ # checking configure flags.
+ NCURSES_TARGETS=(
+ ncurses
+ ncursesw
+ ncursest
+ ncursestw
+ )
+
+ # When installing ncurses, we have to use a compatible version of tic.
+ # This comes up when cross-compiling, doing multilib builds, upgrading,
+ # or installing for the first time. Build a local copy of tic whenever
+ # the host version isn't available. #249363 #557598
+ if ! has_version -b "~sys-libs/${P}:0" ; then
+ local lbuildflags="-static"
+
+ # some toolchains don't quite support static linking
+ local dbuildflags="-Wl,-rpath,${WORKDIR}/lib"
+ case ${CHOST} in
+ *-darwin*) dbuildflags= ;;
+ *-solaris*) dbuildflags="-Wl,-R,${WORKDIR}/lib" ;;
+ esac
+ echo "int main() {}" | \
+ $(tc-getCC) -o x -x c - ${lbuildflags} -pipe >& /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
+ !<sys-libs/slang-2.3.2_pre23
+ !<x11-terms/rxvt-unicode-9.06-r3
+ !<x11-terms/st-0.6-r1"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-thomasdickey )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.7-nongnu.patch"
+ "${FILESDIR}/${PN}-6.0-rxvt-unicode-9.15.patch" #192083 #383871
+ "${FILESDIR}/${PN}-6.0-pkg-config.patch"
+ "${FILESDIR}/${PN}-6.0-ticlib.patch" #557360
+ "${FILESDIR}/${PN}-6.2_p20210123-cppflags-cross.patch" #601426
+)
+
+src_prepare() {
+ if [[ ${PV} == *_p* ]] ; then
+ #eapply "${WORKDIR}"/${P/_p/-}-patch.sh
+ eapply "${WORKDIR}"/
+ fi
+
+ default
+}
+
+src_configure() {
+ unset TERMINFO #115036
+ tc-export_build_env BUILD_{CC,CPP}
+ BUILD_CPPFLAGS+=" -D_GNU_SOURCE" #214642
+
+ # Build the various variants of ncurses -- narrow, wide, and threaded. #510440
+ # Order matters here -- we want unicode/thread versions to come last so that the
+ # binaries in /usr/bin support both wide and narrow.
+ # The naming is also important as we use these directly with filenames and when
+ # checking configure flags.
+ NCURSES_TARGETS=(
+ ncurses
+ ncursesw
+ ncursest
+ ncursestw
+ )
+
+ # When installing ncurses, we have to use a compatible version of tic.
+ # This comes up when cross-compiling, doing multilib builds, upgrading,
+ # or installing for the first time. Build a local copy of tic whenever
+ # the host version isn't available. #249363 #557598
+ if ! has_version -b "~sys-libs/${P}:0" ; then
+ local lbuildflags="-static"
+
+ # some toolchains don't quite support static linking
+ local dbuildflags="-Wl,-rpath,${WORKDIR}/lib"
+ case ${CHOST} in
+ *-darwin*) dbuildflags= ;;
+ *-solaris*) dbuildflags="-Wl,-R,${WORKDIR}/lib" ;;
+ esac
+ echo "int main() {}" | \
+ $(tc-getCC) -o x -x c - ${lbuildflags} -pipe >& /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
+}