diff --git a/dev-cpp/abseil-cpp/Manifest b/dev-cpp/abseil-cpp/Manifest
deleted file mode 100644
index 9eea1b1..0000000
--- a/dev-cpp/abseil-cpp/Manifest
+++ /dev/null
@@ -1,5 +0,0 @@
-DIST abseil-cpp-20200923.3.tar.gz 1783980 BLAKE2B 66d46fd6aafe0bf0d3fccd8a4e0a72fb0545a405d9c92d36ffcb1cf791b6d0eb85fd55218f740ba34c05c7bc952ad1aeaa367963b1f540f03a4f510fd02cd6d5 SHA512 7d9e2bc001a397b983afe1e5ca4d779bd27d0d30fad7f44e564a675e228f2fc29c203ef89dd1b0ff4a1832c6d99ae7627c9103a0daa6cccb426472528109ef85
-DIST abseil-cpp-20210324.2.tar.gz 1774172 BLAKE2B f33ebe830bcece41d76c4de8f514e32a2515be8a78b6cc7a8877ba72284be62649e345dea224976e78e8dcf7fd957e249c92f7c89e92ae44e984fe294df711fc SHA512 7b935f0f2787a81438f30072f2191138ce3c099e4b22addfbe8ebe579d906604bc6ab03f054d3d6917a08ef5cb7a4371c1a501a7dfbc15c50301261dbf5f6e27
-DIST abseil-cpp-20211102.0.tar.gz 1884080 BLAKE2B a148f3b7cc9516fbeacc25116032a956bfa3cce61b4294c226e826e1171d24c043ab199757a11fae3fec0bc307b2222773a6b4f4563b289f7565b0ce4f72318a SHA512 fed68aa434c02ec6faa9d1c81f1ad35b60ec024b44957e2e0ac31e6075e385c06a3e1b616afeb4bb7c2413191fd7827d82e1f9f0796b52ed21fb2c41dd9031cf
-DIST gtest-1.10.0_p20200702.tar.gz 866900 BLAKE2B c162d47868583ba270675abe5df935b8f4b9a9c00dbdc80dd88afa7f2b98266640b32b2ea5e8f9f6d6227196b5d2f79dbfda4e9585106224e814cc1503cf777d SHA512 715d887b59b47d4691c7c90ef0cf0ffc3d1e758e500263c76b50fd506e90a9d1c390af745933cfe3f55e1edac5d72dccedef3cb9a50b71a5b796424471a3017b
-DIST gtest-1b18723e874b256c1e39378c6774a90701d70f7a.tar.gz 833195 BLAKE2B cfeb4fc1569529f8a08557330ab2c88db7703c4f2e8628d18b403f424342ad82b062edb8cc9c0dc122c453235ab327ea742a5ef12e49726e2fa2f60f5ea762d9 SHA512 cb90a54681e0be20a9a8c7a19f960a97cc567931308f4956ee142b86769c062fcf612b9635f5548009ee6d598ae0c1e83692151ec9f1ff1e409b89e158d8b954
diff --git a/dev-cpp/abseil-cpp/OWNERS b/dev-cpp/abseil-cpp/OWNERS
deleted file mode 100644
index 995488c..0000000
--- a/dev-cpp/abseil-cpp/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-include chromiumos/chromite:/OWNERS.build
diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20210324.2.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20210324.2.ebuild
deleted file mode 100644
index 25c4e9c..0000000
--- a/dev-cpp/abseil-cpp/abseil-cpp-20210324.2.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8,9} )
-
-inherit cmake flag-o-matic python-any-r1 toolchain-funcs
-
-# yes, it needs SOURCE, not just installed one
-GTEST_COMMIT="aee0f9d9b5b87796ee8a0ab26b7587ec30e8858e"
-GTEST_FILE="gtest-1.10.0_p20200702.tar.gz"
-
-DESCRIPTION="Abseil Common Libraries (C++), LTS Branch"
-HOMEPAGE="https://abseil.io"
-SRC_URI="https://github.com/abseil/abseil-cpp/archive/${PV}.tar.gz -> ${P}.tar.gz
-	test? ( https://github.com/google/googletest/archive/${GTEST_COMMIT}.tar.gz -> ${GTEST_FILE} )"
-
-LICENSE="
-	Apache-2.0
-	test? ( BSD )
-"
-SLOT="0/${PV%%.*}"
-KEYWORDS="*"
-IUSE="test"
-
-DEPEND="!=dev-cpp/absl-20210324.1"
-RDEPEND="${DEPEND}"
-
-BDEPEND="
-	${PYTHON_DEPS}
-	test? ( sys-libs/timezone-data )
-"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-20200923-arm_no_crypto.patch"
-)
-
-src_prepare() {
-	cmake_src_prepare
-
-	# un-hardcode abseil compiler flags
-	sed -i \
-		-e '/"-maes",/d' \
-		-e '/"-msse4.1",/d' \
-		-e '/"-mfpu=neon"/d' \
-		-e '/"-march=armv8-a+crypto"/d' \
-		absl/copts/copts.py || die
-
-	# now generate cmake files
-	python_fix_shebang absl/copts/generate_copts.py
-	absl/copts/generate_copts.py || die
-
-	if use test; then
-		sed -i 's/-Werror//g' \
-			"${WORKDIR}/googletest-${GTEST_COMMIT}"/googletest/cmake/internal_utils.cmake || die
-	fi
-}
-
-src_configure() {
-	if use arm || use arm64; then
-		# bug #778926
-		if [[ $($(tc-getCXX) ${CXXFLAGS} -E -P - <<<$'#if defined(__ARM_FEATURE_CRYPTO)\nHAVE_ARM_FEATURE_CRYPTO\n#endif') != *HAVE_ARM_FEATURE_CRYPTO* ]]; then
-			append-cxxflags -DABSL_ARCH_ARM_NO_CRYPTO
-		fi
-	fi
-
-	local mycmakeargs=(
-		-DABSL_ENABLE_INSTALL=TRUE
-		-DABSL_LOCAL_GOOGLETEST_DIR="${WORKDIR}/googletest-${GTEST_COMMIT}"
-		-DCMAKE_CXX_STANDARD=17
-		$(usex test -DBUILD_TESTING=ON '') #intentional usex
-	)
-	cmake_src_configure
-}
diff --git a/dev-cpp/abseil-cpp/files/abseil-cpp-20200923-arm_no_crypto.patch b/dev-cpp/abseil-cpp/files/abseil-cpp-20200923-arm_no_crypto.patch
deleted file mode 100644
index 762476a..0000000
--- a/dev-cpp/abseil-cpp/files/abseil-cpp-20200923-arm_no_crypto.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Don't assume all ARM CPUs have crypto extensions.
-
-Requires an accompanying change in the ebuild to disable crypto
-extensions (by passing -DABSL_ARCH_ARM_NO_CRYPTO). This could
-be done by the build system instead in future.
-
-https://bugs.gentoo.org/778926
---- /absl/random/internal/randen_hwaes.cc
-+++ /absl/random/internal/randen_hwaes.cc
-@@ -50,8 +50,11 @@
-     (defined(__ARM_NEON) && defined(__ARM_FEATURE_CRYPTO))
- #define ABSL_RANDEN_HWAES_IMPL 1
- 
--#elif ABSL_RANDOM_INTERNAL_AES_DISPATCH && !defined(__APPLE__) && \
--    (defined(__GNUC__) && __GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ > 9)
-+// When ABSL_ARCH_ARM_NO_CRYPTO is defined, then ARM CPU without
-+// crypto extension is assumed.
-+#elif !defined(ABSL_ARCH_ARM_NO_CRYPTO) && \
-+    (ABSL_RANDOM_INTERNAL_AES_DISPATCH && !defined(__APPLE__) && \
-+    (defined(__GNUC__) && __GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ > 9))
- // ...or, on GCC, we can use an ASM directive to
- // instruct the assember to allow crypto instructions.
- #define ABSL_RANDEN_HWAES_IMPL 1
diff --git a/dev-cpp/abseil-cpp/files/abseil-cpp-20210324.1-glibc-2.34.patch b/dev-cpp/abseil-cpp/files/abseil-cpp-20210324.1-glibc-2.34.patch
deleted file mode 100644
index 99b868d..0000000
--- a/dev-cpp/abseil-cpp/files/abseil-cpp-20210324.1-glibc-2.34.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-https://bugs.gentoo.org/823990
-https://github.com/abseil/abseil-cpp/commit/a9831f1cbf93fb18dd951453635f488037454ce9.patch
---- a/absl/debugging/failure_signal_handler.cc
-+++ b/absl/debugging/failure_signal_handler.cc
-@@ -136,7 +136,8 @@ static bool SetupAlternateStackOnce() {
- #else
-   const size_t page_mask = sysconf(_SC_PAGESIZE) - 1;
- #endif
--  size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
-+  size_t stack_size =
-+      (std::max<size_t>(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
- #if defined(ABSL_HAVE_ADDRESS_SANITIZER) || \
-     defined(ABSL_HAVE_MEMORY_SANITIZER) || defined(ABSL_HAVE_THREAD_SANITIZER)
-   // Account for sanitizer instrumentation requiring additional stack space.
diff --git a/dev-cpp/abseil-cpp/metadata.xml b/dev-cpp/abseil-cpp/metadata.xml
deleted file mode 100644
index f682788..0000000
--- a/dev-cpp/abseil-cpp/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-	<maintainer type="person">
-		<email>gyakovlev@gentoo.org</email>
-		<name>Georgy Yakovlev</name>
-	</maintainer>
-	<use>
-		<flag name="cxx17">Build with -DCMAKE_CXX_STANDARD=17 (required by some revdeps)</flag>
-	</use>
-</pkgmetadata>
