Files
nixpkgs/pkgs/development/python-modules/libarchive-c/default.nix
2026-05-31 00:12:59 +02:00

57 lines
1.2 KiB
Nix

{
lib,
stdenv,
buildPythonPackage,
fetchFromGitHub,
fetchpatch,
libarchive,
glibcLocales,
mock,
pytestCheckHook,
setuptools,
}:
buildPythonPackage (finalAttrs: {
pname = "libarchive-c";
version = "5.3";
pyproject = true;
src = fetchFromGitHub {
owner = "Changaco";
repo = "python-libarchive-c";
tag = finalAttrs.version;
hash = "sha256-JqXTV1aD3k88OlW+8rT3xsDuW34+1xErG7hkupvL7Uo=";
};
patches = [
# https://github.com/Changaco/python-libarchive-c/pull/141
(fetchpatch {
url = "https://github.com/Changaco/python-libarchive-c/commit/e0e2a47b2403632642ee932dd56acd11e4a79efe.diff";
hash = "sha256-C9eD4cGQOIdBYy4ytom49lA/Jaarj7LbSIgjxCk/H84=";
})
];
env.LC_ALL = "en_US.UTF-8";
postPatch = ''
substituteInPlace libarchive/ffi.py --replace-fail \
"find_library('archive')" "'${libarchive.lib}/lib/libarchive${stdenv.hostPlatform.extensions.sharedLibrary}'"
'';
build-system = [ setuptools ];
pythonImportsCheck = [ "libarchive" ];
nativeCheckInputs = [
glibcLocales
mock
pytestCheckHook
];
meta = {
homepage = "https://github.com/Changaco/python-libarchive-c";
description = "Python interface to libarchive";
license = lib.licenses.cc0;
};
})