diff options
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/patches/qtbase-absolute-runpath.patch | 17 | ||||
-rw-r--r-- | gnu/packages/qt.scm | 24 |
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 |