mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-22 20:14:37 +00:00
python312Packages.rarfile: refactor
This commit is contained in:
parent
56c7ebdc5e
commit
834376e83e
@ -1,6 +1,14 @@
|
||||
{ lib, buildPythonPackage, fetchFromGitHub, pytestCheckHook, nose, libarchive, glibcLocales, isPy27
|
||||
# unrar is non-free software
|
||||
, useUnrar ? false, unrar
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
pytestCheckHook,
|
||||
libarchive,
|
||||
pythonOlder,
|
||||
setuptools,
|
||||
# unrar is non-free software
|
||||
useUnrar ? false,
|
||||
unrar,
|
||||
}:
|
||||
|
||||
assert useUnrar -> unrar != null;
|
||||
@ -9,35 +17,47 @@ assert !useUnrar -> libarchive != null;
|
||||
buildPythonPackage rec {
|
||||
pname = "rarfile";
|
||||
version = "4.2";
|
||||
format = "setuptools";
|
||||
disabled = isPy27;
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "markokr";
|
||||
repo = "rarfile";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "sha256-ZiwD2LG25fMd4Z+QWsh/x3ceG5QRBH4s/TZDwMnfpNI=";
|
||||
hash = "sha256-ZiwD2LG25fMd4Z+QWsh/x3ceG5QRBH4s/TZDwMnfpNI=";
|
||||
};
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook nose glibcLocales ];
|
||||
|
||||
prePatch = ''
|
||||
substituteInPlace rarfile.py \
|
||||
'' + (if useUnrar then
|
||||
''--replace 'UNRAR_TOOL = "unrar"' "UNRAR_TOOL = \"${unrar}/bin/unrar\""
|
||||
prePatch =
|
||||
''
|
||||
substituteInPlace rarfile.py \
|
||||
''
|
||||
+ (
|
||||
if useUnrar then
|
||||
''
|
||||
else
|
||||
''--replace 'ALT_TOOL = "bsdtar"' "ALT_TOOL = \"${libarchive}/bin/bsdtar\""
|
||||
'')
|
||||
+ "";
|
||||
# the tests only work with the standard unrar package
|
||||
--replace 'UNRAR_TOOL = "unrar"' "UNRAR_TOOL = \"${unrar}/bin/unrar\""
|
||||
''
|
||||
else
|
||||
''
|
||||
--replace 'ALT_TOOL = "bsdtar"' "ALT_TOOL = \"${libarchive}/bin/bsdtar\""
|
||||
''
|
||||
)
|
||||
+ "";
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
# The tests only work with the standard unrar package
|
||||
doCheck = useUnrar;
|
||||
LC_ALL = "en_US.UTF-8";
|
||||
|
||||
pythonImportsCheck = [ "rarfile" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "RAR archive reader for Python";
|
||||
homepage = "https://github.com/markokr/rarfile";
|
||||
changelog = "https://github.com/markokr/rarfile/releases/tag/v${version}";
|
||||
license = licenses.isc;
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user