about summary refs log tree commit diff
path: root/pkgs/applications/backup/proxmox-backup-client/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/backup/proxmox-backup-client/default.nix')
-rw-r--r--pkgs/applications/backup/proxmox-backup-client/default.nix26
1 files changed, 24 insertions, 2 deletions
diff --git a/pkgs/applications/backup/proxmox-backup-client/default.nix b/pkgs/applications/backup/proxmox-backup-client/default.nix
index 661e2294f5ada..48d4c626eafaa 100644
--- a/pkgs/applications/backup/proxmox-backup-client/default.nix
+++ b/pkgs/applications/backup/proxmox-backup-client/default.nix
@@ -1,6 +1,6 @@
 {
   lib, fetchgit, rustPlatform, pkg-config, openssl, fuse3, libuuid, acl,
-  libxcrypt, git,
+  libxcrypt, git, installShellFiles, sphinx, stdenv,
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -38,6 +38,8 @@ rustPlatform.buildRustPackage rec {
 
   cargoPatches = [
     ./0001-re-route-dependencies-not-available-on-crates.io-to-.patch
+    ./0002-docs-drop-all-but-client-man-pages.patch
+    ./0003-docs-Add-target-path-fixup-variable.patch
   ];
 
   postPatch = ''
@@ -45,6 +47,26 @@ rustPlatform.buildRustPackage rec {
     rm .cargo/config
   '';
 
+  postBuild = ''
+    make -C docs \
+      DEB_VERSION=${version} DEB_VERSION_UPSTREAM=${version} \
+      RUSTC_TARGET=${stdenv.targetPlatform.config} \
+      BUILD_MODE=release \
+      proxmox-backup-client.1 pxar.1
+  '';
+
+  postInstall = ''
+    installManPage docs/output/man/proxmox-backup-client.1
+    installShellCompletion --cmd proxmox-backup-client \
+      --bash debian/proxmox-backup-client.bc \
+      --zsh zsh-completions/_proxmox-backup-client
+
+    installManPage docs/output/man/pxar.1
+    installShellCompletion --cmd pxar \
+      --bash debian/pxar.bc \
+      --zsh zsh-completions/_pxar
+  '';
+
   cargoLock = {
     lockFileContents = builtins.readFile ./Cargo.lock;
   };
@@ -59,7 +81,7 @@ rustPlatform.buildRustPackage rec {
 
   doCheck = false;
 
-  nativeBuildInputs = [ git pkg-config rustPlatform.bindgenHook ];
+  nativeBuildInputs = [ git pkg-config rustPlatform.bindgenHook installShellFiles sphinx ];
   buildInputs = [ openssl fuse3 libuuid acl libxcrypt ];
 
   meta = with lib; {