app-text/ghostscript-gpl: fix arm* build w/o neon

Bug: https://bugs.gentoo.org/924757
Closes: https://bugs.gentoo.org/926891
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2024-09-01 08:29:46 +01:00
parent b7e952e68a
commit a122be2eff
2 changed files with 36 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
https://bugs.gentoo.org/926891
https://bugs.gentoo.org/924757
https://src.fedoraproject.org/rpms/tesseract/raw/rawhide/f/tesseract_neon.patch
(See https://github.com/tesseract-ocr/tesseract/pull/4154 too)
--- a/tesseract/CMakeLists.txt
+++ b/tesseract/CMakeLists.txt
@@ -249,7 +249,7 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm64|aarch64.*|AARCH64.*")
set(HAVE_AVX512F FALSE)
set(HAVE_FMA FALSE)
set(HAVE_SSE4_1 FALSE)
- set(HAVE_NEON TRUE)
+ check_cxx_compiler_flag("-mfpu=neon" HAVE_NEON)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm.*")
--- a/tesseract/src/arch/simddetect.cpp
+++ b/tesseract/src/arch/simddetect.cpp
@@ -254,7 +254,7 @@ SIMDDetect::SIMDDetect() {
// SSE detected.
SetDotProduct(DotProductSSE, &IntSimdMatrix::intSimdMatrixSSE);
#endif
-#if defined(HAVE_NEON) || defined(__aarch64__)
+#if defined(HAVE_NEON)
} else if (neon_available_) {
// NEON detected.
SetDotProduct(DotProductNEON, &IntSimdMatrix::intSimdMatrixNEON);
@@ -311,7 +311,7 @@ void SIMDDetect::Update() {
} else if (dotproduct == "accelerate") {
SetDotProduct(DotProductAccelerate, IntSimdMatrix::intSimdMatrix);
#endif
-#if defined(HAVE_NEON) || defined(__aarch64__)
+#if defined(HAVE_NEON)
} else if (dotproduct == "neon" && neon_available_) {
// NEON selected by config variable.
SetDotProduct(DotProductNEON, &IntSimdMatrix::intSimdMatrixNEON);

View File

@@ -63,6 +63,7 @@ RDEPEND="
PATCHES=(
"${FILESDIR}"/${PN}-10.03.0-c99.patch
"${FILESDIR}"/${PN}-10.03.1-arm64-neon-tesseract.patch
)
src_prepare() {