%global srcname strictyaml %global forgeurl https://github.com/crdoconnor/%{srcname}/ %global tag %{version} Name: python-%{srcname} Version: 1.4.4 %forgemeta Release: %autorelease Summary: Parses and validates a restricted subset of YAML License: MIT URL: http://hitchdev.com/%{srcname} Source0: %{forgesource} # https://github.com/crdoconnor/strictyaml/issues/152 Source1: https://sourceforge.net/p/ruamel-yaml/code/ci/0.16.13/tree/LICENSE?format=raw#/LICENSE-ruamel-yaml BuildArch: noarch BuildRequires: python3-devel BuildRequires: pyproject-rpm-macros # We do not attempt to build the documentation, since it requires an # idiosyncratic build system (see https://hitchdev.com/) that is hopelessly # entangled with the idea of downloading dependencies from PyPI. An offline # build would be nearly impossible. %global common_description %{expand: StrictYAML is a type-safe YAML parser that parses and validates a restricted subset of the YAML specification. Priorities: • Beautiful API • Refusing to parse the ugly, hard to read and insecure features of YAML like the Norway problem. • Strict validation of markup and straightforward type casting. • Clear, readable exceptions with code snippets and line numbers. • Acting as a near-drop in replacement for pyyaml, ruamel.yaml or poyo. • Ability to read in YAML, make changes and write it out again with comments preserved. • Not speed, currently.} %description %{common_description} %generate_buildrequires %pyproject_buildrequires -r %package -n python3-%{srcname} Summary: %{summary} # Upstream bundled/vendored a slightly older version of ruamel.yaml after an # update with API changes was too difficult to support. This is intended to be # a temporary workaround until the vendored library can be replaced with a # custom parser for StrictYAML. See # https://github.com/crdoconnor/strictyaml/issues/151 for discussion, and # strictyaml/ruamel/__init__.py for version information. Provides: bundled(python3dist(ruamel-yaml)) = 0.16.13 %description -n python3-%{srcname} %{common_description} %prep %forgesetup cp -p '%{SOURCE1}' . %build %pyproject_wheel %install %pyproject_install %pyproject_save_files %{srcname} %check # There are no tests. (If there were, it would be as hard to run them as it is # to build the documentation.) %py3_check_import %{srcname} %files -n python3-%{srcname} -f %{pyproject_files} %license LICENSE.txt LICENSE-ruamel-yaml %doc CHANGELOG.md %doc README.md %changelog %autochangelog