Hello community, here is the log from the commit of package python-breathe for openSUSE:Factory checked in at 2019-09-26 20:38:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-breathe (Old) and /work/SRC/openSUSE:Factory/.python-breathe.new.2352 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-breathe" Thu Sep 26 20:38:33 2019 rev:4 rq:732151 version:4.13.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-breathe/python-breathe.changes 2019-04-01 12:35:11.689826212 +0200 +++ /work/SRC/openSUSE:Factory/.python-breathe.new.2352/python-breathe.changes 2019-09-26 20:38:37.098961832 +0200 @@ -1,0 +2,12 @@ +Fri Sep 13 11:12:14 UTC 2019 - Tomáš Chvátal <tchva...@suse.com> + +- Update to 4.13.1: + * no upstream changelog + +------------------------------------------------------------------- +Thu Jun 6 13:29:38 UTC 2019 - Tomáš Chvátal <tchva...@suse.com> + +- Update to 4.13.0: + * Fixes for Sphinx 2.0 + +------------------------------------------------------------------- Old: ---- v4.12.0.tar.gz New: ---- v4.13.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-breathe.spec ++++++ --- /var/tmp/diff_new_pack.beBIzD/_old 2019-09-26 20:38:39.030956670 +0200 +++ /var/tmp/diff_new_pack.beBIzD/_new 2019-09-26 20:38:39.050956617 +0200 @@ -17,16 +17,16 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} -%define oldpython python +%define skip_python2 1 Name: python-breathe -Version: 4.12.0 +Version: 4.13.1 Release: 0 Summary: Sphinx Doxygen renderer License: BSD-3-Clause Group: Development/Languages/Python URL: https://github.com/michaeljones/breathe Source: https://github.com/michaeljones/breathe/archive/v%{version}.tar.gz -BuildRequires: %{python_module Sphinx >= 1.8} +BuildRequires: %{python_module Sphinx >= 2.0} BuildRequires: %{python_module docutils >= 0.12} BuildRequires: %{python_module mock} BuildRequires: %{python_module nose} @@ -34,17 +34,13 @@ BuildRequires: %{python_module six >= 1.9} BuildRequires: fdupes BuildRequires: python-rpm-macros -Requires: python-Sphinx >= 1.8 +Requires: python-Sphinx >= 2.0 Requires: python-docutils >= 0.12 Requires: python-setuptools Requires: python-six >= 1.9 Provides: python-sphinxcontrib-breathe = %{version} Obsoletes: python-sphinxcontrib-breathe < %{version} BuildArch: noarch -%ifpython2 -Obsoletes: %{oldpython}-sphinxcontrib-breathe < %{version} -Provides: %{oldpython}-sphinxcontrib-breathe = %{version} -%endif %python_subpackages %description @@ -60,21 +56,14 @@ %install %python_install %python_expand %fdupes %{buildroot}%{$python_sitelib} -%python_clone -a %{buildroot}%{_bindir}/breathe-apidoc %check %python_expand PYTHONPATH=%{buildroot}%{$python_sitelib} nosetests-%{$python_bin_suffix} -v tests/ -%post -%{python_install_alternative breathe-apidoc} - -%postun -%{python_uninstall_alternative breathe-apidoc} - %files %{python_files} %doc README.rst %license LICENSE -%python_alternative %{_bindir}/breathe-apidoc +%python3_only %{_bindir}/breathe-apidoc %{python_sitelib}/breathe %{python_sitelib}/breathe-%{version}-py*.egg-info ++++++ v4.12.0.tar.gz -> v4.13.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breathe-4.12.0/.travis.yml new/breathe-4.13.1/.travis.yml --- old/breathe-4.12.0/.travis.yml 2019-03-15 19:31:30.000000000 +0100 +++ new/breathe-4.13.1/.travis.yml 2019-08-01 22:16:37.000000000 +0200 @@ -2,11 +2,9 @@ language: python env: - - SPHINX_VERSION=1.8.3 TRAVIS_CI=True + - SPHINX_VERSION=2.0.1 TRAVIS_CI=True python: - - "2.7" - - "3.4" - "3.5" - "3.6" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breathe-4.12.0/README.rst new/breathe-4.13.1/README.rst --- old/breathe-4.12.0/README.rst 2019-03-15 19:31:30.000000000 +0100 +++ new/breathe-4.13.1/README.rst 2019-08-01 22:16:37.000000000 +0200 @@ -72,9 +72,9 @@ Development is currently done with: -- Python 2.7 +- Python 3.5 - Docutils 0.12 -- Sphinx 1.8.0 +- Sphinx 2.0.1 - Doxygen 1.8.4 Doxygen 1.5.1 seems to produce xml with repeated sections which causes Breathe @@ -168,6 +168,19 @@ Inspired by `Keepachangelog.com <http://keepachangelog.com/>`__. +- 2019-08-01 - Breathe v4.13.1 + + - Fix for template method pointer parameter issue. #449 + +- 2019-04-23 - Breathe v4.13.0.post0 + + - Drop support for python 2, require Sphinx >= 2.0. #432 + +- 2019-04-21 - Breathe v4.13.0 + + - Adapt to upcoming Sphinx 2.0. #411 + - Add support for rendering parameter direction information. #428 + - 2019-03-15 - Breathe v4.12.0 - Adapt to Sphinx 1.8. #410 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breathe-4.12.0/breathe/__init__.py new/breathe-4.13.1/breathe/__init__.py --- old/breathe-4.12.0/breathe/__init__.py 2019-03-15 19:31:30.000000000 +0100 +++ new/breathe-4.13.1/breathe/__init__.py 2019-08-01 22:16:37.000000000 +0200 @@ -1,4 +1,4 @@ -__version__ = '4.12.0' +__version__ = '4.13.1' def setup(app): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breathe-4.12.0/breathe/parser/compoundsuper.py new/breathe-4.13.1/breathe/parser/compoundsuper.py --- old/breathe-4.12.0/breathe/parser/compoundsuper.py 2019-03-15 19:31:30.000000000 +0100 +++ new/breathe-4.13.1/breathe/parser/compoundsuper.py 2019-08-01 22:16:37.000000000 +0200 @@ -5445,6 +5445,11 @@ obj_ = self.mixedclass_(MixedContainer.CategoryText, MixedContainer.TypeNone, '', child_.nodeValue) self.content_.append(obj_) + d = child_.parentNode.attributes.get('direction') + if d is not None: + self.content_.insert(0, self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, + '', '[{}] '.format(d.value))) # end class docParamName diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breathe-4.12.0/breathe/renderer/sphinxrenderer.py new/breathe-4.13.1/breathe/renderer/sphinxrenderer.py --- old/breathe-4.12.0/breathe/renderer/sphinxrenderer.py 2019-03-15 19:31:30.000000000 +0100 +++ new/breathe-4.13.1/breathe/renderer/sphinxrenderer.py 2019-08-01 22:16:37.000000000 +0200 @@ -33,9 +33,18 @@ class DoxyCPPClassObject(cpp.CPPClassObject): __bases = [] + @property + def display_object_type(self): + # override because we also have the 'interface' type + assert self.objtype in ('class', 'struct', 'interface') + # TODO: remove this if it should be rendered as 'interface' as well + if self.objtype == 'interface': + return 'class' + return self.objtype + def parse_definition(self, parser): # add the base classes - ast = parser.parse_declaration("class") + ast = parser.parse_declaration("class", "class") bases = [] @@ -184,7 +193,8 @@ if not param_name: param_decl = param_type else: - param_decl, number_of_subs = re.subn(r'(\([*&]+)(\))', r'\g<1>' + param_name + r'\g<2>', + param_decl, number_of_subs = re.subn(r'(\((?:\w+::)*[*&]+)(\))', + r'\g<1>' + param_name + r'\g<2>', param_type) if number_of_subs == 0: param_decl = param_type + ' ' + param_name diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breathe-4.12.0/examples/doxygen/func.h new/breathe-4.13.1/examples/doxygen/func.h --- old/breathe-4.12.0/examples/doxygen/func.h 2019-03-15 19:31:30.000000000 +0100 +++ new/breathe-4.13.1/examples/doxygen/func.h 2019-08-01 22:16:37.000000000 +0200 @@ -19,3 +19,11 @@ * \exception std::out_of_range parameter is out of range. * \return a character pointer. */ + +/*! \brief Doing important things with parameter directions + * + * \param[out] a output + * \param[in] b input + * \param[in, out] c input but gets rewritten + */ +void myFunc(int * a, int * b, int * c); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breathe-4.12.0/setup.cfg new/breathe-4.13.1/setup.cfg --- old/breathe-4.12.0/setup.cfg 2019-03-15 19:31:30.000000000 +0100 +++ new/breathe-4.13.1/setup.cfg 2019-08-01 22:16:37.000000000 +0200 @@ -4,4 +4,4 @@ exclude=compoundsuper.py,indexsuper.py [bdist_wheel] -universal = 1 +universal = 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breathe-4.12.0/setup.py new/breathe-4.13.1/setup.py --- old/breathe-4.12.0/setup.py 2019-03-15 19:31:30.000000000 +0100 +++ new/breathe-4.13.1/setup.py 2019-08-01 22:16:37.000000000 +0200 @@ -6,9 +6,7 @@ distribute_setup.use_setuptools() from setuptools import setup, find_packages -import os import sys -from distutils import log import breathe @@ -17,30 +15,12 @@ render `Doxygen <http://www.doxygen.org>`__ xml output. ''' -requires = ['Sphinx>=1.8', 'docutils>=0.12', 'six>=1.9'] +requires = ['Sphinx>=2.0', 'docutils>=0.12', 'six>=1.9'] -if sys.version_info < (2, 4): - print('ERROR: Sphinx requires at least Python 2.4 to run.') +if sys.version_info < (3, 5): + print('ERROR: Sphinx requires at least Python 3.5 to run.') sys.exit(1) -if sys.version_info < (2, 5): - # Python 2.4's distutils doesn't automatically install an egg-info, - # so an existing docutils install won't be detected -- in that case, - # remove the dependency from setup.py - try: - import docutils - if int(docutils.__version__[2]) < 4: - raise ValueError('docutils not recent enough') - except: - pass - else: - del requires[-1] - - # The uuid module is new in the stdlib in 2.5 - requires.append('uuid>=1.30') - - - setup( name='breathe', @@ -61,8 +41,7 @@ 'Intended Audience :: Education', 'License :: OSI Approved :: BSD License', 'Operating System :: OS Independent', - 'Programming Language :: Python', - 'Programming Language :: Python :: 2', + 'Programming Language :: Python :: 3', 'Topic :: Documentation', 'Topic :: Text Processing', 'Topic :: Utilities', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breathe-4.12.0/tests/test_renderer.py new/breathe-4.13.1/tests/test_renderer.py --- old/breathe-4.12.0/tests/test_renderer.py 2019-03-15 19:31:30.000000000 +0100 +++ new/breathe-4.13.1/tests/test_renderer.py 2019-08-01 22:16:37.000000000 +0200 @@ -1,5 +1,6 @@ # Renderer tests +import sphinx.addnodes import sphinx.environment from breathe.node_factory import create_node_factory from breathe.parser.compound import linkedTextTypeSub, memberdefTypeSub, paramTypeSub, MixedContainer @@ -9,6 +10,7 @@ from sphinx.config import Config from sphinx.domains.cpp import CPPDomain from sphinx.domains.c import CDomain +from sphinx.util import docutils from nose.tools import eq_ @@ -65,6 +67,7 @@ class MockApp(object): def __init__(self): + self.project = None self.doctreedir = None self.srcdir = None self.config = Config() @@ -75,6 +78,10 @@ self.config.add('cpp_index_common_prefix', [], 'env', ()) self.registry = MockRegistry() + def add_node(self, node): + if not docutils.is_node_registered(node): + docutils.register_node(node) + class MockState: def __init__(self): @@ -250,6 +257,8 @@ def test_render_func(): + app = MockApp() + sphinx.addnodes.setup(app) member_def = TestMemberDef(kind='function', definition='void foo', argsstring='(int)', virt='non-virtual', param=[TestParam(type_=TestLinkedText(content_=[TestMixedContainer(value=u'int')]))]) signature = find_node(render(member_def), 'desc_signature') @@ -262,18 +271,24 @@ def test_render_typedef(): + app = MockApp() + sphinx.addnodes.setup(app) member_def = TestMemberDef(kind='typedef', definition='typedef int foo') signature = find_node(render(member_def), 'desc_signature') assert signature.astext() == 'typedef int foo' def test_render_c_typedef(): + app = MockApp() + sphinx.addnodes.setup(app) member_def = TestMemberDef(kind='typedef', definition='typedef unsigned int bar') signature = find_node(render(member_def, domain='c'), 'desc_signature') eq_(signature.astext(), 'typedef unsigned int bar') def test_render_c_function_typedef(): + app = MockApp() + sphinx.addnodes.setup(app) member_def = TestMemberDef(kind='typedef', definition='typedef void* (*voidFuncPtr)(float, int)') signature = find_node(render(member_def, domain='c'), 'desc_signature') assert signature.astext().startswith('typedef void*') @@ -284,12 +299,16 @@ def test_render_using_alias(): + app = MockApp() + sphinx.addnodes.setup(app) member_def = TestMemberDef(kind='typedef', definition='using foo = int') signature = find_node(render(member_def), 'desc_signature') assert signature.astext() == 'using foo = int' def test_render_const_func(): + app = MockApp() + sphinx.addnodes.setup(app) member_def = TestMemberDef(kind='function', definition='void f', argsstring='() const', virt='non-virtual', const='yes') signature = find_node(render(member_def), 'desc_signature') @@ -297,6 +316,8 @@ def test_render_lvalue_func(): + app = MockApp() + sphinx.addnodes.setup(app) member_def = TestMemberDef(kind='function', definition='void f', argsstring='()', virt='non-virtual', refqual='lvalue') signature = find_node(render(member_def), 'desc_signature') @@ -304,6 +325,8 @@ def test_render_rvalue_func(): + app = MockApp() + sphinx.addnodes.setup(app) member_def = TestMemberDef(kind='function', definition='void f', argsstring='()', virt='non-virtual', refqual='rvalue') signature = find_node(render(member_def), 'desc_signature') @@ -311,6 +334,8 @@ def test_render_const_lvalue_func(): + app = MockApp() + sphinx.addnodes.setup(app) member_def = TestMemberDef(kind='function', definition='void f', argsstring='()', virt='non-virtual', const='yes', refqual='lvalue') signature = find_node(render(member_def), 'desc_signature') @@ -318,6 +343,8 @@ def test_render_const_rvalue_func(): + app = MockApp() + sphinx.addnodes.setup(app) member_def = TestMemberDef(kind='function', definition='void f', argsstring='()', virt='non-virtual', const='yes', refqual='rvalue') signature = find_node(render(member_def), 'desc_signature') @@ -325,12 +352,16 @@ def test_render_variable_initializer(): + app = MockApp() + sphinx.addnodes.setup(app) member_def = TestMemberDef(kind='variable', definition='const int EOF', initializer=TestMixedContainer(value=u'= -1')) signature = find_node(render(member_def), 'desc_signature') assert signature.astext() == 'const int EOF = -1' def test_render_define_initializer(): + app = MockApp() + sphinx.addnodes.setup(app) member_def = TestMemberDef(kind='define', name='MAX_LENGTH', initializer=TestLinkedText(content_=[TestMixedContainer(value=u'100')])) signature_w_initializer = find_node(render(member_def, show_define_initializer=True), 'desc_signature') @@ -344,6 +375,8 @@ def test_render_define_no_initializer(): + app = MockApp() + sphinx.addnodes.setup(app) member_def = TestMemberDef(kind='define', name='USE_MILK') signature = find_node(render(member_def), 'desc_signature') assert signature.astext() == 'USE_MILK'