Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/ncurses/
Date: Thu, 28 Apr 2022 00:46:49
Message-Id: 1651106797.638b787bdb4744f8ea4357388110a5c7f226e3b5.sam@gentoo
1 commit: 638b787bdb4744f8ea4357388110a5c7f226e3b5
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Thu Apr 28 00:45:15 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Thu Apr 28 00:46:37 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=638b787b
7
8 sys-libs/ncurses: add 6.3_p20220423{,-r1} (unkeyworded)
9
10 Includes FORTIFY_SOURCE=3 (glibc-2.35 + gcc 12+ or Clang 13(?)+ needed for that,
11 plus not on by default) and a buffer overflow fix too.
12
13 Includes -r1 w/ dropped curses symlink too.
14
15 Unkeyworded for now.
16
17 Bug: https://bugs.gentoo.org/839351
18 Signed-off-by: Sam James <sam <AT> gentoo.org>
19
20 sys-libs/ncurses/Manifest | 52 +++
21 sys-libs/ncurses/ncurses-6.3_p20220423-r1.ebuild | 386 +++++++++++++++++++++++
22 sys-libs/ncurses/ncurses-6.3_p20220423.ebuild | 383 ++++++++++++++++++++++
23 3 files changed, 821 insertions(+)
24
25 diff --git a/sys-libs/ncurses/Manifest b/sys-libs/ncurses/Manifest
26 index 71621376f4c0..3631d0295529 100644
27 --- a/sys-libs/ncurses/Manifest
28 +++ b/sys-libs/ncurses/Manifest
29 @@ -1,6 +1,58 @@
30 DIST ncurses-6.2-20210619-patch.sh.bz2 836967 BLAKE2B f210bf25c33f11d67e54a6f416aae75f0a976880ea543408780fd3a8dc992ee8d9999bf15c925c79504be0f30ade4bbfaed763abedd2b2d6b35de65b353a6314 SHA512 b8392bf6c0b7570766ae31a043df311660201265dfe3e2e49425b1e2aa08c72030b5f5b6c7871532897596262c88a7192e3ff2adfdc618f1b9c13c22c373eeb3
31 DIST ncurses-6.2.tar.gz 3425862 BLAKE2B 6680cd7a369a4cb8234442a70869c283f0db6db9d7da1da2a7a5c519eb862a2c9b9411957d99f9ebb5089cad00b42e1ca6bc0784327461113df2eeaec695913c SHA512 4c1333dcc30e858e8a9525d4b9aefb60000cfc727bc4a1062bace06ffc4639ad9f6e54f6bdda0e3a0e5ea14de995f96b52b3327d9ec633608792c99a1e8d840d
32 DIST ncurses-6.3-20211026.patch.gz 117363 BLAKE2B 74c6c80271edc3b69d17c891436e48ee0579b3d16dd1bbd42f953be5b6ef07596343abd34f4d508b0cb371c1c0febfec12d65e938739892a617c8b141f599753 SHA512 25a99bc9cb7a18eb8fd16a0f887bae90c2551e0228b077d28f7217e58190f4b19a526350c999922f7394a1b749e834643c1bf5f339248b842717c146a3ec1df4
33 +DIST ncurses-6.3-20211026.patch.gz.asc 729 BLAKE2B 470aa4aad00d0dfa9924ca3247d720b720563bfe5a3b5c9571acb4c74a7b3fb55adbae6b0aa854eb0e29c56d7949fa1e3b6d959c25681f1b46c23c96a3c0e054 SHA512 276e8a09ee6fddf20be38b9d8a6f93cbafcec51ed17de375b9d2f4f6c34ff546fdbd81083f54aba1a5aaea5c2c691c25754dfca47568c5b70197437420dd2581
34 DIST ncurses-6.3-20211030.patch.gz 46304 BLAKE2B 6fa0f5223c97dc045117c208b92e75aad61638585506aeed0fa5cd6b215f67d212fc780e527f1281ae77063edb1ef9b3a3671b00d306fe322c3ca1b34c1d4d81 SHA512 90440af3959a17388999f07a3b40f770c5511bceda6a39d4c56f867dc5ae8494e49cfb700eb79e31422ebfd1b1990f6d7912083c688963139446f1e43e9d08c8
35 +DIST ncurses-6.3-20211030.patch.gz.asc 729 BLAKE2B af1715038a877ebe10660872bed82d536df410f8987508aca7ffed6d19fcdc95a2f5bd8f527b5a30580b07d7c770fade7bac2cfce3e20315faf472eaeb075d5f SHA512 526ff0ff7030cef711e92150fe0f2be7076bf8fe8c7b5fff9ee709c202e747c921479bf3efc2c3da8df2f0d7926de6b1571d03270e49bf64bc539193b0a3020d
36 DIST ncurses-6.3-20211106.patch.gz 3995 BLAKE2B fbacfd6bfbf64b2935d47f648bd74c93136ea8d17b51e218b80a24695b52246ce8ec01704a0636692bae72815c8b93dec8573570dfd126b19645ec90926e818a SHA512 799819ed01967387fdca4755ab44401f0dc90306f6f771c894ce6702c929e2ff87f45d3e1c2e683cc32bb01553f3332c3a7591a00b7a4bdff93da25307379bdc
37 +DIST ncurses-6.3-20211106.patch.gz.asc 729 BLAKE2B a60360000338be6f19e9769d901b03917a632d2da961523ea81191b44b04430d757ba0dea30a6b02e29b324dffdc447cf1fe729428138e0e71b138d84aed26b4 SHA512 3902c88633078ccfebda4ce67dbf6e4ccf0e8be296a0193d07ccf51b56dd75c34f326f885330c90d81aa0d487aad513eb797c3916aba682a8ed6673b51483c84
38 +DIST ncurses-6.3-20211113.patch.gz 116573 BLAKE2B 5c0926fa97628e1e15f10f47e3c668d5867c066b03b80ec1be2cada6a48ec02aca81dbf997718fc1d9bbdd36016de62981eb19e875aac4b4c531c90c0a2f1c48 SHA512 2225859cb6770d31cd5d147f1b767c61ad28534542b64e3e22a9630977f2cabcdad11313d533c0c462f53a6e0dc17cd80985ca759d796658775676720e50998a
39 +DIST ncurses-6.3-20211113.patch.gz.asc 729 BLAKE2B 16e9645ea71db7afa7b3a52831b04920e9d7d960bfef074361ac77264a28b9bd95a6240e1e3e2e96373615f2915a35acf6d3c21b63a6c4130fd35bf3c65dbbe2 SHA512 7d5b8740512b31bc5b6ace1cc9ebbdf36f2092bc88aa3994f757085ac2add814648daa70c18410a4433fb6327115d9b1762eaf93f9d337de3e10a9707f411f1f
40 +DIST ncurses-6.3-20211115.patch.gz 2259 BLAKE2B bf3ecd64919707bdf25b1db20d99c68d47d122406bcc4884c370d9b13c3df4bd8fd5e913d3f5ac7dcfbec58f4910d2d42176c32d879095c45e2513cc4c933a22 SHA512 7571da910f51152200d2fa76659d1a253ceb7022c00bfa587188c7ad1f6896ed836eafa3e724933fe3c4bfc03aaf6ac1d51102c5db1a3e37f944f3b15d50f9db
41 +DIST ncurses-6.3-20211115.patch.gz.asc 729 BLAKE2B 8b853439790674b22029d4d71a65b29019bfc1d2109b44cc2d08a08cc396bd5b784ca8169e4a8edc1fc4e9a08611b89c50f9e3a18781aef0b5a56ea20b335117 SHA512 5427ac588426bba6e9b579faa6c1e1b17839fe2e3327dcd76ac187a46792693da327b279eef35c43e39b08f755cf930e7efe03a753d8b8ba326c039408131d60
42 +DIST ncurses-6.3-20211120.patch.gz 122226 BLAKE2B 390bb1bee13b83d282ce31a26327bf46000d74851f5d2a363e04915ef73ca5ffaf365255d6696b0c4d10fbb1fb124baa07fa0b841f378b018a37ac1a741aa579 SHA512 37eca2eb6478332e095c139eaa0ff740b8bdf82da4a1c0e990010ffaa3385b38a1c6956ff3f1dc182894384d9face8c265d35faa3ffd0a517c404890b51d177e
43 +DIST ncurses-6.3-20211120.patch.gz.asc 729 BLAKE2B dd03ec2ae80bfb83ebce5b55410914ce3d5015da2933984b04d2e4d6170b42cccf109bbe2312b4d77c83933f9bad9af7f19e8b1ff23f3791b99238c2d0834891 SHA512 5693a92e631718c6f2bc791e994f5e225a70cd6eab9df5b5da2c180b96480e77c0e5485f48653cffdfe267048175523b7dc42414083500310fb87554043dd19c
44 +DIST ncurses-6.3-20211127.patch.gz 38780 BLAKE2B b9e6e1c065c7aa97809e65a0af2bb398e7d2ed17c95c35bc4320451ad47efd1a292dfb74d2ff53ff12a68c9cabd6464fe7be40e389c35c4f99ebdc66ec7ad77f SHA512 e2971c8606173da0e044630622506fdef4b83e968b2c501c4e1db9b0b4e54cf93d76570fdacf0edeff986d9cdd728471050c9365881092817b54bd83917fdb25
45 +DIST ncurses-6.3-20211127.patch.gz.asc 729 BLAKE2B 11ccba2a3310a70b228d0df1b088501ba30f159878662791ce3a294b48e0819c6619dff8763590cdfd74d6e2dc24a5897705808e6da64510d49eea7889e3b1a0 SHA512 8949ab4d8e6b124769bac40becf2853bc0f370814fdd013c7b0c638b9008c1628e5b7cc372f95731549a5cb184ac6d80172f985e114d186a30cebd67268dae61
46 +DIST ncurses-6.3-20211204.patch.gz 29875 BLAKE2B ce2c8ada23ea01d22baa8d68bb34bfebd3913ce8dd787f1a3825eb07c7a8d83dfe4317e755fc2a16469f6936022a2c45155ea5e3aaf9d01a5caaf124cf1eede2 SHA512 30454d917631cfad474191dbb7e1318e5370e829cab4b63470f51e9c13c953975d999a41cb10a35dfabcf038fe666247d32659f597a6e8a8bac572a4fe6b3fd6
47 +DIST ncurses-6.3-20211204.patch.gz.asc 729 BLAKE2B b6cc88dd5ac8edc1afa60baccb8af84daf00d8806822f04284c78f0ed132f7fcd839f4d39bc62ff58d48bd3fbf504baab9bb9815a4c236f0bbdbcf23798be71e SHA512 5dbbd09311d4f5bcf1697373945db190925c0d7d1e0aa3d65f83608e34a9c407a74df8553581ec5a49d634e94261ba8f5fac26dbe9718177df173fc4e52543e2
48 +DIST ncurses-6.3-20211211.patch.gz 5277 BLAKE2B be82f85d49e28a25ef8c26dda4355ac111fab68917d157af05289b518a669e7e42a1f6bf65a813bb3d0747e56cd2723ee1dfa28dc02501ae8350ac74e01c1b39 SHA512 c57157bc401190867aad64f4503e438777606786814de32b38e44df6d73733b91b5c5ca4e173035dd5ccfddbdca2814fdad7a1781f6a144adae4d96d2c6e7e78
49 +DIST ncurses-6.3-20211211.patch.gz.asc 729 BLAKE2B 01ba5f095250a316fdf30f3f15032804db351c5995dda85820e67cacbb62a0d8a750c4bdfbe6deb9654f01ef124a78ef89b9fe41e4b494561ffa5a79f243c72e SHA512 17973f01a765d121597b3cff6fed2feffe5ff895c4589ea08a86134ba3b9913742f740deba9369d2e7aa89aa033c1925b4d49518d188cae57ba83ff5a3668225
50 +DIST ncurses-6.3-20211219.patch.gz 6874 BLAKE2B a5b98f1a0fc7b31340713f5aa2a0106184e270ac2312851a5a92ff6947d70d86e9af849a3830f5306c17bad58fbda4640b4cc15715b23cb6e2411b7f86ba0282 SHA512 c38b31e133d336fb50936cc176a04fa076c197c6e6fe56beb840002d6ac65c76c4a3d1f2506122b1095d680ce254a886b52c56194f2fe586edf69355d68f2a45
51 +DIST ncurses-6.3-20211219.patch.gz.asc 729 BLAKE2B 2ff431a67bf8ac671ec330c8ea7c61e6467cf2c7acb7760ebe035b72a05e675b1945e891d55943f1dfe0fed0c29f91731094ae5d198e11af6d9d0a21534282ed SHA512 7d6a3a0e4a51c885fa2ef37c71f089b7493daa57a59cb02188bef64597657fabb7dc20fce1d55bbd4c368987becdc1dcb89cdce14b45576ce7657522046d8b2b
52 +DIST ncurses-6.3-20211225.patch.gz 205972 BLAKE2B 34ea7243f7f8ecff69e60a90fc1a0a9b9d69b4e87227714d7ae8f603c3b16f82466c96987e7696fbb45005dbaa2c732f85a79b4fc39a61f8555bac661f27ba53 SHA512 1c2c1687233cfc72cf050883bbee60d88ed179e0fa865dd752985e83add68b5278e498b2e9bd2658b00ef7791e04fc456f43e82fcbb8cb4ed46365bff3c336d8
53 +DIST ncurses-6.3-20211225.patch.gz.asc 729 BLAKE2B efc0b1a5cf93c71912ab6a7232ddc7c50d2369a955992e6e60f8d86e56aee3cf539c82e082951d5b6215bbde835219588619ae95525b08a54486d3c75ffe3658 SHA512 f2bb524f604883858015a23fbeb698db8483afb88012b3271bfa10935fc71845088b7b5c9fcf950ea9fc2aaa0e2baa4147a8d9f4e42902d3be9f424ce01f7ad4
54 +DIST ncurses-6.3-20220101.patch.gz 11576 BLAKE2B 76b2ff3bb028bd6ebbcfd0f79e20aa5fd06806279c569e2640e9b6de83899913ef8755c37888a65cdce3ee701db2ef704181de6d36417abfc158fe651d5c0e68 SHA512 07dbf0def9d21a6b701f4f3d18a8f82d5115f8e4d826a57bf5914534029c79aad2b539f60ab5b1795886894f490a9f604acddce3a77cdd474d80db5428568b97
55 +DIST ncurses-6.3-20220101.patch.gz.asc 729 BLAKE2B c86a9999b42fb312c1452f619269bdc5c1293c19cb8adb2436b5670acf706800a951d266f2c1b78caf1ab10608933e99fc49e761eaef1a658b0ed35fc4816ea9 SHA512 1ddbcdef1e7b5a04dbf0a7b371cd775337ca3ac39247f5215e5c6d099d4758367b98c28a6d5568a08bdcdcb7ff29a7ef2936b12b431d9a0e00eaad2cc78976d4
56 +DIST ncurses-6.3-20220115.patch.gz 294400 BLAKE2B 97293251ae0c6322df5e4663fca4991e5a1978ad63f1d7d015027dfd6e5dc5e1a52d46683199da2efb5f7f18e7b5424ff7702d34d0dba5eb4ba83dbd85039078 SHA512 0e42e298fa22bf2a463870576ac697ae71320eacfd3ee41bc4b41a229f05603cbdf52bd4e7b724de83c41c2587469deb1e2f876a5e6eabe1df1799263f5c1a87
57 +DIST ncurses-6.3-20220115.patch.gz.asc 729 BLAKE2B d1288c86c4fdd9890dc8654f81e2e8c956412173a03f26f0018234d6bad6fae6043df8f65d1bf1942c8ea8de68f631d6cd6e8741c932277b85fe9735ec9414a7 SHA512 cf3aafd09105362d8c896d3de73a49ed1f19818a78bd2f2a9f1f8ece218dc01159e65793ef4010d5f5a850fa9057f4f2723d745e6fbca7530a4e8c468005bd41
58 +DIST ncurses-6.3-20220122.patch.gz 106624 BLAKE2B 33d12cec7df1553cd2c4c3e09152f53ef5b8e86a4cf9bb5afadcc92065f93bd0734f761be088f13f150ec9e8e4d7d8159ea22b2c2bf0bec824e25078d2ea9251 SHA512 c585ba9f3c27314cfb9097d8cf9feb1653014d676670f1644cefffb347ef70a7172ca56c20015531c7117eb23909d55815a295850738499e58c4d5306ec5d747
59 +DIST ncurses-6.3-20220122.patch.gz.asc 729 BLAKE2B fb8f0e236ec7582b1adfa9c7facb959fe1b88ffcee494308dec6fb4ece6e518d1aae3af5c52e0b82f59660e60c3c01dd56037e1b107e25240a12a03f4300f91a SHA512 609c55b3028a89d4ff09774279435bad58d8d0e179042dafe2c61092f32b5edcad2397cdd8a6eeb7ab61322064fd1b24d8b6b960adc6ede0b7254c3b12284fe1
60 +DIST ncurses-6.3-20220129.patch.gz 117854 BLAKE2B 1dce0288609407e6bc803ffc8f61b0c33f8a1dcf1c6c4303cd4c730741e4f0b68b7fb7e7b79c1a29dc1c7cde7f2e5aa7b615402b13ee3af7a7c28cae1ce804d0 SHA512 3f573b645f67279e0394352456d844d289be89e2ca70d832d24fe945ce2e6b017273eb305171e5a704492ac3d600de05e5e6c1e268a939bea4b5cfd74b292753
61 +DIST ncurses-6.3-20220129.patch.gz.asc 729 BLAKE2B a6b8fa01d3a5c8c3f4055757ac23a2700e5b8627214f8606f25c82f560f1637ff2db70a872f43a9aa25b64e3efb3c98bb9980b0673a35ca13073c4f9d5063fa4 SHA512 b2906c5d27312df3c6e79ab486753420ab83e9562d1b3d35971b5ed7f6d15a1ad7f8a3b18bafe3e5e8c6ef9b09d32dade373269ebfbbe9ce5d2b417e0848a5d9
62 +DIST ncurses-6.3-20220205.patch.gz 48085 BLAKE2B 1d1bd94138379e1947941c87c1ef6cb76e1e5dcf49e04985b59f1d111a524976629f94ece79f9ec93a2c773f8dda9bde0b90b1d34ed1ec51a573d4f1587cad86 SHA512 166f3f6687f52c18169d67e5cd7338aee7ec283898c522e964a4d9f59b20a5754d6865e0268c5297ef7c4b7fc34b8607f00129aecb5b7ab616788a0b98f674b2
63 +DIST ncurses-6.3-20220205.patch.gz.asc 729 BLAKE2B cace085a89847d3d19eab5049c64afb187b1419dd7ea6ac1e9cd8c037aa83897788cbddc3e97ebe15d32f09e1c5156664e5d3af5727edf6ba6b739025582f984 SHA512 c2176c35fe7044ba82869a928c614faec3a894521b3becbe37277ab95cc5615fb1b33b935d6394a4f75dad15015e5203bcb29001f68fa05420289145729638b3
64 +DIST ncurses-6.3-20220212.patch.gz 41501 BLAKE2B a0257b9a740a14090e46e85b67a59e754018e77d6484b30eec6f5a3fa84dddf329078b94d4425800ee45a85a31a9c47b1ccc25ed32fdc2f433465c3238e3c8e7 SHA512 1f596ad2f806411a2e89ebc8b74e9d44754fcdd3baa0c727fe610121fe64eb27e1c35871545dd7ab743930e1c49c2d96581aed0a0b37d0a33d2ee7c590c0c42e
65 +DIST ncurses-6.3-20220212.patch.gz.asc 729 BLAKE2B ed7466b3294baeda59fdd56df93583662a257efb3434ff2817d31994cd5218605ccd535e95ce668f741693fec9fcc5f39223dd67884668aee777bfc9eeff55ce SHA512 3394f9c37a0a1d7e19becb023542534c734f15f030ff725ba54ae010417898be2935d6820f7f7f6d76a0abc3663a9a7f4ccf98a9571c03123f4ba8321ea5c9c1
66 +DIST ncurses-6.3-20220219.patch.gz 6845 BLAKE2B 660191d5561af0ca763ba8377899ae5793a48e73fec27ef5d9ae00e28cb53edbe96c6ee0480bc1de321ec19cbc8c02f7330861811f3a000b603ce6bdd9921070 SHA512 41d9e29f4f673a6c930f8637dbbf7c55f427aad28088f96ddab824b560b462015dcc21a371551a087adb44dde4797abe9cde2ea07e2537e81216b17b330a14e7
67 +DIST ncurses-6.3-20220219.patch.gz.asc 729 BLAKE2B e216aa89dbe7d7ea0bafa6d91aca090ac316844ec6d1b1d36da8452bc623e3897722f19b3fb1cc89174ad1aa41a6e8fab4d1b761081090c2bbf338fa027a534d SHA512 555f22dfb585e7b93727f20e46fb6fa77cb633bafdfe6ca3cf3bfabd462a4761f23bb341fbb25c1518b8d9652388f23d671e15f7acecd01755c55d5fa48d3e67
68 +DIST ncurses-6.3-20220226.patch.gz 5429 BLAKE2B fd0b50218992daf8e5228cf77fe72db651bba494d9699d0057e0e676fc01b699ff4d8f0fb9636faac5ea3fc1936d59d27403a5a5e89f6aa3c42f7c101d9dcb35 SHA512 0d77a955c1f24b7ba58d830cf5c256bcf5946f535b29077484e4ce4ae871a0803fc0db70c66d177ad427da797f7ae30b9a08ff56cd6d0b5f37dd3f231bd67b35
69 +DIST ncurses-6.3-20220226.patch.gz.asc 729 BLAKE2B e1b83208bf9e9ca9558b3e93f824766765159fcf3b5b4c7a4d92415229a8ef653eb1503446cc5fc8088a354e08cf6fbefb5fcc28e995c8c1718dc77b59552267 SHA512 972f65a645490ef425a6f7314f859cbf8d1aefe5ce6b0847adad3a457d8fd5634af64becb6542e477d14bdacc72aca00fef213c3d5b51f68258ebaef876aec86
70 +DIST ncurses-6.3-20220305.patch.gz 3732 BLAKE2B b756ad0d8831c2f0eff78dabf1b45adec7888dedc846a91a94cef739c10057f87bbbe7984a4758aa82a8c146d7cc9eeb356b7321bf529fd54480fe334e0ec608 SHA512 4ced572ac32afc2676896e79acac9145c7b138dafa8ebe0c29b2355bf65169a68df3be8fd273b7b957931f98f39ab0f20ada6081be5e11045d32f91f055116c6
71 +DIST ncurses-6.3-20220305.patch.gz.asc 729 BLAKE2B ef22a7429cffe8dcfebdbd6e339684b7a96c437e3d0bc3ba3eb02c4e8a537909f14306a4d7ce2d0f0752e1a02975b11ad04aabf27a6ba0aa99f4f486b1fe4826 SHA512 68a73ba690722ecca38099521fd9396e7c46dfab9c1a090f0cb7d1a18480bf027a6b7a5e3f1b0ab92a7ad29b05df1c9f7d4c197e13b9e916b6fcb0c54a472e4e
72 +DIST ncurses-6.3-20220312.patch.gz 3659 BLAKE2B 8ec667f1a615b7fdaf7aeef1c14145ce4c90ad75c8acc474d160c61bf85b13a10fbb6c248a2659dba94db50a9db866c002c2ff429a3bdab8124b1d9b28031364 SHA512 1565f364fa694e2b84f73e9d6ad716b18cdde4f18aeb9bcee8d78d59ed9e995968f7ecea7d307e6738943208ed17bcd459b6b30cc85fa0f7e8ff2c64e2a7b385
73 +DIST ncurses-6.3-20220312.patch.gz.asc 729 BLAKE2B e5b4cd10b313c7d7f61e3251fddc2c85fbd920b2855d8b9ecb585a1d3acbd5b1bb3a1dcf5043bcb807ab9ecb03c9e711e1625a86ae6adcf6f41b37f8b71b0d21 SHA512 ca819f78d6b5b4c9bfd9e536c6e8ec4ccd9d6c3ad3f00e1e85f5e646e2e5d2b30e8c72ffe91f789a9b8f2268b89f4fbc07798b433a202b263673a187c74774c9
74 +DIST ncurses-6.3-20220319.patch.gz 3975 BLAKE2B eb9a9896704463e64c0b46721322190cdaaf1bf6d30f3a8b4ef2d815a5cba5dc0ca84674404ef720d0d861cf724b265988e187fec94096f6926633da62933829 SHA512 f642180bc13bc26d8befa48145a66d36f064cd5a4c5891e0eb5e9e463cd7a446280040ce04aa8d7bedacb06d060916fc32ca7f6f66010ee6fbf95c4a367e2c1f
75 +DIST ncurses-6.3-20220319.patch.gz.asc 729 BLAKE2B e6f763a035db48bdfb1bb7c05aa30f91c0e693efebb0f74eebc696a0f5b4acba3655112af6bf9b0d5bb502a5d67dd3416b4f26dc3be5cb775692f1c958aaa911 SHA512 e07dce52dc16d73dcddfcb982b40cb9fb4ff60097e704e9dc56604262cb30eabf2283a4b436e78a8ddf6abca69cc3fef5a2d93d9145658ad4a36022e2b053406
76 +DIST ncurses-6.3-20220326.patch.gz 4163 BLAKE2B 20f83d6491dfe4c6833c72582dbddc5f69f4356f78251989afc7e689a2f261f477a8db17cea7c084ab798d3ead34dd1204a595e4718255a6c4a3a9735c36b217 SHA512 62210e6bdf5577fea31e2d793d15ba55bf1c89a855e02ebfe82bc918dec3423f70c49756b08a8fbf1a7cd4311ff09a2751f76a4bb7b2924a3eacc96c2ea25634
77 +DIST ncurses-6.3-20220326.patch.gz.asc 729 BLAKE2B 65254b2f56dd831be92fa8e89359bd52252dc7959a16d99888c372722bf533a7c2cc3b285452af5bc33f0478bb2f143ed74b5f0b57ad9cc74626b4902f0ccdbc SHA512 a60b780f39424b3f712e5fd81fe397b1eaa476026b497c50edd5c6e460eaf320ea9412a0d0ce122bb7bb3cdfe2f473bad5a0bbf923a22cc1bcd04c621aa5c023
78 +DIST ncurses-6.3-20220402.patch.gz 11483 BLAKE2B 3210094fb4be4d7c2b751ce3d7b4efee71db0c420f0159db846efcd0ae6e85673069b7c39b943346a3b1a1aeda247493aba6bf832eb192fd3729a9585d0c9a66 SHA512 f8ce6ab6ef5df746ecbc6286c5b46ec53ab0f3fed831878f693c8afe49b34f3f2769f2d3078b81799952f7905bf18217069fce7dd52d3126b7e4dc2ae84f5443
79 +DIST ncurses-6.3-20220402.patch.gz.asc 729 BLAKE2B 0ab44b4bbf10aa0c67dc1022012b1e156c9ce9c57214c5f92e7b3714cdccead69e0a869b9247b799797680f896dd8e86b3a2ca2e9587f5cc11250711ab36006f SHA512 299b5b7c337f95b0621571261b23d3110c963ed0f584f145238049caad52ba325d6982e138545d02041e297cf78f3f1a0f8d08f9162bb7b61885870382df2e06
80 +DIST ncurses-6.3-20220409.patch.gz 22728 BLAKE2B 7b8514a9fc8b8ddbf5cbf1f6b0cb45895808f6226db726c206ed8490c3abccbf8a8d49e6bcfdcad806414d8aa0d4fce89faac43c60a38ecf71e613ff01f67224 SHA512 1dde730b7fa12efeb2bc7b98012f3e5529630f0aabde2d877046ef85d541dafb5d64488747ddb559f97a3f25d1ec5f716815f9e6c1ce100f4f308bfa86501d20
81 +DIST ncurses-6.3-20220409.patch.gz.asc 729 BLAKE2B 9d5321cd1990c68ac812691713d941d467dcd2f95c93f2488cf212d4162415b615397546bc397a2907f1b6ae38907dea6f72e3012ecdafa0054a91d59a94ca64 SHA512 8db2631d35ee1d7d07d906fa194e499ed8239acfbfd215e192a2382b1cd998a9ee3d0ad971aab43edb5e91cdbb2a772835a42cf0645b2541c5c7dab9bf4adf74
82 +DIST ncurses-6.3-20220416.patch.gz 67896 BLAKE2B c95a993f51beb87bb9891bd0eee08729795a583df50c66df8265cdd5c4adbef83b9fc0339c71aa5137408fe10fa15b0ba4028d5539a0ac66df06c0c1d72e8359 SHA512 2686ed16f5103d76c92cfa4943a8f82d8bc414db074c1c7fb73810b49c6d1d0103988611edf36715d5be24891d0bb2c97ceb08dc4111d0900b5dba6fac12af0a
83 +DIST ncurses-6.3-20220416.patch.gz.asc 729 BLAKE2B 52ab1bfcac4b5d7b3733c399509ba4c0a6b9531c02a05846d39344488ba3a9196326a8126db225845a3ff1ca3fdd609fa1d9264583e7e57e28d2f4e3b58b4389 SHA512 c5a60d2ef9996c02264e6656a966f4be910a3acbee777a4ff2a5131efd156bdf1d32418a39d6e3c07fcbb59c75554d4cc1e7e9f84f5b59f69e7e4c17fafc749f
84 +DIST ncurses-6.3-20220423.patch.gz 3394 BLAKE2B ac93810f1e826fc82de72a85effe5479576af14fa86e0dd08b8823b6f4652922f79242e9c867b1c864f0049c9e6d9864d6efc9282ab1e734dc316cac05655f4c SHA512 5dc87f70793d8319c5ee2f07c7f9432b1128e05f3aa2841a74deeaf294e46859f4198483dc783bb80e5e98f81f05cfef148df75a5abc5acfa69a9d6ad3abb702
85 +DIST ncurses-6.3-20220423.patch.gz.asc 729 BLAKE2B 7225d28f7e61ae584183e98d8c93c7d470e96984aea4e462333f115c329a8c187927196447b8368949986d4b8c96086f5839fde5b442936e76ac797685ee109b SHA512 b0eecbdad448f193fb255bec2fa458d3fea972c181891882d8dc1e09cc325ecda38e98f2d410993f768f513f3a48b9be4b36dbb2919d82a778496b8ef2051565
86 DIST ncurses-6.3.tar.gz 3583550 BLAKE2B b2c174ac48d587b4d3aa054f04e4ec8bffd8a657a4aff5f090104965c741901e600712c8f8e5e98f3b8a26bc558996a1e14a746f113854832853b855e9d406c3 SHA512 5373f228cba6b7869210384a607a2d7faecfcbfef6dbfcd7c513f4e84fbd8bcad53ac7db2e7e84b95582248c1039dcfc7c4db205a618f7da22a166db482f0105
87 +DIST ncurses-6.3.tar.gz.sig 438 BLAKE2B d7f9852292110fe7a048a9e38611ea06564b5142cb4cbeb8d99bba752d5df8eeffa3b57e5ca315c14024520bc008b30650e99669c995dca05a798399a0c85d39 SHA512 b9a2a25e0b1854c272bf89c610c81fc0ba061f0296eca5c0079a79cfe310e44eb16c46eb5a0dd018f1ca9114d569c9d5087a2b8e60b0344f1eb97f7c5addafc6
88
89 diff --git a/sys-libs/ncurses/ncurses-6.3_p20220423-r1.ebuild b/sys-libs/ncurses/ncurses-6.3_p20220423-r1.ebuild
90 new file mode 100644
91 index 000000000000..4b058013e9b3
92 --- /dev/null
93 +++ b/sys-libs/ncurses/ncurses-6.3_p20220423-r1.ebuild
94 @@ -0,0 +1,386 @@
95 +# Copyright 1999-2022 Gentoo Authors
96 +# Distributed under the terms of the GNU General Public License v2
97 +
98 +EAPI=7
99 +
100 +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/thomasdickey.asc
101 +inherit toolchain-funcs multilib multilib-minimal preserve-libs usr-ldscript verify-sig
102 +
103 +MY_PV="${PV:0:3}"
104 +MY_P="${PN}-${MY_PV}"
105 +DESCRIPTION="Console display library"
106 +HOMEPAGE="https://www.gnu.org/software/ncurses/ https://invisible-island.net/ncurses/"
107 +SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz
108 + https://invisible-island.net/archives/${PN}/${MY_P}.tar.gz
109 + verify-sig? ( mirror://gnu/ncurses/${MY_P}.tar.gz.sig )"
110 +
111 +if [[ ${PV} == *_p* ]] ; then
112 + # Sometimes, after releases, there's no megapatch available yet.
113 + #
114 + # From upstream README at e.g. https://invisible-island.net/archives/ncurses/6.3/:
115 + #
116 + # "At times (generally to mark a relatively stable point), I create a rollup
117 + # patch, which consists of all changes from the release through the current date."
118 + #
119 + # This array should contain a list of all the snapshots since the last
120 + # release if there's no megapatch available yet.
121 + PATCH_DATES=(
122 + 20211026
123 + 20211030
124 + 20211106
125 + 20211113
126 + 20211115
127 + 20211120
128 + 20211127
129 + 20211204
130 + 20211211
131 + 20211219
132 + 20211225
133 + 20220101
134 + 20220115
135 + 20220122
136 + 20220129
137 + 20220205
138 + 20220212
139 + 20220219
140 + 20220226
141 + 20220305
142 + 20220312
143 + 20220319
144 + 20220326
145 + 20220402
146 + 20220409
147 + 20220416
148 +
149 + # Latest patch is just _pN = $(ver_cut 4)
150 + $(ver_cut 4)
151 + )
152 +
153 + if [[ -z ${PATCH_DATES[@]} ]] ; then
154 + SRC_URI+=" https://invisible-island.net/archives/${PN}/${PV/_p*}/${P/_p/-}.patch.sh.gz"
155 + SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${PV/_p*}/${P/_p/-}.patch.sh.gz.asc"
156 + else
157 + patch_url=
158 + my_patch_index=
159 + for ((my_patch_index=0; my_patch_index < "${#PATCH_DATES[@]}"; my_patch_index++)); do
160 + patch_url="$(printf "https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P}-%s" ${PATCH_DATES[${my_patch_index}]}.patch.gz)"
161 + SRC_URI+=" ${patch_url}"
162 + SRC_URI+=" verify-sig? ( ${patch_url}.asc )"
163 + done
164 + unset patch_url
165 + unset my_patch_index
166 + fi
167 +fi
168 +
169 +LICENSE="MIT"
170 +# The subslot reflects the SONAME.
171 +SLOT="0/6"
172 +#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"
173 +IUSE="ada +cxx debug doc gpm minimal profile static-libs test tinfo trace"
174 +RESTRICT="!test? ( test )"
175 +
176 +DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )"
177 +# berkdb? ( sys-libs/db )"
178 +# Block the older ncurses that installed all files w/SLOT=5. #557472
179 +RDEPEND="${DEPEND}
180 + !<=sys-libs/ncurses-5.9-r4:5
181 + !<sys-libs/slang-2.3.2_pre23
182 + !<x11-terms/rxvt-unicode-9.06-r3
183 + !<x11-terms/st-0.6-r1"
184 +BDEPEND="verify-sig? ( sec-keys/openpgp-keys-thomasdickey )"
185 +
186 +S="${WORKDIR}/${MY_P}"
187 +
188 +PATCHES=(
189 + "${FILESDIR}/${PN}-5.7-nongnu.patch"
190 + "${FILESDIR}/${PN}-6.0-rxvt-unicode-9.15.patch" #192083 #383871
191 + "${FILESDIR}/${PN}-6.0-pkg-config.patch"
192 + "${FILESDIR}/${PN}-6.0-ticlib.patch" #557360
193 + "${FILESDIR}/${PN}-6.2_p20210123-cppflags-cross.patch" #601426
194 +)
195 +
196 +src_prepare() {
197 + if [[ ${PV} == *_p* ]] ; then
198 + #eapply "${WORKDIR}"/${P/_p/-}-patch.sh
199 + eapply "${WORKDIR}"/
200 + fi
201 +
202 + default
203 +}
204 +
205 +src_configure() {
206 + unset TERMINFO #115036
207 + tc-export_build_env BUILD_{CC,CPP}
208 + BUILD_CPPFLAGS+=" -D_GNU_SOURCE" #214642
209 +
210 + # Build the various variants of ncurses -- narrow, wide, and threaded. #510440
211 + # Order matters here -- we want unicode/thread versions to come last so that the
212 + # binaries in /usr/bin support both wide and narrow.
213 + # The naming is also important as we use these directly with filenames and when
214 + # checking configure flags.
215 + NCURSES_TARGETS=(
216 + ncurses
217 + ncursesw
218 + ncursest
219 + ncursestw
220 + )
221 +
222 + # When installing ncurses, we have to use a compatible version of tic.
223 + # This comes up when cross-compiling, doing multilib builds, upgrading,
224 + # or installing for the first time. Build a local copy of tic whenever
225 + # the host version isn't available. #249363 #557598
226 + if ! has_version -b "~sys-libs/${P}:0" ; then
227 + local lbuildflags="-static"
228 +
229 + # some toolchains don't quite support static linking
230 + local dbuildflags="-Wl,-rpath,${WORKDIR}/lib"
231 + case ${CHOST} in
232 + *-darwin*) dbuildflags= ;;
233 + *-solaris*) dbuildflags="-Wl,-R,${WORKDIR}/lib" ;;
234 + esac
235 + echo "int main() {}" | \
236 + $(tc-getCC) -o x -x c - ${lbuildflags} -pipe >& /dev/null \
237 + || lbuildflags="${dbuildflags}"
238 +
239 + # We can't re-use the multilib BUILD_DIR because we run outside of it.
240 + BUILD_DIR="${WORKDIR}" \
241 + CC=${BUILD_CC} \
242 + CHOST=${CBUILD} \
243 + CFLAGS=${BUILD_CFLAGS} \
244 + CXXFLAGS=${BUILD_CXXFLAGS} \
245 + CPPFLAGS=${BUILD_CPPFLAGS} \
246 + LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \
247 + do_configure cross --without-shared --with-normal --with-progs
248 + fi
249 + multilib-minimal_src_configure
250 +}
251 +
252 +multilib_src_configure() {
253 + local t
254 + for t in "${NCURSES_TARGETS[@]}" ; do
255 + do_configure "${t}"
256 + done
257 +}
258 +
259 +do_configure() {
260 + local target=$1
261 + shift
262 +
263 + mkdir "${BUILD_DIR}/${target}" || die
264 + cd "${BUILD_DIR}/${target}" || die
265 +
266 + local conf=(
267 + # We need the basic terminfo files in /etc, bug #37026. We will
268 + # add '--with-terminfo-dirs' and then populate /etc/terminfo in
269 + # src_install() ...
270 + --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo"
271 +
272 + # Disabled until #245417 is sorted out.
273 + #$(use_with berkdb hashed-db)
274 +
275 + # Enable installation of .pc files.
276 + --enable-pc-files
277 + # This path is used to control where the .pc files are installed.
278 + --with-pkg-config-libdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig"
279 +
280 + # Now the rest of the various standard flags.
281 + --with-shared
282 + --without-hashed-db
283 + $(use_with ada)
284 + $(use_with cxx)
285 + $(use_with cxx cxx-binding)
286 + --with-cxx-shared
287 + $(use_with debug)
288 + $(use_with profile)
289 + # The configure script uses ldd to parse the linked output which
290 + # is flaky for cross-compiling/multilib/ldd versions/etc...
291 + $(use_with gpm gpm libgpm.so.1)
292 + # Required for building on mingw-w64, and possibly other windows
293 + # platforms, bug #639670
294 + $(use_enable kernel_Winnt term-driver)
295 + --disable-termcap
296 + --enable-symlinks
297 + --with-rcs-ids
298 + --with-manpage-format=normal
299 + --enable-const
300 + --enable-colorfgbg
301 + --enable-hard-tabs
302 + --enable-echo
303 + $(use_enable !ada warnings)
304 + $(use_with debug assertions)
305 + $(use_enable !debug leaks)
306 + $(use_with debug expanded)
307 + $(use_with !debug macros)
308 + $(multilib_native_with progs)
309 + $(use_with test tests)
310 + $(use_with trace)
311 + $(use_with tinfo termlib)
312 + --disable-stripping
313 + --disable-pkg-ldflags
314 + )
315 +
316 + if [[ ${target} == ncurses*w ]] ; then
317 + conf+=( --enable-widec )
318 + else
319 + conf+=( --disable-widec )
320 + fi
321 + if [[ ${target} == ncursest* ]] ; then
322 + conf+=( --with-{pthread,reentrant} )
323 + else
324 + conf+=( --without-{pthread,reentrant} )
325 + fi
326 + # Make sure each variant goes in a unique location.
327 + if [[ ${target} == "ncurses" ]] ; then
328 + # "ncurses" variant goes into "${EPREFIX}"/usr/include
329 + # It is needed on Prefix because the configure script appends
330 + # "ncurses" to "${prefix}/include" if "${prefix}" is not /usr.
331 + conf+=( --enable-overwrite )
332 + else
333 + conf+=( --includedir="${EPREFIX}"/usr/include/${target} )
334 + fi
335 + # See comments in src_configure.
336 + if [[ ${target} != "cross" ]] ; then
337 + local cross_path="${WORKDIR}/cross"
338 + [[ -d ${cross_path} ]] && export TIC_PATH="${cross_path}/progs/tic"
339 + fi
340 +
341 + # Force bash until upstream rebuilds the configure script with a newer
342 + # version of autotools. #545532
343 + #CONFIG_SHELL=${EPREFIX}/bin/bash \
344 + ECONF_SOURCE="${S}" \
345 + econf "${conf[@]}" "$@"
346 +}
347 +
348 +src_compile() {
349 + # See comments in src_configure.
350 + if ! has_version -b "~sys-libs/${P}:0" ; then
351 + # We could possibly merge these two branches but opting to be
352 + # conservative when merging some of the Prefix changes.
353 +
354 + if [[ ${CHOST} == *-cygwin* ]] && ! multilib_is_native_abi ; then
355 + # We make 'tic$(x)' here, for Cygwin having x=".exe".
356 + BUILD_DIR="${WORKDIR}" \
357 + do_compile cross -C progs all PROGS='tic$(x)'
358 + else
359 + BUILD_DIR="${WORKDIR}" \
360 + do_compile cross -C progs tic
361 + fi
362 + fi
363 +
364 + multilib-minimal_src_compile
365 +}
366 +
367 +multilib_src_compile() {
368 + local t
369 + for t in "${NCURSES_TARGETS[@]}" ; do
370 + do_compile "${t}"
371 + done
372 +}
373 +
374 +do_compile() {
375 + local target=$1
376 + shift
377 +
378 + cd "${BUILD_DIR}/${target}" || die
379 +
380 + # A little hack to fix parallel builds ... they break when
381 + # generating sources so if we generate the sources first (in
382 + # non-parallel), we can then build the rest of the package
383 + # in parallel. This is not really a perf hit since the source
384 + # generation is quite small.
385 + emake -j1 sources
386 + # For some reason, sources depends on pc-files which depends on
387 + # compiled libraries which depends on sources which ...
388 + # Manually delete the pc-files file so the install step will
389 + # create the .pc files we want.
390 + rm -f misc/pc-files || die
391 + emake "$@"
392 +}
393 +
394 +multilib_src_install() {
395 + local target
396 + for target in "${NCURSES_TARGETS[@]}" ; do
397 + emake -C "${BUILD_DIR}/${target}" DESTDIR="${D}" install
398 + done
399 +
400 + # Move main libraries into /.
401 + if multilib_is_native_abi ; then
402 + gen_usr_ldscript -a \
403 + "${NCURSES_TARGETS[@]}" \
404 + $(usex tinfo 'tinfow tinfo' '')
405 + fi
406 + # don't delete '*.dll.a', needed for linking #631468
407 + if ! use static-libs; then
408 + find "${ED}"/usr/ -name '*.a' ! -name '*.dll.a' -delete || die
409 + fi
410 +
411 + # Build fails to create this ...
412 + # -FIXME-
413 + # Ugly hackaround for riscv having two parts libdir (#689240)
414 + # Replace this hack with an official solution once we have one...
415 + # -FIXME-
416 + dosym $(sed 's@[^/]\+@..@g' <<< $(get_libdir))/share/terminfo \
417 + /usr/$(get_libdir)/terminfo
418 +
419 + # Remove obsolete libcurses symlink that is created by the build
420 + # system. Technically, this could be also achieved
421 + # via --disable-overwrite but it also moves headers implicitly,
422 + # and we do not want to do this yet.
423 + # https://bugs.gentoo.org/836696
424 + rm "${ED}"/usr/$(get_libdir)/libcurses* || die
425 +}
426 +
427 +multilib_src_install_all() {
428 +# if ! use berkdb ; then
429 + # We need the basic terminfo files in /etc for embedded/recovery. #37026
430 + einfo "Installing basic terminfo files in /etc..."
431 + local terms=(
432 + # Dumb/simple values that show up when using the in-kernel VT.
433 + ansi console dumb linux
434 + vt{52,100,102,200,220}
435 + # [u]rxvt users used to be pretty common. Probably should drop this
436 + # since upstream is dead and people are moving away from it.
437 + rxvt{,-unicode}{,-256color}
438 + # xterm users are common, as is terminals re-using/spoofing it.
439 + xterm xterm-{,256}color
440 + # screen is common (and reused by tmux).
441 + screen{,-256color}
442 + screen.xterm-256color
443 + )
444 + local x
445 + for x in "${terms[@]}"; do
446 + local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null)
447 + local basedir=$(basename "$(dirname "${termfile}")")
448 +
449 + if [[ -n ${termfile} ]] ; then
450 + dodir "/etc/terminfo/${basedir}"
451 + mv "${termfile}" "${ED}/etc/terminfo/${basedir}/" || die
452 + dosym "../../../../etc/terminfo/${basedir}/${x}" \
453 + "/usr/share/terminfo/${basedir}/${x}"
454 + fi
455 + done
456 +# fi
457 +
458 + echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" | newenvd - 50ncurses
459 +
460 + use minimal && rm -r "${ED}"/usr/share/terminfo*
461 + # Because ncurses5-config --terminfo returns the directory we keep it
462 + keepdir /usr/share/terminfo #245374
463 +
464 + cd "${S}" || die
465 + dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc
466 + if use doc ; then
467 + docinto html
468 + dodoc -r doc/html/
469 + fi
470 +}
471 +
472 +pkg_preinst() {
473 + preserve_old_lib /$(get_libdir)/libncurses.so.5
474 + preserve_old_lib /$(get_libdir)/libncursesw.so.5
475 +}
476 +
477 +pkg_postinst() {
478 + preserve_old_lib_notify /$(get_libdir)/libncurses.so.5
479 + preserve_old_lib_notify /$(get_libdir)/libncursesw.so.5
480 +}
481
482 diff --git a/sys-libs/ncurses/ncurses-6.3_p20220423.ebuild b/sys-libs/ncurses/ncurses-6.3_p20220423.ebuild
483 new file mode 100644
484 index 000000000000..7123b8237c1d
485 --- /dev/null
486 +++ b/sys-libs/ncurses/ncurses-6.3_p20220423.ebuild
487 @@ -0,0 +1,383 @@
488 +# Copyright 1999-2022 Gentoo Authors
489 +# Distributed under the terms of the GNU General Public License v2
490 +
491 +EAPI=7
492 +
493 +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/thomasdickey.asc
494 +inherit toolchain-funcs multilib multilib-minimal preserve-libs usr-ldscript verify-sig
495 +
496 +MY_PV="${PV:0:3}"
497 +MY_P="${PN}-${MY_PV}"
498 +DESCRIPTION="Console display library"
499 +HOMEPAGE="https://www.gnu.org/software/ncurses/ https://invisible-island.net/ncurses/"
500 +SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz
501 + https://invisible-island.net/archives/${PN}/${MY_P}.tar.gz
502 + verify-sig? ( mirror://gnu/ncurses/${MY_P}.tar.gz.sig )"
503 +
504 +if [[ ${PV} == *_p* ]] ; then
505 + # Sometimes, after releases, there's no megapatch available yet.
506 + #
507 + # From upstream README at e.g. https://invisible-island.net/archives/ncurses/6.3/:
508 + #
509 + # "At times (generally to mark a relatively stable point), I create a rollup
510 + # patch, which consists of all changes from the release through the current date."
511 + #
512 + # This array should contain a list of all the snapshots since the last
513 + # release if there's no megapatch available yet.
514 + PATCH_DATES=(
515 + 20211026
516 + 20211030
517 + 20211106
518 + 20211113
519 + 20211115
520 + 20211120
521 + 20211127
522 + 20211204
523 + 20211211
524 + 20211219
525 + 20211225
526 + 20220101
527 + 20220115
528 + 20220122
529 + 20220129
530 + 20220205
531 + 20220212
532 + 20220219
533 + 20220226
534 + 20220305
535 + 20220312
536 + 20220319
537 + 20220326
538 + 20220402
539 + 20220409
540 + 20220416
541 +
542 + # Latest patch is just _pN = $(ver_cut 4)
543 + $(ver_cut 4)
544 + )
545 +
546 + if [[ -z ${PATCH_DATES[@]} ]] ; then
547 + SRC_URI+=" https://invisible-island.net/archives/${PN}/${PV/_p*}/${P/_p/-}.patch.sh.gz"
548 + SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${PV/_p*}/${P/_p/-}.patch.sh.gz.asc"
549 + else
550 + patch_url=
551 + my_patch_index=
552 + for ((my_patch_index=0; my_patch_index < "${#PATCH_DATES[@]}"; my_patch_index++)); do
553 + patch_url="$(printf "https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P}-%s" ${PATCH_DATES[${my_patch_index}]}.patch.gz)"
554 + SRC_URI+=" ${patch_url}"
555 + SRC_URI+=" verify-sig? ( ${patch_url}.asc )"
556 + done
557 + unset patch_url
558 + unset my_patch_index
559 + fi
560 +fi
561 +
562 +LICENSE="MIT"
563 +# The subslot reflects the SONAME.
564 +SLOT="0/6"
565 +#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"
566 +IUSE="ada +cxx debug doc gpm minimal profile static-libs test tinfo trace"
567 +RESTRICT="!test? ( test )"
568 +
569 +DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )"
570 +# berkdb? ( sys-libs/db )"
571 +# Block the older ncurses that installed all files w/SLOT=5. #557472
572 +RDEPEND="${DEPEND}
573 + !<=sys-libs/ncurses-5.9-r4:5
574 + !<sys-libs/slang-2.3.2_pre23
575 + !<x11-terms/rxvt-unicode-9.06-r3
576 + !<x11-terms/st-0.6-r1"
577 +BDEPEND="verify-sig? ( sec-keys/openpgp-keys-thomasdickey )"
578 +
579 +S="${WORKDIR}/${MY_P}"
580 +
581 +PATCHES=(
582 + "${FILESDIR}/${PN}-5.7-nongnu.patch"
583 + "${FILESDIR}/${PN}-6.0-rxvt-unicode-9.15.patch" #192083 #383871
584 + "${FILESDIR}/${PN}-6.0-pkg-config.patch"
585 + "${FILESDIR}/${PN}-6.0-ticlib.patch" #557360
586 + "${FILESDIR}/${PN}-6.2_p20210123-cppflags-cross.patch" #601426
587 +)
588 +
589 +src_prepare() {
590 + if [[ ${PV} == *_p* ]] ; then
591 + #eapply "${WORKDIR}"/${P/_p/-}-patch.sh
592 + eapply "${WORKDIR}"/
593 + fi
594 +
595 + default
596 +}
597 +
598 +src_configure() {
599 + unset TERMINFO #115036
600 + tc-export_build_env BUILD_{CC,CPP}
601 + BUILD_CPPFLAGS+=" -D_GNU_SOURCE" #214642
602 +
603 + # Build the various variants of ncurses -- narrow, wide, and threaded. #510440
604 + # Order matters here -- we want unicode/thread versions to come last so that the
605 + # binaries in /usr/bin support both wide and narrow.
606 + # The naming is also important as we use these directly with filenames and when
607 + # checking configure flags.
608 + NCURSES_TARGETS=(
609 + ncurses
610 + ncursesw
611 + ncursest
612 + ncursestw
613 + )
614 +
615 + # When installing ncurses, we have to use a compatible version of tic.
616 + # This comes up when cross-compiling, doing multilib builds, upgrading,
617 + # or installing for the first time. Build a local copy of tic whenever
618 + # the host version isn't available. #249363 #557598
619 + if ! has_version -b "~sys-libs/${P}:0" ; then
620 + local lbuildflags="-static"
621 +
622 + # some toolchains don't quite support static linking
623 + local dbuildflags="-Wl,-rpath,${WORKDIR}/lib"
624 + case ${CHOST} in
625 + *-darwin*) dbuildflags= ;;
626 + *-solaris*) dbuildflags="-Wl,-R,${WORKDIR}/lib" ;;
627 + esac
628 + echo "int main() {}" | \
629 + $(tc-getCC) -o x -x c - ${lbuildflags} -pipe >& /dev/null \
630 + || lbuildflags="${dbuildflags}"
631 +
632 + # We can't re-use the multilib BUILD_DIR because we run outside of it.
633 + BUILD_DIR="${WORKDIR}" \
634 + CC=${BUILD_CC} \
635 + CHOST=${CBUILD} \
636 + CFLAGS=${BUILD_CFLAGS} \
637 + CXXFLAGS=${BUILD_CXXFLAGS} \
638 + CPPFLAGS=${BUILD_CPPFLAGS} \
639 + LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \
640 + do_configure cross --without-shared --with-normal --with-progs
641 + fi
642 + multilib-minimal_src_configure
643 +}
644 +
645 +multilib_src_configure() {
646 + local t
647 + for t in "${NCURSES_TARGETS[@]}" ; do
648 + do_configure "${t}"
649 + done
650 +}
651 +
652 +do_configure() {
653 + local target=$1
654 + shift
655 +
656 + mkdir "${BUILD_DIR}/${target}" || die
657 + cd "${BUILD_DIR}/${target}" || die
658 +
659 + local conf=(
660 + # We need the basic terminfo files in /etc, bug #37026. We will
661 + # add '--with-terminfo-dirs' and then populate /etc/terminfo in
662 + # src_install() ...
663 + --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo"
664 +
665 + # Disabled until #245417 is sorted out.
666 + #$(use_with berkdb hashed-db)
667 +
668 + # Enable installation of .pc files.
669 + --enable-pc-files
670 + # This path is used to control where the .pc files are installed.
671 + --with-pkg-config-libdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig"
672 +
673 + # Now the rest of the various standard flags.
674 + --with-shared
675 + --without-hashed-db
676 + $(use_with ada)
677 + $(use_with cxx)
678 + $(use_with cxx cxx-binding)
679 + --with-cxx-shared
680 + $(use_with debug)
681 + $(use_with profile)
682 + # The configure script uses ldd to parse the linked output which
683 + # is flaky for cross-compiling/multilib/ldd versions/etc...
684 + $(use_with gpm gpm libgpm.so.1)
685 + # Required for building on mingw-w64, and possibly other windows
686 + # platforms, bug #639670
687 + $(use_enable kernel_Winnt term-driver)
688 + --disable-termcap
689 + --enable-symlinks
690 + --with-rcs-ids
691 + --with-manpage-format=normal
692 + --enable-const
693 + --enable-colorfgbg
694 + --enable-hard-tabs
695 + --enable-echo
696 + $(use_enable !ada warnings)
697 + $(use_with debug assertions)
698 + $(use_enable !debug leaks)
699 + $(use_with debug expanded)
700 + $(use_with !debug macros)
701 + $(multilib_native_with progs)
702 + $(use_with test tests)
703 + $(use_with trace)
704 + $(use_with tinfo termlib)
705 + --disable-stripping
706 + --disable-pkg-ldflags
707 + )
708 +
709 + if [[ ${target} == ncurses*w ]] ; then
710 + conf+=( --enable-widec )
711 + else
712 + conf+=( --disable-widec )
713 + fi
714 + if [[ ${target} == ncursest* ]] ; then
715 + conf+=( --with-{pthread,reentrant} )
716 + else
717 + conf+=( --without-{pthread,reentrant} )
718 + fi
719 + # Make sure each variant goes in a unique location.
720 + if [[ ${target} == "ncurses" ]] ; then
721 + # "ncurses" variant goes into "${EPREFIX}"/usr/include
722 + # It is needed on Prefix because the configure script appends
723 + # "ncurses" to "${prefix}/include" if "${prefix}" is not /usr.
724 + conf+=( --enable-overwrite )
725 + else
726 + conf+=( --includedir="${EPREFIX}"/usr/include/${target} )
727 + fi
728 + # See comments in src_configure.
729 + if [[ ${target} != "cross" ]] ; then
730 + local cross_path="${WORKDIR}/cross"
731 + [[ -d ${cross_path} ]] && export TIC_PATH="${cross_path}/progs/tic"
732 + fi
733 +
734 + # Force bash until upstream rebuilds the configure script with a newer
735 + # version of autotools. #545532
736 + #CONFIG_SHELL=${EPREFIX}/bin/bash \
737 + ECONF_SOURCE="${S}" \
738 + econf "${conf[@]}" "$@"
739 +}
740 +
741 +src_compile() {
742 + # See comments in src_configure.
743 + if ! has_version -b "~sys-libs/${P}:0" ; then
744 + # We could possibly merge these two branches but opting to be
745 + # conservative when merging some of the Prefix changes.
746 +
747 + if [[ ${CHOST} == *-cygwin* ]] && ! multilib_is_native_abi ; then
748 + # We make 'tic$(x)' here, for Cygwin having x=".exe".
749 + BUILD_DIR="${WORKDIR}" \
750 + do_compile cross -C progs all PROGS='tic$(x)'
751 + else
752 + BUILD_DIR="${WORKDIR}" \
753 + do_compile cross -C progs tic
754 + fi
755 + fi
756 +
757 + multilib-minimal_src_compile
758 +}
759 +
760 +multilib_src_compile() {
761 + local t
762 + for t in "${NCURSES_TARGETS[@]}" ; do
763 + do_compile "${t}"
764 + done
765 +}
766 +
767 +do_compile() {
768 + local target=$1
769 + shift
770 +
771 + cd "${BUILD_DIR}/${target}" || die
772 +
773 + # A little hack to fix parallel builds ... they break when
774 + # generating sources so if we generate the sources first (in
775 + # non-parallel), we can then build the rest of the package
776 + # in parallel. This is not really a perf hit since the source
777 + # generation is quite small.
778 + emake -j1 sources
779 + # For some reason, sources depends on pc-files which depends on
780 + # compiled libraries which depends on sources which ...
781 + # Manually delete the pc-files file so the install step will
782 + # create the .pc files we want.
783 + rm -f misc/pc-files || die
784 + emake "$@"
785 +}
786 +
787 +multilib_src_install() {
788 + local target
789 + for target in "${NCURSES_TARGETS[@]}" ; do
790 + emake -C "${BUILD_DIR}/${target}" DESTDIR="${D}" install
791 + done
792 +
793 + # Move main libraries into /.
794 + if multilib_is_native_abi ; then
795 + gen_usr_ldscript -a \
796 + "${NCURSES_TARGETS[@]}" \
797 + $(usex tinfo 'tinfow tinfo' '')
798 + fi
799 + if ! tc-is-static-only ; then
800 + # Provide a link for -lcurses.
801 + ln -sf libncurses$(get_libname) "${ED}"/usr/$(get_libdir)/libcurses$(get_libname) || die
802 + fi
803 + # don't delete '*.dll.a', needed for linking #631468
804 + if ! use static-libs; then
805 + find "${ED}"/usr/ -name '*.a' ! -name '*.dll.a' -delete || die
806 + fi
807 +
808 + # Build fails to create this ...
809 + # -FIXME-
810 + # Ugly hackaround for riscv having two parts libdir (#689240)
811 + # Replace this hack with an official solution once we have one...
812 + # -FIXME-
813 + dosym $(sed 's@[^/]\+@..@g' <<< $(get_libdir))/share/terminfo \
814 + /usr/$(get_libdir)/terminfo
815 +}
816 +
817 +multilib_src_install_all() {
818 +# if ! use berkdb ; then
819 + # We need the basic terminfo files in /etc for embedded/recovery. #37026
820 + einfo "Installing basic terminfo files in /etc..."
821 + local terms=(
822 + # Dumb/simple values that show up when using the in-kernel VT.
823 + ansi console dumb linux
824 + vt{52,100,102,200,220}
825 + # [u]rxvt users used to be pretty common. Probably should drop this
826 + # since upstream is dead and people are moving away from it.
827 + rxvt{,-unicode}{,-256color}
828 + # xterm users are common, as is terminals re-using/spoofing it.
829 + xterm xterm-{,256}color
830 + # screen is common (and reused by tmux).
831 + screen{,-256color}
832 + screen.xterm-256color
833 + )
834 + local x
835 + for x in "${terms[@]}"; do
836 + local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null)
837 + local basedir=$(basename "$(dirname "${termfile}")")
838 +
839 + if [[ -n ${termfile} ]] ; then
840 + dodir "/etc/terminfo/${basedir}"
841 + mv "${termfile}" "${ED}/etc/terminfo/${basedir}/" || die
842 + dosym "../../../../etc/terminfo/${basedir}/${x}" \
843 + "/usr/share/terminfo/${basedir}/${x}"
844 + fi
845 + done
846 +# fi
847 +
848 + echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" | newenvd - 50ncurses
849 +
850 + use minimal && rm -r "${ED}"/usr/share/terminfo*
851 + # Because ncurses5-config --terminfo returns the directory we keep it
852 + keepdir /usr/share/terminfo #245374
853 +
854 + cd "${S}" || die
855 + dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc
856 + if use doc ; then
857 + docinto html
858 + dodoc -r doc/html/
859 + fi
860 +}
861 +
862 +pkg_preinst() {
863 + preserve_old_lib /$(get_libdir)/libncurses.so.5
864 + preserve_old_lib /$(get_libdir)/libncursesw.so.5
865 +}
866 +
867 +pkg_postinst() {
868 + preserve_old_lib_notify /$(get_libdir)/libncurses.so.5
869 + preserve_old_lib_notify /$(get_libdir)/libncursesw.so.5
870 +}