forked from pool/python-pybeam
Accepting request 757128 from home:StefanBruens:branches:devel:languages:python
- 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. OBS-URL: https://build.opensuse.org/request/show/757128 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pybeam?expand=0&rev=28
This commit is contained in:
3
_multibuild
Normal file
3
_multibuild
Normal file
@@ -0,0 +1,3 @@
|
||||
<multibuild>
|
||||
<package>test</package>
|
||||
</multibuild>
|
65
make_sphinx_optional.patch
Normal file
65
make_sphinx_optional.patch
Normal file
@@ -0,0 +1,65 @@
|
||||
From c1b08b470291b8f9334e600563efa6d2651c2a66 Mon Sep 17 00:00:00 2001
|
||||
From: StefanBruens <stefan.bruens@rwth-aachen.de>
|
||||
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
|
||||
|
@@ -1,3 +1,11 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Dec 15 02:38:15 UTC 2019 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
||||
|
||||
- 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.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 11 09:48:15 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
||||
|
||||
|
@@ -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 @@ License: MIT
|
||||
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 @@ 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.
|
||||
|
||||
%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
|
||||
|
Reference in New Issue
Block a user