1{ lib
2, fetchPypi
3, buildPythonPackage
4, pythonOlder
5, intervaltree
6, pyflakes
7, requests
8, lxml
9, google-i18n-address
10, pycountry
11, html5lib
12, six
13, kitchen
14, pypdf2
15, dict2xml
16, weasyprint
17, pyyaml
18, jinja2
19, configargparse
20, appdirs
21}:
22
23buildPythonPackage rec {
24 pname = "xml2rfc";
25 version = "3.11.1";
26
27 disabled = pythonOlder "3.6";
28
29 src = fetchPypi {
30 inherit pname version;
31 sha256 = "sha256-V1Epv5TJ4+Gnh096jeQIN0HOCj+GoCdQW/Pol5iBrFw=";
32 };
33
34 propagatedBuildInputs = [
35 intervaltree
36 jinja2
37 pyflakes
38 pyyaml
39 requests
40 lxml
41 google-i18n-address
42 pycountry
43 html5lib
44 six
45 kitchen
46 pypdf2
47 dict2xml
48 weasyprint
49 configargparse
50 appdirs
51 ];
52
53 postPatch = ''
54 substituteInPlace requirements.txt \
55 --replace "jinja2>=2.11,<3.0" "jinja2>=2.11"
56 '';
57
58 preCheck = ''
59 export HOME=$(mktemp -d)
60 '';
61
62 # lxml tries to fetch from the internet
63 doCheck = false;
64
65 pythonImportsCheck = [ "xml2rfc" ];
66
67 meta = with lib; {
68 description = "Tool generating IETF RFCs and drafts from XML sources";
69 homepage = "https://tools.ietf.org/tools/xml2rfc/trac/";
70 # Well, parts might be considered unfree, if being strict; see:
71 # http://metadata.ftp-master.debian.org/changelogs/non-free/x/xml2rfc/xml2rfc_2.9.6-1_copyright
72 license = licenses.bsd3;
73 maintainers = with maintainers; [ vcunat yrashk ];
74 };
75}