Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / patool / default.nix
bloba81b2537187029f2a61cdbd06152e3efac85673c
1 { lib
2 , stdenv
3 , buildPythonPackage
4 , fetchFromGitHub
5 , pytestCheckHook
6 , p7zip
7 , cabextract
8 , zip
9 , lzip
10 , zpaq
11 , gnutar
12 , unar  # Free alternative to unrar
13 , gnugrep
14 , diffutils
15 , file
16 , gzip
17 , bzip2
18 , xz
21 let
22   compression-utilities = [
23     p7zip
24     gnutar
25     unar
26     cabextract
27     zip
28     lzip
29     zpaq
30     gzip
31     gnugrep
32     diffutils
33     bzip2
34     file
35     xz
36   ];
38 buildPythonPackage rec {
39   pname = "patool";
40   version = "2.1.1";
41   format = "setuptools";
43   #pypi doesn't have test data
44   src = fetchFromGitHub {
45     owner = "wummel";
46     repo = pname;
47     rev = "upstream/${version}";
48     hash = "sha256-B2P6JldMOAxr4WS+wST+kRVvEm41zH3Nh5LLKoFOws4=";
49   };
51   postPatch = ''
52     substituteInPlace patoolib/util.py \
53       --replace "path = None" 'path = os.environ["PATH"] + ":${lib.makeBinPath compression-utilities}"'
54   '';
56   nativeCheckInputs = [ pytestCheckHook ] ++ compression-utilities;
58   disabledTests = [
59     "test_unzip"
60     "test_unzip_file"
61     "test_zip"
62     "test_zip_file"
63   ] ++ lib.optionals stdenv.isDarwin [
64     "test_ar"
65   ];
67   meta = with lib; {
68     description = "portable archive file manager";
69     mainProgram = "patool";
70     homepage = "https://wummel.github.io/patool/";
71     license = licenses.gpl3;
72     maintainers = with maintainers; [ marius851000 ];
73   };