commit: a122be2eff3e44ef7c039d052ac47da8361fd6ae Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Sun Sep 1 07:29:46 2024 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sun Sep 1 07:29:58 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a122be2e
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 <AT> gentoo.org> ...stscript-gpl-10.03.1-arm64-neon-tesseract.patch | 35 ++++++++++++++++++++++ .../ghostscript-gpl/ghostscript-gpl-10.03.1.ebuild | 1 + 2 files changed, 36 insertions(+) diff --git a/app-text/ghostscript-gpl/files/ghostscript-gpl-10.03.1-arm64-neon-tesseract.patch b/app-text/ghostscript-gpl/files/ghostscript-gpl-10.03.1-arm64-neon-tesseract.patch new file mode 100644 index 000000000000..4b64fff16f5e --- /dev/null +++ b/app-text/ghostscript-gpl/files/ghostscript-gpl-10.03.1-arm64-neon-tesseract.patch @@ -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); diff --git a/app-text/ghostscript-gpl/ghostscript-gpl-10.03.1.ebuild b/app-text/ghostscript-gpl/ghostscript-gpl-10.03.1.ebuild index 54f3cdcf36f3..663558774565 100644 --- a/app-text/ghostscript-gpl/ghostscript-gpl-10.03.1.ebuild +++ b/app-text/ghostscript-gpl/ghostscript-gpl-10.03.1.ebuild @@ -63,6 +63,7 @@ RDEPEND=" PATCHES=( "${FILESDIR}"/${PN}-10.03.0-c99.patch + "${FILESDIR}"/${PN}-10.03.1-arm64-neon-tesseract.patch ) src_prepare() {
