summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/qtbase-absolute-runpath.patch17
-rw-r--r--gnu/packages/qt.scm24
3 files changed, 36 insertions, 6 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index ddd024677a..9b42160de3 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1473,6 +1473,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/qemu-glibc-2.27.patch 			\
   %D%/packages/patches/qrcodegen-cpp-make-install.patch		\
   %D%/packages/patches/qt4-ldflags.patch			\
+  %D%/packages/patches/qtbase-absolute-runpath.patch		\
   %D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch	\
   %D%/packages/patches/qtbase-use-TZDIR.patch			\
   %D%/packages/patches/qtscript-disable-tests.patch		\
diff --git a/gnu/packages/patches/qtbase-absolute-runpath.patch b/gnu/packages/patches/qtbase-absolute-runpath.patch
new file mode 100644
index 0000000000..cec4ddc0a3
--- /dev/null
+++ b/gnu/packages/patches/qtbase-absolute-runpath.patch
@@ -0,0 +1,17 @@
+Do not use $ORIGIN in RUNPATH so that executables can be copied elsewhere and
+still be expected to work (needed for python-pyside-2-tools).
+
+diff --git a/mkspecs/common/linux.conf b/mkspecs/common/linux.conf
+--- a/mkspecs/common/linux.conf
++++ b/mkspecs/common/linux.conf
+@@ -10,8 +10,8 @@ QMAKE_CFLAGS_THREAD    += -D_REENTRANT
+ QMAKE_CXXFLAGS_THREAD  += $$QMAKE_CFLAGS_THREAD
+ QMAKE_LFLAGS_GCSECTIONS = -Wl,--gc-sections
+ 
+-QMAKE_LFLAGS_REL_RPATH  = -Wl,-z,origin
+-QMAKE_REL_RPATH_BASE    = $ORIGIN
++QMAKE_LFLAGS_REL_RPATH  =
++QMAKE_REL_RPATH_BASE    =
+ 
+ QMAKE_INCDIR            =
+ QMAKE_LIBDIR            =
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 7e9036c4b4..0cb36427a0 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -596,6 +596,18 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 ;; qt used to refer to the monolithic Qt 5.x package
 (define-deprecated qt qtbase)
 
+;; This variable is required by 'python-pyside-2-tools', which copies some
+;; qtbase executables that fail to run because RUNPATH refers to the
+;; wrong $ORIGIN.  TODO: Merge with qtbase in the next rebuild cycle.
+(define qtbase/next
+  (package
+    (inherit qtbase)
+    (source
+     (origin
+       (inherit (package-source qtbase))
+       (patches (append (origin-patches (package-source qtbase))
+                        (search-patches "qtbase-absolute-runpath.patch")))))))
+
 (define-public qtsvg
   (package (inherit qtbase)
     (name "qtsvg")
@@ -2566,19 +2578,19 @@ color-related widgets.")
 (define-public python-shiboken-2
   (package
     (name "python-shiboken-2")
-    (version "5.12.6")
+    (version "5.14.2.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://download.qt.io/official_releases"
                                   "/QtForPython/pyside2/PySide2-" version
-                                  "-src/pyside-setup-everywhere-src-"
+                                  "-src/pyside-setup-opensource-src-"
                                   version ".tar.xz"))
               (sha256
                (base32
-                "1n45l6xxyxs6cfp2l4rp8qs1c2fyfwyrdxa4qcpwfsqsi51rydsk"))))
+                "08lhqm0n3fjqpblcx9rshsp8g3bvf7yzbai5q99bly2wa04y6b83"))))
     (build-system cmake-build-system)
     (inputs
-     `(("clang-toolchain" ,clang-toolchain-6)
+     `(("clang-toolchain" ,clang-toolchain)
        ("libxml2" ,libxml2)
        ("libxslt" ,libxslt)
        ("python-wrapper" ,python-wrapper)
@@ -2631,7 +2643,7 @@ color-related widgets.")
     (inputs
      `(("libxml2" ,libxml2)
        ("libxslt" ,libxslt)
-       ("clang-toolchain" ,clang-toolchain-6)
+       ("clang-toolchain" ,clang-toolchain)
        ("qtbase" ,qtbase)
        ("qtdatavis3d" ,qtdatavis3d)
        ("qtlocation" ,qtlocation)
@@ -2699,7 +2711,7 @@ generate Python bindings for your C or C++ code.")
     (inputs
      `(("python-pyside-2" ,python-pyside-2)
        ("python-shiboken-2" ,python-shiboken-2)
-       ("qtbase" ,qtbase)))
+       ("qtbase" ,qtbase/next)))
     (native-inputs
      `(("python" ,python-wrapper)))
     (arguments