summary refs log tree commit diff
path: root/gnu/packages/qt.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2022-09-02 08:28:17 +0300
committerEfraim Flashner <efraim@flashner.co.il>2022-09-02 08:28:17 +0300
commit83be24a13f45909c9ae17eed44fb0591a516fd8d (patch)
tree2a30ac2f8ce9e7668ace148318abcbaa88e54238 /gnu/packages/qt.scm
parent0c518f974e64f23846ae51ea2c68b479202fdca9 (diff)
downloadguix-83be24a13f45909c9ae17eed44fb0591a516fd8d.tar.gz
gnu: qtdeclarative-5: Fix linking on riscv64-linux.
* gnu/packages/qt.scm (qtdeclarative-5)[arguments]: Add phase when
building for riscv64-linux to adjust the linker flags.
Diffstat (limited to 'gnu/packages/qt.scm')
-rw-r--r--gnu/packages/qt.scm12
1 files changed, 11 insertions, 1 deletions
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 4937addf1e..9359a9f382 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -1045,7 +1045,17 @@ xmlpatternsvalidator.")))
                  ;; is provided by qtdeclarative-5.
                  (substitute*
                      "lib/cmake/Qt5QuickCompiler/Qt5QuickCompilerConfig.cmake"
-                   (("\\$\\{_qt5Core_install_prefix\\}") out)))))))))
+                   (("\\$\\{_qt5Core_install_prefix\\}") out)))))
+           ;; TODO: Add phase unconditionally.
+           ,@(if (target-riscv64?)
+               '((add-after 'unpack 'fix-linking-riscv64
+                   (lambda _
+                     (substitute* "src/qml/qml.pro"
+                       (("DEFINES \\+= QT_NO_FOREACH")
+                        (string-append
+                          "isEqual(QT_ARCH, \"riscv64\"): QMAKE_LIBS += -latomic\n\n"
+                          "DEFINES += QT_NO_FOREACH"))))))
+               '())))))
     (native-inputs
      (list perl
            pkg-config