htgoebel pushed a commit to branch master
in repository guix.
commit fb0356d9564255b6a983960d06d274b3ee3a1903
Author: Hartmut Goebel <[email protected]>
Date: Mon Oct 23 15:15:23 2017 +0200
gnu: kservice: Transfer patches from NixOS.
Transfer the NixOS patches for kservice as of 2018-02-17.
- Make QDirIterator follow symlinks.
- Normalize path, but don't resolve symlinks.
* gnu/packages/kde-frameworks.scm(kservice)<patch>: New phase.
---
gnu/packages/kde-frameworks.scm | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 89d5287..0d14c8f 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -2979,6 +2979,20 @@ typed.")
`(#:tests? #f ; FIXME: 6/10 tests fail.
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'patch
+ ;; Adopted from NixOS' patches "qdiriterator-follow-symlinks" and
+ ;; "no-canonicalize-path".
+ (lambda _
+ (substitute* "src/sycoca/kbuildsycoca.cpp"
+ ;; make QDirIterator follow symlinks
+ (("^\\s*(QDirIterator it\\(.*,
QDirIterator::Subdirectories)(\\);)" _ a b)
+ (string-append a " | QDirIterator::FollowSymlinks" b)))
+ (substitute* "src/sycoca/vfolder_menu.cpp"
+ ;; Normalize path, but don't resolve symlinks (taken from
+ ;; NixOS)
+ (("^\\s*QString resolved =
QDir\\(dir\\)\\.canonicalPath\\(\\);")
+ "QString resolved = QDir::cleanPath(dir);"))
+ #t))
(add-before 'check 'check-setup
(lambda _
(setenv "HOME" (getcwd))