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
+}