diff --git a/groups/211.native_packages_cmdline.group b/groups/211.native_packages_cmdline.group
index eb1fa82..a072cdd 100644
--- a/groups/211.native_packages_cmdline.group
+++ b/groups/211.native_packages_cmdline.group
@@ -248,8 +248,8 @@ libopts_cv_run_fopen_binary=yes"};
 : ${PKG_TAR_VERSION:=1.33};
 : ${PKG_TAR_URL:=https://ftp.gnu.org/gnu/tar/tar-${PKG_TAR_VERSION}.tar.xz};
 : ${PKG_TCSH_DEPENDS:="ncurses"};
-: ${PKG_TCSH_SHA256SUM:=60be2c504bd8f1fa6e424b1956495d7e7ced52a2ac94db5fd27f4b6bfc8f74f0};
-: ${PKG_TCSH_VERSION:=6.24.00};
+: ${PKG_TCSH_SHA256SUM:=5659a1b973b1f947e36238cb17a00210ac4cff3b496f8f851acd77172ab91d7e};
+: ${PKG_TCSH_VERSION:=6.24.01};
 : ${PKG_TCSH_URL:=https://ftp.osuosl.org/pub/blfs/conglomeration/tcsh/tcsh-${PKG_TCSH_VERSION}.tar.gz};
 : ${PKG_THE_SILVER_SEARCHER_DEPENDS:="libz pcre xz"};
 : ${PKG_THE_SILVER_SEARCHER_SHA256SUM:=d9621a878542f3733b5c6e71c849b9d1a830ed77cb1a1f6c2ea441d4b0643170};
diff --git a/patches/tcsh-6.24.00.local.patch b/patches/tcsh-6.24.00.local.patch
deleted file mode 100644
index 2e8b628..0000000
--- a/patches/tcsh-6.24.00.local.patch
+++ /dev/null
@@ -1,213 +0,0 @@
-diff -ru tcsh-6.23.02.orig/config_f.h tcsh-6.23.02/config_f.h
---- tcsh-6.23.02.orig/config_f.h        2022-01-03 09:03:03.000000000 +0100
-+++ tcsh-6.23.02/config_f.h     2022-02-01 11:36:23.327968800 +0100
-@@ -149,7 +149,7 @@
-  *             This can be much slower and no memory statistics will be
-  *             provided.
-  */
--#if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__) || defined (__CYGWIN__) || defined(__GLIBC__) || defined(__OpenBSD__) || defined(__APPLE__) || defined (__ANDROID__) || defined(__NetBSD__)
-+#if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__) || defined (__CYGWIN__) || defined(__GLIBC__) || defined(__OpenBSD__) || defined(__APPLE__) || defined (__ANDROID__) || defined(__NetBSD__) || defined(__midipix__)
- # define SYSMALLOC
- #else
- # undef SYSMALLOC
-diff -Nru tcsh-6.22.00.orig/config/midipix tcsh-6.22.00/config/midipix
---- tcsh-6.22.00.orig/config/midipix	1970-01-01 01:00:00.000000000 +0100
-+++ tcsh-6.22.00/config/midipix	2020-08-21 19:12:56.066600827 +0200
-@@ -0,0 +1,138 @@
-+/*
-+ * config.h -- configure various defines for tcsh
-+ *
-+ * All source files should #include this FIRST.
-+ *
-+ * This is the config file for midipix systems
-+ */
-+
-+#ifndef _h_config
-+#define _h_config
-+/****************** System dependant compilation flags ****************/
-+/*
-+ * POSIX	This system supports IEEE Std 1003.1-1988 (POSIX).
-+ */
-+#define POSIX
-+
-+/*
-+ * POSIXJOBS	This system supports the optional IEEE Std 1003.1-1988 (POSIX)
-+ *		job control facilities.
-+ */
-+#define POSIXJOBS
-+
-+/*
-+ * VFORK	This machine has a vfork().  
-+ *		It used to be that for job control to work, this define
-+ *		was mandatory. This is not the case any more.
-+ *		If you think you still need it, but you don't have vfork, 
-+ *		define this anyway and then do #define vfork fork.  
-+ *		I do this anyway on a Sun because of yellow pages brain damage,
-+ *		[should not be needed under 4.1]
-+ *		and on the iris4d cause	SGI's fork is sufficiently "virtual" 
-+ *		that vfork isn't necessary.  (Besides, SGI's vfork is weird).
-+ *		Note that some machines eg. rs6000 have a vfork, but not
-+ *		with the berkeley semantics, so we cannot use it there either.
-+ */
-+#undef VFORK
-+
-+/*
-+ * BSDJOBS	You have BSD-style job control (both process groups and
-+ *		a tty that deals correctly
-+ */
-+#define BSDJOBS
-+
-+/*
-+ * BSDTIMES	You have BSD-style process time stuff (like rusage)
-+ *		This may or may not be true.  For example, Apple Unix
-+ *		(OREO) has BSDJOBS but not BSDTIMES.
-+ */
-+#define BSDTIMES
-+
-+/*
-+ * BSDLIMIT	You have BSD-style resource limit stuff (getrlimit/setrlimit)
-+ */
-+#define BSDLIMIT
-+
-+/*
-+ * TERMIO	You have struct termio instead of struct sgttyb.
-+ * 		This is usually the case for SVID systems, where
-+ *		BSD uses sgttyb. POSIX systems should define this
-+ *		anyway, even though they use struct termios.
-+ */
-+#define TERMIO
-+
-+/*
-+ * SYSVREL	Your machine is SYSV based (HPUX, A/UX)
-+ *		NOTE: don't do this if you are on a Pyramid -- tcsh is
-+ *		built in a BSD universe.
-+ *		Set SYSVREL to 1, 2, 3, or 4, depending the version of System V
-+ *		you are running. Or set it to 0 if you are not SYSV based
-+ *
-+ *		Note: Linux should work with any SYSVREL < 3.
-+ */
-+#define SYSVREL	2
-+
-+/*
-+ * YPBUGS	Work around Sun YP bugs that cause expansion of ~username
-+ *		to send command output to /dev/null
-+ */
-+#undef YPBUGS
-+
-+/*
-+ * Get the name space we want.
-+ *
-+ * The more recent defaults for gcc (e.g. on Red Hat 7.0)
-+ * also define _POSIX_C_SOURCE, which throws our code off.
-+ */
-+
-+#define __STRICT_ANSI__
-+#ifndef _BSD_SOURCE
-+# define _BSD_SOURCE
-+#endif
-+#ifndef _SVID_SOURCE
-+# define _SVID_SOURCE
-+#endif
-+#ifndef _POSIX_SOURCE
-+# define _POSIX_SOURCE
-+#endif
-+#ifndef _XOPEN_SOURCE
-+# define _XOPEN_SOURCE 500
-+#endif
-+#ifndef _GNU_SOURCE
-+# define _GNU_SOURCE
-+#endif
-+
-+/*
-+ * Large file support from <features.h>
-+ */
-+
-+#ifndef _LARGEFILE_SOURCE
-+# define _LARGEFILE_SOURCE
-+#endif
-+#ifndef _LARGEFILE64_SOURCE
-+# define _LARGEFILE64_SOURCE
-+#endif
-+#ifndef _FILE_OFFSET_BITS
-+# define _FILE_OFFSET_BITS 64
-+#endif
-+
-+/****************** local defines *********************/
-+#ifndef _PATH_TCSHELL
-+#define _PATH_TCSHELL "/bin/tcsh"
-+#endif
-+#define ECHO_STYLE      BOTH_ECHO
-+
-+#if !defined(SYSMALLOC)
-+# define SYSMALLOC
-+#endif
-+#if !defined(NISPLUS)
-+# define NISPLUS
-+#endif
-+#if !defined(POSIX)
-+# define POSIX
-+#endif
-+
-+/* midipix allows paths prepended with double slashes (network paths). */
-+#define HAVE_SLASHSLASH 1
-+
-+#endif /* _h_config */
-diff -Nru tcsh-6.22.00.orig/configure tcsh-6.22.00/configure
---- tcsh-6.22.00.orig/configure	2019-11-28 17:00:05.000000000 +0100
-+++ tcsh-6.22.00/configure	2020-08-21 19:08:03.600976202 +0200
-@@ -2975,6 +2975,11 @@
-     tcsh_config_file=qnx6
-   ;;
- 
-+  ## midipix
-+  *-midipix*)
-+    tcsh_config_file=midipix
-+  ;;
-+
-   * )
-     as_fn_error $? "Tcsh can't guess the configuration file name
- for \`${host}' systems.
-diff -Nru tcsh-6.22.00.orig/ed.inputl.c tcsh-6.22.00/ed.inputl.c
---- tcsh-6.22.00.orig/ed.inputl.c	2019-11-28 17:00:05.000000000 +0100
-+++ tcsh-6.22.00/ed.inputl.c	2020-08-21 19:22:12.899460169 +0200
-@@ -34,6 +34,8 @@
- #include "ed.defns.h"		/* for the function names */
- #include "tw.h"			/* for twenex stuff */
- 
-+#include <wchar.h>
-+
- #define OKCMD INT_MAX
- 
- /* ed.inputl -- routines to get a single line from the input. */
-diff -Nru tcsh-6.22.00.orig/Makefile.in tcsh-6.22.00/Makefile.in
---- tcsh-6.22.00.orig/Makefile.in	2019-11-28 17:00:05.000000000 +0100
-+++ tcsh-6.22.00/Makefile.in	2020-08-21 19:28:01.686381892 +0200
-@@ -339,6 +339,7 @@
- #CC=	cc	-h0,ansi,novector,float0
- #CC=	lcc	-wa 
- CC_FOR_GETHOST = @CC_FOR_GETHOST@
-+CPPFLAGS_FOR_GETHOST=-I. -I$(srcdir)
- ED=	ed
- AS=	as
- RM=	rm
-@@ -447,7 +448,7 @@
- 
- gethost:  gethost.c sh.err.h tc.const.h sh.h
- 	rm -f gethost
--	${CC_FOR_GETHOST} -o gethost ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} $(srcdir)/gethost.c
-+	${CC_FOR_GETHOST} -o gethost ${CPPFLAGS_FOR_GETHOST} ${CFLAGS_FOR_GETHOST} ${LDFLAGS_FOR_GETHOST} $(srcdir)/gethost.c
- 
- tc.defs.c:	gethost host.defs
- 	@rm -f $@.tmp
-diff -Nru tcsh-6.22.00.orig/sh.h tcsh-6.22.00/sh.h
---- tcsh-6.22.00.orig/sh.h	2019-11-28 17:00:05.000000000 +0100
-+++ tcsh-6.22.00/sh.h	2020-08-21 19:10:44.030604961 +0200
-@@ -337,7 +337,7 @@
- #endif /* POSIX && !WINNT_NATIVE */
- #include <limits.h>
- 
--#if SYSVREL > 0 || defined(_IBMR2) || defined(_MINIX) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)
-+#if SYSVREL > 0 || defined(_IBMR2) || defined(_MINIX) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__) || defined(__midipix__)
- # if !defined(pyr) && !defined(stellar)
- #  include <time.h>
- #  ifdef _MINIX
diff --git a/patches/tcsh-6.24.01.local.patch b/patches/tcsh-6.24.01.local.patch
new file mode 100644
index 0000000..2e8b628
--- /dev/null
+++ b/patches/tcsh-6.24.01.local.patch
@@ -0,0 +1,213 @@
+diff -ru tcsh-6.23.02.orig/config_f.h tcsh-6.23.02/config_f.h
+--- tcsh-6.23.02.orig/config_f.h        2022-01-03 09:03:03.000000000 +0100
++++ tcsh-6.23.02/config_f.h     2022-02-01 11:36:23.327968800 +0100
+@@ -149,7 +149,7 @@
+  *             This can be much slower and no memory statistics will be
+  *             provided.
+  */
+-#if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__) || defined (__CYGWIN__) || defined(__GLIBC__) || defined(__OpenBSD__) || defined(__APPLE__) || defined (__ANDROID__) || defined(__NetBSD__)
++#if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__) || defined (__CYGWIN__) || defined(__GLIBC__) || defined(__OpenBSD__) || defined(__APPLE__) || defined (__ANDROID__) || defined(__NetBSD__) || defined(__midipix__)
+ # define SYSMALLOC
+ #else
+ # undef SYSMALLOC
+diff -Nru tcsh-6.22.00.orig/config/midipix tcsh-6.22.00/config/midipix
+--- tcsh-6.22.00.orig/config/midipix	1970-01-01 01:00:00.000000000 +0100
++++ tcsh-6.22.00/config/midipix	2020-08-21 19:12:56.066600827 +0200
+@@ -0,0 +1,138 @@
++/*
++ * config.h -- configure various defines for tcsh
++ *
++ * All source files should #include this FIRST.
++ *
++ * This is the config file for midipix systems
++ */
++
++#ifndef _h_config
++#define _h_config
++/****************** System dependant compilation flags ****************/
++/*
++ * POSIX	This system supports IEEE Std 1003.1-1988 (POSIX).
++ */
++#define POSIX
++
++/*
++ * POSIXJOBS	This system supports the optional IEEE Std 1003.1-1988 (POSIX)
++ *		job control facilities.
++ */
++#define POSIXJOBS
++
++/*
++ * VFORK	This machine has a vfork().  
++ *		It used to be that for job control to work, this define
++ *		was mandatory. This is not the case any more.
++ *		If you think you still need it, but you don't have vfork, 
++ *		define this anyway and then do #define vfork fork.  
++ *		I do this anyway on a Sun because of yellow pages brain damage,
++ *		[should not be needed under 4.1]
++ *		and on the iris4d cause	SGI's fork is sufficiently "virtual" 
++ *		that vfork isn't necessary.  (Besides, SGI's vfork is weird).
++ *		Note that some machines eg. rs6000 have a vfork, but not
++ *		with the berkeley semantics, so we cannot use it there either.
++ */
++#undef VFORK
++
++/*
++ * BSDJOBS	You have BSD-style job control (both process groups and
++ *		a tty that deals correctly
++ */
++#define BSDJOBS
++
++/*
++ * BSDTIMES	You have BSD-style process time stuff (like rusage)
++ *		This may or may not be true.  For example, Apple Unix
++ *		(OREO) has BSDJOBS but not BSDTIMES.
++ */
++#define BSDTIMES
++
++/*
++ * BSDLIMIT	You have BSD-style resource limit stuff (getrlimit/setrlimit)
++ */
++#define BSDLIMIT
++
++/*
++ * TERMIO	You have struct termio instead of struct sgttyb.
++ * 		This is usually the case for SVID systems, where
++ *		BSD uses sgttyb. POSIX systems should define this
++ *		anyway, even though they use struct termios.
++ */
++#define TERMIO
++
++/*
++ * SYSVREL	Your machine is SYSV based (HPUX, A/UX)
++ *		NOTE: don't do this if you are on a Pyramid -- tcsh is
++ *		built in a BSD universe.
++ *		Set SYSVREL to 1, 2, 3, or 4, depending the version of System V
++ *		you are running. Or set it to 0 if you are not SYSV based
++ *
++ *		Note: Linux should work with any SYSVREL < 3.
++ */
++#define SYSVREL	2
++
++/*
++ * YPBUGS	Work around Sun YP bugs that cause expansion of ~username
++ *		to send command output to /dev/null
++ */
++#undef YPBUGS
++
++/*
++ * Get the name space we want.
++ *
++ * The more recent defaults for gcc (e.g. on Red Hat 7.0)
++ * also define _POSIX_C_SOURCE, which throws our code off.
++ */
++
++#define __STRICT_ANSI__
++#ifndef _BSD_SOURCE
++# define _BSD_SOURCE
++#endif
++#ifndef _SVID_SOURCE
++# define _SVID_SOURCE
++#endif
++#ifndef _POSIX_SOURCE
++# define _POSIX_SOURCE
++#endif
++#ifndef _XOPEN_SOURCE
++# define _XOPEN_SOURCE 500
++#endif
++#ifndef _GNU_SOURCE
++# define _GNU_SOURCE
++#endif
++
++/*
++ * Large file support from <features.h>
++ */
++
++#ifndef _LARGEFILE_SOURCE
++# define _LARGEFILE_SOURCE
++#endif
++#ifndef _LARGEFILE64_SOURCE
++# define _LARGEFILE64_SOURCE
++#endif
++#ifndef _FILE_OFFSET_BITS
++# define _FILE_OFFSET_BITS 64
++#endif
++
++/****************** local defines *********************/
++#ifndef _PATH_TCSHELL
++#define _PATH_TCSHELL "/bin/tcsh"
++#endif
++#define ECHO_STYLE      BOTH_ECHO
++
++#if !defined(SYSMALLOC)
++# define SYSMALLOC
++#endif
++#if !defined(NISPLUS)
++# define NISPLUS
++#endif
++#if !defined(POSIX)
++# define POSIX
++#endif
++
++/* midipix allows paths prepended with double slashes (network paths). */
++#define HAVE_SLASHSLASH 1
++
++#endif /* _h_config */
+diff -Nru tcsh-6.22.00.orig/configure tcsh-6.22.00/configure
+--- tcsh-6.22.00.orig/configure	2019-11-28 17:00:05.000000000 +0100
++++ tcsh-6.22.00/configure	2020-08-21 19:08:03.600976202 +0200
+@@ -2975,6 +2975,11 @@
+     tcsh_config_file=qnx6
+   ;;
+ 
++  ## midipix
++  *-midipix*)
++    tcsh_config_file=midipix
++  ;;
++
+   * )
+     as_fn_error $? "Tcsh can't guess the configuration file name
+ for \`${host}' systems.
+diff -Nru tcsh-6.22.00.orig/ed.inputl.c tcsh-6.22.00/ed.inputl.c
+--- tcsh-6.22.00.orig/ed.inputl.c	2019-11-28 17:00:05.000000000 +0100
++++ tcsh-6.22.00/ed.inputl.c	2020-08-21 19:22:12.899460169 +0200
+@@ -34,6 +34,8 @@
+ #include "ed.defns.h"		/* for the function names */
+ #include "tw.h"			/* for twenex stuff */
+ 
++#include <wchar.h>
++
+ #define OKCMD INT_MAX
+ 
+ /* ed.inputl -- routines to get a single line from the input. */
+diff -Nru tcsh-6.22.00.orig/Makefile.in tcsh-6.22.00/Makefile.in
+--- tcsh-6.22.00.orig/Makefile.in	2019-11-28 17:00:05.000000000 +0100
++++ tcsh-6.22.00/Makefile.in	2020-08-21 19:28:01.686381892 +0200
+@@ -339,6 +339,7 @@
+ #CC=	cc	-h0,ansi,novector,float0
+ #CC=	lcc	-wa 
+ CC_FOR_GETHOST = @CC_FOR_GETHOST@
++CPPFLAGS_FOR_GETHOST=-I. -I$(srcdir)
+ ED=	ed
+ AS=	as
+ RM=	rm
+@@ -447,7 +448,7 @@
+ 
+ gethost:  gethost.c sh.err.h tc.const.h sh.h
+ 	rm -f gethost
+-	${CC_FOR_GETHOST} -o gethost ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} $(srcdir)/gethost.c
++	${CC_FOR_GETHOST} -o gethost ${CPPFLAGS_FOR_GETHOST} ${CFLAGS_FOR_GETHOST} ${LDFLAGS_FOR_GETHOST} $(srcdir)/gethost.c
+ 
+ tc.defs.c:	gethost host.defs
+ 	@rm -f $@.tmp
+diff -Nru tcsh-6.22.00.orig/sh.h tcsh-6.22.00/sh.h
+--- tcsh-6.22.00.orig/sh.h	2019-11-28 17:00:05.000000000 +0100
++++ tcsh-6.22.00/sh.h	2020-08-21 19:10:44.030604961 +0200
+@@ -337,7 +337,7 @@
+ #endif /* POSIX && !WINNT_NATIVE */
+ #include <limits.h>
+ 
+-#if SYSVREL > 0 || defined(_IBMR2) || defined(_MINIX) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)
++#if SYSVREL > 0 || defined(_IBMR2) || defined(_MINIX) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__) || defined(__midipix__)
+ # if !defined(pyr) && !defined(stellar)
+ #  include <time.h>
+ #  ifdef _MINIX