summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/desktops/plasma-5/default.nix1
-rw-r--r--pkgs/desktops/plasma-5/plasma-vault/cryfs-path.patch17
-rw-r--r--pkgs/desktops/plasma-5/plasma-vault/default.nix38
-rw-r--r--pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch24
-rw-r--r--pkgs/desktops/plasma-5/plasma-vault/fusermount-path.patch18
-rw-r--r--pkgs/top-level/all-packages.nix2
6 files changed, 99 insertions, 1 deletions
diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix
index 2bb4b7deceff..a9b3f1781324 100644
--- a/pkgs/desktops/plasma-5/default.nix
+++ b/pkgs/desktops/plasma-5/default.nix
@@ -133,6 +133,7 @@ let
       plasma-integration = callPackage ./plasma-integration.nix {};
       plasma-nm = callPackage ./plasma-nm {};
       plasma-pa = callPackage ./plasma-pa.nix { inherit gconf; };
+      plasma-vault = callPackage ./plasma-vault {};
       plasma-workspace = callPackage ./plasma-workspace {};
       plasma-workspace-wallpapers = callPackage ./plasma-workspace-wallpapers.nix {};
       polkit-kde-agent = callPackage ./polkit-kde-agent.nix {};
diff --git a/pkgs/desktops/plasma-5/plasma-vault/cryfs-path.patch b/pkgs/desktops/plasma-5/plasma-vault/cryfs-path.patch
new file mode 100644
index 000000000000..b3f19c4e0025
--- /dev/null
+++ b/pkgs/desktops/plasma-5/plasma-vault/cryfs-path.patch
@@ -0,0 +1,17 @@
+diff --git a/kded/engine/backends/cryfs/cryfsbackend.cpp b/kded/engine/backends/cryfs/cryfsbackend.cpp
+index f6ef54f..160034a 100644
+--- a/kded/engine/backends/cryfs/cryfsbackend.cpp
++++ b/kded/engine/backends/cryfs/cryfsbackend.cpp
+@@ -136,11 +136,10 @@ bool CryFsBackend::isInitialized(const Device &device) const
+ 
+ QProcess *CryFsBackend::cryfs(const QStringList &arguments) const
+ {
+-    return process("cryfs",
++    return process(NIXPKGS_CRYFS,
+                    arguments,
+                    { { "CRYFS_FRONTEND", "noninteractive" } });
+ }
+ 
+ 
+ } // namespace PlasmaVault
+-
diff --git a/pkgs/desktops/plasma-5/plasma-vault/default.nix b/pkgs/desktops/plasma-5/plasma-vault/default.nix
new file mode 100644
index 000000000000..203ff50d7357
--- /dev/null
+++ b/pkgs/desktops/plasma-5/plasma-vault/default.nix
@@ -0,0 +1,38 @@
+{
+  mkDerivation, lib,
+  extra-cmake-modules,
+
+  kactivities,
+  plasma-framework,
+  kwindowsystem,
+  libksysguard,
+
+  encfs,
+  cryfs,
+  fuse
+}:
+
+mkDerivation {
+  name = "plasma-vault";
+  nativeBuildInputs = [ extra-cmake-modules ];
+
+  patches = [
+    ./encfs-path.patch
+    ./cryfs-path.patch
+    ./fusermount-path.patch
+  ];
+
+  buildInputs = [
+    kactivities plasma-framework kwindowsystem libksysguard
+  ];
+
+  NIX_CFLAGS_COMPILE = [
+    ''-DNIXPKGS_ENCFS="${lib.getBin encfs}/bin/encfs"''
+    ''-DNIXPKGS_ENCFSCTL="${lib.getBin encfs}/bin/encfsctl"''
+
+    ''-DNIXPKGS_CRYFS="${lib.getBin cryfs}/bin/cryfs"''
+
+    ''-DNIXPKGS_FUSERMOUNT="${lib.getBin fuse}/bin/fusermount"''
+  ];
+
+}
diff --git a/pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch b/pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch
new file mode 100644
index 000000000000..b494df55c5d0
--- /dev/null
+++ b/pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch
@@ -0,0 +1,24 @@
+diff --git a/kded/engine/backends/encfs/encfsbackend.cpp b/kded/engine/backends/encfs/encfsbackend.cpp
+index 47bb237..4ff064d 100644
+--- a/kded/engine/backends/encfs/encfsbackend.cpp
++++ b/kded/engine/backends/encfs/encfsbackend.cpp
+@@ -132,17 +132,16 @@ bool EncFsBackend::isInitialized(const Device &device) const
+ 
+ QProcess *EncFsBackend::encfs(const QStringList &arguments) const
+ {
+-    return process("encfs", arguments, {});
++    return process(NIXPKGS_ENCFS, arguments, {});
+ }
+ 
+ 
+ 
+ QProcess *EncFsBackend::encfsctl(const QStringList &arguments) const
+ {
+-    return process("encfsctl", arguments, {});
++    return process(NIXPKGS_ENCFSCTL, arguments, {});
+ }
+ 
+ 
+ 
+ } // namespace PlasmaVault
+-
diff --git a/pkgs/desktops/plasma-5/plasma-vault/fusermount-path.patch b/pkgs/desktops/plasma-5/plasma-vault/fusermount-path.patch
new file mode 100644
index 000000000000..cd1b736a103f
--- /dev/null
+++ b/pkgs/desktops/plasma-5/plasma-vault/fusermount-path.patch
@@ -0,0 +1,18 @@
+diff --git a/kded/engine/fusebackend_p.cpp b/kded/engine/fusebackend_p.cpp
+index 81ce494..d3c5c9f 100644
+--- a/kded/engine/fusebackend_p.cpp
++++ b/kded/engine/fusebackend_p.cpp
+@@ -103,7 +103,7 @@ QProcess *FuseBackend::process(const QString &executable,
+ 
+ QProcess *FuseBackend::fusermount(const QStringList &arguments) const
+ {
+-    return process("fusermount", arguments, {});
++    return process(NIXPKGS_FUSERMOUNT, arguments, {});
+ }
+ 
+ 
+@@ -245,4 +245,3 @@ bool FuseBackend::isOpened(const MountPoint &mountPoint) const
+ }
+ 
+ } // namespace PlasmaVault
+-
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 8e3e5ec35564..ac74a41dfd8e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -18257,7 +18257,7 @@ with pkgs;
     kactivitymanagerd kde-cli-tools kde-gtk-config kdeplasma-addons kgamma5
     kinfocenter kmenuedit kscreen kscreenlocker ksshaskpass ksysguard
     kwallet-pam kwayland-integration kwin kwrited milou oxygen plasma-desktop
-    plasma-integration plasma-nm plasma-pa plasma-workspace
+    plasma-integration plasma-nm plasma-pa plasma-vault plasma-workspace
     plasma-workspace-wallpapers polkit-kde-agent powerdevil sddm-kcm startkde
     systemsettings;