summaryrefslogtreecommitdiff
path: root/dev-cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dev-cpp')
-rw-r--r--dev-cpp/highway/Manifest4
-rw-r--r--dev-cpp/highway/files/0001-fix-compile-for-armv7-targets-with-vfp4-and-lower.patch123
-rw-r--r--dev-cpp/highway/files/0002-fix-armv7-neon-detect-via-asm-hwcap.patch29
-rw-r--r--dev-cpp/highway/files/highway-1.0.7-Fix_UB_case_with_signed_overflow.patch29
-rw-r--r--dev-cpp/highway/highway-1.0.1-r1.ebuild41
-rw-r--r--dev-cpp/highway/highway-1.0.3-r1.ebuild42
-rw-r--r--dev-cpp/highway/highway-1.0.3.ebuild41
-rw-r--r--dev-cpp/highway/highway-1.0.5.ebuild37
-rw-r--r--dev-cpp/highway/highway-1.0.7-r1.ebuild41
-rw-r--r--dev-cpp/highway/highway-1.0.7.ebuild37
-rw-r--r--dev-cpp/highway/highway-1.3.0.ebuild58
-rw-r--r--dev-cpp/highway/highway-9999.ebuild56
-rw-r--r--dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.24.0.ebuild2
-rw-r--r--dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0-r3.ebuild2
-rw-r--r--dev-cpp/prometheus-cpp/prometheus-cpp-1.2.4.ebuild2
15 files changed, 114 insertions, 430 deletions
diff --git a/dev-cpp/highway/Manifest b/dev-cpp/highway/Manifest
index 35d44f030e10..cd4a1e8e8f92 100644
--- a/dev-cpp/highway/Manifest
+++ b/dev-cpp/highway/Manifest
@@ -1,6 +1,2 @@
-DIST highway-1.0.1.tar.gz 1730746 BLAKE2B 1c6185af91afe32fbb35285d49101d381ade7ded262cbcd3b0a8bf28b1924a76ac5a11423a1613068f3435fbbdd2ab0119aa8a1aafe2c3467e0aff1987f40aad SHA512 35b6287579b6248966b0d36fda1522fd6338523934b079e94e857f9de08354f20b99739c99d53249a3a6c583519da0e0ac5e06dfbe6e3a89262f627c75b59dd8
-DIST highway-1.0.3.tar.gz 1770704 BLAKE2B 5454f7e661270f25d1439a2a3d649a0f9970d7e10e0cfe6818c470b00460cc77b044ca83e912c91a3582b4a60af5d8d0f7c0aba01762acd3c98b9692fa0b20c6 SHA512 fc419c862e1686b6278081e8e10da41dc2bdfbd386a29b59e21a57375a47d3eeb5c7297e3078c78007b212121d936640b192a26a16c941e73cf599f24e081021
-DIST highway-1.0.5.tar.gz 2012129 BLAKE2B cd7673bc5e3a32551554c83c4e1beb31f9855d9ad9550f156be2fb9e93b20391bd98d4b3ed4d0edf0a2786e403dcca86f4a50d00c27f0e08242dc66e2e6b2262 SHA512 0886b60147b78807e40c4987438fe664b4fbc012c3c681a45f3043ee4077afa493cb75550bc18ae160d00e527bf15bcf1f14220ea8561a4baacb3317fc25e347
-DIST highway-1.0.7.tar.gz 2055819 BLAKE2B da10291124dfdb5d9fd2b661f4d7e594c1e80e4159c9d704e1b4203facf7a0603e7ba808ffb1d8f1aba13d992df24abdb0ae89807329fffb67dee78b58574c28 SHA512 6ee5007ec13ac20b5d816b38a1b31c31a06678ca6d2ea090dd75e364f04cb2cf7ad8a82d1bdfff51079efa54b9a95fb554d62e6cc1bbf7d7e794cb272032d8f5
DIST highway-1.2.0.tar.gz 2234665 BLAKE2B b92f699c0f2f15fd9d223cf9546125b68a5c12ba9c84f8a3a990129f40bc56a266858e4f99eebe34e47c9904bd9164a138de1af8d405911d4b03bea67532489a SHA512 e94b9cc51c81157ccd6bf4d6163445b1acc1a2667dc2650d1c4aea0a5021989c08dafcb92564fcbecb9445ab2f1779051260be2f5b29c3932803b8a42ed2f824
DIST highway-1.3.0.tar.gz 3634890 BLAKE2B c8db95b003c1d00e87b42f3d7bf06005873c225ef950f7cb32057f6f690f219a400dcf68220a0dbbb72cdb12f13afabcd9c1b8e9c7e5eb007734bfe4b617c347 SHA512 8b9f4fdc4fa60b6817417959853f5b55bf86aec9d35fc6664dda15179cc55e0a9940f3a46011a84b95263ba342dc47ca1cb93b04481ff4b63d724cce1815d7c6
diff --git a/dev-cpp/highway/files/0001-fix-compile-for-armv7-targets-with-vfp4-and-lower.patch b/dev-cpp/highway/files/0001-fix-compile-for-armv7-targets-with-vfp4-and-lower.patch
deleted file mode 100644
index ebf448cfbb24..000000000000
--- a/dev-cpp/highway/files/0001-fix-compile-for-armv7-targets-with-vfp4-and-lower.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-https://github.com/google/highway/commit/dc63f813c465f3bf95cb5b98f01aeed28b81173c
-https://github.com/google/highway/pull/1143
-
-https://github.com/google/highway/issues/834
-https://github.com/google/highway/issues/1032
-
-https://bugs.gentoo.org/869077
-
-From dc63f813c465f3bf95cb5b98f01aeed28b81173c Mon Sep 17 00:00:00 2001
-From: Julien Olivain <ju.o@free.fr>
-Date: Mon, 20 Feb 2023 23:22:28 +0100
-Subject: [PATCH] Fix compilation for armv7 targets with vfp < v4 and gcc >= 8
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-When using a armv7 gcc >= 8 toolchain (like [1]) with Highway
-configured with -DHWY_CMAKE_ARM7=OFF and HWY_ENABLE_CONTRIB=ON,
-compilation fails with error:
-
- In file included from /build/highway-1.0.3/hwy/ops/arm_neon-inl.h:33,
- from /build/highway-1.0.3/hwy/highway.h:358,
- from /build/highway-1.0.3/hwy/contrib/sort/shared-inl.h:104,
- from /build/highway-1.0.3/hwy/contrib/sort/traits128-inl.h:27,
- from /build/highway-1.0.3/hwy/contrib/sort/vqsort_128d.cc:23,
- from /build/highway-1.0.3/hwy/foreach_target.h:81,
- from /build/highway-1.0.3/hwy/contrib/sort/vqsort_128d.cc:20:
- /toolchain/lib/gcc/arm-buildroot-linux-gnueabihf/12.2.0/include/arm_neon.h: In function ‘void hwy::N_NEON::StoreU(Vec128<long long unsigned int, 2>, Full128<long long unsigned int>, uint64_t*)’:
- /toolchain/lib/gcc/arm-buildroot-linux-gnueabihf/12.2.0/include/arm_neon.h:11052:1: error: inlining failed in call to ‘always_inline’ ‘void vst1q_u64(uint64_t*, uint64x2_t)’: target specific option mismatch
- 11052 | vst1q_u64 (uint64_t * __a, uint64x2_t __b)
- | ^~~~~~~~~
- /build/highway-1.0.3/hwy/ops/arm_neon-inl.h:2786:12: note: called from here
- 2786 | vst1q_u64(unaligned, v.raw);
- | ~~~~~~~~~^~~~~~~~~~~~~~~~~~
-
-The same errors happen when configured with HWY_ENABLE_EXAMPLES=ON,
-or from client libraries like libjxl (at other places).
-
-The issue is that Highway Arm NEON ops have a dependency on the
-Advanced SIMD (Neon) v2 and the VFPv4 floating-point instructions.
-The SIMD (Neon) v1 and VFPv3 instructions are not supported.
-
-There was several attempts to fix variants of this issues.
-See #834 and #1032.
-
-HWY_NEON target is selected only if __ARM_NEON is defined. See:
-https://github.com/google/highway/blob/1.0.3/hwy/detect_targets.h#L251
-
-This test is not sufficient since __ARM_NEON will be predefined in
-any cases when Neon is enabled (neon-vfpv3, neon-vfpv4).
-
-The issue is that HWY_CMAKE_ARM7=ON implies VFPv4 / NEON SIMD v2.
-When setting HWY_CMAKE_ARM7=OFF, "neon-vfpv4" will not be forced,
-but the code is still using intrinsics assuming VFPv4. Gcc will fail
-with error because code cannot be generated for the selected
-architecture.
-
-This issue can be avoided by adding "-DHWY_DISABLED_TARGETS=HWY_NEON" in
-CXXFLAGS. The problem with this solution is that every client program will
-also need to do the same. This goes against the very purpose of
-"hwy/detect_targets.h".
-
-Technically, Armv7-a processors with VFPv4 can be detected using some
-ACLE (Arm C Language Extensions [2]) predefined macros:
-
-Basically, we want Highway to define HWY_NEON only when the target
-supports SIMDv2/VFPv4 or higher. An older target with vfpv3 only
-(e.g. Cortex-A8, A9, ...) would NOT define HWY_NEON, and therefore
-would fallback on HWY_SCALAR implementation.
-
-However, not all compiler completely support ACLE. There is also
-several versions too. So we cannot easily rely on macros like
-"__ARM_VFPV4__" (which clang predefine, but not gcc).
-
-The alternative solution proposed in this patch, is to declare the
-HWY_NEON target architecture as broken, when we detect the target is
-Armv7-A, but mandatory features for vfpv4 (namely half-float, FMA)
-are missing. Half-floats are tested using the macro __ARM_NEON_FP,
-and the FMA with the macro __ARM_FEATURE_FMA. See ACLE [2]. The
-intent of declaring the target as broken, rather than selecting
-HWY_NEON only if vfpv4 features are detected is to remain a bit
-conservative, since the detection is slithly inaccurate.
-
-For a given compiler/cflags, predefined macros for Arm/ACLE can be
-reviewed with commands like:
-
- arm-linux-gnueabihf-gcc -mcpu=cortex-a9 -mfpu=neon-vfpv3 -Wp,-dM -E -c - < /dev/null | grep -Fi arm | sort
- arm-linux-gnueabihf-gcc -mcpu=cortex-a7 -mfpu=neon-vfpv4 -Wp,-dM -E -c - < /dev/null | grep -Fi arm | sort
- clang -target armv7a -mcpu=cortex-a9 -mfpu=neon-vfpv3 -mfloat-abi=hard -Wp,-dM -E -c - < /dev/null | grep -Fi arm | sort
- clang -target armv7a -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -Wp,-dM -E -c - < /dev/null | grep -Fi arm | sort
-
-The different values of __ARM_NEON_FP can be seen, depending which
-"-mfpu" is passed. Same for __ARM_FEATURE_FMA.
-
-[1] https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--glibc--bleeding-edge-2022.08-1.tar.bz2
-[2] https://github.com/ARM-software/acle/
-
-Signed-off-by: Julien Olivain <ju.o@free.fr>
----
- hwy/detect_targets.h | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/hwy/detect_targets.h b/hwy/detect_targets.h
-index 2beca95b..40ae7fe7 100644
---- a/hwy/detect_targets.h
-+++ b/hwy/detect_targets.h
-@@ -154,6 +154,16 @@
- (defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN))
- #define HWY_BROKEN_TARGETS (HWY_NEON)
-
-+// armv7-a without a detected vfpv4 is not supported
-+// (for example Cortex-A8, Cortex-A9)
-+// vfpv4 always have neon half-float _and_ FMA.
-+#elif HWY_ARCH_ARM_V7 && \
-+ (__ARM_ARCH_PROFILE == 'A') && \
-+ !defined(__ARM_VFPV4__) && \
-+ !((__ARM_NEON_FP & 0x2 /* half-float */) && \
-+ (__ARM_FEATURE_FMA == 1))
-+#define HWY_BROKEN_TARGETS (HWY_NEON)
-+
- // SVE[2] require recent clang or gcc versions.
- #elif (HWY_COMPILER_CLANG && HWY_COMPILER_CLANG < 1100) || \
- (HWY_COMPILER_GCC_ACTUAL && HWY_COMPILER_GCC_ACTUAL < 1000)
diff --git a/dev-cpp/highway/files/0002-fix-armv7-neon-detect-via-asm-hwcap.patch b/dev-cpp/highway/files/0002-fix-armv7-neon-detect-via-asm-hwcap.patch
deleted file mode 100644
index 298b5a82f1c2..000000000000
--- a/dev-cpp/highway/files/0002-fix-armv7-neon-detect-via-asm-hwcap.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://github.com/google/highway/commit/f3a33e8204b69f9e21b5fbd8036c11128cec0d2e.patch
-https://github.com/google/highway/issues/1199
-
-https://bugs.gentoo.org/900352
-
-From f3a33e8204b69f9e21b5fbd8036c11128cec0d2e Mon Sep 17 00:00:00 2001
-From: Jan Wassenberg <janwas@google.com>
-Date: Tue, 7 Mar 2023 22:59:17 -0800
-Subject: [PATCH] fix arm7 NEON detect, thanks @stefson. Fixes #1199
-
-PiperOrigin-RevId: 514940076
----
- hwy/targets.cc | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/hwy/targets.cc b/hwy/targets.cc
-index dc4217c..24fcaf7 100644
---- a/hwy/targets.cc
-+++ b/hwy/targets.cc
-@@ -43,6 +43,9 @@
- #endif // HWY_COMPILER_MSVC
-
- #elif HWY_ARCH_ARM && HWY_OS_LINUX && !defined(TOOLCHAIN_MISS_SYS_AUXV_H)
-+// sys/auxv.h does not always include asm/hwcap.h, or define HWCAP*, hence we
-+// still include this directly. See #1199.
-+#include <asm/hwcap.h>
- #include <sys/auxv.h>
- #endif // HWY_ARCH_*
-
diff --git a/dev-cpp/highway/files/highway-1.0.7-Fix_UB_case_with_signed_overflow.patch b/dev-cpp/highway/files/highway-1.0.7-Fix_UB_case_with_signed_overflow.patch
deleted file mode 100644
index 814d584e8b3a..000000000000
--- a/dev-cpp/highway/files/highway-1.0.7-Fix_UB_case_with_signed_overflow.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://github.com/google/highway/issues/1549
-https://github.com/google/highway/commit/45eea15b5488f3e7a15c2c94ac77bd9e99703203
-
-From 45eea15b5488f3e7a15c2c94ac77bd9e99703203 Mon Sep 17 00:00:00 2001
-From: Mathieu Malaterre <mathieu.malaterre@gmail.com>
-Date: Thu, 5 Oct 2023 08:00:38 +0200
-Subject: [PATCH] Fix UB case with signed overflow, prefer unsigned
-
-Fixes #1549
-
-Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110643
-Suggested-by: Andrew Pinski <pinskia@gcc.gnu.org>
----
- hwy/ops/arm_neon-inl.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/hwy/ops/arm_neon-inl.h b/hwy/ops/arm_neon-inl.h
-index 7ac7a10c62..97de46be2e 100644
---- a/hwy/ops/arm_neon-inl.h
-+++ b/hwy/ops/arm_neon-inl.h
-@@ -4592,7 +4592,7 @@ HWY_API Mask128<T, N> IsNaN(const Vec128<T, N> v) {
- template <typename T, size_t N, HWY_IF_FLOAT(T)>
- HWY_API Mask128<T, N> IsInf(const Vec128<T, N> v) {
- const DFromV<decltype(v)> d;
-- const RebindToSigned<decltype(d)> di;
-+ const RebindToUnsigned<decltype(d)> di;
- const VFromD<decltype(di)> vi = BitCast(di, v);
- // 'Shift left' to clear the sign bit, check for exponent=max and mantissa=0.
- return RebindMask(d, Eq(Add(vi, vi), Set(di, hwy::MaxExponentTimes2<T>())));
diff --git a/dev-cpp/highway/highway-1.0.1-r1.ebuild b/dev-cpp/highway/highway-1.0.1-r1.ebuild
deleted file mode 100644
index 42e2ffc4f0ec..000000000000
--- a/dev-cpp/highway/highway-1.0.1-r1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2021-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake-multilib
-
-DESCRIPTION="Performance-portable, length-agnostic SIMD with runtime dispatch"
-HOMEPAGE="https://github.com/google/highway"
-
-if [[ "${PV}" == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/google/highway.git"
-else
- SRC_URI="https://github.com/google/highway/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="cpu_flags_arm_neon test"
-
-DEPEND="test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}"/0001-fix-compile-for-armv7-targets-with-vfp4-and-lower.patch
-)
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DHWY_CMAKE_ARM7=$(usex cpu_flags_arm_neon)
- -DBUILD_TESTING=$(usex test)
- -DHWY_WARNINGS_ARE_ERRORS=OFF
- )
-
- use test && mycmakeargs+=( "-DHWY_SYSTEM_GTEST=ON" )
-
- cmake_src_configure
-}
diff --git a/dev-cpp/highway/highway-1.0.3-r1.ebuild b/dev-cpp/highway/highway-1.0.3-r1.ebuild
deleted file mode 100644
index d110e1b64e4c..000000000000
--- a/dev-cpp/highway/highway-1.0.3-r1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake-multilib
-
-DESCRIPTION="Performance-portable, length-agnostic SIMD with runtime dispatch"
-HOMEPAGE="https://github.com/google/highway"
-
-if [[ "${PV}" == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/google/highway.git"
-else
- SRC_URI="https://github.com/google/highway/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="cpu_flags_arm_neon test"
-
-DEPEND="test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}"/0001-fix-compile-for-armv7-targets-with-vfp4-and-lower.patch
- "${FILESDIR}"/0002-fix-armv7-neon-detect-via-asm-hwcap.patch
-)
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DHWY_CMAKE_ARM7=$(usex cpu_flags_arm_neon)
- -DBUILD_TESTING=$(usex test)
- -DHWY_WARNINGS_ARE_ERRORS=OFF
- )
-
- use test && mycmakeargs+=( "-DHWY_SYSTEM_GTEST=ON" )
-
- cmake_src_configure
-}
diff --git a/dev-cpp/highway/highway-1.0.3.ebuild b/dev-cpp/highway/highway-1.0.3.ebuild
deleted file mode 100644
index c4d4ed034ee9..000000000000
--- a/dev-cpp/highway/highway-1.0.3.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake-multilib
-
-DESCRIPTION="Performance-portable, length-agnostic SIMD with runtime dispatch"
-HOMEPAGE="https://github.com/google/highway"
-
-if [[ "${PV}" == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/google/highway.git"
-else
- SRC_URI="https://github.com/google/highway/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="cpu_flags_arm_neon test"
-
-DEPEND="test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}"/0001-fix-compile-for-armv7-targets-with-vfp4-and-lower.patch
-)
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DHWY_CMAKE_ARM7=$(usex cpu_flags_arm_neon)
- -DBUILD_TESTING=$(usex test)
- -DHWY_WARNINGS_ARE_ERRORS=OFF
- )
-
- use test && mycmakeargs+=( "-DHWY_SYSTEM_GTEST=ON" )
-
- cmake_src_configure
-}
diff --git a/dev-cpp/highway/highway-1.0.5.ebuild b/dev-cpp/highway/highway-1.0.5.ebuild
deleted file mode 100644
index 2d510812f3d8..000000000000
--- a/dev-cpp/highway/highway-1.0.5.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake-multilib
-
-DESCRIPTION="Performance-portable, length-agnostic SIMD with runtime dispatch"
-HOMEPAGE="https://github.com/google/highway"
-
-if [[ "${PV}" == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/google/highway.git"
-else
- SRC_URI="https://github.com/google/highway/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="cpu_flags_arm_neon test"
-
-DEPEND="test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )"
-
-RESTRICT="!test? ( test )"
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DHWY_CMAKE_ARM7=$(usex cpu_flags_arm_neon)
- -DBUILD_TESTING=$(usex test)
- -DHWY_WARNINGS_ARE_ERRORS=OFF
- )
-
- use test && mycmakeargs+=( "-DHWY_SYSTEM_GTEST=ON" )
-
- cmake_src_configure
-}
diff --git a/dev-cpp/highway/highway-1.0.7-r1.ebuild b/dev-cpp/highway/highway-1.0.7-r1.ebuild
deleted file mode 100644
index f2cd165dc01e..000000000000
--- a/dev-cpp/highway/highway-1.0.7-r1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2021-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake-multilib
-
-DESCRIPTION="Performance-portable, length-agnostic SIMD with runtime dispatch"
-HOMEPAGE="https://github.com/google/highway"
-
-if [[ "${PV}" == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/google/highway.git"
-else
- SRC_URI="https://github.com/google/highway/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="cpu_flags_arm_neon test"
-
-DEPEND="test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.0.7-Fix_UB_case_with_signed_overflow.patch"
-)
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DHWY_CMAKE_ARM7=$(usex cpu_flags_arm_neon)
- -DBUILD_TESTING=$(usex test)
- -DHWY_WARNINGS_ARE_ERRORS=OFF
- )
-
- use test && mycmakeargs+=( "-DHWY_SYSTEM_GTEST=ON" )
-
- cmake_src_configure
-}
diff --git a/dev-cpp/highway/highway-1.0.7.ebuild b/dev-cpp/highway/highway-1.0.7.ebuild
deleted file mode 100644
index 3239a1b4ccb2..000000000000
--- a/dev-cpp/highway/highway-1.0.7.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2021-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake-multilib
-
-DESCRIPTION="Performance-portable, length-agnostic SIMD with runtime dispatch"
-HOMEPAGE="https://github.com/google/highway"
-
-if [[ "${PV}" == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/google/highway.git"
-else
- SRC_URI="https://github.com/google/highway/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="cpu_flags_arm_neon test"
-
-DEPEND="test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )"
-
-RESTRICT="!test? ( test )"
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DHWY_CMAKE_ARM7=$(usex cpu_flags_arm_neon)
- -DBUILD_TESTING=$(usex test)
- -DHWY_WARNINGS_ARE_ERRORS=OFF
- )
-
- use test && mycmakeargs+=( "-DHWY_SYSTEM_GTEST=ON" )
-
- cmake_src_configure
-}
diff --git a/dev-cpp/highway/highway-1.3.0.ebuild b/dev-cpp/highway/highway-1.3.0.ebuild
index 379a4e39f798..9f972776663a 100644
--- a/dev-cpp/highway/highway-1.3.0.ebuild
+++ b/dev-cpp/highway/highway-1.3.0.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit cmake-multilib
+inherit cmake-multilib toolchain-funcs
DESCRIPTION="Performance-portable, length-agnostic SIMD with runtime dispatch"
HOMEPAGE="https://github.com/google/highway"
@@ -13,7 +13,7 @@ if [[ "${PV}" == *9999* ]]; then
EGIT_REPO_URI="https://github.com/google/highway.git"
else
SRC_URI="https://github.com/google/highway/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
LICENSE="Apache-2.0"
@@ -21,9 +21,63 @@ SLOT="0"
IUSE="cpu_flags_arm_neon test"
DEPEND="test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )"
+BDEPEND="|| ( >=sys-devel/binutils-2.44:* llvm-core/lld sys-devel/native-cctools )"
RESTRICT="!test? ( test )"
+check_binutils_version() {
+ if [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && ! tc-ld-is-gold && ! tc-ld-is-lld ; then
+ # Okay, hopefully it's Binutils, but we don't have a nice way of checking
+ # the gas version.
+ #
+ # Convert this:
+ # ```
+ # GNU assembler (Gentoo 2.44 p1) 2.44
+ # Copyright (C) 2022 Free Software Foundation, Inc.
+ # This program is free software; you may redistribute it under the terms of
+ # the GNU General Public License version 3 or (at your option) a later version.
+ # This program has absolutely no warranty.
+ # ```
+ #
+ # into...
+ # ```
+ # 2.44
+ # ```
+ local ver=$($(tc-getAS) --version 2>&1 | head -n 1 | rev | cut -d' ' -f1 | rev)
+
+ if ! [[ ${ver} =~ [0-9].[0-9][0-9] ]] ; then
+ # Skip if unrecognised format so we don't pass something
+ # odd into ver_cut.
+ return
+ fi
+
+ ver_major=$(ver_cut 1 "${ver}")
+ ver_minor=$(ver_cut 2 "${ver}")
+
+ # Check borrowed from sys-apps/pciutils (see bug #966644).
+ if [[ ${ver_major} -eq 2 && ${ver_minor} -lt 44 ]] ; then
+ eerror "Old version of binutils activated! ${P} cannot be built with an old version."
+ eerror "Please follow these steps:"
+ eerror "1. Select a newer binutils (>= 2.44) using binutils-config"
+ eerror " (If no such version is installed, run emerge -v1 sys-devel/binutils)"
+ eerror "2. Run: . /etc/profile"
+ eerror "3. Try emerging again with: emerge -v1 ${CATEGORY}/${P}"
+ eerror "4. Complete your world upgrade if you were performing one."
+ eerror "5. Perform a depclean (emerge -acv)"
+ eerror "\tYou MUST depclean after every world upgrade in future!"
+ die "Old binutils found! Change to a newer (g)as using binutils-config."
+ fi
+ fi
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && check_binutils_version
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && check_binutils_version
+}
+
multilib_src_configure() {
local mycmakeargs=(
-DHWY_CMAKE_ARM7=$(usex cpu_flags_arm_neon)
diff --git a/dev-cpp/highway/highway-9999.ebuild b/dev-cpp/highway/highway-9999.ebuild
index 379a4e39f798..089da1882f61 100644
--- a/dev-cpp/highway/highway-9999.ebuild
+++ b/dev-cpp/highway/highway-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit cmake-multilib
+inherit cmake-multilib toolchain-funcs
DESCRIPTION="Performance-portable, length-agnostic SIMD with runtime dispatch"
HOMEPAGE="https://github.com/google/highway"
@@ -21,9 +21,63 @@ SLOT="0"
IUSE="cpu_flags_arm_neon test"
DEPEND="test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )"
+BDEPEND="|| ( >=sys-devel/binutils-2.44:* llvm-core/lld sys-devel/native-cctools )"
RESTRICT="!test? ( test )"
+check_binutils_version() {
+ if [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && ! tc-ld-is-gold && ! tc-ld-is-lld ; then
+ # Okay, hopefully it's Binutils, but we don't have a nice way of checking
+ # the gas version.
+ #
+ # Convert this:
+ # ```
+ # GNU assembler (Gentoo 2.44 p1) 2.44
+ # Copyright (C) 2022 Free Software Foundation, Inc.
+ # This program is free software; you may redistribute it under the terms of
+ # the GNU General Public License version 3 or (at your option) a later version.
+ # This program has absolutely no warranty.
+ # ```
+ #
+ # into...
+ # ```
+ # 2.44
+ # ```
+ local ver=$($(tc-getAS) --version 2>&1 | head -n 1 | rev | cut -d' ' -f1 | rev)
+
+ if ! [[ ${ver} =~ [0-9].[0-9][0-9] ]] ; then
+ # Skip if unrecognised format so we don't pass something
+ # odd into ver_cut.
+ return
+ fi
+
+ ver_major=$(ver_cut 1 "${ver}")
+ ver_minor=$(ver_cut 2 "${ver}")
+
+ # Check borrowed from sys-apps/pciutils (see bug #966644).
+ if [[ ${ver_major} -eq 2 && ${ver_minor} -lt 44 ]] ; then
+ eerror "Old version of binutils activated! ${P} cannot be built with an old version."
+ eerror "Please follow these steps:"
+ eerror "1. Select a newer binutils (>= 2.44) using binutils-config"
+ eerror " (If no such version is installed, run emerge -v1 sys-devel/binutils)"
+ eerror "2. Run: . /etc/profile"
+ eerror "3. Try emerging again with: emerge -v1 ${CATEGORY}/${P}"
+ eerror "4. Complete your world upgrade if you were performing one."
+ eerror "5. Perform a depclean (emerge -acv)"
+ eerror "\tYou MUST depclean after every world upgrade in future!"
+ die "Old binutils found! Change to a newer (g)as using binutils-config."
+ fi
+ fi
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && check_binutils_version
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && check_binutils_version
+}
+
multilib_src_configure() {
local mycmakeargs=(
-DHWY_CMAKE_ARM7=$(usex cpu_flags_arm_neon)
diff --git a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.24.0.ebuild b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.24.0.ebuild
index 86dcb12d100a..13aaa699252b 100644
--- a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.24.0.ebuild
+++ b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.24.0.ebuild
@@ -24,7 +24,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0/1"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64"
IUSE="elasticsearch grpc http otlp prometheus test"
REQUIRED_USE="
diff --git a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0-r3.ebuild b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0-r3.ebuild
index b54082529a7e..ff00d1669835 100644
--- a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0-r3.ebuild
+++ b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0-r3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://github.com/open-telemetry/${PN}/archive/refs/tags/v${PV}.tar.gz
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
+KEYWORDS="amd64 ~arm64 ~ppc64"
IUSE="+jaeger prometheus test"
RDEPEND="
diff --git a/dev-cpp/prometheus-cpp/prometheus-cpp-1.2.4.ebuild b/dev-cpp/prometheus-cpp/prometheus-cpp-1.2.4.ebuild
index 5aac6bae234a..60da7d0e626d 100644
--- a/dev-cpp/prometheus-cpp/prometheus-cpp-1.2.4.ebuild
+++ b/dev-cpp/prometheus-cpp/prometheus-cpp-1.2.4.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/jupp0r/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
+KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
IUSE="test zlib"
RESTRICT="!test? ( test )"