From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 444B9158094 for ; Sun, 26 Jun 2022 02:45:54 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 48C81E08F3; Sun, 26 Jun 2022 02:45:53 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 1C0D1E08E5 for ; Sun, 26 Jun 2022 02:45:53 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 35172341539 for ; Sun, 26 Jun 2022 02:45:52 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id A3C07501 for ; Sun, 26 Jun 2022 02:45:50 +0000 (UTC) From: "Jason Zaman" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Jason Zaman" Message-ID: <1656211046.5b9ba90d62157a5ef8fe991a87c51c39666f029e.perfinion@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-cpp/abseil-cpp/, dev-cpp/abseil-cpp/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-cpp/abseil-cpp/abseil-cpp-20211102.0-r2.ebuild dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-r2-cuda11.6-compile-fix.patch X-VCS-Directories: dev-cpp/abseil-cpp/ dev-cpp/abseil-cpp/files/ X-VCS-Committer: perfinion X-VCS-Committer-Name: Jason Zaman X-VCS-Revision: 5b9ba90d62157a5ef8fe991a87c51c39666f029e X-VCS-Branch: master Date: Sun, 26 Jun 2022 02:45:50 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 9c311768-f18a-4160-9496-46ed487a0a5a X-Archives-Hash: 6261f0a6b9eeb063474cb0c8011420da commit: 5b9ba90d62157a5ef8fe991a87c51c39666f029e Author: Jason Zaman gentoo org> AuthorDate: Sat Jun 25 16:24:12 2022 +0000 Commit: Jason Zaman gentoo org> CommitDate: Sun Jun 26 02:37:26 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b9ba90d dev-cpp/abseil-cpp: Fix build with nvidia cuda11.6 also update EAPI 7 -> 8 Signed-off-by: Jason Zaman gentoo.org> dev-cpp/abseil-cpp/abseil-cpp-20211102.0-r2.ebuild | 73 ++++++++++++++++++++++ ...il-cpp-20211102.0-r2-cuda11.6-compile-fix.patch | 24 +++++++ 2 files changed, 97 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 new file mode 100644 index 000000000000..a987d852dee3 --- /dev/null +++ b/dev-cpp/abseil-cpp/abseil-cpp-20211102.0-r2.ebuild @@ -0,0 +1,73 @@ +# Copyright 2020-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..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 ~arm ~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" + "${FILESDIR}/${PN}-20211102.0-r2-cuda11.6-compile-fix.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-r2-cuda11.6-compile-fix.patch b/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-r2-cuda11.6-compile-fix.patch new file mode 100644 index 000000000000..59efc0f321e3 --- /dev/null +++ b/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-r2-cuda11.6-compile-fix.patch @@ -0,0 +1,24 @@ +diff --git a/absl/strings/internal/string_constant.h b/absl/strings/internal/string_constant.h +index a11336b..e1596b1 100644 +--- a/absl/strings/internal/string_constant.h ++++ b/absl/strings/internal/string_constant.h +@@ -35,12 +35,18 @@ namespace strings_internal { + // below. + template + struct StringConstant { ++ private: ++ static constexpr bool ValidateConstant(absl::string_view view) { ++ return view.empty() || 2 * view[0] != 1; ++ } ++ ++public: + static constexpr absl::string_view value = T{}(); + constexpr absl::string_view operator()() const { return value; } + + // Check to be sure `view` points to constant data. + // Otherwise, it can't be constant evaluated. +- static_assert(value.empty() || 2 * value[0] != 1, ++ static_assert(ValidateConstant(value), + "The input string_view must point to constant data."); + }; +