commit:     18745f353da4ddd132b344f0f20e035dfa917b93
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Nov  7 02:14:32 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Nov  7 02:14:32 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18745f35

x11-libs/pixman: fix build with ARM + Clang

Closes: https://bugs.gentoo.org/768138
Signed-off-by: Sam James <sam <AT> gentoo.org>

 x11-libs/pixman/pixman-0.40.0.ebuild | 7 ++++++-
 x11-libs/pixman/pixman-9999.ebuild   | 9 +++++++--
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/x11-libs/pixman/pixman-0.40.0.ebuild 
b/x11-libs/pixman/pixman-0.40.0.ebuild
index 90fff3bb904..a269bcee708 100644
--- a/x11-libs/pixman/pixman-0.40.0.ebuild
+++ b/x11-libs/pixman/pixman-0.40.0.ebuild
@@ -9,7 +9,7 @@ if [[ ${PV} = 9999* ]]; then
        GIT_ECLASS="git-r3"
 fi
 
-inherit ${GIT_ECLASS} meson-multilib multiprocessing toolchain-funcs
+inherit ${GIT_ECLASS} flag-o-matic meson-multilib multiprocessing 
toolchain-funcs
 
 DESCRIPTION="Low-level pixel manipulation routines"
 HOMEPAGE="http://www.pixman.org/ https://gitlab.freedesktop.org/pixman/pixman/";
@@ -28,6 +28,11 @@ multilib_src_configure() {
        local openmp=disabled
        tc-has-openmp && openmp=enabled
 
+       if use arm && tc-is-clang ; then
+               # See bug #768138 and 
https://gitlab.freedesktop.org/pixman/pixman/-/issues/46
+               append-cflags $(test-flags-CC -fno-integrated-as)
+       fi
+
        local emesonargs=(
                $(meson_feature cpu_flags_arm_iwmmxt iwmmxt)
                $(meson_use     cpu_flags_arm_iwmmxt2 iwmmxt2)

diff --git a/x11-libs/pixman/pixman-9999.ebuild 
b/x11-libs/pixman/pixman-9999.ebuild
index d79304a2d1a..e6332d53863 100644
--- a/x11-libs/pixman/pixman-9999.ebuild
+++ b/x11-libs/pixman/pixman-9999.ebuild
@@ -9,14 +9,14 @@ if [[ ${PV} = 9999* ]]; then
        GIT_ECLASS="git-r3"
 fi
 
-inherit ${GIT_ECLASS} meson-multilib multiprocessing toolchain-funcs
+inherit ${GIT_ECLASS} flag-o-matic meson-multilib multiprocessing 
toolchain-funcs
 
 DESCRIPTION="Low-level pixel manipulation routines"
 HOMEPAGE="http://www.pixman.org/ https://gitlab.freedesktop.org/pixman/pixman/";
 if [[ ${PV} = 9999* ]]; then
        SRC_URI=""
 else
-       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 
~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris 
~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos 
~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
        SRC_URI="https://www.x.org/releases/individual/lib/${P}.tar.xz";
 fi
 
@@ -28,6 +28,11 @@ multilib_src_configure() {
        local openmp=disabled
        tc-has-openmp && openmp=enabled
 
+       if use arm && tc-is-clang ; then
+               # See bug #768138 and 
https://gitlab.freedesktop.org/pixman/pixman/-/issues/46
+               append-cflags $(test-flags-CC -fno-integrated-as)
+       fi
+
        local emesonargs=(
                $(meson_feature cpu_flags_arm_iwmmxt iwmmxt)
                $(meson_use     cpu_flags_arm_iwmmxt2 iwmmxt2)

Reply via email to