commit:     0e65dd1715be4bd43b55e74115a1a760be5047d3
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 24 07:24:49 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Dec 24 07:25:18 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e65dd17

sys-libs/ncurses: add 6.5_p20251220

Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-libs/ncurses/Manifest                     |  39 ++
 sys-libs/ncurses/ncurses-6.5_p20251220.ebuild | 517 ++++++++++++++++++++++++++
 2 files changed, 556 insertions(+)

diff --git a/sys-libs/ncurses/Manifest b/sys-libs/ncurses/Manifest
index 2d599afbef03..a283ed682e17 100644
--- a/sys-libs/ncurses/Manifest
+++ b/sys-libs/ncurses/Manifest
@@ -124,8 +124,47 @@ DIST ncurses-6.5-20250726.patch.gz 47760 BLAKE2B 
316109ff7e38c6ecdec115e7980d307
 DIST ncurses-6.5-20250726.patch.gz.asc 729 BLAKE2B 
0317fe9d4251514a01848b804e1c0d89cbadf6645127bcdb5b854a4a60346de1ffc5464454ac9cb4e930eed566e65e3c5b9624b2e7b76b264f4bd9cbb6f5e70d
 SHA512 
847d6de3cf0ba49ed6cafeae269966d1687e061eb546b0e05ab155af20309ab7fbe0eed6e4d226bc3859a8aa7c526d2781233bf06e9862120c57f2791c2e52f0
 DIST ncurses-6.5-20250802.patch.gz 4000 BLAKE2B 
18c7855d0a16ad24947b8f9099729dde3d4bf5509d310ec6fe48e52436a8e9c151b963020c798484184989c9816266ef21f5545d73e5d931a8c07da318612e2d
 SHA512 
ef29aeb611f7362343356b50f602298e52727df62dea661dd9b831f440dd9b3ca3b4e0a57011222db9e8016fa06413ef97b83936445353dbb11993f08936d95f
 DIST ncurses-6.5-20250802.patch.gz.asc 729 BLAKE2B 
20bdd09573b76d1f37964f3af89e96fa481a8c3cd3872de5b8c1fdffc718c4777ef7a5a99046b17f06a92a9266f46ac29df5e21c473ed3fbaf1e03fc557157f3
 SHA512 
e2398af3d20db4fff9d724a8c7d6da32c094b95dc8156c46f6f5f3aaa3f53b9b0eb739bb6be8afab54863180ab56e16168056b0852ff3aefce0875a32f2770b8
+DIST ncurses-6.5-20250809.patch.gz 46897 BLAKE2B 
42c023edabcfcd3fc83941b9f250d930b69a1ee1b328b68512bbd0499f47f7ef7e0f7cd292fd5a263fc35a25d25a51893cacfe3d7efd741209d8745afb2cec53
 SHA512 
b4186a62aa987f6d258322ef2288d3e4742915263baddcb7c1d9ca31b8097abb93d53cfc96ce205d9aeb6793d207630a34420541f47cd9eb328701fe83ec8757
+DIST ncurses-6.5-20250809.patch.gz.asc 729 BLAKE2B 
480600e7cb9032b38aa004a1dd22a917b31c19b7a530c1264e52ffbb775033b656db4a00bad6477b71507ffa355c6e950d0a4bd42fdecceba3756905e44d0421
 SHA512 
0fde10847f267bb2856ce4bcfff5a7c06d59a6d626e94cdcc575f95a97a1b4adf8b89859a01970451ff1613242d9cf757c64e0d4ef55428db49eb970a8da271f
+DIST ncurses-6.5-20250816.patch.gz 119512 BLAKE2B 
57ea32c56c3d7aa5dcf46c4432974b0b252e6a30e9166a14873f0621746366f6273161c640b98181ebed59604ecfa975740e509f56d3bc31a7186d5e61364226
 SHA512 
7723c14dc469612c0b5d0eeb02117f46c2ce06e2b303d0411b0ffe92f1149adc90b92fc8d66dd877f11d6df3ad019ef2d36d50564c531b8ebccec82083dca9d5
+DIST ncurses-6.5-20250816.patch.gz.asc 729 BLAKE2B 
8f799e324cc3f7fd02bffa481101fe447c544b41ff0839c737101731945331c9a4275a53d99d08cc8d7d27635b5d8431d3e620ed346124463817ea676beb3dc7
 SHA512 
94b3bf84f172c28eb01fb341d4f578c80e3aacfc218e0288cd9846981cbd205af6302432acf9d2616dc51cd6acfd7c45942366c6b1de2f3882896becb064a7ab
+DIST ncurses-6.5-20250823.patch.gz 44210 BLAKE2B 
26dac2ceb0818800e82e13fa5cff5df8cedff4c70f6326b2d3c946131099e37868eecaf1f14f3e11d548f392061a0fa2a395c9737c557a504393167687528a67
 SHA512 
d8ca6b886a4dd07d77cee10dfd63529580a2b7951c730f30c56c29d1451aed8d90f0a7ce0de9476c96efebdfcc341e1180c3076383da10bf9cb643ac4a4ba93b
+DIST ncurses-6.5-20250823.patch.gz.asc 729 BLAKE2B 
c9892e424bcf8737019876d4929e383bc95a047b5af20955700f8d88be57453f1b78aae4d88370529a22cbec12ccdb8a5bb3f4c81c3f0a983d81aecb5b438c91
 SHA512 
eeea41aa72b1c9006dff584dfe559e766330d4715518c2356362dbc024d468b16430a6c6dd46823e0c25b9f664e090f5eb464e929cc2c15e725253e1702f7e6d
+DIST ncurses-6.5-20250830.patch.gz 13319 BLAKE2B 
aa47b1f01985f56e5e2b5cfca44e3381140fac516dd93ba4b6872fa87a3d25d702c25836746e98e991759ffdd5e52daa22905de2648de93ea28c1a0b5634a2aa
 SHA512 
1905c1c6ddc3df31e51c828c48fe81af7b93991195853d5d04031b10198e1c5eb2653e3552ec894867600a23c7e5570ec104e711406b1a7f47579a272ed38147
+DIST ncurses-6.5-20250830.patch.gz.asc 729 BLAKE2B 
565e7a6150554603b27a005c0dc3c56599ee39efcf40959aba962fdec638b2affc4824d8156d8c70b0c305e126b1ebb2d325a211168ec19aa17dbef2c68a5197
 SHA512 
126d67074b46c1f529a632a55ffabf33f850322be57f7a03f7c4c5c4a69dca89a773cea64b943217af6eb2fbb9ed2341545fd7bf6c7452b6a23e250296bd5717
+DIST ncurses-6.5-20250913.patch.gz 80129 BLAKE2B 
f42227602fcf1651306904ef60f43ee783c9f1e01600b6083809e82a05a9c70fed773c9eca163234a0381f4a6885906cbcff8672ad418a79384f8fdc765678ef
 SHA512 
8ebc583e6f7454f05210b1d31d5f369facb918c6ec01faa649160ea60458dc89a15ae675b4b6a91ef80d728730d78be21ec2c7afa8d30b4bb7f1b572e9713e8d
+DIST ncurses-6.5-20250913.patch.gz.asc 729 BLAKE2B 
82f637fd79d8ddfa7ee9c69a39511fe91e4bb0e83399ac51bd9f662b10a1d76e511c72e1856b3aedaa2a2958a26f339e526c27b5bc5d30d3b79b1a716c101893
 SHA512 
4a0dfce56ce8d594b8295437ca7325da41f4907090663d5fa43a9d8e41a30b4c746463bd980988f15c9ea474090370b378fec52eac371aa2a4ae1b5c75ccf5da
+DIST ncurses-6.5-20250920.patch.gz 37175 BLAKE2B 
207cc906673fad63c664dd1f31cff7e2a417e90f395d475d1d934eb61921691d84ea12d415ac746d9708384118ad0835598316b55ad8e79cc887690ce5656839
 SHA512 
cc21a8f3cdb512a6742aa9760e223114a5fbfafdc05e4bc4413f0b3ec32ede1c43d48dc1dd98bbe572db4fa39a6e1c92de356f6d7d79654b5b9377eb6cba5cf9
+DIST ncurses-6.5-20250920.patch.gz.asc 729 BLAKE2B 
d2294d67deffb414a52f7bd1e2ad63eb00342873c3474a4a8f3c1388a3c3b6fcd681318bcd9fac809d2ed003ae3149278a384e7089a4da8980b63f5e5115e169
 SHA512 
21ed7b930ac4e3024a1576e5da19220d45b3d27de93846c29e686e7052af97cefb3d167f87a00f7f176234ab238864d05a55bf14c1c18fb08eab824d4d99c97a
+DIST ncurses-6.5-20250927.patch.gz 8267 BLAKE2B 
728d22b33733e5da996898ca55555e47ade97928d1077ec13dd92a44291d222eecf75174fb142bba0806b9ee7fddde85ba700b91f96aa12a7dbf214785683634
 SHA512 
bd3029306b024301b2500fe2871d6bf7e0e92ff83ec78080825e5fc5bed0ed63736a798d32c4a9955e30559a2fbf095a7ba5374b1aa04fed8b46b64fd9cdd245
+DIST ncurses-6.5-20250927.patch.gz.asc 729 BLAKE2B 
925cfcb07449925e4c3bbe1fb25416cba78756c326c98ba58f1155d4317900465ca9b03ca51eadd60c8653a2e6967da204c6fb73a777665d0edfc77b55226271
 SHA512 
cfc2ec9a1228600cac21fcc206f3d5b72da4f4d9f70cf1315f927463c87f1090d79e875594adad93cbe01f9e59873546eb352832cf49039132ef280621e4617f
+DIST ncurses-6.5-20251004.patch.gz 203325 BLAKE2B 
4c171114cc9cb567cb2246b83a8c32ecb1addb22a70ab4c7637fdd6da5e3b198cb5ac73776bde3b38c98a7334f405c7bb1df492b05864cc04ea82a9dac21b79f
 SHA512 
b0d28be367d00ea1c6151b57dcc98767831ee3c5f9823b3cd0f1d8b099b0a0bb95c3d08d02ac766988a064dc83e2a264cf8ae91ed1fbd8f3555bd943e86b62a4
+DIST ncurses-6.5-20251004.patch.gz.asc 729 BLAKE2B 
25024c8a8f1dcc03383052df5566955835869b1f1082e7fc294bece49fb2b6e523d9611a3f160fed69a63e1eaa8dd5cf40a670351c4aa302e8841ffed4d740ce
 SHA512 
556230f44629b5d01b9b67e0a71b607b5d822330dcf046a2a99e6b2abb61fd60b201323b6e148a66157c3dc667b78fd1943d6787163fc7293fac7df5a151dad6
+DIST ncurses-6.5-20251010.patch.gz 206836 BLAKE2B 
86661e45894bf896ef0f3157571f948d0291db5c7a2018a66bc92ecb9a54504efd0cc142582bcd557da7a48920f30702238f6682fe3f72b2002bcaf72211d7a1
 SHA512 
410818b46b50b640a95ff4946ddc3a7911c27a702c80edf4c14d24116c033fac4431e195bf71ac4a4be19db4d8e486e2710e89be3e6cfe15739ec1c9bb305788
+DIST ncurses-6.5-20251010.patch.gz.asc 729 BLAKE2B 
8f96014a3aed043d3ef9b298d5478b4d539976a315c4e94587c15d94d54582a5c0b47124b5516cd6c74cb29111b6a24e62e1a9849c7258434f79f946a4be31a4
 SHA512 
256148ddcac8a5bcc7f7e6f8cab527d8a1e14fa59bc5e5f05225f385be414b80d2defdb3e7929393417e128961de12d7c5a91e1482c1234f20530d469a44a91f
+DIST ncurses-6.5-20251018.patch.gz 161296 BLAKE2B 
03ae4709f8ba67039b0b3926b29aa5c591d86cb1de723c0b0b6d8feec8ac48e926c111ba74e3b5f2c84b2d70d69c4c6741f1d74074f29ddfab8f55c18d4c7476
 SHA512 
e2f53a6104313dc395ad8093faac3af14703363cdfd4d9ead90afd051ab2670ead40ad07405ad9a502cd5f186f7f34c07e6cb20ed28c3ffc374beb2931260d4d
+DIST ncurses-6.5-20251018.patch.gz.asc 729 BLAKE2B 
86e874f0d74f9b00a2ee1f66bcecc531681428e0dc98de125aec67de32ce84b1aa44bb398495df273c9ec18061349f87184d0c59cb6518a02c409fabef8e1bb3
 SHA512 
71eaf0969e90c875b8d301a162b665bc0a0a7091b747133ab443e0851d034fecdc6e3000b29ca18007d390039fad95e7d2cc046b04831c759767617fb3b139e8
+DIST ncurses-6.5-20251025.patch.gz 14491 BLAKE2B 
6cd6c3f3ee34b2819d3525723e0ed4755f61fb24daab2113543ed4295cfa83f79473a0ec78ccd7e8fda1c9ccce4cfb01d0199beea8c3773a9028ae618c6c90ef
 SHA512 
405c3599e93895f432dcb3c9be4fbadb61f24ae2c16a6a3e3e4f57c8eb24a679d7233d13380a49f5d1e8adc3bee891582ff9eb512e15799d3a6cb39d3d4d7593
+DIST ncurses-6.5-20251025.patch.gz.asc 729 BLAKE2B 
3dd848d6d54262142878ed3e069d022ce78f26a6cd4bd6e6865ac40fb0c8a9da00ceabbca63a6d8f3fa329aed149dfef1e6650274e1eee7669c3d151a975ef4f
 SHA512 
acfbed338e670f5762bc0f8e1b68caa76104cef05ac5e5522510ef3b90554f7806526be0bcf4e59a44b119af935c713dd6d43e0bbba9869fc30fcf2be21287a8
+DIST ncurses-6.5-20251101.patch.gz 17400 BLAKE2B 
a58218161188f14bc3d21a7c19189630bf364e3abc5a1dabe70e6f986371e23430996c5037f7f668d9cb452532c744cba5e895571d44aee79ac2e14ca5cb72d6
 SHA512 
eb65a8789a4946ef8630fd93ac60fc690a32b2b4b8ca336f07a86404e5f677e7d85e475a57642959e5c6c7affc3fc2a559bcecd90756261c90221c02489886c2
+DIST ncurses-6.5-20251101.patch.gz.asc 729 BLAKE2B 
c64b32815ced635c41f39f0309d7305b82c6ae00d5bd7f23ab77c56cf0bc265901ac05bbf1768e6645305894c5200cc08b6d88056e10b736b6409eaecff5f31f
 SHA512 
7c77f189c81c68fcaa685163ed4b58cb1141c72864d8bf74e40c6e2d02a14de4e158537de1259010126893ba543403f99b4768bb06934ba21c825e76ee81250f
+DIST ncurses-6.5-20251115.patch.gz 42799 BLAKE2B 
26fecf92c968b85867edbae4728f467693793cce601548d5c043a369ea1e8c03f601bfa6fa972f21732eee9a0e3a96dcc88c6dd01e9cbffa16f8b91d20aa10ec
 SHA512 
4b18e92526b69a8ee5c98814bc8de8c52ddbd7acd8b6e41786244b3f2f37cb436c93dbb398fe02d5af6d8bfac476aa04e9e94e27166b4f143cdd42809a30c932
+DIST ncurses-6.5-20251115.patch.gz.asc 729 BLAKE2B 
739bbcd9acc1153b0bd09e9ab1528ed2c5b1d3a6fa15f03b1a5bbf4efa177f631bb4348485e908c184722a8810af7e763b7e37a3dab53cdb7f7a09963c5f64da
 SHA512 
f03991a5069f490fbb79230c47388219adbd9d0df8134ecf33e3072df049055967d29e8dd4ee047d752c1286d4f99bd7706c63d63c8c946ebcf926cd7c7d6100
+DIST ncurses-6.5-20251122.patch.gz 4970 BLAKE2B 
9b80805baf3c29bea66434b553c126958ca157f7e5f9008173f31616af447b086c01db9fd16027aa253fd890dee78540426b6faceda265dfe0acbfb40dde816e
 SHA512 
17199617592baa5349554308a50f469078ec97b64659bf6064f7e2247dced030c85409341d97767518a57e3b0dad90306d472c8ac4bb42258448fcf4b9ce8981
+DIST ncurses-6.5-20251122.patch.gz.asc 729 BLAKE2B 
1e2fc221870490d02857ad8182b750d3704ca31fc16250e7febee25ccc8a9f33f2c8e2242fac577f21a2ab1d0c70ad0fb68823e932f9fc5dee7fd6f094921196
 SHA512 
c94a7543bf9d20be4761e651613f7f3ee2fe10153c0a7dc792c35b74f8e78b0e53c0303e754a3a3d6c17ba7439be5d4f0bea0f9686886c853815b293dbb54176
+DIST ncurses-6.5-20251123.patch.gz 3595 BLAKE2B 
de3f5e9943322f3517eaec91e7b66eb6d5cde63da7208ce330ceec3b7bdba1be999d622029eeff0bea153f6f075bfbcb7f1aceeb36cb774e148162fc77c2b807
 SHA512 
50ea77cc1f050fd15f9c72bf22ed511e13ed37a44364fbd4d90625f6ae8dd2368f128c6070f137cf4570b8595c77713c05f24459aab9b5a0e67500b79649c650
+DIST ncurses-6.5-20251123.patch.gz.asc 729 BLAKE2B 
26de469564d95dad59c933cd3b4a75ceb16a0ecb186a85a6ebcfff3e910887ec476ddf854b676558fa40f0e4b9d4b1508c6f2d33b2c65f32af42f33ad0aae0c9
 SHA512 
f1f5eecf1d0dc579a62e7c5cba3a38522282cfb608bdaadea5e39cfa8ab2d3f093a28c05ea657ef13a81265fdd4e7e00ab8aed4c158a6ef63b8dfc0e174b2f72
+DIST ncurses-6.5-20251129.patch.gz 3455 BLAKE2B 
dfd89cd780e415f3a62a3b8819d8f114da76b8fb05113fa71a3748d85e5692be02fc062f3fb943d3289ee6a3eb1287ac15e2241ccb15851e642e881e14de72b0
 SHA512 
60b0f7feb418a0074e04c812280470bcb9547ecf037f3e8cef93991cfe37e6bcbbd04494de5e669c242f1ab8d01ea38378e079f8fe712f7f2ccf47f44aa8cb21
+DIST ncurses-6.5-20251129.patch.gz.asc 729 BLAKE2B 
35455c3155739005c4e019013483144c4db597bb32e822c81c7491fb8246d6c3eac060a43187c97f49121c78a31e3e6142181b04f9fa8018e8284586818711b9
 SHA512 
21262705f09b945ce7dc0deba62c265779d03bad75c1307198f7454e17bd8a147a0c3145460a4d4fd0073d4024508a4fab8b53c68e930bbcb942ff193e8a4185
+DIST ncurses-6.5-20251206.patch.gz 19900 BLAKE2B 
6207671b1cac347a3eaf17ed5b6f831299503f9d2bb85eecea0f4bb1e79674dfe8ea513d96b80fa4e1e1d608e1fc3b670b99fe9126662b94e8abe197b7631fac
 SHA512 
a9b9338f5bd185d281b8659ae56fed6ba7d3d94c8d22274f55de28fe1345e9bfc16e50457e2069d5c15bb7211cdc69a875ca9ef7eaac9ffd831719a074bb8005
+DIST ncurses-6.5-20251206.patch.gz.asc 729 BLAKE2B 
ddfffd8da860a3551c3e3cbd4ed4248fb5490b5102392c3ed122bebc334f545b3bb0881cdcf77ae754b03d0f502ba6ed22f8c477ec806ef650c16bc4fb7fadb7
 SHA512 
b1206bfc8965b5e649409508c68a8c7db74f4afb51960b9f043ae77d2ac4570ecc0a333d991bf7a94d324288365a4923fc0154207679a4439f77d9bde95c8e95
+DIST ncurses-6.5-20251213.patch.gz 3444 BLAKE2B 
6bd6f2ec52b0388388e238abfbe63b1d8f7eec7b07cd00e9c1bd4f30b72810a6bc65080e644f7a2c8ac20548f74a110bf858ba7d6a0385d1f2735965c3c315f9
 SHA512 
fdef9635e4de7001309a428efcccbb6ab5c6be532e5fad74456a733bf5a56a3be8c03c71f2c8add1dffa4cdd42d4373a65ad19afcb40e641802d1f458ae7d13b
+DIST ncurses-6.5-20251213.patch.gz.asc 729 BLAKE2B 
f9b41ea4a29d06b21561284b398874b5e145557a6119516a35bcee27a3652af3c1f289b78b0438f65243aaca63a0e84fd7f20bee61fd2c942b7118c60aca164e
 SHA512 
cc14b5d519405f6d784fdf27db14c9099717263ebc7fad0a04dceb68c39d5cee7c4a6f2b80eb69e1e223b75d30f4b4b075af5831f1bd7e440f93e7b56c9e8c0b
+DIST ncurses-6.5-20251220.patch.gz 46642 BLAKE2B 
4b0f3edd124ffbaba3d20fb1594ecc20ad10ef96a4d403579ccf9bf3f20eebbac57be973a08ef0b343213e0e2f594d2fef188d208dd3364ee1f7a48294a3914f
 SHA512 
7d5b00f20f48617806867d319a8a19cd2d3e17e9391d537c8dec1aab53e0e7838a163226f83f60a00f4cc407029ce13250da9a60a68561a4e6cc3ad5cf2bb3db
+DIST ncurses-6.5-20251220.patch.gz.asc 729 BLAKE2B 
d208a0969f99afd55454fbcaca2d8cb6e784008b0c1b10a4272d3ebb16128245774d88341c9ec8f08d5f64280cae89978b9ba215a4168ebb96ecb768b0ff1c03
 SHA512 
fb8714e858c60fbc7b33b162d681f6f261daeeb6bd6e376c058c12624e976db520dbd0b7a0a87394e81b9b6ef46cd9a127b51a15c334f0da4239e2a49405295f
 DIST ncurses-6.5.tar.gz 3688489 BLAKE2B 
d0a05c218b5f320ba9abe2f322787baef1d15d764e503c81d49772b54b2927d28ecbeb500c8e514996226b41f69445b4de44ff423cec25b61847307fe61682ec
 SHA512 
fc5a13409d2a530a1325776dcce3a99127ddc2c03999cfeb0065d0eee2d68456274fb1c7b3cc99c1937bc657d0e7fca97016e147f93c7821b5a4a6837db821e8
 DIST ncurses-6.5.tar.gz.sig 438 BLAKE2B 
5789b47932ec97d3863c7a65306369f0a36cb5b1a35c1e009b5174f50941edceafc22e6f07db3843a096773663a0ca602c0ecb9465e6042d9a78d76ae5008215
 SHA512 
96ce61a3d529e48e249acecbf4bb9eae2d9f2f67506e92ffa3182f5e98040c38babf0c2c15d92fc5d96e1181e72be1b29fdbff7bee859dfe2ae387f9b8883092
 DIST ncurses-6.5_p20250301-patches.tar.xz 65224 BLAKE2B 
9db65c728cc6d79e21b7673bb7700069cbf09287acfb65b23a65d607c3172835a9bf7df9a705d3a05b6197684bc7935e1cbed91bf18343c4fb8ebacf17e61dc1
 SHA512 
f5808f0c2fc1f6027678d8980a0cf598a64c9e85e1d72459dd712090c2dd24eb45261f35b025fd543aed56e903c658942c163b8fe8bace24a56fb8e9238da29e
 DIST ncurses-6.5_p20250531-patches.tar.xz 65304 BLAKE2B 
b696a473c34df2aa1fe8b03fcbd6dd4bffdc8620917c0651994037bf902526a0c0b2be843beee2dec543677a0289aea35dd7e9ba7161eaef2c5663b4f1e356a8
 SHA512 
cb638cd2fd7128a7245b95a686df0725cbe133b42d26bdebabe62f070eacc25545845ea09c44d6d73183776a0ad094ae7857e2079b6561f05d94b86730f355db
 DIST ncurses-6.5_p20250802-patches.tar.xz 64208 BLAKE2B 
a4e721225ac68590f6d5b492d5ec0a90b2637fe34bbe6bc3bf7eebfd6e295f430f71e63f36bb81db5864868e29d4acb62698dc01511048d929c745b752a95352
 SHA512 
40d9db23bc9b3baa0fac6bc380c47bc13bf2928796b6a0ab706f952dd6c39cba939e772f13b0323656b661f9006cd4d5dbde705db79a2bf28980c6f423ded374
+DIST ncurses-6.5_p20251220-patches.tar.xz 64532 BLAKE2B 
2e15dcdff309cdfae21bb122a57a34088bed9c85658de938e50fee1fd28b73549eff0bf8f1656a0e86a0a53bf1539cc369ef9a0c9daef8d8cf4e8874dac7eb5d
 SHA512 
394323278b59cac96fec01f2b2cf81f134b644e0887f187e9a6b0b3411a18f17252430bbcd7bab08ab578a69d7217a31e482b498e96ff991d4d9da4ec37c8a7a

diff --git a/sys-libs/ncurses/ncurses-6.5_p20251220.ebuild 
b/sys-libs/ncurses/ncurses-6.5_p20251220.ebuild
new file mode 100644
index 000000000000..975b4996025e
--- /dev/null
+++ b/sys-libs/ncurses/ncurses-6.5_p20251220.ebuild
@@ -0,0 +1,517 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# sys-libs/ncurses-compat can be bumped with sys-libs/ncurses as upstream
+# provide a configure option for the ABI version.
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc
+inherit flag-o-matic 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/";
+# Keep invisible-mirror.net here as some users reported 403 forbidden with 
invisible-island.net
+SRC_URI="
+       mirror://gnu/ncurses/${MY_P}.tar.gz
+       https://invisible-island.net/archives/${PN}/${MY_P}.tar.gz
+       https://invisible-mirror.net/archives/${PN}/${MY_P}.tar.gz
+       verify-sig? ( mirror://gnu/ncurses/${MY_P}.tar.gz.sig )
+"
+
+GENTOO_PATCH_DEV=sam
+GENTOO_PATCH_PV=6.5_p20251220
+GENTOO_PATCH_NAME=${PN}-${GENTOO_PATCH_PV}-patches
+
+# Populated below in a loop. Do not add patches manually here.
+UPSTREAM_PATCHES=()
+
+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."
+       #
+       # Also, from 
https://lists.gnu.org/archive/html/bug-ncurses/2019-08/msg00039.html,
+       # the patches are considered to be acceptable to use after some 
testing. They
+       # are both for development but also bug fixes.
+       #
+       # This array should contain a list of all the snapshots since the last
+       # release if there's no megapatch available yet.
+       PATCH_DATES=(
+               20240504
+               20240511
+               20240518
+               20240519
+               20240525
+               20240601
+               20240608
+               20240615
+               20240622
+               20240629
+               20240706
+               20240713
+               20240720
+               20240727
+               20240810
+               20240817
+               20240824
+               20240831
+               20240914
+               20240922
+               20240928
+               20241006
+               20241019
+               20241026
+               20241102
+               20241109
+               20241123
+               20241130
+               20241207
+               20241214
+               20241221
+               20241228
+               20250104
+               20250111
+               20250118
+               20250125
+               20250201
+               20250208
+               20250215
+               20250216
+               20250222
+               20250301
+               20250308
+               20250315
+               20250322
+               20250329
+               20250405
+               20250412
+               20250419
+               20250426
+               20250503
+               20250510
+               20250517
+               20250524
+               20250531
+               20250614
+               20250621
+               20250628
+               20250705
+               20250712
+               20250720
+               20250726
+               20250802
+               20250809
+               20250816
+               20250823
+               20250830
+               20250913
+               20250920
+               20250927
+               20251004
+               20251010
+               20251018
+               20251025
+               20251101
+               20251115
+               20251122
+               20251123
+               20251129
+               20251206
+               20251213
+
+               # 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*}/${MY_P/_p/-}.patch.sh.gz";
+               SRC_URI+=" verify-sig? ( 
https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P/_p/-}.patch.sh.gz.asc";
+
+               # If we have a rollup patch, use that instead of the individual 
ones.
+               UPSTREAM_PATCHES+=( patch.sh )
+       else
+               # We use a mirror as well because we've had reports of 403 
forbidden for some users.
+               
upstream_url_base="https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P}-";
+               
upstream_m_url_base="https://invisible-mirror.net/archives/${PN}/${PV/_p*}/${MY_P}-";
+
+               # Prefix each date with the upstream location 
(https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P})
+               mangled_patches=( "${PATCH_DATES[@]/#/${upstream_url_base}}" )
+               # Suffix each with .patch.gz
+               mangled_patches=( "${mangled_patches[@]/%/.patch.gz}" )
+               mangled_patches_sig=( "${mangled_patches[@]/%/.asc}" )
+               # Repeat for .patch.gz.asc for verify-sig
+               SRC_URI+=" ${mangled_patches[@]}"
+               SRC_URI+=" verify-sig? ( ${mangled_patches_sig[@]} )"
+
+               # For all of the URLs, chuck in invisible-island.net too:
+               SRC_URI+=" 
${mangled_patches[@]/${upstream_url_base}/${upstream_m_url_base}}"
+               SRC_URI+=" verify-sig? ( 
${mangled_patches_sig[@]/${upstream_url_base}/${upstream_m_url_base}} )"
+
+               UPSTREAM_PATCHES=( "${PATCH_DATES[@]/%/.patch}" )
+
+               unset upstream_url_base upstream_m_url_base mangled_patches 
mangled_patches_sig
+       fi
+fi
+
+SRC_URI+=" 
https://dev.gentoo.org/~${GENTOO_PATCH_DEV}/distfiles/${CATEGORY}/${PN}/${GENTOO_PATCH_NAME}.tar.xz";
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+# The subslot reflects the SONAME.
+SLOT="0/6"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="ada +cxx debug doc gpm minimal profile split-usr +stack-realign 
static-libs test tinfo trace"
+# In 6.5_p20250118, the C++ examples fail to link, but there's no automated
+# testsuite anyway. Controlling building examples isn't really what USE=test
+# is for. Just restrict them.
+RESTRICT="!test? ( test ) test"
+
+# TODO: ncurses allows (and we take advantage of this, even) passing
+# the SONAME for dlopen() use, so only the header is needed at build time.
+# Maybe we should bundle a copy of gpm.h so we can move gpm to PDEPEND
+# which would be far nicer UX-wise.
+DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )"
+# Block the older ncurses that installed all files w/SLOT=5, bug #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
+       !minimal? ( !<x11-terms/ghostty-1.1.0 )
+"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-thomasdickey )"
+
+PATCHES=(
+       "${UPSTREAM_PATCHES[@]/#/${WORKDIR}/${MY_P}-}"
+
+       # When rebasing Gentoo's patchset, please use git from a clean
+       # src_prepare with upstream patches already applied. git am --reject
+       # the existing patchset and rebase as required. This makes it easier
+       # to manage future rebasing & adding new patches.
+       #
+       # For the same reasons, please include the original configure.in 
changes,
+       # NOT just the generated results!
+       "${WORKDIR}"/${GENTOO_PATCH_NAME}
+)
+
+src_unpack() {
+       # Avoid trying to verify our own patchset tarball, there's no point
+       if use verify-sig ; then
+               local file
+               for file in ${A} ; do
+                       if [[ ${file} == ${MY_P}.tar.gz ]] ; then
+                               verify-sig_verify_detached "${DISTDIR}"/${file} 
"${DISTDIR}"/${file}.sig
+                       else
+                               [[ ${file} == 
@(*${GENTOO_PATCH_NAME}.tar.xz|*.asc|*.sig) ]] && continue
+
+                               verify-sig_verify_detached "${DISTDIR}"/${file} 
"${DISTDIR}"/${file}.asc
+                       fi
+               done
+       fi
+
+       default
+}
+
+src_configure() {
+       # bug #115036
+       unset TERMINFO
+
+       tc-export_build_env BUILD_{CC,CXX,CPP}
+
+       # bug #214642
+       BUILD_CPPFLAGS+=" -D_GNU_SOURCE"
+
+       # 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. bug #249363, bug #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} \
+               CXX=${BUILD_CXX} \
+               CPP=${BUILD_CPP} \
+               CHOST=${CBUILD} \
+               CFLAGS=${BUILD_CFLAGS} \
+               CXXFLAGS=${BUILD_CXXFLAGS} \
+               CPPFLAGS=${BUILD_CPPFLAGS} \
+               LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \
+               do_configure cross --without-shared --with-normal --with-progs 
--without-ada
+       fi
+       multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+       if [[ ${ABI} == x86 ]] ; then
+               # For compatibility with older binaries at slight performance 
cost.
+               # bug #616402
+               use stack-realign && append-flags -mstackrealign
+       fi
+
+       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"
+
+               # 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
+               --enable-fvisibility
+               # (Originally disabled until bug #245417 is sorted out, but now
+               # just keeping it off for good, given nobody needed it until now
+               # (2022) and we're trying to phase out bdb.)
+               --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)
+
+               # bug #930806
+               --disable-setuid-environ
+               # TODO: Maybe do these for USE=hardened
+               #--disable-root-access
+               #--disable-root-environ
+
+               --disable-termcap
+               --enable-symlinks
+               --with-manpage-format=normal
+               --enable-const
+               --enable-colorfgbg
+               --enable-hard-tabs
+               --enable-echo
+               $(use_enable !ada warnings)
+               $(use_enable debug assertions)
+               $(use_enable !debug leaks)
+               $(use_enable debug expanded)
+               $(use_enable !debug macros)
+               $(multilib_native_with progs)
+               $(use_with test tests)
+               $(use_with trace)
+               $(use_with tinfo termlib)
+               --disable-stripping
+               --disable-pkg-ldflags
+       )
+
+       case ${CHOST} in
+               *-mingw32*)
+                       conf+=( --enable-term-driver )
+                       ;;
+               *)
+                       conf+=( --disable-term-driver )
+                       ;;
+       esac
+
+       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="${cross_path}/progs/tic"
+       fi
+
+       ECONF_SOURCE="${S}" econf "${conf[@]}" "$@"
+}
+
+src_compile() {
+       # See comments in src_configure.
+       if ! has_version -b "~sys-libs/${P}:0" ; then
+               BUILD_DIR="${WORKDIR}" do_compile cross -C progs 
tic$(get_exeext)
+       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, bug #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 (bug #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.
+       # bug #836696
+       rm "${ED}"/usr/$(get_libdir)/libcurses* || die
+}
+
+multilib_src_install_all() {
+       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
+       )
+       if use split-usr ; then
+               local x
+               # We need the basic terminfo files in /etc for 
embedded/recovery, bug #37026
+               einfo "Installing basic terminfo files in /etc..."
+               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
+
+               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
+               # bug #245374
+               keepdir /usr/share/terminfo
+       elif use minimal ; then
+               # Keep only the basic terminfo files
+               find "${ED}"/usr/share/terminfo/ \
+                       \( -type f -o -type l \) ${terms[*]/#/! -name } -delete 
, \
+                       -type d -empty -delete || die
+       fi
+
+       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
+}

Reply via email to