mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-06 00:48:18 -07:00
dev-qt/qtmultimedia: unkeyword for ppc
Failing tests and not that many revdeps, would rather not spend time on this. Also less headaches for bundled eigen which been fragile on ppc32. Note may consider complete ppc32 removal for Qt6 in the future as this may keep getting worse (Qt does not officially support it, and it shouldn't have many users either). Bug: https://bugs.gentoo.org/973096 Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
This commit is contained in:
@@ -1,152 +0,0 @@
|
||||
Imported from dev-cpp/eigen to use with bundled's (ideally would
|
||||
unbundle but rather not w/ Qt unless there is an upstream-supported
|
||||
cmake switch, is likely broken w/ the upcoming eigen version too).
|
||||
|
||||
This is a backport from eigen upstream, so should no longer be needed
|
||||
whenever there is a bump (not in a release as of the writing of this)
|
||||
and it is updated here.
|
||||
|
||||
https://bugs.gentoo.org/943402
|
||||
https://bugs.gentoo.org/936107
|
||||
https://gitlab.com/libeigen/eigen/-/merge_requests/1028
|
||||
--- a/src/3rdparty/eigen/Eigen/Core
|
||||
+++ b/src/3rdparty/eigen/Eigen/Core
|
||||
@@ -348,3 +348,3 @@
|
||||
|
||||
-#if defined(EIGEN_VECTORIZE_ALTIVEC) || defined(EIGEN_VECTORIZE_VSX)
|
||||
+#if defined(EIGEN_VECTORIZE_VSX)
|
||||
#include "src/Core/arch/AltiVec/MatrixProduct.h"
|
||||
--- a/src/3rdparty/eigen/Eigen/src/Core/arch/AltiVec/Complex.h
|
||||
+++ b/src/3rdparty/eigen/Eigen/src/Core/arch/AltiVec/Complex.h
|
||||
@@ -102,2 +102,3 @@
|
||||
HasMax = 0,
|
||||
+ HasSqrt = 1,
|
||||
#ifdef __VSX__
|
||||
@@ -322,2 +323,3 @@
|
||||
HasMax = 0,
|
||||
+ HasSqrt = 1,
|
||||
HasSetLinear = 0
|
||||
--- a/src/3rdparty/eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h
|
||||
+++ b/src/3rdparty/eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h
|
||||
@@ -42,2 +42,3 @@
|
||||
|
||||
+#ifdef __VSX__
|
||||
#ifndef EIGEN_COMP_CLANG
|
||||
@@ -48,6 +49,3 @@
|
||||
}
|
||||
-#endif
|
||||
|
||||
-#ifdef __VSX__
|
||||
-#ifndef EIGEN_COMP_CLANG
|
||||
template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED
|
||||
@@ -76,2 +74,22 @@
|
||||
}
|
||||
+
|
||||
+template<> EIGEN_STRONG_INLINE Packet8bf psqrt<Packet8bf> (const Packet8bf& a){
|
||||
+ BF16_TO_F32_UNARY_OP_WRAPPER(psqrt<Packet4f>, a);
|
||||
+}
|
||||
+
|
||||
+#ifndef EIGEN_COMP_CLANG
|
||||
+template<> EIGEN_STRONG_INLINE Packet8bf prsqrt<Packet8bf> (const Packet8bf& a){
|
||||
+ BF16_TO_F32_UNARY_OP_WRAPPER(prsqrt<Packet4f>, a);
|
||||
+}
|
||||
+#endif
|
||||
+#else
|
||||
+template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
|
||||
+Packet4f psqrt<Packet4f>(const Packet4f& x)
|
||||
+{
|
||||
+ Packet4f a;
|
||||
+ for (Index i = 0; i < packet_traits<float>::size; i++) {
|
||||
+ a[i] = numext::sqrt(x[i]);
|
||||
+ }
|
||||
+ return a;
|
||||
+}
|
||||
#endif
|
||||
--- a/src/3rdparty/eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h
|
||||
+++ b/src/3rdparty/eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h
|
||||
@@ -177,2 +177,5 @@
|
||||
#endif
|
||||
+ HasTanh = EIGEN_FAST_MATH,
|
||||
+ HasErf = EIGEN_FAST_MATH,
|
||||
+ HasRint = 1,
|
||||
#else
|
||||
@@ -180,4 +183,5 @@
|
||||
HasRsqrt = 0,
|
||||
- HasTanh = EIGEN_FAST_MATH,
|
||||
- HasErf = EIGEN_FAST_MATH,
|
||||
+ HasTanh = 0,
|
||||
+ HasErf = 0,
|
||||
+ HasRint = 0,
|
||||
#endif
|
||||
@@ -186,3 +190,2 @@
|
||||
HasCeil = 1,
|
||||
- HasRint = 1,
|
||||
HasNegate = 1,
|
||||
@@ -219,2 +222,3 @@
|
||||
#endif
|
||||
+ HasRint = 1,
|
||||
#else
|
||||
@@ -222,5 +226,6 @@
|
||||
HasRsqrt = 0,
|
||||
- HasTanh = EIGEN_FAST_MATH,
|
||||
- HasErf = EIGEN_FAST_MATH,
|
||||
+ HasRint = 0,
|
||||
#endif
|
||||
+ HasTanh = 0,
|
||||
+ HasErf = 0,
|
||||
HasRound = 1,
|
||||
@@ -228,3 +233,2 @@
|
||||
HasCeil = 1,
|
||||
- HasRint = 1,
|
||||
HasNegate = 1,
|
||||
@@ -874,15 +878,25 @@
|
||||
|
||||
+#ifdef __VSX__
|
||||
template<> EIGEN_STRONG_INLINE Packet4i pcmp_le(const Packet4i& a, const Packet4i& b) { return reinterpret_cast<Packet4i>(vec_cmple(a,b)); }
|
||||
+#endif
|
||||
template<> EIGEN_STRONG_INLINE Packet4i pcmp_lt(const Packet4i& a, const Packet4i& b) { return reinterpret_cast<Packet4i>(vec_cmplt(a,b)); }
|
||||
template<> EIGEN_STRONG_INLINE Packet4i pcmp_eq(const Packet4i& a, const Packet4i& b) { return reinterpret_cast<Packet4i>(vec_cmpeq(a,b)); }
|
||||
+#ifdef __VSX__
|
||||
template<> EIGEN_STRONG_INLINE Packet8s pcmp_le(const Packet8s& a, const Packet8s& b) { return reinterpret_cast<Packet8s>(vec_cmple(a,b)); }
|
||||
+#endif
|
||||
template<> EIGEN_STRONG_INLINE Packet8s pcmp_lt(const Packet8s& a, const Packet8s& b) { return reinterpret_cast<Packet8s>(vec_cmplt(a,b)); }
|
||||
template<> EIGEN_STRONG_INLINE Packet8s pcmp_eq(const Packet8s& a, const Packet8s& b) { return reinterpret_cast<Packet8s>(vec_cmpeq(a,b)); }
|
||||
+#ifdef __VSX__
|
||||
template<> EIGEN_STRONG_INLINE Packet8us pcmp_le(const Packet8us& a, const Packet8us& b) { return reinterpret_cast<Packet8us>(vec_cmple(a,b)); }
|
||||
+#endif
|
||||
template<> EIGEN_STRONG_INLINE Packet8us pcmp_lt(const Packet8us& a, const Packet8us& b) { return reinterpret_cast<Packet8us>(vec_cmplt(a,b)); }
|
||||
template<> EIGEN_STRONG_INLINE Packet8us pcmp_eq(const Packet8us& a, const Packet8us& b) { return reinterpret_cast<Packet8us>(vec_cmpeq(a,b)); }
|
||||
+#ifdef __VSX__
|
||||
template<> EIGEN_STRONG_INLINE Packet16c pcmp_le(const Packet16c& a, const Packet16c& b) { return reinterpret_cast<Packet16c>(vec_cmple(a,b)); }
|
||||
+#endif
|
||||
template<> EIGEN_STRONG_INLINE Packet16c pcmp_lt(const Packet16c& a, const Packet16c& b) { return reinterpret_cast<Packet16c>(vec_cmplt(a,b)); }
|
||||
template<> EIGEN_STRONG_INLINE Packet16c pcmp_eq(const Packet16c& a, const Packet16c& b) { return reinterpret_cast<Packet16c>(vec_cmpeq(a,b)); }
|
||||
+#ifdef __VSX__
|
||||
template<> EIGEN_STRONG_INLINE Packet16uc pcmp_le(const Packet16uc& a, const Packet16uc& b) { return reinterpret_cast<Packet16uc>(vec_cmple(a,b)); }
|
||||
+#endif
|
||||
template<> EIGEN_STRONG_INLINE Packet16uc pcmp_lt(const Packet16uc& a, const Packet16uc& b) { return reinterpret_cast<Packet16uc>(vec_cmplt(a,b)); }
|
||||
@@ -939,2 +953,3 @@
|
||||
template<> EIGEN_STRONG_INLINE Packet4f pfloor<Packet4f>(const Packet4f& a) { return vec_floor(a); }
|
||||
+#ifdef __VSX__
|
||||
template<> EIGEN_STRONG_INLINE Packet4f print<Packet4f>(const Packet4f& a)
|
||||
@@ -949,2 +964,3 @@
|
||||
}
|
||||
+#endif
|
||||
|
||||
@@ -1343,8 +1359,2 @@
|
||||
|
||||
-template<> EIGEN_STRONG_INLINE Packet8bf psqrt<Packet8bf> (const Packet8bf& a){
|
||||
- BF16_TO_F32_UNARY_OP_WRAPPER(vec_sqrt, a);
|
||||
-}
|
||||
-template<> EIGEN_STRONG_INLINE Packet8bf prsqrt<Packet8bf> (const Packet8bf& a){
|
||||
- BF16_TO_F32_UNARY_OP_WRAPPER(prsqrt<Packet4f>, a);
|
||||
-}
|
||||
template<> EIGEN_STRONG_INLINE Packet8bf pexp<Packet8bf> (const Packet8bf& a){
|
||||
@@ -1392,2 +1402,3 @@
|
||||
}
|
||||
+#ifdef __VSX__
|
||||
template<> EIGEN_STRONG_INLINE Packet8bf print<Packet8bf> (const Packet8bf& a){
|
||||
@@ -1395,2 +1406,3 @@
|
||||
}
|
||||
+#endif
|
||||
template<> EIGEN_STRONG_INLINE Packet8bf pmadd(const Packet8bf& a, const Packet8bf& b, const Packet8bf& c) {
|
||||
@@ -9,7 +9,7 @@ inherit flag-o-matic qt6-build
|
||||
DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt6 framework"
|
||||
|
||||
if [[ ${QT6_BUILD_TYPE} == release ]]; then
|
||||
KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86"
|
||||
KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc64 ~riscv x86"
|
||||
fi
|
||||
|
||||
IUSE="
|
||||
@@ -93,14 +93,10 @@ CMAKE_SKIP_TESTS=(
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.7.3-eigen-ppc-no-vsx.patch
|
||||
"${FILESDIR}"/${PN}-6.10.1-QTBUG-142166.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
# eigen + ppc32 seems broken w/ -maltivec (forced by Qt, bug #943402)
|
||||
use ppc && append-cppflags -DEIGEN_DONT_VECTORIZE
|
||||
|
||||
# normally passed by the build system, but needed for 32-on-64 chroots
|
||||
use x86 && append-cppflags -DDISABLE_SIMD -DPFFFT_SIMD_DISABLE
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ inherit flag-o-matic qt6-build
|
||||
DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt6 framework"
|
||||
|
||||
if [[ ${QT6_BUILD_TYPE} == release ]]; then
|
||||
KEYWORDS="amd64 arm arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv x86"
|
||||
KEYWORDS="amd64 arm arm64 ~hppa ~loong ~ppc64 ~riscv x86"
|
||||
fi
|
||||
|
||||
IUSE="
|
||||
@@ -92,14 +92,7 @@ CMAKE_SKIP_TESTS=(
|
||||
tst_qwindowcapturebackend
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.7.3-eigen-ppc-no-vsx.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
# eigen + ppc32 seems broken w/ -maltivec (forced by Qt, bug #943402)
|
||||
use ppc && append-cppflags -DEIGEN_DONT_VECTORIZE
|
||||
|
||||
# normally passed by the build system, but needed for 32-on-64 chroots
|
||||
use x86 && append-cppflags -DDISABLE_SIMD -DPFFFT_SIMD_DISABLE
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ inherit flag-o-matic qt6-build
|
||||
DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt6 framework"
|
||||
|
||||
if [[ ${QT6_BUILD_TYPE} == release ]]; then
|
||||
KEYWORDS="amd64 arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv x86"
|
||||
KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc64 ~riscv x86"
|
||||
fi
|
||||
|
||||
IUSE="
|
||||
@@ -91,10 +91,6 @@ CMAKE_SKIP_TESTS=(
|
||||
tst_qwindowcapturebackend
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.7.3-eigen-ppc-no-vsx.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
qt6-build_src_prepare
|
||||
|
||||
@@ -106,9 +102,6 @@ src_prepare() {
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# eigen + ppc32 seems broken w/ -maltivec (forced by Qt, bug #943402)
|
||||
use ppc && append-cppflags -DEIGEN_DONT_VECTORIZE
|
||||
|
||||
# normally passed by the build system, but needed for 32-on-64 chroots
|
||||
use x86 && append-cppflags -DDISABLE_SIMD -DPFFFT_SIMD_DISABLE
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ inherit flag-o-matic qt6-build
|
||||
DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt6 framework"
|
||||
|
||||
if [[ ${QT6_BUILD_TYPE} == release ]]; then
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~x86"
|
||||
fi
|
||||
|
||||
IUSE="
|
||||
@@ -103,9 +103,6 @@ src_prepare() {
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# eigen + ppc32 seems broken w/ -maltivec (forced by Qt, bug #943402)
|
||||
use ppc && append-cppflags -DEIGEN_DONT_VECTORIZE
|
||||
|
||||
# normally passed by the build system, but needed for 32-on-64 chroots
|
||||
use x86 && append-cppflags -DDISABLE_SIMD -DPFFFT_SIMD_DISABLE
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ inherit flag-o-matic qt6-build
|
||||
DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt6 framework"
|
||||
|
||||
if [[ ${QT6_BUILD_TYPE} == release ]]; then
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~x86"
|
||||
fi
|
||||
|
||||
IUSE="
|
||||
@@ -103,9 +103,6 @@ src_prepare() {
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# eigen + ppc32 seems broken w/ -maltivec (forced by Qt, bug #943402)
|
||||
use ppc && append-cppflags -DEIGEN_DONT_VECTORIZE
|
||||
|
||||
# normally passed by the build system, but needed for 32-on-64 chroots
|
||||
use x86 && append-cppflags -DDISABLE_SIMD -DPFFFT_SIMD_DISABLE
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ inherit flag-o-matic qt6-build
|
||||
DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt6 framework"
|
||||
|
||||
if [[ ${QT6_BUILD_TYPE} == release ]]; then
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~x86"
|
||||
fi
|
||||
|
||||
IUSE="
|
||||
@@ -103,9 +103,6 @@ src_prepare() {
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# eigen + ppc32 seems broken w/ -maltivec (forced by Qt, bug #943402)
|
||||
use ppc && append-cppflags -DEIGEN_DONT_VECTORIZE
|
||||
|
||||
# normally passed by the build system, but needed for 32-on-64 chroots
|
||||
use x86 && append-cppflags -DDISABLE_SIMD -DPFFFT_SIMD_DISABLE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user