guix-play/gnu/packages/patches/qt4-ldflags.patch
Ludovic Courtès d29843466a gnu: qt-4: Do not set $LDFLAGS since that triggerred a build failure.
Fixes the build failure at <http://hydra.gnu.org/build/379884/log/raw>:

  g++ -licui18n -Wl,-O1 [...] -o ../../../../bin/assistant [...]
  ld: warning: libQtCLucene.so.4, needed by /tmp/nix-build-qt-4.8.6.drv-0/qt-everywhere-opensource-src-4.8.6/lib/libQtHelp.so, not found (try using -rpath or -rpath-link)
  /tmp/nix-build-qt-4.8.6.drv-0/qt-everywhere-opensource-src-4.8.6/lib/libQtHelp.so: undefined reference to `QCLucenePhraseQuery::getTerms() const'
  [...]

* gnu/packages/patches/qt4-ldflags.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/qt.scm (qt-4)[source]: Use it.
  [arguments]: Remove 'setenv' call in 'configure' phase.
2015-04-15 18:13:56 +02:00

19 lines
823 B
Diff

Explicitly link against libicui18n so that libQtCore.so always finds it.
--- qt-everywhere-opensource-src-4.8.6/src/corelib/corelib.pro 2015-04-15 12:01:41.661862663 +0200
+++ qt-everywhere-opensource-src-4.8.6/src/corelib/corelib.pro 2015-04-15 12:03:57.954586336 +0200
@@ -19,6 +19,13 @@ include(codecs/codecs.pri)
include(statemachine/statemachine.pri)
include(xml/xml.pri)
+# Explicitly link with icui18n, which is dlopened by libQtCore.so.
+# We cannot do this by setting LDFLAGS because that then overrides
+# other LDFLAGS: <https://bugreports.qt.io/browse/QTBUG-5471>.
+# XXX: According to the Nixpkgs recipe, this may be necessary for
+# further libraries (cups, gtk-x11-2.0, libgdk-x11-2.0).
+LIBS_PRIVATE += -licui18n
+
!qpa:mac|darwin:LIBS_PRIVATE += -framework ApplicationServices
qpa:mac {
!ios {