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 pytestFlags = [
39 "-Wignore::DeprecationWarning"
40 ];
41
42 pythonImportsCheck = [ "ruyaml" ];
43
44 disabledTests = [
45 # Assertion error
46 "test_issue_60"
47 "test_issue_60_1"
48 "test_issue_61"
49 ];
50
51 meta = with lib; {
52 description = "YAML 1.2 loader/dumper package for Python";
53 homepage = "https://ruyaml.readthedocs.io/";
54 changelog = "https://github.com/pycontribs/ruyaml/releases/tag/v${version}";
55 license = with licenses; [ mit ];
56 maintainers = with maintainers; [ fab ];
57 };
58}