From 9349655820110afb5ea8e20e54369f984b40cb79 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org>
Date: Tue, 14 Apr 2015 13:27:38 +0200
Subject: [PATCH] gnu: qt-5: Allow the use of DT_RUNPATH for
 libQt5WebEngineCore.so.

* gnu/packages/patches/qt5-runpath.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/qt.scm (qt)[source]: Use it.
---
 gnu-system.am                          |  1 +
 gnu/packages/patches/qt5-runpath.patch | 25 +++++++++++++++++++++++++
 gnu/packages/qt.scm                    |  1 +
 3 files changed, 27 insertions(+)
 create mode 100644 gnu/packages/patches/qt5-runpath.patch

diff --git a/gnu-system.am b/gnu-system.am
index afe43bc67a4..1d3496f81f4 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -521,6 +521,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch	\
   gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
   gnu/packages/patches/qt4-tests.patch				\
+  gnu/packages/patches/qt5-runpath.patch			\
   gnu/packages/patches/ratpoison-shell.patch			\
   gnu/packages/patches/readline-link-ncurses.patch		\
   gnu/packages/patches/ripperx-libm.patch			\
diff --git a/gnu/packages/patches/qt5-runpath.patch b/gnu/packages/patches/qt5-runpath.patch
new file mode 100644
index 00000000000..a6cbb26ff9e
--- /dev/null
+++ b/gnu/packages/patches/qt5-runpath.patch
@@ -0,0 +1,25 @@
+Allow the use of DT_RUNPATH.  This fixes a bug whereby libQt5WebEngineCore.so
+ends up having an empty RUNPATH.
+
+--- qt-everywhere-opensource-src-5.4.1/qtwebengine/src/3rdparty/chromium/build/common.gypi	2015-04-14 10:21:09.330925545 +0200
++++ qt-everywhere-opensource-src-5.4.1/qtwebengine/src/3rdparty/chromium/build/common.gypi	2015-04-14 10:21:38.735106097 +0200
+@@ -4142,19 +4142,6 @@
+               '-B<!(cd <(DEPTH) && pwd -P)/<(binutils_dir)',
+             ],
+           }],
+-          # Some binutils 2.23 releases may or may not have new dtags enabled,
+-          # but they are all compatible with --disable-new-dtags,
+-          # because the new dynamic tags are not created by default.
+-          ['binutils_version>=223', {
+-            # Newer binutils don't set DT_RPATH unless you disable "new" dtags
+-            # and the new DT_RUNPATH doesn't work without --no-as-needed flag.
+-            # FIXME(mithro): Figure out the --as-needed/--no-as-needed flags
+-            # inside this file to allow usage of --no-as-needed and removal of
+-            # this flag.
+-            'ldflags': [
+-              '-Wl,--disable-new-dtags',
+-            ],
+-          }]
+         ],
+       },
+     }],
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 4c750416e55..911de16024a 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -103,6 +103,7 @@ (define-public qt
              (sha256
               (base32
                "0q6qzakq8xihw91xv310qi3vyylq7x2bzdkjgy8sqxii2lgbjzhv"))
+             (patches (list (search-patch "qt5-runpath.patch")))
              (snippet
               '(begin
                  ;; Remove broken symlinks.
-- 
GitLab