1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 fetchpatch,
6 six,
7 webencodings,
8 mock,
9 pytest-expect,
10 pytestCheckHook,
11}:
12
13buildPythonPackage rec {
14 pname = "html5lib";
15 version = "1.1";
16 format = "setuptools";
17
18 src = fetchPypi {
19 inherit pname version;
20 sha256 = "b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f";
21 };
22
23 patches = [
24 # Fix compatibility with pytest 6.
25 # Will be included in the next release after 1.1.
26 (fetchpatch {
27 url = "https://github.com/html5lib/html5lib-python/commit/2c19b9899ab3a3e8bd0ca35e5d78544334204169.patch";
28 hash = "sha256-VGCeB6o2QO/skeCZs8XLPfgEYVOSRL8cCpG7ajbZWEs=";
29 })
30 ];
31
32 propagatedBuildInputs = [
33 six
34 webencodings
35 ];
36
37 # latest release not compatible with pytest 6
38 doCheck = false;
39 nativeCheckInputs = [
40 mock
41 pytest-expect
42 pytestCheckHook
43 ];
44
45 meta = {
46 homepage = "https://github.com/html5lib/html5lib-python";
47 downloadPage = "https://github.com/html5lib/html5lib-python/releases";
48 description = "HTML parser based on WHAT-WG HTML5 specification";
49 longDescription = ''
50 html5lib is a pure-python library for parsing HTML. It is designed to
51 conform to the WHATWG HTML specification, as is implemented by all
52 major web browsers.
53 '';
54 license = lib.licenses.mit;
55 maintainers = with lib.maintainers; [
56 prikhi
57 ];
58 };
59}