summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorgy Yakovlev <gyakovlev@gentoo.org>2021-04-01 19:49:50 -0700
committerGeorgy Yakovlev <gyakovlev@gentoo.org>2021-04-01 20:04:03 -0700
commit52e688d1d7bfe2bdff04069eeec217f0a6936551 (patch)
treeae6d79de7490d08e8b1d97731925830dbfe95efc
parentdev-cpp/abseil-cpp: Fix building on ARM{32,64} CPUs without crypto extension. (diff)
downloadgentoo-52e688d1d7bfe2bdff04069eeec217f0a6936551.tar.gz
gentoo-52e688d1d7bfe2bdff04069eeec217f0a6936551.tar.bz2
gentoo-52e688d1d7bfe2bdff04069eeec217f0a6936551.zip
dev-cpp/abseil-cpp: bump to 20210324.0
Package-Manager: Portage-3.0.18, Repoman-3.0.3 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
-rw-r--r--dev-cpp/abseil-cpp/Manifest1
-rw-r--r--dev-cpp/abseil-cpp/abseil-cpp-20210324.0.ebuild74
2 files changed, 75 insertions, 0 deletions
diff --git a/dev-cpp/abseil-cpp/Manifest b/dev-cpp/abseil-cpp/Manifest
index f9ff8083fe1a..e54f7e4a9ae3 100644
--- a/dev-cpp/abseil-cpp/Manifest
+++ b/dev-cpp/abseil-cpp/Manifest
@@ -1,3 +1,4 @@
DIST abseil-cpp-20200225.2.tar.gz 1679650 BLAKE2B bbadb2b86fd390f51322e687526c72a3b13caff6391974462a1146cc563616ce479330336a489a71e27b143e7cbea6695fc12c91fb721185a5116b3a6c5506b1 SHA512 75a607dee825e83c10dcd5e509515461f1b12c4aca861e4739ac4d41357b8e893dbfbe33873aa5c05463dde0891dedd7535af2ec59f173de29488e1b1321b335
DIST abseil-cpp-20200923.2.tar.gz 1783972 BLAKE2B 7ba01cab353de9bf34230e0efa567b1dc16680144579841a0fd127b95fb36cc8b63fc3c7da6a0a7c350c32b91955c6b6bb23a3ca52e50174a4dce5d3c1b9e936 SHA512 fdbb0f84265bc1d4f24aac0af6d0eb8cb603f801fc14d63ac1e9d3bab47703a8a2ff5f44a0a4d325819dbea50fc533d967e1bfd65004ec11ef35fadc44a2b855
+DIST abseil-cpp-20210324.0.tar.gz 1774094 BLAKE2B 2dc2ca1adcddbcf5d18a41dda407691bc5e5613c0eeed54879b803f78146c47c222337f496d7505424d1329e3c71826269d7f621c82aa9f0e104f5b8ed73bf30 SHA512 0817d6972047e0b2e7f9575fd558f0875ba3d14828609d6262149cbcef4b86f601595338e4ba597bd6fba28b77bea6f2993002377949bc6f506da0879f9f9c9d
DIST gtest-1.10.0_p20200702.tar.gz 866900 BLAKE2B c162d47868583ba270675abe5df935b8f4b9a9c00dbdc80dd88afa7f2b98266640b32b2ea5e8f9f6d6227196b5d2f79dbfda4e9585106224e814cc1503cf777d SHA512 715d887b59b47d4691c7c90ef0cf0ffc3d1e758e500263c76b50fd506e90a9d1c390af745933cfe3f55e1edac5d72dccedef3cb9a50b71a5b796424471a3017b
diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20210324.0.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20210324.0.ebuild
new file mode 100644
index 000000000000..90be485e13ae
--- /dev/null
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20210324.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2020-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7,8,9} )
+
+inherit cmake 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
+ https://github.com/google/googletest/archive/${GTEST_COMMIT}.tar.gz -> ${GTEST_FILE}"
+
+LICENSE="
+ Apache-2.0
+ test? ( BSD )
+"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE="cxx17 test"
+
+DEPEND=""
+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
+ absl/copts/generate_copts.py || die
+
+ sed -i 's/-Werror//g' \
+ "${WORKDIR}/googletest-${GTEST_COMMIT}"/googletest/cmake/internal_utils.cmake || die
+}
+
+src_configure() {
+ if use arm || use arm64; then
+ 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}"
+ -DABSL_RUN_TESTS=$(usex test)
+ $(usex cxx17 -DCMAKE_CXX_STANDARD=17 '') # it has to be a useflag for some consumers
+ $(usex test -DBUILD_TESTING=ON '') #intentional usex
+ )
+ cmake_src_configure
+}