[gentoo-commits] repo/gentoo:master commit in: dev-cpp/abseil-cpp/files/, dev-cpp/abseil-cpp/

2024-07-13 Thread Sam James
commit: d659f8343fd5d700934e37a3b0b86d247d4ef2ed
Author: Paul Zander  gmail  com>
AuthorDate: Sat Jul 13 16:20:56 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Sat Jul 13 17:08:54 2024 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d659f834

dev-cpp/abseil-cpp: make use of lzcnt conditional

Closes: https://bugs.gentoo.org/934337
Signed-off-by: Paul Zander  gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/37543
Signed-off-by: Sam James  gentoo.org>

 ...0-r2.ebuild => abseil-cpp-20230125.3-r4.ebuild} |  9 ++--
 ...0-r2.ebuild => abseil-cpp-20230802.0-r3.ebuild} |  1 +
 ...2-r2.ebuild => abseil-cpp-20240116.2-r3.ebuild} |  1 +
 ...l-cpp-20230802.0-conditional-use-of-lzcnt.patch | 49 ++
 4 files changed, 56 insertions(+), 4 deletions(-)

diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r2.ebuild 
b/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r4.ebuild
similarity index 85%
copy from dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r2.ebuild
copy to dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r4.ebuild
index 9a9c217bda00..87f1b86c7690 100644
--- a/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r2.ebuild
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r4.ebuild
@@ -12,8 +12,8 @@ HOMEPAGE="https://abseil.io/;
 SRC_URI="https://github.com/abseil/abseil-cpp/archive/${PV}.tar.gz -> 
${P}.tar.gz"
 
 LICENSE="Apache-2.0"
-SLOT="0/${PV%%.*}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86"
+SLOT="0/${PV%%.*}.0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
 IUSE="test"
 
 RDEPEND=">=dev-cpp/gtest-1.13.0[${MULTILIB_USEDEP}]"
@@ -28,8 +28,9 @@ BDEPEND="
 RESTRICT="!test? ( test )"
 
 PATCHES=(
-   "${FILESDIR}/${PN}-20230802.0-sdata-tests.patch"
-   "${FILESDIR}/${PN}-random-tests.patch" #935417
+   "${FILESDIR}"/${PN}-20230125.2-musl-1.2.4.patch #906218
+   "${FILESDIR}"/${PN}-random-tests.patch #935417
+   "${FILESDIR}/${PN}-20230802.0-conditional-use-of-lzcnt.patch" #934337
 )
 
 src_prepare() {

diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r2.ebuild 
b/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r3.ebuild
similarity index 95%
rename from dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r2.ebuild
rename to dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r3.ebuild
index 9a9c217bda00..dc13dfe5045f 100644
--- a/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r2.ebuild
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r3.ebuild
@@ -30,6 +30,7 @@ RESTRICT="!test? ( test )"
 PATCHES=(
"${FILESDIR}/${PN}-20230802.0-sdata-tests.patch"
"${FILESDIR}/${PN}-random-tests.patch" #935417
+   "${FILESDIR}/${PN}-20230802.0-conditional-use-of-lzcnt.patch" #934337
 )
 
 src_prepare() {

diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r2.ebuild 
b/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r3.ebuild
similarity index 95%
rename from dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r2.ebuild
rename to dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r3.ebuild
index 9a9c217bda00..dc13dfe5045f 100644
--- a/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r2.ebuild
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r3.ebuild
@@ -30,6 +30,7 @@ RESTRICT="!test? ( test )"
 PATCHES=(
"${FILESDIR}/${PN}-20230802.0-sdata-tests.patch"
"${FILESDIR}/${PN}-random-tests.patch" #935417
+   "${FILESDIR}/${PN}-20230802.0-conditional-use-of-lzcnt.patch" #934337
 )
 
 src_prepare() {

diff --git 
a/dev-cpp/abseil-cpp/files/abseil-cpp-20230802.0-conditional-use-of-lzcnt.patch 
b/dev-cpp/abseil-cpp/files/abseil-cpp-20230802.0-conditional-use-of-lzcnt.patch
new file mode 100644
index ..1fa00d9ff622
--- /dev/null
+++ 
b/dev-cpp/abseil-cpp/files/abseil-cpp-20230802.0-conditional-use-of-lzcnt.patch
@@ -0,0 +1,49 @@
+Bug: https://bugs.gentoo.org/934337
+From: 
https://github.com/abseil/abseil-cpp/commit/c1e1b47d989978cde8c5a2a219df425b785a0c47.patch
+From c1e1b47d989978cde8c5a2a219df425b785a0c47 Mon Sep 17 00:00:00 2001
+From: Derek Mauro 
+Date: Fri, 3 May 2024 09:14:22 -0700
+Subject: [PATCH] Use __builtin_ctzg and __builtin_clzg in the implementations
+ of CountTrailingZeroesNonzero16 and CountLeadingZeroes16 when they are
+ available.
+
+GCC 14 and Clang 19 adds these new builtins. The g-suffix is for
+"generic". The s-suffix on __builtin_ctzs and __builtin_clzs is for
+"short". GCC never implemented the short versions and #1664 reports
+GCC 14 (pre-release) gives an error here, although this may be a
+pre-release bug.
+
+Fixes #1664
+
+PiperOrigin-RevId: 630408249
+Change-Id: I4aedcc82b85430f50d025f8eb1cab089c6fcd1bc
+---
+ absl/numeric/internal/bits.h | 8 ++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/absl/numeric/internal/bits.h b/absl/numeric/internal/bits.h
+index bfef06bce1f..0917464d6ad 100644
+--- a/absl/numeric/internal/bits.h
 b/absl/numeric/internal/bits.h
+@@ -167,7 +167,9 @@ CountLeadingZeroes32(uint32_t x) {
+ 
+ ABSL_ATTRIBUTE_ALWAYS_INLINE ABSL_INTERNAL_CONSTEXPR_CLZ inline int
+ 

[gentoo-commits] repo/gentoo:master commit in: dev-cpp/abseil-cpp/files/, dev-cpp/abseil-cpp/

2023-07-04 Thread Sam James
commit: 6f43c861641423191d2d5fce9605f8e23a452c84
Author: orbea  riseup  net>
AuthorDate: Fri Jun  9 19:58:31 2023 +
Commit: Sam James  gentoo  org>
CommitDate: Wed Jul  5 00:40:13 2023 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6f43c861

dev-cpp/abseil-cpp: fix build with musl-1.2.4

Closes: https://bugs.gentoo.org/906218
Upstream-Issue: https://github.com/abseil/abseil-cpp/issues/1473
Upstream-Commit: 
https://github.com/abseil/abseil-cpp/commit/4500c2fada4e952037c59bd65e8be1ba0b29f21e
Signed-off-by: orbea  riseup.net>
Closes: https://github.com/gentoo/gentoo/pull/31367
Signed-off-by: Sam James  gentoo.org>

 dev-cpp/abseil-cpp/abseil-cpp-20230125.2.ebuild|  4 ++
 .../files/abseil-cpp-20230125.2-musl-1.2.4.patch   | 49 ++
 2 files changed, 53 insertions(+)

diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20230125.2.ebuild 
b/dev-cpp/abseil-cpp/abseil-cpp-20230125.2.ebuild
index 067f0d0a0876..f80007d0052b 100644
--- a/dev-cpp/abseil-cpp/abseil-cpp-20230125.2.ebuild
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20230125.2.ebuild
@@ -31,6 +31,10 @@ BDEPEND="
 
 RESTRICT="!test? ( test )"
 
+PATCHES=(
+   "${FILESDIR}"/${PN}-20230125.2-musl-1.2.4.patch #906218
+)
+
 src_prepare() {
cmake_src_prepare
 

diff --git a/dev-cpp/abseil-cpp/files/abseil-cpp-20230125.2-musl-1.2.4.patch 
b/dev-cpp/abseil-cpp/files/abseil-cpp-20230125.2-musl-1.2.4.patch
new file mode 100644
index ..e4834250cfc9
--- /dev/null
+++ b/dev-cpp/abseil-cpp/files/abseil-cpp-20230125.2-musl-1.2.4.patch
@@ -0,0 +1,49 @@
+https://bugs.gentoo.org/906218
+https://github.com/abseil/abseil-cpp/issues/1473
+https://github.com/abseil/abseil-cpp/commit/4500c2fada4e952037c59bd65e8be1ba0b29f21e
+
+From 4500c2fada4e952037c59bd65e8be1ba0b29f21e Mon Sep 17 00:00:00 2001
+From: Derek Mauro 
+Date: Mon, 12 Jun 2023 08:11:36 -0700
+Subject: [PATCH] DirectMmap: Use off_t instead of off64_t for the offset
+ parameter
+
+off_t is best for portability. Its size varies with the platform.
+off64_t is non-standard, but is present in glibc and some BSDs.
+It also matches the signature specified in the manual.
+https://man7.org/linux/man-pages/man2/mmap.2.html
+
+This is a re-spin of #1349, but correctly casts the type to the type
+expected by the kernel for mmap2.
+https://man7.org/linux/man-pages/man2/mmap2.2.html
+
+Fixes #1473
+
+PiperOrigin-RevId: 539656313
+Change-Id: I7a30dd9d3eb6af03a99da0d93d721a86f6521b25
+---
+ absl/base/internal/direct_mmap.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/absl/base/internal/direct_mmap.h 
b/absl/base/internal/direct_mmap.h
+index 815b8d23ba3..1beb2ee4e52 100644
+--- a/absl/base/internal/direct_mmap.h
 b/absl/base/internal/direct_mmap.h
+@@ -72,7 +72,7 @@ namespace base_internal {
+ // Platform specific logic extracted from
+ // 
https://chromium.googlesource.com/linux-syscall-support/+/master/linux_syscall_support.h
+ inline void* DirectMmap(void* start, size_t length, int prot, int flags, int 
fd,
+-off64_t offset) noexcept {
++off_t offset) noexcept {
+ #if defined(__i386__) || defined(__ARM_ARCH_3__) || defined(__ARM_EABI__) || \
+ defined(__m68k__) || defined(__sh__) ||  \
+ (defined(__hppa__) && !defined(__LP64__)) || \
+@@ -102,7 +102,7 @@ inline void* DirectMmap(void* start, size_t length, int 
prot, int flags, int fd,
+ #else
+   return reinterpret_cast(
+   syscall(SYS_mmap2, start, length, prot, flags, fd,
+-  static_cast(offset / pagesize)));
++  static_cast(offset / pagesize)));  // NOLINT
+ #endif
+ #elif defined(__s390x__)
+   // On s390x, mmap() arguments are passed in memory.



[gentoo-commits] repo/gentoo:master commit in: dev-cpp/abseil-cpp/files/, dev-cpp/abseil-cpp/

2022-08-23 Thread WANG Xuerui
commit: 227b524fe01fd6329b8dd8ee7bbd9bef97d106a7
Author: WANG Xuerui  gentoo  org>
AuthorDate: Thu Aug 11 16:11:27 2022 +
Commit: WANG Xuerui  gentoo  org>
CommitDate: Tue Aug 23 07:28:35 2022 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=227b524f

dev-cpp/abseil-cpp: 20211102.0-r2: fix build on gcc-13

Fixes: https://bugs.gentoo.org/865211
Signed-off-by: WANG Xuerui  gentoo.org>

 dev-cpp/abseil-cpp/abseil-cpp-20211102.0-r2.ebuild |  1 +
 .../files/abseil-cpp-20211102.0-r2-gcc-13.patch| 24 ++
 2 files changed, 25 insertions(+)

diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20211102.0-r2.ebuild 
b/dev-cpp/abseil-cpp/abseil-cpp-20211102.0-r2.ebuild
index 240032cfb51a..18e085a451a8 100644
--- a/dev-cpp/abseil-cpp/abseil-cpp-20211102.0-r2.ebuild
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20211102.0-r2.ebuild
@@ -39,6 +39,7 @@ PATCHES=(
"${FILESDIR}/${PN}-20211102.0-fix-cuda-nvcc-build.patch"
"${FILESDIR}/${PN}-20211102.0-r2-cuda11.6-compile-fix.patch"
"${FILESDIR}/${PN}-20211102.0-r2-loong.patch"
+   "${FILESDIR}/${PN}-20211102.0-r2-gcc-13.patch"
 )
 
 src_prepare() {

diff --git a/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-r2-gcc-13.patch 
b/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-r2-gcc-13.patch
new file mode 100644
index ..2a847be09e9a
--- /dev/null
+++ b/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-r2-gcc-13.patch
@@ -0,0 +1,24 @@
+https://github.com/abseil/abseil-cpp/commit/36a4b073f1e7e02ed7d1ac140767e36f82f09b7c
+
+From 36a4b073f1e7e02ed7d1ac140767e36f82f09b7c Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich 
+Date: Fri, 27 May 2022 22:27:58 +0100
+Subject: [PATCH] absl/strings/internal/str_format/extension.h: add missing
+  include
+
+Without the change absl-cpp build fails on this week's gcc-13 snapshot as:
+
+/build/abseil-cpp/absl/strings/internal/str_format/extension.h:34:33: 
error: found ':' in nested-name-specifier, expected '::'
+   34 | enum class FormatConversionChar : uint8_t;
+  | ^
+  | ::
+--- a/absl/strings/internal/str_format/extension.h
 b/absl/strings/internal/str_format/extension.h
+@@ -17,6 +17,7 @@
+ #define ABSL_STRINGS_INTERNAL_STR_FORMAT_EXTENSION_H_
+ 
+ #include 
++#include 
+ 
+ #include 
+ #include 



[gentoo-commits] repo/gentoo:master commit in: dev-cpp/abseil-cpp/files/, dev-cpp/abseil-cpp/

2022-02-06 Thread Jason Zaman
commit: a7db6f594b175eebbf00de4ad8af0280198eae72
Author: Jason Zaman  gentoo  org>
AuthorDate: Sun Feb  6 23:58:10 2022 +
Commit: Jason Zaman  gentoo  org>
CommitDate: Mon Feb  7 01:56:43 2022 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a7db6f59

dev-cpp/abseil-cpp: Fix build with CUDA nvcc

Minor patch needed for tensorflow to unbundle abseil.
Acked by gyakovlev on IRC.

Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Jason Zaman  gentoo.org>

 dev-cpp/abseil-cpp/abseil-cpp-20211102.0-r1.ebuild | 72 ++
 ...abseil-cpp-20211102.0-fix-cuda-nvcc-build.patch | 58 +
 2 files changed, 130 insertions(+)

diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20211102.0-r1.ebuild 
b/dev-cpp/abseil-cpp/abseil-cpp-20211102.0-r1.ebuild
new file mode 100644
index ..9873c85b8ee8
--- /dev/null
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20211102.0-r1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 2020-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..10} )
+
+inherit cmake python-any-r1
+
+# yes, it needs SOURCE, not just installed one
+# and no, 1.11.0 is not enough
+GTEST_COMMIT="1b18723e874b256c1e39378c6774a90701d70f7a"
+GTEST_FILE="gtest-${GTEST_COMMIT}.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="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="test"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+BDEPEND="
+   ${PYTHON_DEPS}
+   test? ( sys-libs/timezone-data )
+"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+   "${FILESDIR}/${PN}-20211102.0-fix-cuda-nvcc-build.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() {
+   local mycmakeargs=(
+   -DABSL_ENABLE_INSTALL=TRUE
+   
-DABSL_LOCAL_GOOGLETEST_DIR="${WORKDIR}/googletest-${GTEST_COMMIT}"
+   -DCMAKE_CXX_STANDARD=17
+   -DABSL_PROPAGATE_CXX_STD=TRUE
+   $(usex test -DBUILD_TESTING=ON '') #intentional usex
+   )
+   cmake_src_configure
+}

diff --git 
a/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-fix-cuda-nvcc-build.patch 
b/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-fix-cuda-nvcc-build.patch
new file mode 100644
index ..45a9fc5406e8
--- /dev/null
+++ b/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-fix-cuda-nvcc-build.patch
@@ -0,0 +1,58 @@
+Fixes compile failure with CUDA nvcc
+https://github.com/abseil/abseil-cpp/commit/5202173ca7671ebe241cb4d9447dc4b1f2d3ec10
+https://github.com/tensorflow/tensorflow/commit/e45ca6adf2458d4759e5c40f1f27bbf9505a3c79#diff-b79a9a542260a33fd122a5d1cdb923e08e16cbe321d69c014a9acdde34052b3dR235
+
+From 5202173ca7671ebe241cb4d9447dc4b1f2d3ec10 Mon Sep 17 00:00:00 2001
+From: Abseil Team 
+Date: Tue, 1 Feb 2022 13:52:49 -0800
+Subject: [PATCH] Export of internal Abseil changes
+
+--
+121db1a08321eaa3006726cc32b459cf17880e35 by Derek Mauro :
+
+Internal change
+
+PiperOrigin-RevId: 425707805
+
+--
+0dec484389bbb75aae0a412146e3564bf833a739 by Derek Mauro :
+
+macOS CI: Avoid depending on external sites like GitHub by prepopulating
+dependencies and setting --distdir
+
+Our Linux CI does this, but for some reason was never enabled on macOS
+
+PiperOrigin-RevId: 425668638
+GitOrigin-RevId: 121db1a08321eaa3006726cc32b459cf17880e35
+Change-Id: Id51645df90b6a0808dd5b18eb636a10f798e24ea
+---
+ absl/container/internal/inlined_vector.h |  8 
+ ci/macos_xcode_bazel.sh  | 10 +-
+ 2 files changed, 13 insertions(+), 5 deletions(-)
+
+diff --git a/absl/container/internal/inlined_vector.h 
b/absl/container/internal/inlined_vector.h
+index cd34a413a..2baf26f3e 100644
+--- a/absl/container/internal/inlined_vector.h
 b/absl/container/internal/inlined_vector.h
+@@ -925,8 +925,8 @@ auto Storage::Swap(Storage* other_storage_ptr) -> 
void {
+inlined_ptr->GetSize());
+ }
+ ABSL_INTERNAL_CATCH_ANY {
+-  allocated_ptr->SetAllocation(
+-  {allocated_storage_view.data, allocated_storage_view.capacity});
++  

[gentoo-commits] repo/gentoo:master commit in: dev-cpp/abseil-cpp/files/, dev-cpp/abseil-cpp/

2021-04-01 Thread Georgy Yakovlev
commit: 619cfe3daec298493d31030008efc12e5ebbf7ec
Author: Arfrever Frehtes Taifersar Arahesis  Apache  Org>
AuthorDate: Mon Mar 29 18:00:00 2021 +
Commit: Georgy Yakovlev  gentoo  org>
CommitDate: Fri Apr  2 03:03:39 2021 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=619cfe3d

dev-cpp/abseil-cpp: Fix building on ARM{32,64} CPUs without crypto extension.

Closes: https://bugs.gentoo.org/778926
Signed-off-by: Arfrever Frehtes Taifersar Arahesis  Apache.Org>
Signed-off-by: Georgy Yakovlev  gentoo.org>

 dev-cpp/abseil-cpp/abseil-cpp-20200923.2.ebuild  | 14 --
 .../files/abseil-cpp-20200923-arm_no_crypto.patch| 16 
 2 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20200923.2.ebuild 
b/dev-cpp/abseil-cpp/abseil-cpp-20200923.2.ebuild
index 8e62b032d05..90be485e13a 100644
--- a/dev-cpp/abseil-cpp/abseil-cpp-20200923.2.ebuild
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20200923.2.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2020 Gentoo Authors
+# 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
+inherit cmake python-any-r1 toolchain-funcs
 
 # yes, it needs SOURCE, not just installed one
 GTEST_COMMIT="aee0f9d9b5b87796ee8a0ab26b7587ec30e8858e"
@@ -34,6 +34,10 @@ BDEPEND="
 
 RESTRICT="!test? ( test )"
 
+PATCHES=(
+   "${FILESDIR}/${PN}-20200923-arm_no_crypto.patch"
+)
+
 src_prepare() {
cmake_src_prepare
 
@@ -53,6 +57,12 @@ src_prepare() {
 }
 
 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}"

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
new file mode 100644
index 000..b74a6c70e90
--- /dev/null
+++ b/dev-cpp/abseil-cpp/files/abseil-cpp-20200923-arm_no_crypto.patch
@@ -0,0 +1,16 @@
+--- /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