2025-06-28 17:44:26 +02:00

54 lines
1.5 KiB
Nix

{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
lxml,
unittestCheckHook,
}:
buildPythonPackage rec {
pname = "lxml-html-clean";
version = "0.4.2";
pyproject = true;
src = fetchFromGitHub {
owner = "fedora-python";
repo = "lxml_html_clean";
tag = version;
hash = "sha256-KGUFRbcaeDcX2jyoyyZMZsVTbN+h8uy+ugcritkZe38=";
};
# Disable failing snapshot tests (AssertionError)
# https://github.com/fedora-python/lxml_html_clean/issues/24
# As this derivation must use unittestCheckHook, we cannot use disabledTests
postPatch = ''
substituteInPlace tests/test_clean.py \
--replace-fail \
"test_host_whitelist_valid" \
"DISABLED_test_host_whitelist_valid" \
--replace-fail \
"test_host_whitelist_invalid" \
"DISABLED_test_host_whitelist_invalid" \
--replace-fail \
"test_host_whitelist_sneaky_userinfo" \
"DISABLED_test_host_whitelist_sneaky_userinfo"
'';
build-system = [ setuptools ];
dependencies = [ lxml ];
nativeCheckInputs = [ unittestCheckHook ];
pythonImportsCheck = [ "lxml_html_clean" ];
meta = {
description = "Separate project for HTML cleaning functionalities copied from lxml.html.clean";
homepage = "https://github.com/fedora-python/lxml_html_clean/";
changelog = "https://github.com/fedora-python/lxml_html_clean/blob/${version}/CHANGES.rst";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ fab ];
};
}