%if 0%{?fedora} %global with_python3 1 %else %global with_python3 0 %endif Name: python-firehose Version: 0.2 Release: 2%{?dist} Summary: Library for working with output from static code analyzers License: LGPLv2+ URL: https://github.com/fedora-static-analysis/firehose Source0: https://pypi.python.org/packages/source/f/firehose/firehose-%{version}.tar.gz BuildArch: noarch BuildRequires: python2-devel BuildRequires: python-six BuildRequires: libxml2 # ^^^: for xmllint BuildRequires: python-mock # ^^^: used during selftests %if 0%{?with_python3} BuildRequires: python3-devel BuildRequires: python3-six BuildRequires: python3-mock # ^^^: used during selftests %endif Requires: python-six %description "firehose" is a Python package intended for managing the results from code analysis tools (e.g. compiler warnings, static analysis, linters, etc). It currently provides parsers for the output of gcc, clang-analyzer and cppcheck. These parsers convert the results into a common data model of Python objects, with methods for lossless roundtrips through a provided XML format. There is also a JSON equivalent. %if 0%{?with_python3} %package -n python3-firehose Summary: Library for working with output from static code analyzers Group: Applications/System Requires: python3-six %description -n python3-firehose "firehose" is a Python package intended for managing the results from code analysis tools (e.g. compiler warnings, static analysis, linters, etc). It currently provides parsers for the output of gcc, clang-analyzer and cppcheck. These parsers convert the results into a common data model of Python objects, with methods for lossless roundtrips through a provided XML format. There is also a JSON equivalent. %endif # with_python3 %prep %setup -q -n firehose-%{version} %if 0%{?with_python3} rm -rf %{py3dir} cp -a . %{py3dir} %endif # with_python3 %build %{__python} setup.py build %if 0%{?with_python3} pushd %{py3dir} %{__python3} setup.py build popd %endif # with_python3 %install rm -rf %{buildroot} %{__python} setup.py install --skip-build --root %{buildroot} # Mark various scripts that have shebangs as executable: chmod +x %{buildroot}/%{python_sitelib}/firehose/parsers/cppcheck.py chmod +x %{buildroot}/%{python_sitelib}/firehose/parsers/gcc.py %if 0%{?with_python3} pushd %{py3dir} %{__python3} setup.py install --skip-build --root %{buildroot} chmod +x %{buildroot}/%{python3_sitelib}/firehose/parsers/cppcheck.py chmod +x %{buildroot}/%{python3_sitelib}/firehose/parsers/gcc.py popd %endif # with_python3 %check %{__python} -m unittest discover -v %if 0%{?with_python3} pushd %{py3dir} %{__python} -m unittest discover -v popd %endif # with_python3 %files %doc README.rst lgpl-2.1.txt examples firehose.rng %{python_sitelib}/firehose %{python_sitelib}/firehose-%{version}-py2.?.egg-info %if 0%{?with_python3} %files -n python3-firehose %doc README.rst lgpl-2.1.txt examples firehose.rng %{python3_sitelib}/firehose %{python3_sitelib}/firehose-%{version}-py3.?.egg-info %endif # with_python3 %changelog * Fri May 31 2013 David Malcolm - 0.2-2 - add BR on python-mock and python3-mock (for selftests) * Mon Mar 25 2013 David Malcolm - 0.2-1 - initial packaging