From 2d1cb6d64a76583bc15deab32caee4e25005b582 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Thu, 8 Dec 2022 14:46:21 -0600 Subject: bash: add v5.2, readline patches (#34301) --- var/spack/repos/builtin/packages/bash/package.py | 15 ++++ .../repos/builtin/packages/readline/package.py | 40 +++++++++- .../readline/readline-6.3-upstream_fixes-1.patch | 90 ---------------------- 3 files changed, 51 insertions(+), 94 deletions(-) delete mode 100644 var/spack/repos/builtin/packages/readline/readline-6.3-upstream_fixes-1.patch diff --git a/var/spack/repos/builtin/packages/bash/package.py b/var/spack/repos/builtin/packages/bash/package.py index 42a25e6cef..c828bb4569 100644 --- a/var/spack/repos/builtin/packages/bash/package.py +++ b/var/spack/repos/builtin/packages/bash/package.py @@ -16,16 +16,31 @@ class Bash(AutotoolsPackage, GNUMirrorPackage): maintainers = ["adamjstewart"] + version("5.2", sha256="a139c166df7ff4471c5e0733051642ee5556c1cc8a4a78f145583c5c81ab32fb") version("5.1", sha256="cc012bc860406dcf42f64431bcd3d2fa7560c02915a601aba9cd597a39329baa") version("5.0", sha256="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d") version("4.4", sha256="d86b3392c1202e8ff5a423b302e6284db7f8f435ea9f39b5b1b20fd3ac36dfcb") version("4.3", sha256="afc687a28e0e24dc21b988fa159ff9dbcf6b7caa92ade8645cc6d5605cd024d4") depends_on("ncurses") + depends_on("readline@8.2:", when="@5.2:") depends_on("readline@5.0:") depends_on("iconv") + depends_on("gettext") patches = [ + ("5.2", "001", "f42f2fee923bc2209f406a1892772121c467f44533bedfe00a176139da5d310a"), + ("5.2", "002", "45cc5e1b876550eee96f95bffb36c41b6cb7c07d33f671db5634405cd00fd7b8"), + ("5.2", "003", "6a090cdbd334306fceacd0e4a1b9e0b0678efdbbdedbd1f5842035990c8abaff"), + ("5.2", "004", "38827724bba908cf5721bd8d4e595d80f02c05c35f3dd7dbc4cd3c5678a42512"), + ("5.2", "005", "ece0eb544368b3b4359fb8464caa9d89c7a6743c8ed070be1c7d599c3675d357"), + ("5.2", "006", "d1e0566a257d149a0d99d450ce2885123f9995e9c01d0a5ef6df7044a72a468c"), + ("5.2", "007", "2500a3fc21cb08133f06648a017cebfa27f30ea19c8cbe8dfefdf16227cfd490"), + ("5.2", "008", "6b4bd92fd0099d1bab436b941875e99e0cb3c320997587182d6267af1844b1e8"), + ("5.2", "009", "f95a817882eaeb0cb78bce82859a86bbb297a308ced730ebe449cd504211d3cd"), + ("5.2", "010", "c7705e029f752507310ecd7270aef437e8043a9959e4d0c6065a82517996c1cd"), + ("5.2", "011", "831b5f25bf3e88625f3ab315043be7498907c551f86041fa3b914123d79eb6f4"), + ("5.2", "012", "2fb107ce1fb8e93f36997c8b0b2743fc1ca98a454c7cc5a3fcabec533f67d42c"), ("5.1", "001", "ebb07b3dbadd98598f078125d0ae0d699295978a5cdaef6282fe19adef45b5fa"), ("5.1", "002", "15ea6121a801e48e658ceee712ea9b88d4ded022046a6147550790caf04f5dbe"), ("5.1", "003", "22f2cc262f056b22966281babf4b0a2f84cb7dd2223422e5dcd013c3dcbab6b1"), diff --git a/var/spack/repos/builtin/packages/readline/package.py b/var/spack/repos/builtin/packages/readline/package.py index fea4f724bc..71f1fe1690 100644 --- a/var/spack/repos/builtin/packages/readline/package.py +++ b/var/spack/repos/builtin/packages/readline/package.py @@ -18,16 +18,48 @@ class Readline(AutotoolsPackage, GNUMirrorPackage): # URL must remain http:// so Spack can bootstrap curl gnu_mirror_path = "readline/readline-8.0.tar.gz" - version("8.1.2", sha256="7589a2381a8419e68654a47623ce7dfcb756815c8fee726b98f90bf668af7bc6") + version("8.2", sha256="3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35") version("8.1", sha256="f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02") version("8.0", sha256="e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461") version("7.0", sha256="750d437185286f40a369e1e4f4764eda932b9459b5ec9a731628393dd3d32334") version("6.3", sha256="56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43") depends_on("ncurses") - # from url=https://www.linuxfromscratch.org/patches/downloads/readline/readline-6.3-upstream_fixes-1.patch - # this fixes a bug that could lead to seg faults in ipython - patch("readline-6.3-upstream_fixes-1.patch", when="@6.3") + + patches = [ + ("8.2", "001", "bbf97f1ec40a929edab5aa81998c1e2ef435436c597754916e6a5868f273aff7"), + ("8.1", "001", "682a465a68633650565c43d59f0b8cdf149c13a874682d3c20cb4af6709b9144"), + ("8.1", "002", "e55be055a68cb0719b0ccb5edc9a74edcc1d1f689e8a501525b3bc5ebad325dc"), + ("8.0", "001", "d8e5e98933cf5756f862243c0601cb69d3667bb33f2c7b751fe4e40b2c3fd069"), + ("8.0", "002", "36b0febff1e560091ae7476026921f31b6d1dd4c918dcb7b741aa2dad1aec8f7"), + ("8.0", "003", "94ddb2210b71eb5389c7756865d60e343666dfb722c85892f8226b26bb3eeaef"), + ("8.0", "004", "b1aa3d2a40eee2dea9708229740742e649c32bb8db13535ea78f8ac15377394c"), + ("7.0", "001", "9ac1b3ac2ec7b1bf0709af047f2d7d2a34ccde353684e57c6b47ebca77d7a376"), + ("7.0", "002", "8747c92c35d5db32eae99af66f17b384abaca961653e185677f9c9a571ed2d58"), + ("7.0", "003", "9e43aa93378c7e9f7001d8174b1beb948deefa6799b6f581673f465b7d9d4780"), + ("7.0", "004", "f925683429f20973c552bff6702c74c58c2a38ff6e5cf305a8e847119c5a6b64"), + ("7.0", "005", "ca159c83706541c6bbe39129a33d63bbd76ac594303f67e4d35678711c51b753"), + ("6.3", "001", "1a79bbb6eaee750e0d6f7f3d059b30a45fc54e8e388a8e05e9c3ae598590146f"), + ("6.3", "002", "39e304c7a526888f9e112e733848215736fb7b9d540729b9e31f3347b7a1e0a5"), + ("6.3", "003", "ec41bdd8b00fd884e847708513df41d51b1243cecb680189e31b7173d01ca52f"), + ("6.3", "004", "4547b906fb2570866c21887807de5dee19838a60a1afb66385b272155e4355cc"), + ("6.3", "005", "877788f9228d1a9907a4bcfe3d6dd0439c08d728949458b41208d9bf9060274b"), + ("6.3", "006", "5c237ab3c6c97c23cf52b2a118adc265b7fb411b57c93a5f7c221d50fafbe556"), + ("6.3", "007", "4d79b5a2adec3c2e8114cbd3d63c1771f7c6cf64035368624903d257014f5bea"), + ("6.3", "008", "3bc093cf526ceac23eb80256b0ec87fa1735540d659742107b6284d635c43787"), + ] + + # TODO: patches below are not managed by the GNUMirrorPackage base class + for verstr, num, checksum in patches: + ver = Version(verstr) + patch( + "https://ftpmirror.gnu.org/readline/readline-{0}-patches/readline{1}-{2}".format( + ver, ver.joined, num + ), + level=0, + when="@{0}".format(ver), + sha256=checksum, + ) def build(self, spec, prefix): make("SHLIB_LIBS=" + spec["ncurses:wide"].libs.ld_flags) diff --git a/var/spack/repos/builtin/packages/readline/readline-6.3-upstream_fixes-1.patch b/var/spack/repos/builtin/packages/readline/readline-6.3-upstream_fixes-1.patch deleted file mode 100644 index a1ee4d6f38..0000000000 --- a/var/spack/repos/builtin/packages/readline/readline-6.3-upstream_fixes-1.patch +++ /dev/null @@ -1,90 +0,0 @@ -Submitted By: Bruce Dubbs -Date: 2014-04-18 -Initial Package Version: 6.3 -Upstream Status: Already in upstream patch repo -Origin: Upstream -Description: This patch contains upstream patch numbers 001 through 005. - -diff -Naur readline-6.3/display.c readline-6.3.patched/display.c ---- readline-6.3/display.c 2013-12-27 12:10:56.000000000 -0600 -+++ readline-6.3.patched/display.c 2014-04-18 15:51:38.249945858 -0500 -@@ -2677,7 +2677,8 @@ - { - if (_rl_echoing_p) - { -- _rl_move_vert (_rl_vis_botlin); -+ if (_rl_vis_botlin > 0) /* minor optimization plus bug fix */ -+ _rl_move_vert (_rl_vis_botlin); - _rl_vis_botlin = 0; - fflush (rl_outstream); - rl_restart_output (1, 0); -diff -Naur readline-6.3/readline.c readline-6.3.patched/readline.c ---- readline-6.3/readline.c 2013-10-28 13:58:06.000000000 -0500 -+++ readline-6.3.patched/readline.c 2014-04-18 15:51:38.247945883 -0500 -@@ -744,7 +744,8 @@ - r = _rl_subseq_result (r, cxt->oldmap, cxt->okey, (cxt->flags & KSEQ_SUBSEQ)); - - RL_CHECK_SIGNALS (); -- if (r == 0) /* success! */ -+ /* We only treat values < 0 specially to simulate recursion. */ -+ if (r >= 0 || (r == -1 && (cxt->flags & KSEQ_SUBSEQ) == 0)) /* success! or failure! */ - { - _rl_keyseq_chain_dispose (); - RL_UNSETSTATE (RL_STATE_MULTIKEY); -@@ -964,7 +965,7 @@ - #if defined (VI_MODE) - if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap && - key != ANYOTHERKEY && -- rl_key_sequence_length == 1 && /* XXX */ -+ _rl_dispatching_keymap == vi_movement_keymap && - _rl_vi_textmod_command (key)) - _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign); - #endif -diff -Naur readline-6.3/rltypedefs.h readline-6.3.patched/rltypedefs.h ---- readline-6.3/rltypedefs.h 2011-03-26 13:53:31.000000000 -0500 -+++ readline-6.3.patched/rltypedefs.h 2014-04-18 15:51:38.250945845 -0500 -@@ -26,6 +26,25 @@ - extern "C" { - #endif - -+/* Old-style, attempt to mark as deprecated in some way people will notice. */ -+ -+#if !defined (_FUNCTION_DEF) -+# define _FUNCTION_DEF -+ -+#if defined(__GNUC__) || defined(__clang__) -+typedef int Function () __attribute__ ((deprecated)); -+typedef void VFunction () __attribute__ ((deprecated)); -+typedef char *CPFunction () __attribute__ ((deprecated)); -+typedef char **CPPFunction () __attribute__ ((deprecated)); -+#else -+typedef int Function (); -+typedef void VFunction (); -+typedef char *CPFunction (); -+typedef char **CPPFunction (); -+#endif -+ -+#endif /* _FUNCTION_DEF */ -+ - /* New style. */ - - #if !defined (_RL_FUNCTION_TYPEDEF) -diff -Naur readline-6.3/util.c readline-6.3.patched/util.c ---- readline-6.3/util.c 2013-09-02 12:36:12.000000000 -0500 -+++ readline-6.3.patched/util.c 2014-04-18 15:51:38.248945871 -0500 -@@ -476,6 +476,7 @@ - return (strcpy ((char *)xmalloc (1 + (int)strlen (s)), (s))); - } - -+#if defined (DEBUG) - #if defined (USE_VARARGS) - static FILE *_rl_tracefp; - -@@ -538,6 +539,7 @@ - _rl_tracefp = fp; - } - #endif -+#endif /* DEBUG */ - - - #if HAVE_DECL_AUDIT_USER_TTY && defined (ENABLE_TTY_AUDIT_SUPPORT) -- cgit v1.2.3-70-g09d2