1{
2 lib,
3 buildPythonPackage,
4 distro,
5 fetchFromGitHub,
6 pytestCheckHook,
7 pythonOlder,
8 setuptools-scm,
9}:
10
11buildPythonPackage rec {
12 pname = "ruyaml";
13 version = "0.91.0";
14 pyproject = true;
15
16 disabled = pythonOlder "3.6";
17
18 src = fetchFromGitHub {
19 owner = "pycontribs";
20 repo = "ruyaml";
21 tag = "v${version}";
22 hash = "sha256-A37L/voBrn2aZ7xT8+bWdZJxbWRjnxbstQtSyUeN1sA=";
23 };
24
25 postPatch = ''
26 # https://github.com/pycontribs/ruyaml/pull/107
27 substituteInPlace pyproject.toml \
28 --replace '"pip >= 19.3.1",' "" \
29 --replace '"setuptools_scm_git_archive >= 1.1",' ""
30 '';
31
32 nativeBuildInputs = [ setuptools-scm ];
33
34 propagatedBuildInputs = [ distro ];
35
36 nativeCheckInputs = [ pytestCheckHook ];
37
38 pytestFlagsArray = [
39 "-W"
40 "ignore::DeprecationWarning"
41 ];
42
43 pythonImportsCheck = [ "ruyaml" ];
44
45 disabledTests = [
46 # Assertion error
47 "test_issue_60"
48 "test_issue_60_1"
49 "test_issue_61"
50 ];
51
52 meta = with lib; {
53 description = "YAML 1.2 loader/dumper package for Python";
54 homepage = "https://ruyaml.readthedocs.io/";
55 changelog = "https://github.com/pycontribs/ruyaml/releases/tag/v${version}";
56 license = with licenses; [ mit ];
57 maintainers = with maintainers; [ fab ];
58 };
59}