Subject: [bug#36605] [PATCH] gnu: Add dtrx.

From: Hartmut Goebel <[email-masked]>
Date: Thu, 11 Jul 2019 22:26:12 +0200

* gnu/packages/compression.scm (dtrx): New variable.
---
 gnu/packages/compression.scm | 50 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index ae6710b25..0d9a6bfcf 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -20,6 +20,7 @@
 ;;; Copyright © 2017 Stefan Reichör <[email-masked]>
 ;;; Copyright © 2017 Petter <[email-masked]>
 ;;; Copyright © 2017 Julien Lepiller <[email-masked]>
+;;; Copyright © 2018 Hartmut Goebel <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -53,10 +54,12 @@
   #:use-module (gnu packages backup)
   #:use-module (gnu packages base)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cpio)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages file)
   #:use-module (gnu packages java)
   #:use-module (gnu packages maths)
+  #:use-module (gnu packages package-management)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages perl-check)
   #:use-module (gnu packages pkg-config)
@@ -2051,3 +2054,50 @@ faster by plzip, unless the @code{-b} option was used: lzip usually produces
 single-member files which can't be decompressed in parallel.")
     (license (list license:bsd-2        ; arg_parser.{cc,h}
                    license:gpl2+))))    ; everything else
+
+
+(define-public dtrx
+  (package
+    (name "dtrx")
+    (version "7.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://brettcsmith.org/2007/"
+                           "dtrx/dtrx-" version ".tar.gz"))
+       (sha256
+        (base32 "15yf4n27zbhvv0byfv3i89wl5zn6jc2wbc69lk5a3m6rx54gx6hw"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:python ,python-2))
+    (inputs
+     `(("binutils" ,binutils) ; ar
+       ("bzip2" ,bzip2) ; bzcat
+       ("cabextract" ,cabextract)
+       ("cpio" ,cpio) ; cpio
+       ("gzip" ,gzip) ; zcat
+       ;; ("lha" ,lha) missing in guix
+       ("p7zip" ,p7zip) ; 7z
+       ("rpm" ,rpm) ; rpm2cpio
+       ("tar" ,tar)
+       ;; ("unrar" ,unrar) ; abandoned upstream
+       ("unshield" ,unshield)
+       ("unzip" ,unzip)
+       ("xz" ,xz))) ; lzcat, xzcat
+    (home-page "http://www.brettcsmith.org/2007/dtrx/")
+    (synopsis "Intelligently extract multiple archive types")
+    (description "@command{dtrx} extracts archives in a number of different
+formats, so you don't have to remember the flags for each archive command.
+Just use the same command for all your archive files, and they'll never
+frustrate you again.
+
+In addition to providing one command to handle many different archive types,
+@command{dtrx} also aids the user by extracting contents consistently.  By
+default, everything will be written to a dedicated directory that’s named
+after the archive.  dtrx will also change the permissions to ensure that the
+owner can read and write all those files.
+
+It currently supports tar, zip (including self-extracting .exe files), cpio,
+rpm, deb, gem, 7z, cab, rar, and InstallShield files.  It can also decompress
+files compressed with gzip, bzip2, lzma, xz, or compress.")
+    (license license:gpl3+)))
-- 
2.13.6