{ lib , fetchFromGitHub , gitUpdater , python3Packages , gnutar , unzip , lhasa , rpm , binutils , cpio , gzip , p7zip , cabextract , unrar , unshield , bzip2 , xz , lzip , unzipSupport ? false , unrarSupport ? false }: python3Packages.buildPythonApplication rec { pname = "dtrx"; version = "8.5.3"; src = fetchFromGitHub { owner = "dtrx-py"; repo = "dtrx"; rev = version; sha256 = "sha256-LB3F6jcqQPRsjFO4L2fPAPnacDAdtcaadgGbwXA9LAw="; }; makeWrapperArgs = let archivers = lib.makeBinPath ( [ gnutar lhasa rpm binutils cpio gzip p7zip cabextract unshield bzip2 xz lzip ] ++ lib.optional (unzipSupport) unzip ++ lib.optional (unrarSupport) unrar ); in [ ''--prefix PATH : "${archivers}"'' ]; nativeBuildInputs = [ python3Packages.invoke ]; passthru.updateScript = gitUpdater { }; meta = with lib; { description = "Do The Right Extraction: A tool for taking the hassle out of extracting archives"; homepage = "https://github.com/dtrx-py/dtrx"; license = licenses.gpl3Plus; maintainers = [ ]; mainProgram = "dtrx"; }; }