summaryrefslogtreecommitdiff
path: root/dev-cpp/abseil-cpp
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-04-28 20:21:43 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-04-28 20:21:43 +0100
commit40aaaa64e86ba6710bbeb31c4615a6ce80e75e11 (patch)
tree758c221bad35c9288d0bd6df9c7dfc226728e52c /dev-cpp/abseil-cpp
parent8d5dbd847cbc704a6a06405856e94b461011afe3 (diff)
gentoo resync : 28.04.2021
Diffstat (limited to 'dev-cpp/abseil-cpp')
-rw-r--r--dev-cpp/abseil-cpp/Manifest7
-rw-r--r--dev-cpp/abseil-cpp/abseil-cpp-20200225.2-r1.ebuild (renamed from dev-cpp/abseil-cpp/abseil-cpp-20200225.2.ebuild)7
-rw-r--r--dev-cpp/abseil-cpp/abseil-cpp-20200923.2-r1.ebuild (renamed from dev-cpp/abseil-cpp/abseil-cpp-20200923.2.ebuild)21
-rw-r--r--dev-cpp/abseil-cpp/abseil-cpp-20210324.1.ebuild76
-rw-r--r--dev-cpp/abseil-cpp/files/abseil-cpp-20200923-arm_no_crypto.patch16
5 files changed, 117 insertions, 10 deletions
diff --git a/dev-cpp/abseil-cpp/Manifest b/dev-cpp/abseil-cpp/Manifest
index 1b9f629bd2b0..bde44a83fc3f 100644
--- a/dev-cpp/abseil-cpp/Manifest
+++ b/dev-cpp/abseil-cpp/Manifest
@@ -1,6 +1,9 @@
+AUX abseil-cpp-20200923-arm_no_crypto.patch 782 BLAKE2B 88d68fee79064727b32f8468d9f985ed7546ce632b36526ecf6e1b34acfe01910e92fd3dd9901dceabc65614057bc76b14104afba75d21171e62f83d58fb1b51 SHA512 2ca48562f8296f81af0b61eb700e60f5b0c9a59290a472f98a7316034300a0424c5a6e7119d16710eabcfd424ad80b585318571f17fe316d88aa9ee2ba34f04a
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.1.tar.gz 1774134 BLAKE2B 8dd42b3d60a38995eeeeb72ba8aaa367c3caff118d88069dba9df24b155318ffd6c4e289c263346899bf7fc0bf6e8332380407a8a93c77f8cade0e8e74743b84 SHA512 fe593ed98eeea5461abca95ebb9dd3f7e8eedaa15e009f776945fdbb6ed489c61966611c1c72558d2ccdd541b952a345e51885d522ff29542cbcc837cf565866
DIST gtest-1.10.0_p20200702.tar.gz 866900 BLAKE2B c162d47868583ba270675abe5df935b8f4b9a9c00dbdc80dd88afa7f2b98266640b32b2ea5e8f9f6d6227196b5d2f79dbfda4e9585106224e814cc1503cf777d SHA512 715d887b59b47d4691c7c90ef0cf0ffc3d1e758e500263c76b50fd506e90a9d1c390af745933cfe3f55e1edac5d72dccedef3cb9a50b71a5b796424471a3017b
-EBUILD abseil-cpp-20200225.2.ebuild 902 BLAKE2B 33192eca05a77c195fc65b05928fca880a0dd05943f4ec7d0ed139e90e7b09fc110b0c4983726220dd50b7a0b411c3c0c0050fa3dde2193e863f4e4f95caad6e SHA512 43765b4e66baee817772a9193a58753663c9a8894c31f94fd1b954b662a8cf69172c68762bd91bf9ec33489d799649d90a5f67e3ad9344baed785ba7034ae027
-EBUILD abseil-cpp-20200923.2.ebuild 1531 BLAKE2B b671f0034ec2dcf9ab3197863174c870a6cb53baeb6d500778d802ed119a360364c8a41ace1ff8dde9b9d727d54167396e7b6c965d13d2da876022d4a3004de1 SHA512 6baeae6d005d8fafd8872af40ae45128471e17ef99f1091d4c051472008e93acf1ea8008dbc270b3275fc37364acc91c63fb4f9436ddecab7e90ccd33796b91a
+EBUILD abseil-cpp-20200225.2-r1.ebuild 968 BLAKE2B c873e52fcc15eabf024db55ae332e6997e60c65188bece3cace092de1e0b356072dd6b718ee129974110facc9eb76ca221e66423a643d3e78a2a5625f00b267c SHA512 0e7c2697c8955ab03566b3405131e352e234644ec7310d587edd5c3b07aa11ab0360ca229f5c77cc4b234b70130f77f8ec637c19e1d9ebcac2cf428b89a35ee4
+EBUILD abseil-cpp-20200923.2-r1.ebuild 1923 BLAKE2B b1d33772e9c63060d7f5b4745d71e2ebebe090a36bfec4c934d14c04766fec1fc2997a48c9dc5948a417fa3821b6bf84c4ccddcfdb15e6abd3bc8cff339f67e1 SHA512 63ac983d95e592858131e6771efc61deb0c3e8b010bf4ebd139a9b3158512b0a6e116ca40e56874f5e6e49a5734916ae3bffeb569e68600d2dcf7afe4c19d635
+EBUILD abseil-cpp-20210324.1.ebuild 1926 BLAKE2B f197fe665b05a29a62f1f21874e15e27cd0c4b40326e69a9ecce320d32984dcf3ca0bb85a917e198aea818cf0cb63713b5151669f5352f1e570fa6a7f1274295 SHA512 4c73a8f2c02df6df96d65e2ad51a59eeacafdf06c76192e8af396ed9fa818d7bd76f65d045e7b8bdf1c381d29f7ed1be5ff0140858969f217f972e375b20ba33
MISC metadata.xml 356 BLAKE2B 192cd53686f89cf886b3dccd4d3c64dd44912c3572c3ec16c786c81c62b5ad1090be7c6e43bf2900d731ca72804f57f17d2eef619b88932d14423e72363e61b2 SHA512 39f66dcee864111412707467b6757811eeb9ddb24cb23bd3ff01b9426dff922fbd69312fda9142e03df146c22cd2b5fc1b06249cd1b6c334b076b798721fdca2
diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20200225.2.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20200225.2-r1.ebuild
index 8570f4e66998..344942f1ecaa 100644
--- a/dev-cpp/abseil-cpp/abseil-cpp-20200225.2.ebuild
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20200225.2-r1.ebuild
@@ -1,9 +1,9 @@
-# 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} )
+PYTHON_COMPAT=( python3_{7,8,9} )
inherit cmake python-any-r1
@@ -12,7 +12,7 @@ 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"
+SLOT="0/${PV%%.*}"
KEYWORDS="~amd64 ~ppc64 ~x86"
IUSE=""
@@ -35,6 +35,7 @@ src_prepare() {
absl/copts/copts.py || die
# now generate cmake files
+ python_fix_shebang absl/copts/generate_copts.py
absl/copts/generate_copts.py || die
}
diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20200923.2.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20200923.2-r1.ebuild
index 8e62b032d05f..a5ffd719aa27 100644
--- a/dev-cpp/abseil-cpp/abseil-cpp-20200923.2.ebuild
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20200923.2-r1.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"
@@ -20,9 +20,9 @@ LICENSE="
Apache-2.0
test? ( BSD )
"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
-IUSE="cxx17 test"
+SLOT="0/${PV%%.*}"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="+cxx17 test"
DEPEND=""
RDEPEND="${DEPEND}"
@@ -34,6 +34,10 @@ BDEPEND="
RESTRICT="!test? ( test )"
+PATCHES=(
+ "${FILESDIR}/${PN}-20200923-arm_no_crypto.patch"
+)
+
src_prepare() {
cmake_src_prepare
@@ -46,6 +50,7 @@ src_prepare() {
absl/copts/copts.py || die
# now generate cmake files
+ python_fix_shebang absl/copts/generate_copts.py
absl/copts/generate_copts.py || die
sed -i 's/-Werror//g' \
@@ -53,6 +58,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/abseil-cpp-20210324.1.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20210324.1.ebuild
new file mode 100644
index 000000000000..136d41f23b4d
--- /dev/null
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20210324.1.ebuild
@@ -0,0 +1,76 @@
+# 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
+ 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 ~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
+ 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
+ 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}"
+ $(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
+}
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 000000000000..b74a6c70e904
--- /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