Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / rarfile / default.nix
blob4f3cbc28ea7705661075746999b20fe519166880
1 { lib, buildPythonPackage, fetchFromGitHub, pytestCheckHook, nose, libarchive, glibcLocales, isPy27
2 # unrar is non-free software
3 , useUnrar ? false, unrar
4 }:
6 assert useUnrar -> unrar != null;
7 assert !useUnrar -> libarchive != null;
9 buildPythonPackage rec {
10   pname = "rarfile";
11   version = "4.2";
12   format = "setuptools";
13   disabled = isPy27;
15   src = fetchFromGitHub {
16     owner = "markokr";
17     repo = "rarfile";
18     rev = "refs/tags/v${version}";
19     sha256 = "sha256-ZiwD2LG25fMd4Z+QWsh/x3ceG5QRBH4s/TZDwMnfpNI=";
20   };
22   nativeCheckInputs = [ pytestCheckHook nose glibcLocales ];
24   prePatch = ''
25     substituteInPlace rarfile.py \
26   '' + (if useUnrar then
27         ''--replace 'UNRAR_TOOL = "unrar"' "UNRAR_TOOL = \"${unrar}/bin/unrar\""
28         ''
29        else
30         ''--replace 'ALT_TOOL = "bsdtar"' "ALT_TOOL = \"${libarchive}/bin/bsdtar\""
31         '')
32      + "";
33   # the tests only work with the standard unrar package
34   doCheck = useUnrar;
35   LC_ALL = "en_US.UTF-8";
36   pythonImportsCheck = [ "rarfile" ];
38   meta = with lib; {
39     description = "RAR archive reader for Python";
40     homepage = "https://github.com/markokr/rarfile";
41     license = licenses.isc;
42   };