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


Reply via email to