aboutsummaryrefslogtreecommitdiff
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