guix_mirror_bot pushed a commit to branch core-packages-team in repository guix.
commit 7115a6fd7df5360661b3fe3f9d7999c545917e63 Author: Vagrant Cascadian <[email protected]> AuthorDate: Fri May 22 17:56:16 2026 -0700 gnu: ncurses: Update to 6.6.20260516. * gnu/packages/ncurses.scm (ncurses-patches, ncurses-patches+hashes): New variables. (ncurses): Update to 6.6.20260516. [native-inputs]: Add ncurses-patches. Co-Authored-By: Justin Glenn Smith <[email protected]> --- gnu/packages/ncurses.scm | 89 +++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 84 insertions(+), 5 deletions(-) diff --git a/gnu/packages/ncurses.scm b/gnu/packages/ncurses.scm index b4ab4d3f0c..e43cb317dd 100644 --- a/gnu/packages/ncurses.scm +++ b/gnu/packages/ncurses.scm @@ -40,12 +40,78 @@ #:use-module (gnu packages linux) #:use-module (guix utils) #:use-module ((guix memoization) #:select (mlambda)) - #:use-module (ice-9 match)) + #:use-module (ice-9 match) + #:use-module (srfi srfi-9)) + +;; helper record for the data needed to track multiple patches without verbose +;; copy-paste code. could be moved up to its own module if other upstreams are +;; released similarly +(define-record-type <patch-data> + (patch-data file-name hash) + patch-data? + (file-name patch-file-name) + (hash patch-hash)) + +(define ncurses-patch-seq + (list + (patch-data "ncurses-6.6-20251231.patch.gz" + "0a6wi8c0yb35sncx6k8jnzi81d52sz8d3g9kpmxl8c6h9a1imz8q") + (patch-data "ncurses-6.6-20260103.patch.gz" + "0v8bf0b8sddd14xlz36si0p32j49nr7l20l6am07cvgwk7xygh6i") + (patch-data "ncurses-6.6-20260117.patch.gz" + "1pacqrih1v2bfdlwsh1yab4kg50y60pazic529ybrmwvw8wsab8f") + (patch-data "ncurses-6.6-20260124.patch.gz" + "0dsywwjnsz66v29a4pmlfmzn27i9pkhn1m4606p35gf596prfaak") + (patch-data "ncurses-6.6-20260131.patch.gz" + "01pvg73ls84kzkzavkfdw18x9zrlw16ygyr62pd9was7v2qh7yf7") + (patch-data "ncurses-6.6-20260207.patch.gz" + "0ffva6iq342fcbna18fik589vhkjfh6ci8246anscjvrwsqhybkx") + (patch-data "ncurses-6.6-20260214.patch.gz" + "1a291j8njks84jgsmh2hfa0521v22hvl7gxlhgq5jqd3fcw09kyc") + (patch-data "ncurses-6.6-20260221.patch.gz" + "1a2552175ynhzh294r9mig2ydma2svrrxhn320mb0n6v695asiri") + (patch-data "ncurses-6.6-20260301.patch.gz" + "0rixwlf1d3fsklszz3vv1wvx8ir71j5xzjaf85i3d23xhhsvny70") + (patch-data "ncurses-6.6-20260307.patch.gz" + "05vgg6w36cn5fgy2dzxmdpw8mwbbmgrzcnsx3shgi69jhsydhw2g") + (patch-data "ncurses-6.6-20260314.patch.gz" + "1fh4aprsfivwqrb6n2j0d5zkayc2260l5a32fmilwcmnhwpc864g") + (patch-data "ncurses-6.6-20260321.patch.gz" + "085h35x247dmfwc4y49fvs6h0r8adb3vsinmvgkjnp36i9q9dzzz") + (patch-data "ncurses-6.6-20260328.patch.gz" + "13k2pzl2spaxhypyvmbjb3zxzzrry7yq1yjv7ba3j1gz225qzmvg") + (patch-data "ncurses-6.6-20260404.patch.gz" + "0y0pc3bskg3p89wvh2nyx5qf3109xahb1srs8ibc6lbpf9ilm78v") + (patch-data "ncurses-6.6-20260411.patch.gz" + "0nhyp7xg2dr739sybl4l00zia3qss2p527aig6p5rqxh84si3dhi") + (patch-data "ncurses-6.6-20260418.patch.gz" + "0rm23wszfa2cd3q519mfxsg6pfrk6s7j448ad05zaxxgsxvbnd56") + (patch-data "ncurses-6.6-20260425.patch.gz" + "06vnwhmg6r43zzmv9njpflyh29cx3wzizpnzfp38bjs9252dg66y") + (patch-data "ncurses-6.6-20260502.patch.gz" + "0sr7k7ckw3wyrdfiy1a2scnzblr9y0b78flkjp00w8wa21sl3cni") + (patch-data "ncurses-6.6-20260509.patch.gz" + "00h4rpkwdrwj48bsw8ha6vjan35babpvhyymc347kn9lw0j8h1ll") + (patch-data "ncurses-6.6-20260516.patch.gz" + "0amc0r5psmmp3zczgkxx7c6d0fv4fjwph4h8s69nhdm90xrch364"))) + +(define ncurses-patches + (map (lambda (patch) + (origin + (method url-fetch) + (uri (string-append "https://invisible-mirror.net/" + "archives/ncurses/6.6/" + (patch-file-name patch))) + (sha256 + (base32 + (patch-hash patch))) + (file-name (patch-file-name patch)))) + ncurses-patch-seq)) (define-public ncurses (package (name "ncurses") - (version "6.6.20251230") + (version "6.6.20260516") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/ncurses/ncurses-" @@ -180,6 +246,17 @@ #$@(if (target-mingw?) #~("--enable-term-driver") #~())) #:tests? #f ; no "check" target #:phases #~(modify-phases %standard-phases + ;; Patches opnly available as individual files, used as origins... + (add-after 'unpack 'apply-patches + (lambda* (#:key inputs #:allow-other-keys) + (for-each + (lambda (patch-file-name) + (invoke "sh" "-c" + (string-append "zcat " + (assoc-ref inputs + patch-file-name) + " | patch --verbose --strip=1"))) + '#$(map patch-file-name ncurses-patch-seq)))) (replace 'configure #$configure-phase) (add-after 'install 'post-install #$post-install-phase) @@ -188,9 +265,11 @@ (add-before 'patch-source-shebangs 'remove-unneeded-shebang #$remove-shebang-phase))))) (native-inputs - (if (%current-target-system) - (list pkg-config this-package) ;for 'tic' - (list pkg-config))) + (append + (if (%current-target-system) + (list pkg-config this-package) ;for 'tic' + (list pkg-config)) + ncurses-patches)) (native-search-paths (list (search-path-specification (variable "TERMINFO_DIRS")
