diff --git a/sys-libs/timezone-data/Manifest b/sys-libs/timezone-data/Manifest
index f77fe1d..15b1149 100644
--- a/sys-libs/timezone-data/Manifest
+++ b/sys-libs/timezone-data/Manifest
@@ -1,4 +1,6 @@
-DIST tzcode2022f.tar.gz 284816 BLAKE2B 3bfcc25323edbdd41aadcbb5c8b0d9179a809a87b22afc9dda88a53c6daab742778956af7aa30722429d34601fb2ad3c4222c48497e0a429926cd05b79b9acfb SHA512 3e2ef91b972f1872e3e8da9eae9d1c4638bfdb32600f164484edd7147be45a116db80443cd5ae61b5c34f8b841e4362f4beefd957633f6cc9b7def543ed6752b
 DIST tzcode2022g.tar.gz 287901 BLAKE2B b67bb2020913c57cc6bc68d231c53ba645b95305256065e2645bce3b0d71adfaea865ed9bf40f1ec3b4a73aad7e6c48f5ecd0895de6e2d69bed6113d6b579e26 SHA512 5188edd8d05238a88da734cf78fadfb57640d4db3e7a0a9dddd70e3071e16b6eebc2e2ab17109b7dafafae68abfbc857df481cfdc3ffe63f7eb1569ea0b5997a
-DIST tzdata2022f.tar.gz 436352 BLAKE2B 8081972005ac84034957bb85013b373df67937c3f811e33c44fad7ecee0f504b946766fdb1f525d0512b9a8d8e727ee3d8d44640ff55bed3fcd1f3fb3c464c17 SHA512 72d05d05be999075cdf57b896c0f4238b1b862d4d0ed92cc611736592a4ada14d47bd7f0fc8be39e7938a7f5940a903c8af41e87859482bcfab787d889d429f6
+DIST tzcode2023a.tar.gz 292438 BLAKE2B 090d80ddaf580e5638175cb511f8da0644886b6eb8c38dc1b2b3c854be30e9caec980ae0dcc2034471bef7b15abee6ce83901977bf3b8697651f6711573e1575 SHA512 d45fc677a0a32ae807bf421faceff675565ee15e3ff42d3a4121df10e1f7855ac16b27fbc28bd365f93c57f40c5bdf19cde88546f7090cfab7676cac0a5516a4
+DIST tzcode2023c.tar.gz 292852 BLAKE2B 707ae61740543f3a61520f67176c391ba1e4a8d7858ede4cadd837935be9a9aeb5cf8914049838aaed2f57d7dc4e1df33f29913e143d23deb58011b3e103aade SHA512 fa18bae9c0e7c061bc9d5f5f2eb9967f0e4ddb2baafdee9887fa30cd0c60f4aa6f21eacffb17df0d59d26ff54d08c5dcefa98159309eba497e86443624913a82
 DIST tzdata2022g.tar.gz 439731 BLAKE2B 582b79cc2317d27f3883042cbca25801397d9e2808ad8d3a340017d635372ef20316ce646a25a43b0ea5d4024841b54925ecc4510613295c39c28647989645cb SHA512 7f79394295e00e3a24ebdbf9af3bc454a65f432a93b517e7e96c7f9db9949f6f5fdae9892a9d3789ff44ae0eb1bfe4744d36976b4624659af951d26414f94e65
+DIST tzdata2023a.tar.gz 442875 BLAKE2B 33dd386d37a6349c9f9e60694c43323e97c9ba2cc6ca8f7f3a27c96734c1f6281e08748f1676e9fb4162d75202c9d38910caa28475bcb7414283b5991053d096 SHA512 10aadd6eba50f63f427399281065ba34cb474f6a854f8dc7a6f4f1343b1474a05f22b69b1e113ea67bb5f3f479253610a16b89d9dfa157bf0fde4c69aa3d6493
+DIST tzdata2023c.tar.gz 443902 BLAKE2B 8a50aa5f338565d86b8fa5428c138b251bd8dcc3ea66c144b49625d02c5c7aa27f1ace66babd36f10f75cf5eb832ec327b9c2e8adb0384c450130d1ee8c45562 SHA512 608bd286ebcbd0004cfdc1da183273f08aff61f90c8867661154453d77a05d421e4c46ad6d066a1fe2e87d5c82ec0f1c0224667a3b35f3180a3eb7f6ff84cbf5
diff --git a/sys-libs/timezone-data/files/timezone-data-2022f-musl.patch b/sys-libs/timezone-data/files/timezone-data-2022f-musl.patch
deleted file mode 100644
index 3bbb1ea..0000000
--- a/sys-libs/timezone-data/files/timezone-data-2022f-musl.patch
+++ /dev/null
@@ -1,181 +0,0 @@
-https://github.com/eggert/tz/commit/a91830b783db3bb481930c67914d3c16b821f717
-https://github.com/eggert/tz/commit/dbe87fe421f76a3d1ac31082868ce60dfcbdefc4
-https://github.com/eggert/tz/commit/b037132599996358fe4774912b7405db0f5b0ee1
-https://github.com/eggert/tz/commit/317cc2c05a0acd02597e9db2b97af078630c1dde
-https://github.com/eggert/tz/commit/f4808ee8fa61b0df82337e8f0fa02ca3db598cb8
-
-From a91830b783db3bb481930c67914d3c16b821f717 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Fri, 28 Oct 2022 22:55:10 -0700
-Subject: [PATCH] Fix tzalloc bug on platforms lacking tm_zone
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Problem reported by Đoàn Trần Công Danh in:
-https://mm.icann.org/pipermail/tz/2022-October/032153.html
-* zdump.c (tzalloc) [!USE_LOCALTIME_RZ && HAVE_SETENV]:
-Return a nonnull pointer.
---- a/zdump.c
-+++ b/zdump.c
-@@ -234,7 +234,7 @@ tzalloc(char const *val)
-     exit(EXIT_FAILURE);
-   }
-   tzset();
--  return NULL;
-+  return &progname;  /* Any valid non-null char ** will do.  */
- # else
-   enum { TZeqlen = 3 };
-   static char const TZeq[TZeqlen] = "TZ=";
-
-From dbe87fe421f76a3d1ac31082868ce60dfcbdefc4 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Fri, 28 Oct 2022 23:22:26 -0700
-Subject: [PATCH] Port struct tm guessing to musl
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Prompted by report from Đoàn Trần Công Danh in:
-https://mm.icann.org/pipermail/tz/2022-October/032153.html
-* private.h (TM_GMTOFF, TM_ZONE): By default, assume they
-work on musl, which #defines __tm_zone.
---- a/private.h
-+++ b/private.h
-@@ -613,6 +613,7 @@ time_t posix2time(time_t);
- /* Infer TM_ZONE on systems where this information is known, but suppress
-    guessing if NO_TM_ZONE is defined.  Similarly for TM_GMTOFF.  */
- #if (defined __GLIBC__ \
-+     || defined __tm_zone /* musl */ \
-      || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ \
-      || (defined __APPLE__ && defined __MACH__))
- # if !defined TM_GMTOFF && !defined NO_TM_GMTOFF
-
-From b037132599996358fe4774912b7405db0f5b0ee1 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Fri, 28 Oct 2022 23:52:59 -0700
-Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20assume=20nonempty=20argv?=
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Don’t dump core if argv[0] is NULL, which is allowed on
-GNU/Linux if the invoker is sufficiently perverse.
-* zdump.c (progname): Now char const *, so that it can be given
-the address of a string constant.
-(tzalloc): Use optarg, not progname, since progname’s type is no
-longer correct.
-* zdump.c, zic.c (main): Initialize progname to non-null.
---- a/zdump.c
-+++ b/zdump.c
-@@ -84,7 +84,7 @@ static time_t const absolute_max_time =
-    ? (((time_t) 1 << atime_shift) - 1 + ((time_t) 1 << atime_shift))
-    : -1);
- static int	longest;
--static char *	progname;
-+static char const *progname;
- static bool	warned;
- static bool	errout;
- 
-@@ -234,7 +234,7 @@ tzalloc(char const *val)
-     exit(EXIT_FAILURE);
-   }
-   tzset();
--  return &progname;  /* Any valid non-null char ** will do.  */
-+  return &optarg;  /* Any valid non-null char ** will do.  */
- # else
-   enum { TZeqlen = 3 };
-   static char const TZeq[TZeqlen] = "TZ=";
-@@ -463,7 +463,7 @@ main(int argc, char *argv[])
- # endif /* defined TEXTDOMAINDIR */
- 	textdomain(TZ_DOMAIN);
- #endif /* HAVE_GETTEXT */
--	progname = argv[0];
-+	progname = argv[0] ? argv[0] : "zdump";
- 	for (i = 1; i < argc; ++i)
- 		if (strcmp(argv[i], "--version") == 0) {
- 			printf("zdump %s%s\n", PKGVERSION, TZVERSION);
---- a/zic.c
-+++ b/zic.c
-@@ -943,7 +943,7 @@ main(int argc, char **argv)
- 	textdomain(TZ_DOMAIN);
- #endif /* HAVE_GETTEXT */
- 	main_argv = argv;
--	progname = argv[0];
-+	progname = argv[0] ? argv[0] : "zic";
- 	if (TYPE_BIT(zic_t) < 64) {
- 		fprintf(stderr, "%s: %s\n", progname,
- 			_("wild compilation-time specification of zic_t"));
-
-From 317cc2c05a0acd02597e9db2b97af078630c1dde Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Mon, 31 Oct 2022 12:41:48 -0700
-Subject: [PATCH] Port better to old Linux kernels
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Problem reported by Igor Ivanov in:
-https://mm.icann.org/pipermail/tz/2022-October/032192.html
-* zic.c (get_rand_u64): Don’t use clock_gettime; it’s too much of
-a configuration hassle.
----
- zic.c | 15 +++------------
- 2 files changed, 5 insertions(+), 15 deletions(-)
-
-diff --git a/zic.c b/zic.c
-index a85f2a4c..14393a3d 100644
---- a/zic.c
-+++ b/zic.c
-@@ -1210,21 +1210,12 @@ get_rand_u64(void)
- #endif
- 
-   /* getrandom didn't work, so fall back on portable code that is
--     not the best because the seed doesn't necessarily have enough bits,
--     the seed isn't cryptographically random on platforms lacking
--     getrandom, and 'rand' might not be cryptographically secure.  */
-+     not the best because the seed isn't cryptographically random and
-+     'rand' might not be cryptographically secure.  */
-   {
-     static bool initialized;
-     if (!initialized) {
--      unsigned seed;
--#ifdef CLOCK_REALTIME
--      struct timespec now;
--      clock_gettime (CLOCK_REALTIME, &now);
--      seed = now.tv_sec ^ now.tv_nsec;
--#else
--      seed = time(NULL);
--#endif
--      srand(seed);
-+      srand(time(NULL));
-       initialized = true;
-     }
-   }
-
-
-From f4808ee8fa61b0df82337e8f0fa02ca3db598cb8 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Fri, 4 Nov 2022 19:57:00 -0700
-Subject: [PATCH] Fix unlikely conversion bug in zic
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-* zic.c (puttzcode): Arg is zic_t, not int_fast32_t.  This fixes a
-portability bug on platforms where int_fast32_t is a 32-bit ones’
-complement or signed-magnitude integer, and where the argument is
--2**31 before conversion to int_fast32_t.  Although I don’t know
-of any such platforms, the C standard allows them.
---- a/zic.c
-+++ b/zic.c
-@@ -2216,7 +2216,7 @@ convert64(uint_fast64_t val, char *buf)
- }
- 
- static void
--puttzcode(const int_fast32_t val, FILE *const fp)
-+puttzcode(zic_t val, FILE *fp)
- {
- 	char	buf[4];
- 
-
diff --git a/sys-libs/timezone-data/timezone-data-2022g.ebuild b/sys-libs/timezone-data/timezone-data-2023c.ebuild
similarity index 98%
rename from sys-libs/timezone-data/timezone-data-2022g.ebuild
rename to sys-libs/timezone-data/timezone-data-2023c.ebuild
index 7c4e498..c15c70a 100644
--- a/sys-libs/timezone-data/timezone-data-2022g.ebuild
+++ b/sys-libs/timezone-data/timezone-data-2023c.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -23,10 +23,6 @@
 	!sys-libs/glibc[vanilla(+)]
 "
 
-PATCHES=(
-	"${FILESDIR}"/${P}-c23.patch
-)
-
 src_unpack() {
 	mkdir "${S}" && cd "${S}" || die
 	default
