diff options
Diffstat (limited to 'dev-cpp/abseil-cpp')
13 files changed, 164 insertions, 204 deletions
diff --git a/dev-cpp/abseil-cpp/Manifest b/dev-cpp/abseil-cpp/Manifest index edec68c8b942..e652ac7bfedf 100644 --- a/dev-cpp/abseil-cpp/Manifest +++ b/dev-cpp/abseil-cpp/Manifest @@ -1,9 +1,9 @@ +DIST abseil-cpp-20211102.0.tar.gz 1884080 BLAKE2B a148f3b7cc9516fbeacc25116032a956bfa3cce61b4294c226e826e1171d24c043ab199757a11fae3fec0bc307b2222773a6b4f4563b289f7565b0ce4f72318a SHA512 fed68aa434c02ec6faa9d1c81f1ad35b60ec024b44957e2e0ac31e6075e385c06a3e1b616afeb4bb7c2413191fd7827d82e1f9f0796b52ed21fb2c41dd9031cf +DIST abseil-cpp-20220623.1.tar.gz 1957483 BLAKE2B 5bcf60b5a55882bcb78c7095a9892f6d1e5819fb116e325a8299fb22780ab009f0e1d92d5d8aca5ae0d4acc6d60e620e3357a24e389059f6e75d94f1cbdc1ced SHA512 ab4fccd9a2bfa0c5ad4b56c8e8f8b7ec7a8eca8b6cc6959802acadd1da785e1feb078c6ac621808cd699c82717a9e637dc426d94b70a8db7f2a807059d41cbc2 DIST abseil-cpp-20230125.2.tar.gz 2119685 BLAKE2B 130e55c68acdec7af0f807189365a5206427fe0bcf564a2ece9837d84429505e763399384fae89a07db6b68ed18c63918dc5ae0e53e59cdb844e4d524932abf5 SHA512 b2ba5023610aacb680b22bef894372810e6e7df76e630e56ac2f4b9498f70a872171f4562f6560ab78e837437b7bcfd3c47bfc2a5bb7fb20f28ec490dc8ed61f DIST abseil-cpp-20230125.3.tar.gz 2119655 BLAKE2B 6c60201e4fc2cb5cd942fafb6023347739544f02fd257d003eeedff9e2e5137ee0c954342134d17a64844b9a5f309392a4c3ff9336907f35ba6c967ab03524ee SHA512 50509acfc4128fd31435631f71ac8cd0350acd9e290f78502723149016e7f07c9d84182ba99e0938b1873fecda09393d3fd7af8dabfb0d89cdcdd8a69a917e70 DIST abseil-cpp-20230802.0.tar.gz 2156669 BLAKE2B 34de2f949db3e7578cae39bdd851785fd5327a80662436e7d77f18e196cc28eb1b463e9f49c8fc66060073c6c88222015af8b41044d56af6811c8914e84fbea3 SHA512 320295fa687ded05b774741eb4c5285291d44cc14402ec5d997057cb4f53fb3ba54cd162c7a7b1003312b677603a1c25e14bfdbd1fc22ccf4b4443e8a6e3ec02 -DIST abseil-cpp-20230802.1.tar.gz 2157158 BLAKE2B 98a9efb0fdc3801ff26d53202a1737cdf2d4115690f358abe16ba8b82625ee9df109e50ad50a30dc8e368b78630c3e7a31006801060b431c1b07b157366f1210 SHA512 14390380655c41483a98487e3b012110dd8d1743fdd68d8cde7e0d7c2730312d564b15726d8c9d2fff237d2fce3983bbbb5213f59612c7c6feaeb402dff9609f -DIST abseil-cpp-20240116.0.tar.gz 2150815 BLAKE2B bfdb94b6e88da2c99cf757d80fbf4409c882fe6c669e0ffe481ea949ff9f5e67a17ff22605a6670b20ed6eb74d756279de9e4c73db705c01c85a3dc248284f5a SHA512 018488e69cca472ef118631bd79bca4ef0cf1363432e79b81532942168d305511e4cdf4dc72611275e9a9de00cd71c0245be4ec287ff36147248e218218bf825 -DIST abseil-cpp-20240116.1.tar.gz 2151012 BLAKE2B 2baf781b7c4502f704b12223a1de9210e2f98167aa4b91e5b22edc754c29b50be6e4cd4c49a2e88c35cf842ff9a2421a61a923e8688e32561ab25cdbc884b6e7 SHA512 41504899ac4fd4a6eaa0a5fdf27a7765ec81962fb99b6a07982ceed32c5289e9eb12206c83a70fd44c5c3e1b96c2bfa160eb12f1dbbb45f1109d632c7690de90 DIST abseil-cpp-20240116.2.tar.gz 2151288 BLAKE2B 2e843e29869bf69e46ec48884cbd2ba955eab2329716c4df7b9be0ded550f976184b945587af08d01a7aa77560ae679191c1a1de51c75311d3a5ee87c15017c8 SHA512 5062e731ee8c9a757e6d75fc1c558652deb4dd1daab4d6143f7ad52a139501c61365f89acbf82480be0f9a4911a58286560068d8b1a8b6774e6afad51739766e DIST gtest-1.13.0.tar.gz 862871 BLAKE2B d2768332c233d62f7a5f5332b63dc587c96c24765b2eeaa4f4caf5d421b175aa850d81cec4f50eeef9e06d4b86cb959555b4c2862a197ce3cb86d61fcb51f5d1 SHA512 70c0cfb1b4147bdecb467ecb22ae5b5529eec0abc085763213a796b7cdbd81d1761d12b342060539b936fa54f345d33f060601544874d6213fdde79111fa813e -DIST gtest-1.14.0.tar.gz 867764 BLAKE2B c457f55ac572b9fb1553eee3df7eeeaf1e7dd2c3d747dd5e90dd279038fa5c71bb7b7d9ba1cf7e6143898b2a1d24d100584bd2a48ded41a426870c4825eec1b2 SHA512 765c326ccc1b87a01027385e69238266e356361cd4ee3e18e3c9d137a5d11fa5d657c164d02dd1be8fe693c8e10f2b580588dbfa57d27f070e2750f50d3e662c +DIST gtest-1b18723e874b256c1e39378c6774a90701d70f7a.tar.gz 833195 BLAKE2B cfeb4fc1569529f8a08557330ab2c88db7703c4f2e8628d18b403f424342ad82b062edb8cc9c0dc122c453235ab327ea742a5ef12e49726e2fa2f60f5ea762d9 SHA512 cb90a54681e0be20a9a8c7a19f960a97cc567931308f4956ee142b86769c062fcf612b9635f5548009ee6d598ae0c1e83692151ec9f1ff1e409b89e158d8b954 +DIST gtest-e68764c147ea0dac1e8811925c531d937396878e.tar.gz 862129 BLAKE2B d6decb9d1ad4e379a76119ec984deaa7649fca033f225698ce421bcee1207b52da3c4fdb2f6d68b968248575704ebe501b7b1d0a02c180901ffa78f9aa47f549 SHA512 aca72b5f64894aeee34cb869bdeda2d25ec04e901fe0e4e8d08d49472de1c9b19a97ba97a2e8570a88be74aea26d1cd526b4e605005a881e1cb6ab03ed3a4ceb diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r1.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20211102.0-r2.ebuild index d94b141edfa0..c332e11f1798 100644 --- a/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r1.ebuild +++ b/dev-cpp/abseil-cpp/abseil-cpp-20211102.0-r2.ebuild @@ -1,5 +1,6 @@ -# Copyright 2023 Liguros Authors +# Copyright 2020-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 PYTHON_COMPAT=( python3_{8,9,10,11,12} ) @@ -7,13 +8,13 @@ PYTHON_COMPAT=( python3_{8,9,10,11,12} ) inherit cmake python-any-r1 # yes, it needs SOURCE, not just installed one -GTEST_COMMIT="v1.13.0" -GTEST_FILE="gtest-${GTEST_COMMIT#v}.tar.gz" +# 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/refs/tags/${PV}.tar.gz -> ${P}.tar.gz +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=" @@ -32,7 +33,10 @@ BDEPEND=" RESTRICT="!test? ( test )" PATCHES=( - "${FILESDIR}"/${PN}-20230125.2-musl-1.2.4.patch #906218 + "${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() { @@ -52,18 +56,17 @@ src_prepare() { if use test; then sed -i 's/-Werror//g' \ - "${WORKDIR}/googletest-${GTEST_COMMIT#v}"/googletest/cmake/internal_utils.cmake || die + "${WORKDIR}/googletest-${GTEST_COMMIT}"/googletest/cmake/internal_utils.cmake || die fi } src_configure() { local mycmakeargs=( - -DCMAKE_CXX_STANDARD=14 -DABSL_ENABLE_INSTALL=TRUE - -DABSL_LOCAL_GOOGLETEST_DIR="${WORKDIR}/googletest-${GTEST_COMMIT#v}" + -DABSL_LOCAL_GOOGLETEST_DIR="${WORKDIR}/googletest-${GTEST_COMMIT}" + -DCMAKE_CXX_STANDARD=17 -DABSL_PROPAGATE_CXX_STD=TRUE - -DABSL_BUILD_TESTING=$(usex test ON OFF) - $(usex test -DBUILD_TESTING=ON '') #intentional usex, it used both variables for tests. + $(usex test -DBUILD_TESTING=ON '') #intentional usex ) cmake_src_configure } diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r1.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20220623.1.ebuild index 2687b5666d1c..27fd9fce4130 100644 --- a/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r1.ebuild +++ b/dev-cpp/abseil-cpp/abseil-cpp-20220623.1.ebuild @@ -1,5 +1,6 @@ -# Copyright 2023 Liguros Authors +# Copyright 2020-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 PYTHON_COMPAT=( python3_{8,9,10,11,12} ) @@ -7,8 +8,9 @@ PYTHON_COMPAT=( python3_{8,9,10,11,12} ) inherit cmake python-any-r1 # yes, it needs SOURCE, not just installed one -GTEST_COMMIT="v1.14.0" -GTEST_FILE="gtest-${GTEST_COMMIT#v}.tar.gz" +# and no, 1.11.0 is not enough +GTEST_COMMIT="e68764c147ea0dac1e8811925c531d937396878e" +GTEST_FILE="gtest-${GTEST_COMMIT}.tar.gz" DESCRIPTION="Abseil Common Libraries (C++), LTS Branch" HOMEPAGE="https://abseil.io" @@ -30,6 +32,10 @@ BDEPEND=" RESTRICT="!test? ( test )" +PATCHES=( + "${FILESDIR}"/${PN}-20230125.2-musl-1.2.4.patch #906218 +) + src_prepare() { cmake_src_prepare @@ -47,15 +53,15 @@ src_prepare() { if use test; then sed -i 's/-Werror//g' \ - "${WORKDIR}/googletest-${GTEST_COMMIT#v}"/googletest/cmake/internal_utils.cmake || die + "${WORKDIR}/googletest-${GTEST_COMMIT}"/googletest/cmake/internal_utils.cmake || die fi } src_configure() { local mycmakeargs=( - -DCMAKE_CXX_STANDARD=14 + -DCMAKE_CXX_STANDARD=17 -DABSL_ENABLE_INSTALL=TRUE - -DABSL_LOCAL_GOOGLETEST_DIR="${WORKDIR}/googletest-${GTEST_COMMIT#v}" + -DABSL_LOCAL_GOOGLETEST_DIR="${WORKDIR}/googletest-${GTEST_COMMIT}" -DABSL_PROPAGATE_CXX_STD=TRUE -DABSL_BUILD_TESTING=$(usex test ON OFF) $(usex test -DBUILD_TESTING=ON '') #intentional usex, it used both variables for tests. diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20230125.2.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20230125.2.ebuild index 321ea606a44d..c1675c259a9e 100644 --- a/dev-cpp/abseil-cpp/abseil-cpp-20230125.2.ebuild +++ b/dev-cpp/abseil-cpp/abseil-cpp-20230125.2.ebuild @@ -5,7 +5,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{8,9,10,11,12} ) -inherit cmake python-any-r1 +inherit cmake-multilib python-any-r1 # yes, it needs SOURCE, not just installed one GTEST_COMMIT="v1.13.0" @@ -56,7 +56,7 @@ src_prepare() { fi } -src_configure() { +multilib_src_configure() { local mycmakeargs=( -DCMAKE_CXX_STANDARD=17 -DABSL_ENABLE_INSTALL=TRUE @@ -65,5 +65,6 @@ src_configure() { -DABSL_BUILD_TESTING=$(usex test ON OFF) $(usex test -DBUILD_TESTING=ON '') #intentional usex, it used both variables for tests. ) + cmake_src_configure } diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20240116.2.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r3.ebuild index 252c4f5d21a5..837636069e2e 100644 --- a/dev-cpp/abseil-cpp/abseil-cpp-20240116.2.ebuild +++ b/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r3.ebuild @@ -1,35 +1,37 @@ -# Copyright 2023-2024 Liguros Authors +# Copyright 2020-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 PYTHON_COMPAT=( python3_{8,9,10,11,12} ) inherit cmake-multilib python-any-r1 -# yes, it needs SOURCE, not just installed one -GTEST_COMMIT="v1.14.0" -GTEST_FILE="gtest-${GTEST_COMMIT#v}.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} )" +HOMEPAGE="https://abseil.io/" +SRC_URI="https://github.com/abseil/abseil-cpp/archive/${PV}.tar.gz -> ${P}.tar.gz" -LICENSE=" - Apache-2.0 - test? ( BSD ) -" -SLOT="0/${PV%%.*}" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86" +LICENSE="Apache-2.0" +SLOT="0/${PV%%.*}.0" +KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv x86" IUSE="test" +RDEPEND=">=dev-cpp/gtest-1.13.0[${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND}" BDEPEND=" ${PYTHON_DEPS} - test? ( sys-libs/timezone-data ) + test? ( + sys-libs/timezone-data + ) " RESTRICT="!test? ( test )" +PATCHES=( + "${FILESDIR}"/${PN}-20230125.2-musl-1.2.4.patch #906218 + "${FILESDIR}"/${PN}-random-tests.patch #935417 +) + src_prepare() { cmake_src_prepare @@ -44,22 +46,21 @@ src_prepare() { # 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#v}"/googletest/cmake/internal_utils.cmake || die - fi } multilib_src_configure() { local mycmakeargs=( + # We use -std=c++14 here so that abseil-cpp's string_view is used + # See the discussion in https://github.com/gentoo/gentoo/pull/32281. -DCMAKE_CXX_STANDARD=14 -DABSL_ENABLE_INSTALL=TRUE - -DABSL_LOCAL_GOOGLETEST_DIR="${WORKDIR}/googletest-${GTEST_COMMIT#v}" + -DABSL_USE_EXTERNAL_GOOGLETEST=ON -DABSL_PROPAGATE_CXX_STD=TRUE - -DABSL_BUILD_TEST_HELPERS=$(usex test ON OFF) + # TEST_HELPERS needed for protobuf (bug #915902) + -DABSL_BUILD_TEST_HELPERS=ON -DABSL_BUILD_TESTING=$(usex test ON OFF) - $(usex test -DBUILD_TESTING=ON '') #intentional usex, it used both variables for tests. + $(usex test -DBUILD_TESTING=ON '') # intentional usex, it used both variables for tests. ) + cmake_src_configure } diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20230802.1.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r2.ebuild index f3fa8c1901d6..d72ab16613eb 100644 --- a/dev-cpp/abseil-cpp/abseil-cpp-20230802.1.ebuild +++ b/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r2.ebuild @@ -1,35 +1,37 @@ -# Copyright 2023 Liguros Authors +# Copyright 2020-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 PYTHON_COMPAT=( python3_{8,9,10,11,12} ) inherit cmake-multilib python-any-r1 -# yes, it needs SOURCE, not just installed one -GTEST_COMMIT="v1.14.0" -GTEST_FILE="gtest-${GTEST_COMMIT#v}.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} )" +HOMEPAGE="https://abseil.io/" +SRC_URI="https://github.com/abseil/abseil-cpp/archive/${PV}.tar.gz -> ${P}.tar.gz" -LICENSE=" - Apache-2.0 - test? ( BSD ) -" +LICENSE="Apache-2.0" SLOT="0/${PV%%.*}" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86" IUSE="test" +RDEPEND=">=dev-cpp/gtest-1.13.0[${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND}" BDEPEND=" ${PYTHON_DEPS} - test? ( sys-libs/timezone-data ) + test? ( + sys-libs/timezone-data + ) " RESTRICT="!test? ( test )" +PATCHES=( + "${FILESDIR}/${PN}-20230802.0-sdata-tests.patch" + "${FILESDIR}/${PN}-random-tests.patch" #935417 +) + src_prepare() { cmake_src_prepare @@ -44,22 +46,21 @@ src_prepare() { # 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#v}"/googletest/cmake/internal_utils.cmake || die - fi } multilib_src_configure() { local mycmakeargs=( + # We use -std=c++14 here so that abseil-cpp's string_view is used + # See the discussion in https://github.com/gentoo/gentoo/pull/32281. -DCMAKE_CXX_STANDARD=14 -DABSL_ENABLE_INSTALL=TRUE - -DABSL_LOCAL_GOOGLETEST_DIR="${WORKDIR}/googletest-${GTEST_COMMIT#v}" + -DABSL_USE_EXTERNAL_GOOGLETEST=ON -DABSL_PROPAGATE_CXX_STD=TRUE - -DABSL_BUILD_TEST_HELPERS=$(usex test ON OFF) + # TEST_HELPERS needed for protobuf (bug #915902) + -DABSL_BUILD_TEST_HELPERS=ON -DABSL_BUILD_TESTING=$(usex test ON OFF) - $(usex test -DBUILD_TESTING=ON '') #intentional usex, it used both variables for tests. + $(usex test -DBUILD_TESTING=ON '') # intentional usex, it used both variables for tests. ) + cmake_src_configure } diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20240116.0.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20240116.0.ebuild deleted file mode 100644 index 252c4f5d21a5..000000000000 --- a/dev-cpp/abseil-cpp/abseil-cpp-20240116.0.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 2023-2024 Liguros Authors -# Distributed under the terms of the GNU General Public License v2 -EAPI=8 - -PYTHON_COMPAT=( python3_{8,9,10,11,12} ) - -inherit cmake-multilib python-any-r1 - -# yes, it needs SOURCE, not just installed one -GTEST_COMMIT="v1.14.0" -GTEST_FILE="gtest-${GTEST_COMMIT#v}.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 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86" -IUSE="test" - -BDEPEND=" - ${PYTHON_DEPS} - test? ( sys-libs/timezone-data ) -" - -RESTRICT="!test? ( test )" - -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#v}"/googletest/cmake/internal_utils.cmake || die - fi -} - -multilib_src_configure() { - local mycmakeargs=( - -DCMAKE_CXX_STANDARD=14 - -DABSL_ENABLE_INSTALL=TRUE - -DABSL_LOCAL_GOOGLETEST_DIR="${WORKDIR}/googletest-${GTEST_COMMIT#v}" - -DABSL_PROPAGATE_CXX_STD=TRUE - -DABSL_BUILD_TEST_HELPERS=$(usex test ON OFF) - -DABSL_BUILD_TESTING=$(usex test ON OFF) - $(usex test -DBUILD_TESTING=ON '') #intentional usex, it used both variables for tests. - ) - cmake_src_configure -} diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20240116.1.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r2.ebuild index 252c4f5d21a5..d72ab16613eb 100644 --- a/dev-cpp/abseil-cpp/abseil-cpp-20240116.1.ebuild +++ b/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r2.ebuild @@ -1,35 +1,37 @@ -# Copyright 2023-2024 Liguros Authors +# Copyright 2020-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 PYTHON_COMPAT=( python3_{8,9,10,11,12} ) inherit cmake-multilib python-any-r1 -# yes, it needs SOURCE, not just installed one -GTEST_COMMIT="v1.14.0" -GTEST_FILE="gtest-${GTEST_COMMIT#v}.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} )" +HOMEPAGE="https://abseil.io/" +SRC_URI="https://github.com/abseil/abseil-cpp/archive/${PV}.tar.gz -> ${P}.tar.gz" -LICENSE=" - Apache-2.0 - test? ( BSD ) -" +LICENSE="Apache-2.0" SLOT="0/${PV%%.*}" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86" IUSE="test" +RDEPEND=">=dev-cpp/gtest-1.13.0[${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND}" BDEPEND=" ${PYTHON_DEPS} - test? ( sys-libs/timezone-data ) + test? ( + sys-libs/timezone-data + ) " RESTRICT="!test? ( test )" +PATCHES=( + "${FILESDIR}/${PN}-20230802.0-sdata-tests.patch" + "${FILESDIR}/${PN}-random-tests.patch" #935417 +) + src_prepare() { cmake_src_prepare @@ -44,22 +46,21 @@ src_prepare() { # 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#v}"/googletest/cmake/internal_utils.cmake || die - fi } multilib_src_configure() { local mycmakeargs=( + # We use -std=c++14 here so that abseil-cpp's string_view is used + # See the discussion in https://github.com/gentoo/gentoo/pull/32281. -DCMAKE_CXX_STANDARD=14 -DABSL_ENABLE_INSTALL=TRUE - -DABSL_LOCAL_GOOGLETEST_DIR="${WORKDIR}/googletest-${GTEST_COMMIT#v}" + -DABSL_USE_EXTERNAL_GOOGLETEST=ON -DABSL_PROPAGATE_CXX_STD=TRUE - -DABSL_BUILD_TEST_HELPERS=$(usex test ON OFF) + # TEST_HELPERS needed for protobuf (bug #915902) + -DABSL_BUILD_TEST_HELPERS=ON -DABSL_BUILD_TESTING=$(usex test ON OFF) - $(usex test -DBUILD_TESTING=ON '') #intentional usex, it used both variables for tests. + $(usex test -DBUILD_TESTING=ON '') # intentional usex, it used both variables for tests. ) + 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 d9e9963f5bae..000000000000 --- 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 ---- a/absl/random/internal/randen_hwaes.cc -+++ b/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 99b868d3101f..000000000000 --- 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/files/abseil-cpp-20230802.0-sdata-tests.patch b/dev-cpp/abseil-cpp/files/abseil-cpp-20230802.0-sdata-tests.patch new file mode 100644 index 000000000000..67d3a9697731 --- /dev/null +++ b/dev-cpp/abseil-cpp/files/abseil-cpp-20230802.0-sdata-tests.patch @@ -0,0 +1,41 @@ +https://bugs.gentoo.org/show_bug.cgi?id=917062 +https://github.com/matoro/abseil-cpp/commit/cc37c61553fa2a186d4abf48e97ad9df4e5d62e3 + +From cc37c61553fa2a186d4abf48e97ad9df4e5d62e3 Mon Sep 17 00:00:00 2001 +From: matoro <matoro@users.noreply.github.com> +Date: Tue, 14 Nov 2023 10:39:34 -0500 +Subject: [PATCH] symbolize_test: account for platforms with ".sdata" small + data sections + +A handful of ELF targets use a ".sdata" section for small data. The +default maximum size of symbols in this section as well as the gcc flag +to change that maximum size differ between two targets. On such +platforms, if there is no data large enough to exceed the small data +limit then the ".data" section will be excluded entirely. This changes +the check to ensure that at least one of a ".sdata" section OR a ".data" +section is present. +--- + absl/debugging/symbolize_test.cc | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/absl/debugging/symbolize_test.cc b/absl/debugging/symbolize_test.cc +index d0feab2ffa6..1e4b5ba6105 100644 +--- a/absl/debugging/symbolize_test.cc ++++ b/absl/debugging/symbolize_test.cc +@@ -44,6 +44,7 @@ + #define MAP_ANONYMOUS MAP_ANON + #endif + ++using testing::AnyOf; + using testing::Contains; + + #ifdef _WIN32 +@@ -456,7 +457,7 @@ TEST(Symbolize, ForEachSection) { + EXPECT_THAT(sections, Contains(".rodata")); + EXPECT_THAT(sections, Contains(".bss")); + ++in_data_section; +- EXPECT_THAT(sections, Contains(".data")); ++ EXPECT_THAT(sections, AnyOf(Contains(".data"), Contains(".sdata"))); + + close(fd); + } diff --git a/dev-cpp/abseil-cpp/files/abseil-cpp-random-tests.patch b/dev-cpp/abseil-cpp/files/abseil-cpp-random-tests.patch new file mode 100644 index 000000000000..769ac6a56e39 --- /dev/null +++ b/dev-cpp/abseil-cpp/files/abseil-cpp-random-tests.patch @@ -0,0 +1,19 @@ +https://github.com/abseil/abseil-cpp/issues/1528 + +From: Paul Zander <negril.nx+gentoo@gmail.com> +Date: Sat, 7 Jul 2024 01:53:19 +0200 +Subject: [PATCH] remove abseil::random_internal_mock_overload_set +See-Also: https://bugs.gentoo.org/935417 + +diff --git a/absl/random/CMakeLists.txt b/absl/random/CMakeLists.txt +index bd363d8..7692a35 100644 +--- a/absl/random/CMakeLists.txt ++++ b/absl/random/CMakeLists.txt +@@ -112,7 +112,6 @@ absl_cc_library( + absl::raw_logging_internal + absl::random_distributions + absl::random_internal_distribution_caller +- absl::random_internal_mock_overload_set + absl::random_random + absl::strings + absl::span diff --git a/dev-cpp/abseil-cpp/metadata.xml b/dev-cpp/abseil-cpp/metadata.xml index 79d63bfbb0a6..83d00b14c8d4 100644 --- a/dev-cpp/abseil-cpp/metadata.xml +++ b/dev-cpp/abseil-cpp/metadata.xml @@ -1,17 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>dev@liguros.net</email> - <name>Development</name> - </maintainer> - <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> - <origin>ports</origin> + <origin>gentoo-staging</origin> </pkgmetadata>
\ No newline at end of file |
