1{ lib
2, fetchPypi
3, buildPythonPackage
4, poetry-core
5, lxml
6, docopt-ng
7, typing-extensions
8, importlib-metadata
9, importlib-resources
10, pytestCheckHook
11, mock
12}:
13
14buildPythonPackage rec {
15 pname = "rnginline";
16 version = "1.0.0";
17
18 src = fetchPypi {
19 inherit pname version;
20 hash = "sha256-JWqzs+OqOynIAWYVgGrZiuiCqObAgGe6rBt0DcP3U6E=";
21 };
22
23 format = "pyproject";
24
25 postPatch = ''
26 substituteInPlace pyproject.toml \
27 --replace 'importlib-metadata = "^6.6.0"' 'importlib-metadata = "^6.0.0"'
28 '';
29
30 nativeBuildInputs = [
31 poetry-core
32 ];
33
34 propagatedBuildInputs = [
35 docopt-ng
36 lxml
37 typing-extensions
38 importlib-metadata
39 importlib-resources
40 ];
41
42 nativeCheckInputs = [
43 mock
44 pytestCheckHook
45 ];
46
47 pythonImportsCheck = [ "rnginline" ];
48
49 meta = with lib; {
50 description = "A Python library and command-line tool for loading multi-file RELAX NG schemas from arbitary URLs, and flattening them into a single RELAX NG schema";
51 homepage = "https://github.com/h4l/rnginline";
52 license = licenses.asl20;
53 maintainers = with maintainers; [ lesuisse ];
54 };
55}