1{ lib, fetchPypi, buildPythonPackage, pythonAtLeast, intervaltree, pyflakes, requests, lxml, google-i18n-address
2, pycountry, html5lib, six, kitchen, pypdf2, dict2xml, weasyprint, pyyaml, jinja2, ConfigArgParse, appdirs
3}:
4
5buildPythonPackage rec {
6 pname = "xml2rfc";
7 version = "3.6.0";
8 disabled = pythonAtLeast "3.9";
9
10 src = fetchPypi {
11 inherit pname version;
12 sha256 = "a9aa2e7c156a1acb0931086637d31efe9302a771641bc35938383cefbd27ba9d";
13 };
14
15 propagatedBuildInputs = [
16 intervaltree
17 jinja2
18 pyflakes
19 pyyaml
20 requests
21 lxml
22 google-i18n-address
23 pycountry
24 html5lib
25 six
26 kitchen
27 pypdf2
28 dict2xml
29 weasyprint
30 ConfigArgParse
31 appdirs
32 ];
33
34 preCheck = ''
35 export HOME=$(mktemp -d)
36 '';
37
38 # lxml tries to fetch from the internet
39 doCheck = false;
40 pythonImportsCheck = [ "xml2rfc" ];
41
42 meta = with lib; {
43 description = "Tool generating IETF RFCs and drafts from XML sources";
44 homepage = "https://tools.ietf.org/tools/xml2rfc/trac/";
45 # Well, parts might be considered unfree, if being strict; see:
46 # http://metadata.ftp-master.debian.org/changelogs/non-free/x/xml2rfc/xml2rfc_2.9.6-1_copyright
47 license = licenses.bsd3;
48 maintainers = with maintainers; [ vcunat yrashk ];
49 };
50}