diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index d921aa87fe..8409fc1803 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -2497,18 +2497,18 @@ securely. It will not store any data unencrypted unless explicitly requested.") (with-directory-excursion "qtsingleapplication/src" (for-each delete-file (find-files "." "qtlockedfile.*\\.(h|cpp)")) - (substitute* "qtsingleapplication.pri" - ;; Add include path of LockedFile. - (("INCLUDEPATH \\+=") - "INCLUDEPATH += ../../qtlockedfile/src") - ;; Link library of LockedFile. - (("LIBS \\+=") - "LIBS += -lQtSolutions_LockedFile")) - (substitute* '("qtlocalpeer.h" "qtlocalpeer.cpp") - (("#include \"qtlockedfile.*\\.cpp\"") "") - ;; Unwrap namespace added in the vendoring process. - (("QtLP_Private::QtLockedFile") - "QtLockedFile"))) + (substitute* "qtsingleapplication.pri" + ;; Add include path of LockedFile. + (("INCLUDEPATH \\+=") + "INCLUDEPATH += ../../qtlockedfile/src") + ;; Link library of LockedFile. + (("LIBS \\+=") + "LIBS += -lQtSolutions_LockedFile")) + (substitute* '("qtlocalpeer.h" "qtlocalpeer.cpp") + (("#include \"qtlockedfile.*\\.cpp\"") "") + ;; Unwrap namespace added in the vendoring process. + (("QtLP_Private::QtLockedFile") + "QtLockedFile"))) #t)))) (build-system gnu-build-system) (arguments @@ -2524,16 +2524,32 @@ securely. It will not store any data unencrypted unless explicitly requested.") (modify-phases %standard-phases (add-after 'unpack 'patch-source (lambda* (#:key outputs #:allow-other-keys) + ;; Rename example to examples, in qtlockedfile, + ;; so that it gets picked up during install phase. + (with-directory-excursion "qtlockedfile" + (rename-file "example" "examples") + (rename-file "examples/example.pro" "examples/examples.pro") + (substitute* "qtlockedfile.pro" + (("SUBDIRS\\+=example") "SUBDIRS+=examples"))) (substitute* (find-files "." "common.pri") + ;; Patch run-path for binaries. + (("QMAKE_RPATHDIR \\+= \\$\\$?.*_LIBDIR") + (string-append "QMAKE_RPATHDIR += " + (assoc-ref outputs "out") "/lib")) ;; Remove unnecessary prefixes/suffixes in library names. (("qt5") "qt") (("-head") "")) - ;; Disable building of examples. - (substitute* (find-files "." "\\.pro$") + ;; Disable building of examples for QtSingleApplication. + (substitute* "qtsingleapplication/qtsingleapplication.pro" (("SUBDIRS\\+=examples") "")) - ;; Fix deprecated functions. - (substitute* "qtsoap/src/qtsoap.cpp" - (("toAscii") "toUtf8")) + (with-directory-excursion "qtsoap/src" + ;; Patch Qt imports for QtSoap. + (substitute* "qtsoap.pri" + (("QT \\+= xml network") + "QT += core gui widgets xml network")) + ;; Fix deprecated functions. + (substitute* "qtsoap.cpp" + (("toAscii") "toUtf8"))) #t)) (replace 'configure (lambda _ @@ -2560,7 +2576,17 @@ securely. It will not store any data unencrypted unless explicitly requested.") (assoc-ref copy:%standard-phases 'install) #:install-plan '(("src" "include" #:include-regexp ("\\.h$")) - ("lib" "lib")) + ("lib" "lib") + ("examples" "bin" + #:include ("examples" "canvas_typed" + "canvas_variant" "decoration" + "demo" "extension" + "object_controller" "simple" + "controller" "interactive" + "httpservice" "console" + "loader" "trivial" + "easter" "google" + "population"))) args))) '("qtlockedfile" "qtpropertybrowser" "qtservice" "qtsingleapplication" "qtsoap")))))))