Loading pkgs/kde/frameworks/kservice/default.nix +3 −1 Original line number Diff line number Diff line Loading @@ -2,10 +2,12 @@ mkKdeDerivation { pname = "kservice"; # FIXME(later): upstream patches = [ # follow symlinks when generating sycoca # FIXME(later): upstream ./qdiriterator-follow-symlinks.patch # explode less when sycoca is deleted ./handle-sycoca-deletion.patch ]; meta.mainProgram = "kbuildsycoca6"; } pkgs/kde/frameworks/kservice/handle-sycoca-deletion.patch 0 → 100644 +14 −0 Original line number Diff line number Diff line diff --git a/src/sycoca/ksycoca.cpp b/src/sycoca/ksycoca.cpp index 981342e6..5940f65f 100644 --- a/src/sycoca/ksycoca.cpp +++ b/src/sycoca/ksycoca.cpp @@ -218,6 +218,10 @@ KSycoca::KSycoca() connect(d->m_fileWatcher.get(), &KDirWatch::dirty, this, [this]() { d->slotDatabaseChanged(); }); + // NIXPKGS: we sometimes delete sycoca externally + connect(d->m_fileWatcher.get(), &KDirWatch::deleted, this, [this]() { + d->slotDatabaseChanged(); + }); } } Loading
pkgs/kde/frameworks/kservice/default.nix +3 −1 Original line number Diff line number Diff line Loading @@ -2,10 +2,12 @@ mkKdeDerivation { pname = "kservice"; # FIXME(later): upstream patches = [ # follow symlinks when generating sycoca # FIXME(later): upstream ./qdiriterator-follow-symlinks.patch # explode less when sycoca is deleted ./handle-sycoca-deletion.patch ]; meta.mainProgram = "kbuildsycoca6"; }
pkgs/kde/frameworks/kservice/handle-sycoca-deletion.patch 0 → 100644 +14 −0 Original line number Diff line number Diff line diff --git a/src/sycoca/ksycoca.cpp b/src/sycoca/ksycoca.cpp index 981342e6..5940f65f 100644 --- a/src/sycoca/ksycoca.cpp +++ b/src/sycoca/ksycoca.cpp @@ -218,6 +218,10 @@ KSycoca::KSycoca() connect(d->m_fileWatcher.get(), &KDirWatch::dirty, this, [this]() { d->slotDatabaseChanged(); }); + // NIXPKGS: we sometimes delete sycoca externally + connect(d->m_fileWatcher.get(), &KDirWatch::deleted, this, [this]() { + d->slotDatabaseChanged(); + }); } }