about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/system/safe-rm/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/system/safe-rm/default.nix')
-rw-r--r--nixpkgs/pkgs/tools/system/safe-rm/default.nix33
1 files changed, 16 insertions, 17 deletions
diff --git a/nixpkgs/pkgs/tools/system/safe-rm/default.nix b/nixpkgs/pkgs/tools/system/safe-rm/default.nix
index c81eea889023..bac9bb356024 100644
--- a/nixpkgs/pkgs/tools/system/safe-rm/default.nix
+++ b/nixpkgs/pkgs/tools/system/safe-rm/default.nix
@@ -1,37 +1,36 @@
-{ lib, stdenv, fetchgit, perl, coreutils }:
+{ lib, rustPlatform, fetchgit, coreutils, installShellFiles }:
 
-stdenv.mkDerivation rec {
+rustPlatform.buildRustPackage rec {
   pname = "safe-rm";
-  version = "0.12";
+  version = "1.1.0";
 
   src = fetchgit {
     url = "https://git.launchpad.net/safe-rm";
     rev = "refs/tags/${pname}-${version}";
-    sha256 = "0zkmwxyl1870ar6jr9h537vmqgkckqs9jd1yv6m4qqzdsmg5gdbq";
+    sha256 = "sha256-7+4XwsjzLBCQmHDYNwhlN4Yg3eL43GUEbq8ROtuP2Kw=";
   };
 
-  # pod2man
-  nativeBuildInputs = [ perl ];
+  cargoSha256 = "sha256-durb4RTzEun7HPeYfvDJpvO+6L7tNFmAxdIwINbwZrg=";
 
-  propagatedBuildInputs = [ coreutils perl ];
-
-  postFixup = ''
-    sed -e 's@/bin/rm@${coreutils}/bin/rm@' -i $out/bin/safe-rm
+  postPatch = ''
+    substituteInPlace src/main.rs \
+      --replace "/bin/rm" "${coreutils}/bin/rm"
   '';
 
-  installPhase = ''
-    mkdir -p $out/bin
-    cp safe-rm $out/bin
+  nativeBuildInputs = [ installShellFiles ];
+
+  # uses lots of absolute paths outside of the sandbox
+  doCheck = false;
 
-    mkdir -p $out/share/man/man1
-    pod2man safe-rm > $out/share/man/man1/safe-rm.1
+  postInstall = ''
+    installManPage safe-rm.1
   '';
 
   meta = with lib; {
     description = "Tool intended to prevent the accidental deletion of important files";
     homepage = "https://launchpad.net/safe-rm";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     platforms = platforms.all;
-    maintainers = [ maintainers.koral ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }