lol
1{ lib, fetchurl, python2Packages
2, gnutar, unzip, lhasa, rpm, binutils, cpio, gzip, p7zip, cabextract, unrar, unshield
3, bzip2, xz, lzip
4# unzip is handled by p7zip
5, unzipSupport ? false
6, unrarSupport ? false }:
7
8let
9 archivers = lib.makeBinPath ([ gnutar lhasa rpm binutils cpio gzip p7zip cabextract unshield ]
10 ++ lib.optional (unzipSupport) unzip
11 ++ lib.optional (unrarSupport) unrar
12 ++ [ bzip2 xz lzip ]);
13
14in python2Packages.buildPythonApplication rec {
15 pname = "dtrx";
16 version = "7.1";
17
18 src = fetchurl {
19 url = "https://brettcsmith.org/2007/dtrx/dtrx-${version}.tar.gz";
20 sha256 = "15yf4n27zbhvv0byfv3i89wl5zn6jc2wbc69lk5a3m6rx54gx6hw";
21 };
22
23 postInstall = ''
24 wrapProgram "$out/bin/dtrx" --prefix PATH : "${archivers}"
25 '';
26
27 checkPhase = ''
28 python2 tests/compare.py
29 '';
30
31 checkInputs = with python2Packages; [
32 pyyaml
33 ];
34
35 # custom test suite fails
36 doCheck = false;
37
38 meta = with lib; {
39 description = "Do The Right Extraction: A tool for taking the hassle out of extracting archives";
40 homepage = "https://brettcsmith.org/2007/dtrx/";
41 license = licenses.gpl3Plus;
42 maintainers = [ maintainers.spwhitt ];
43 platforms = platforms.all;
44 };
45}