summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2021-04-29 04:02:48 +0100
committerSam James <sam@gentoo.org>2021-04-29 05:04:34 +0100
commit6459947b9a21796aa2980fce0e16f25a9bb37294 (patch)
tree1732740d55f4b7e67a7df98729b05ace1c460087 /dev-cpp
parentx11-libs/gtksourceview: Version bump to 4.8.1 (diff)
downloadgentoo-6459947b9a21796aa2980fce0e16f25a9bb37294.tar.gz
gentoo-6459947b9a21796aa2980fce0e16f25a9bb37294.tar.bz2
gentoo-6459947b9a21796aa2980fce0e16f25a9bb37294.zip
dev-cpp/abseil-cpp: backport fix for arm64 CPUs without crypto extensions
* Backport fix for arm64 CPUs without crypto extensions (needed for a keywording bug). * Add information in patch / background on the problem (including mentioning the need for an ebuild change, in case e.g. another distro tries to pick it up, and to remind us to try upstream it.) * Add explicit flag-o-matic inherits accordingly. See: 619cfe3daec298493d31030008efc12e5ebbf7ec Bug: https://bugs.gentoo.org/778926 Bug: https://bugs.gentoo.org/766411 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-cpp')
-rw-r--r--dev-cpp/abseil-cpp/abseil-cpp-20200225.2-r1.ebuild13
-rw-r--r--dev-cpp/abseil-cpp/abseil-cpp-20200923.2-r1.ebuild3
-rw-r--r--dev-cpp/abseil-cpp/abseil-cpp-20210324.1.ebuild3
-rw-r--r--dev-cpp/abseil-cpp/files/abseil-cpp-20200923-arm_no_crypto.patch7
4 files changed, 23 insertions, 3 deletions
diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20200225.2-r1.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20200225.2-r1.ebuild
index 344942f1ecaa..a4ec361d4c04 100644
--- a/dev-cpp/abseil-cpp/abseil-cpp-20200225.2-r1.ebuild
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20200225.2-r1.ebuild
@@ -5,7 +5,7 @@ EAPI=7
PYTHON_COMPAT=( python3_{7,8,9} )
-inherit cmake python-any-r1
+inherit cmake flag-o-matic python-any-r1
DESCRIPTION="Abseil Common Libraries (C++), LTS Branch"
HOMEPAGE="https://abseil.io"
@@ -23,6 +23,10 @@ BDEPEND="${PYTHON_DEPS}"
# requires source of gtest and other libs
RESTRICT=test
+PATCHES=(
+ "${FILESDIR}/${PN}-20200923-arm_no_crypto.patch"
+)
+
src_prepare() {
cmake_src_prepare
@@ -40,6 +44,13 @@ src_prepare() {
}
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
)
diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20200923.2-r1.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20200923.2-r1.ebuild
index a5ffd719aa27..d15b9e966d86 100644
--- a/dev-cpp/abseil-cpp/abseil-cpp-20200923.2-r1.ebuild
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20200923.2-r1.ebuild
@@ -5,7 +5,7 @@ EAPI=7
PYTHON_COMPAT=( python3_{7,8,9} )
-inherit cmake python-any-r1 toolchain-funcs
+inherit cmake flag-o-matic python-any-r1 toolchain-funcs
# yes, it needs SOURCE, not just installed one
GTEST_COMMIT="aee0f9d9b5b87796ee8a0ab26b7587ec30e8858e"
@@ -59,6 +59,7 @@ src_prepare() {
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
diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20210324.1.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20210324.1.ebuild
index 136d41f23b4d..12ecd89301f5 100644
--- a/dev-cpp/abseil-cpp/abseil-cpp-20210324.1.ebuild
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20210324.1.ebuild
@@ -5,7 +5,7 @@ EAPI=7
PYTHON_COMPAT=( python3_{7,8,9} )
-inherit cmake python-any-r1 toolchain-funcs
+inherit cmake flag-o-matic python-any-r1 toolchain-funcs
# yes, it needs SOURCE, not just installed one
GTEST_COMMIT="aee0f9d9b5b87796ee8a0ab26b7587ec30e8858e"
@@ -61,6 +61,7 @@ src_prepare() {
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
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
index b74a6c70e904..762476a10184 100644
--- 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
@@ -1,3 +1,10 @@
+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 @@