From 0fd6138175cb6099e2e5f3d112c3188c84b31561 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Mon, 23 Oct 2017 12:55:22 +0200 Subject: gnu: kpackage: Transfer patches from NixOS. Transfer the NixOS patches for kpackage as of 2018-02-17: - Allow external paths. - Make QDirIterator follow symlinks. Decided to use a patch for one of the "allow external paths" changes since 'substitute*' seems not to be robust enough. * gnu/packages/patches/kpackage-allow-external-paths.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/kde-frameworks.scm(kpackage)[source]: Use it. : New phase. --- gnu/local.mk | 1 + gnu/packages/kde-frameworks.scm | 15 ++++++++++++++- gnu/packages/patches/kpackage-allow-external-paths.patch | 13 +++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/kpackage-allow-external-paths.patch diff --git a/gnu/local.mk b/gnu/local.mk index 2fed38f6b9..6d4159e167 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -859,6 +859,7 @@ dist_patch_DATA = \ %D%/packages/patches/kinit-kdeinit-libpath.patch \ %D%/packages/patches/kio-search-smbd-on-PATH.patch \ %D%/packages/patches/kmod-module-directory.patch \ + %D%/packages/patches/kpackage-allow-external-paths.patch \ %D%/packages/patches/kobodeluxe-paths.patch \ %D%/packages/patches/kobodeluxe-enemies-pipe-decl.patch \ %D%/packages/patches/kobodeluxe-const-charp-conversion.patch \ diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 2d48661a44..89d52874b8 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -1825,7 +1825,10 @@ covers feedback and persistent events.") name "-" version ".tar.xz")) (sha256 (base32 - "1xbfjwxb4gff8gg0hs5m9s0jcnzqk27rs2jr71g5ckhvs5psnkcd")))) + "1xbfjwxb4gff8gg0hs5m9s0jcnzqk27rs2jr71g5ckhvs5psnkcd")) + ;; Default to: external paths/symlinks can be followed by a + ;; package + (patches (search-patches "kpackage-allow-external-paths.patch")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1840,6 +1843,16 @@ covers feedback and persistent events.") `(#:tests? #f ; FIXME: 3/9 tests fail. #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda _ + ;; Make QDirIterator follow symlinks + (substitute* '("src/kpackage/packageloader.cpp" + "src/kpackage/private/packagejobthread.cpp") + (("^\\s*(const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories)(;)" _ a b) + (string-append a " | QDirIterator::FollowSymlinks" b)) + (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b) + (string-append a " | QDirIterator::FollowSymlinks" b))) + #t)) (add-before 'check 'check-setup (lambda _ (setenv "HOME" (getcwd)) diff --git a/gnu/packages/patches/kpackage-allow-external-paths.patch b/gnu/packages/patches/kpackage-allow-external-paths.patch new file mode 100644 index 0000000000..c1c9efde7f --- /dev/null +++ b/gnu/packages/patches/kpackage-allow-external-paths.patch @@ -0,0 +1,13 @@ +diff --git a/src/kpackage/package.cpp b/src/kpackage/package.cpp +index 5aec9fd..b15c933 100644 +--- a/src/kpackage/package.cpp ++++ b/src/kpackage/package.cpp +@@ -820,7 +820,7 @@ PackagePrivate::PackagePrivate() + : QSharedData(), + fallbackPackage(nullptr), + metadata(nullptr), +- externalPaths(false), ++ externalPaths(true), + valid(false), + checkedValid(false) + { -- cgit v1.2.3