pythonPackages.rarfile: use free libarchive by default.

`unrar` is a non-free package, so it should only be used on request.
rarfile can use the rar-mode of `libarchive` instead, which should work well
enough for most cases.
This commit is contained in:
Profpatsch 2017-05-31 05:53:29 +02:00
parent 789bde2408
commit 0697dd8b81
2 changed files with 18 additions and 4 deletions

View file

@ -1,4 +1,10 @@
{ stdenv, buildPythonPackage, fetchFromGitHub, pytest, nose, unrar, glibcLocales }:
{ stdenv, buildPythonPackage, fetchFromGitHub, pytest, nose, libarchive, glibcLocales
# unrar is non-free software
, useUnrar ? false, unrar
}:
assert useUnrar -> unrar != null;
assert !useUnrar -> libarchive != null;
buildPythonPackage rec {
pname = "rarfile";
@ -15,8 +21,16 @@ buildPythonPackage rec {
prePatch = ''
substituteInPlace rarfile.py \
--replace 'UNRAR_TOOL = "unrar"' "UNRAR_TOOL = \"${unrar}/bin/unrar\""
'';
'' + (if useUnrar then
''--replace 'UNRAR_TOOL = "unrar"' "UNRAR_TOOL = \"${unrar}/bin/unrar\""
''
else
''--replace 'ALT_TOOL = "bsdtar"' "ALT_TOOL = \"${libarchive}/bin/bsdtar\""
'')
+ ''
'';
# the tests only work with the standard unrar package
doCheck = useUnrar;
LC_ALL = "en_US.UTF-8";
checkPhase = ''
py.test test -k "not test_printdir"

View file

@ -2603,7 +2603,7 @@ in {
};
rarfile = callPackage ../development/python-modules/rarfile {};
rarfile = callPackage ../development/python-modules/rarfile { inherit (pkgs) libarchive; };
proboscis = buildPythonPackage rec {
name = "proboscis-1.2.6.0";