gnu: qt-creator: Patch file names of demangling libraries.
* gnu/packages/qt.scm (qt-creator) [phases] {patch-perfparser}: New phase. Change-Id: I65f84158af05ae866680b21e2e9b8e24a2b71bc2master
parent
4a8f265b17
commit
f83bdd7e00
|
@ -5164,6 +5164,32 @@ including @i{fix-its} for automatic refactoring.")
|
|||
#$output "/lib/qtcreator"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-perfparser
|
||||
;; XXX: The 'patch-perfparser' phase is also used by the 'hotspot'
|
||||
;; package; keep its copy in sync.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; perfparser attempts to dynamically load the demangle
|
||||
;; libraries; use their absolute file name to avoid having to
|
||||
;; set LD_LIBRARY_PATH.
|
||||
(let ((librustc_demangle.so
|
||||
(with-exception-handler (lambda (ex)
|
||||
(if (search-error? ex)
|
||||
#f
|
||||
(raise-exception ex)))
|
||||
(lambda ()
|
||||
(search-input-file inputs "lib/librustc_demangle.so"))
|
||||
#:unwind? #t)))
|
||||
(substitute* "3rdparty/perfparser/app/demangler.cpp"
|
||||
(("loadDemangleLib\\(QStringLiteral\\(\"rustc_demangle\")"
|
||||
all)
|
||||
(if librustc_demangle.so
|
||||
(format #f "loadDemangleLib(QStringLiteral(~s)"
|
||||
librustc_demangle.so)
|
||||
all)) ;no rustc_demangle; leave unchanged
|
||||
(("loadDemangleLib\\(QStringLiteral\\(\"d_demangle\")")
|
||||
(format #f "loadDemangleLib(QStringLiteral(~s)"
|
||||
(search-input-file inputs
|
||||
"lib/libd_demangle.so")))))))
|
||||
(add-after 'unpack 'patch-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* '("src/libs/utils/commandline.cpp"
|
||||
|
|
Reference in New Issue