about summary refs log tree commit diff
path: root/pkgs/tools/archivers/unrar-wrapper
diff options
context:
space:
mode:
authorArtturin <Artturin@artturin.com>2021-11-09 20:03:15 +0200
committerArtturin <Artturin@artturin.com>2021-11-09 20:25:49 +0200
commit710974d8010568b8a6823c5585036f31b5603624 (patch)
treeafb33809b62f2f8d0d97006bf193b11bdaa82fb6 /pkgs/tools/archivers/unrar-wrapper
parentea5c3d756e0f001f46560e99afb3cd3e954ae2cb (diff)
unrar-wrapper: init at 1.0.0
Diffstat (limited to 'pkgs/tools/archivers/unrar-wrapper')
-rw-r--r--pkgs/tools/archivers/unrar-wrapper/default.nix36
-rw-r--r--pkgs/tools/archivers/unrar-wrapper/setup-hook.sh5
2 files changed, 41 insertions, 0 deletions
diff --git a/pkgs/tools/archivers/unrar-wrapper/default.nix b/pkgs/tools/archivers/unrar-wrapper/default.nix
new file mode 100644
index 0000000000000..7452969cbdb4a
--- /dev/null
+++ b/pkgs/tools/archivers/unrar-wrapper/default.nix
@@ -0,0 +1,36 @@
+{ lib, buildPythonApplication, fetchFromGitHub, unar }:
+
+buildPythonApplication rec {
+  pname = "unrar-wrapper";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "openSUSE";
+    repo = "unrar_wrapper";
+    rev = "unrar_wrapper-${version}";
+    sha256 = "sha256-HjrUif8MrbtLjRQMAPZ/Y2o43rGSDj0HHY4fZQfKz5w=";
+  };
+
+  makeWrapperArgs = [
+    "--prefix" "PATH" ":" "${lib.makeBinPath [ unar ]}"
+  ];
+
+  postFixup = ''
+    ln -s $out/bin/unrar_wrapper $out/bin/unrar
+    rm -rf $out/nix-support/propagated-build-inputs
+  '';
+
+  setupHook = ./setup-hook.sh;
+
+  meta = with lib; {
+    homepage = "https://github.com/openSUSE/unrar_wrapper";
+    description = "Backwards compatibility between unar and unrar";
+    longDescription = ''
+      unrar_wrapper is a wrapper python script that transforms the basic UnRAR commands
+      to unar and lsar calls in order to provide a backwards compatibility.
+    '';
+    license = licenses.gpl3Only;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ artturin ];
+  };
+}
diff --git a/pkgs/tools/archivers/unrar-wrapper/setup-hook.sh b/pkgs/tools/archivers/unrar-wrapper/setup-hook.sh
new file mode 100644
index 0000000000000..41d6a5cd217bc
--- /dev/null
+++ b/pkgs/tools/archivers/unrar-wrapper/setup-hook.sh
@@ -0,0 +1,5 @@
+unpackCmdHooks+=(_tryUnrar)
+_tryUnrar() {
+    if ! [[ "$curSrc" =~ \.rar$ ]]; then return 1; fi
+    unrar x "$curSrc" >/dev/null
+}