Hello community, here is the log from the commit of package python-pybeam for openSUSE:Factory checked in at 2019-12-25 10:54:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-pybeam (Old) and /work/SRC/openSUSE:Factory/.python-pybeam.new.6675 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pybeam" Wed Dec 25 10:54:19 2019 rev:15 rq:758778 version:0.5 Changes: -------- --- /work/SRC/openSUSE:Factory/python-pybeam/python-pybeam.changes 2019-02-26 22:16:04.434197595 +0100 +++ /work/SRC/openSUSE:Factory/.python-pybeam.new.6675/python-pybeam.changes 2019-12-25 10:54:36.121625552 +0100 @@ -1,0 +2,8 @@ +Sun Dec 15 02:38:15 UTC 2019 - Stefan BrĂ¼ns <[email protected]> + +- Make Sphinx dependency optional (docs are not built by default), + add make_sphinx_optional.patch +- Use _multibuild for tests to reduce the build dependencies + and simplify bootstrap for e.g. rpmlint. + +------------------------------------------------------------------- New: ---- _multibuild make_sphinx_optional.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-pybeam.spec ++++++ --- /var/tmp/diff_new_pack.IuUIUp/_old 2019-12-25 10:54:39.257626535 +0100 +++ /var/tmp/diff_new_pack.IuUIUp/_new 2019-12-25 10:54:39.285626543 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-pybeam # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,17 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} -Name: python-pybeam +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "test" +%bcond_with doc +%bcond_without test +%define psuffix -test +%endif +%if "%{flavor}" == "" +%bcond_with doc +%bcond_with test +%endif +Name: python-pybeam%{?psuffix} Version: 0.5 Release: 0 Summary: Python module to parse Erlang BEAM files @@ -25,13 +35,19 @@ Group: Development/Languages/Python URL: http://github.com/matwey/pybeam Source: https://files.pythonhosted.org/packages/source/p/pybeam/pybeam-%{version}.tar.gz +Patch0: make_sphinx_optional.patch +BuildRequires: %{python_module setuptools} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +%if %{with doc} BuildRequires: %{python_module Sphinx} BuildRequires: %{python_module construct < 2.10} BuildRequires: %{python_module construct >= 2.9} -BuildRequires: %{python_module setuptools} +%endif +%if %{with test} +BuildRequires: %{python_module pybeam == %{version}} BuildRequires: %{python_module six} -BuildRequires: fdupes -BuildRequires: python-rpm-macros +%endif Requires: python-construct < 2.10 Requires: python-construct >= 2.9 Requires: python-six >= 1.4.0 @@ -43,21 +59,47 @@ imports, exports, atoms, as well as compile info and attribute chunks in pretty python format. +%package -n %{name}-doc +Summary: API Documentation for %name +Group: Documentation/HTML + +%description -n %{name}-doc +Python module to parse Erlang BEAM files, now it is able to read +imports, exports, atoms, as well as compile info and attribute +chunks in pretty python format. + %prep %setup -q -n pybeam-%{version} +%patch0 -p1 %build +%if %{without test} %python_build +%endif +%if %{with doc} +%python_build build_sphinx +%endif %install +%if %{without test} %python_install %python_expand %fdupes %{buildroot}%{$python_sitelib} +%endif %check +%if %{with test} %python_exec setup.py test +%endif +%if %{without test} %files %{python_files} %license LICENSE %{python_sitelib}/* +%endif + +%if %{with doc} +%files -n %{name}-doc +%doc build/html +%endif %changelog ++++++ _multibuild ++++++ <multibuild> <package>test</package> </multibuild> ++++++ make_sphinx_optional.patch ++++++ >From c1b08b470291b8f9334e600563efa6d2651c2a66 Mon Sep 17 00:00:00 2001 From: StefanBruens <[email protected]> Date: Sun, 15 Dec 2019 02:29:27 +0100 Subject: [PATCH] Do no require Sphinx when doing just a regular build Only the 'build_sphinx' command requires sphinx, so do the import from the command. --- setup.py | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/setup.py b/setup.py index 2057839..04a5917 100644 --- a/setup.py +++ b/setup.py @@ -1,11 +1,27 @@ -from setuptools import find_packages, setup -from sphinx.setup_command import BuildDoc -cmdclass = {'build_sphinx': BuildDoc} +from setuptools import find_packages, setup, Command name="pybeam" version="0.5" test_suite="test" +class BuildSphinx(Command): + description = 'Build Sphinx documentation' + user_options = [] + + def initialize_options(self): + pass + + def finalize_options(self): + pass + + def run(self): + import sphinx.cmd.build as scb + scb.build_main(['-b', 'html', + '-D', 'project=' + name, + '-D', 'version=' + version, + '-D', 'release=' + version, + './doc', './build/html']) + setup(name=name, version=version, description='Python module to parse Erlang BEAM files', @@ -15,13 +31,6 @@ setup(name=name, license='MIT', packages=find_packages(exclude=(test_suite,)), test_suite=test_suite, - install_requires=['construct>=2.9,<2.10', 'six', 'sphinx'], - command_options={ - 'build_sphinx': { - 'project': ('setup.py', name), - 'version': ('setup.py', version), - 'release': ('setup.py', version), - 'source_dir': ('setup.py', 'doc') - } - }, + install_requires=['construct>=2.9,<2.10', 'six'], + cmdclass = {'build_sphinx': BuildSphinx}, zip_safe=False) -- 2.24.0
