commit:     980dc7e8d6fd082c77650dc05051af0f7e1b8b3a
Author:     Yixun Lan <dlan <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 17 15:18:56 2021 +0000
Commit:     Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Sat Jul 17 22:45:21 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=980dc7e8

dev-qt/qtdeclarative: riscv: fix missing atomic library

this will workaroud the error when build in ARCH=riscv,
tested with gcc-11

A likely better fix is to have qtcore detect the need for -latomic
at configure time and, if needed, link to it

Bug: https://bugs.gentoo.org/790689
Closes: https://github.com/gentoo/gentoo/pull/21689
Package-Manager: Portage-3.0.19, Repoman-3.0.3
Signed-off-by: Yixun Lan <dlan <AT> gentoo.org>

 .../files/qtdeclarative-5.15.2-riscv-atomic.patch            | 12 ++++++++++++
 dev-qt/qtdeclarative/qtdeclarative-5.15.2.ebuild             |  1 +
 2 files changed, 13 insertions(+)

diff --git a/dev-qt/qtdeclarative/files/qtdeclarative-5.15.2-riscv-atomic.patch 
b/dev-qt/qtdeclarative/files/qtdeclarative-5.15.2-riscv-atomic.patch
new file mode 100644
index 00000000000..a619f3db833
--- /dev/null
+++ b/dev-qt/qtdeclarative/files/qtdeclarative-5.15.2-riscv-atomic.patch
@@ -0,0 +1,12 @@
+diff --git a/src/qml/qml.pro b/src/qml/qml.pro
+index 7d5a92a..01f3b79 100644
+--- a/src/qml/qml.pro
++++ b/src/qml/qml.pro
+@@ -19,6 +19,7 @@ solaris-cc*:QMAKE_CXXFLAGS_RELEASE -= -O2
+ 
+ # Ensure this gcc optimization is switched off for mips platforms to avoid 
trouble with JIT.
+ gcc:isEqual(QT_ARCH, "mips"): QMAKE_CXXFLAGS += -fno-reorder-blocks
++gcc:isEqual(QT_ARCH, "riscv64"): LIBS += -latomic
+ 
+ DEFINES += QT_NO_FOREACH
+

diff --git a/dev-qt/qtdeclarative/qtdeclarative-5.15.2.ebuild 
b/dev-qt/qtdeclarative/qtdeclarative-5.15.2.ebuild
index ccbde5b669e..6b32fc222cd 100644
--- a/dev-qt/qtdeclarative/qtdeclarative-5.15.2.ebuild
+++ b/dev-qt/qtdeclarative/qtdeclarative-5.15.2.ebuild
@@ -31,6 +31,7 @@ RDEPEND="${DEPEND}
 PATCHES=(
        "${FILESDIR}/${PN}-5.14.2-QQuickItemView-fix-maxXY-extent.patch" # 
QTBUG-83890
        "${FILESDIR}/${P}-gcc11.patch" # bug 752093
+       "${FILESDIR}/${P}-riscv-atomic.patch" #bug 790689
 )
 
 src_prepare() {

Reply via email to