commit python-control for openSUSE:Factory
Hello community, here is the log from the commit of package python-control for openSUSE:Factory checked in at 2020-10-25 18:06:11 Comparing /work/SRC/openSUSE:Factory/python-control (Old) and /work/SRC/openSUSE:Factory/.python-control.new.3463 (New) Package is "python-control" Sun Oct 25 18:06:11 2020 rev:9 rq:841078 version:0.8.3 Changes: --- /work/SRC/openSUSE:Factory/python-control/python-control.changes 2020-07-24 10:07:15.218007648 +0200 +++ /work/SRC/openSUSE:Factory/.python-control.new.3463/python-control.changes 2020-10-25 18:06:20.163329160 +0100 @@ -1,0 +2,5 @@ +Sun Oct 11 18:39:38 UTC 2020 - Benjamin Greiner + +- Skip a test family on Leap because of segfaults in numpy + +--- Other differences: -- ++ python-control.spec ++ --- /var/tmp/diff_new_pack.EfjbLY/_old 2020-10-25 18:06:20.967329921 +0100 +++ /var/tmp/diff_new_pack.EfjbLY/_new 2020-10-25 18:06:20.967329921 +0100 @@ -83,7 +83,11 @@ ignore:.*matrix subclass:PendingDeprecationWarning ignore:.*scipy:DeprecationWarning EOL -%pytest +%if 0%{?suse_version} < 1550 +# segfault: free() error in Leap numpy library +%define donttest -k "not test_clean_part" +%endif +%pytest %{?donttest} %files %{python_files} %doc ChangeLog README.rst
commit python-control for openSUSE:Factory
Hello community, here is the log from the commit of package python-control for openSUSE:Factory checked in at 2020-07-24 10:05:43 Comparing /work/SRC/openSUSE:Factory/python-control (Old) and /work/SRC/openSUSE:Factory/.python-control.new.3592 (New) Package is "python-control" Fri Jul 24 10:05:43 2020 rev:8 rq:822358 version:0.8.3 Changes: --- /work/SRC/openSUSE:Factory/python-control/python-control.changes 2020-07-21 15:50:45.820323357 +0200 +++ /work/SRC/openSUSE:Factory/.python-control.new.3592/python-control.changes 2020-07-24 10:07:15.218007648 +0200 @@ -1,0 +2,5 @@ +Thu Jul 23 09:56:18 UTC 2020 - Benjamin Greiner + +- moved Pillow requirement to matplotlib package + +--- Other differences: -- ++ python-control.spec ++ --- /var/tmp/diff_new_pack.OaoN6K/_old 2020-07-24 10:07:17.134009354 +0200 +++ /var/tmp/diff_new_pack.OaoN6K/_new 2020-07-24 10:07:17.138009358 +0200 @@ -39,7 +39,6 @@ Recommends: python-slycot BuildArch: noarch # SECTION test requirements -BuildRequires: %{python_module Pillow} BuildRequires: %{python_module matplotlib-qt5} BuildRequires: %{python_module matplotlib} BuildRequires: %{python_module numpy}
commit python-control for openSUSE:Factory
Hello community, here is the log from the commit of package python-control for openSUSE:Factory checked in at 2020-07-21 15:49:04 Comparing /work/SRC/openSUSE:Factory/python-control (Old) and /work/SRC/openSUSE:Factory/.python-control.new.3592 (New) Package is "python-control" Tue Jul 21 15:49:04 2020 rev:7 rq:821990 version:0.8.3 Changes: --- /work/SRC/openSUSE:Factory/python-control/python-control.changes 2020-07-10 14:13:26.507639888 +0200 +++ /work/SRC/openSUSE:Factory/.python-control.new.3592/python-control.changes 2020-07-21 15:50:45.820323357 +0200 @@ -1,0 +2,5 @@ +Mon Jul 20 17:48:34 UTC 2020 - Benjamin Greiner + +- explicitely require Pillow for tests because of matplotlib + +--- Other differences: -- ++ python-control.spec ++ --- /var/tmp/diff_new_pack.4RkY3E/_old 2020-07-21 15:50:47.300325187 +0200 +++ /var/tmp/diff_new_pack.4RkY3E/_new 2020-07-21 15:50:47.304325192 +0200 @@ -39,6 +39,7 @@ Recommends: python-slycot BuildArch: noarch # SECTION test requirements +BuildRequires: %{python_module Pillow} BuildRequires: %{python_module matplotlib-qt5} BuildRequires: %{python_module matplotlib} BuildRequires: %{python_module numpy}
commit python-control for openSUSE:Factory
Hello community, here is the log from the commit of package python-control for openSUSE:Factory checked in at 2020-07-10 14:13:22 Comparing /work/SRC/openSUSE:Factory/python-control (Old) and /work/SRC/openSUSE:Factory/.python-control.new.3060 (New) Package is "python-control" Fri Jul 10 14:13:22 2020 rev:6 rq:819785 version:0.8.3 Changes: --- /work/SRC/openSUSE:Factory/python-control/python-control.changes 2020-07-01 14:26:48.722789353 +0200 +++ /work/SRC/openSUSE:Factory/.python-control.new.3060/python-control.changes 2020-07-10 14:13:26.507639888 +0200 @@ -1,0 +2,5 @@ +Thu Jul 9 18:56:06 UTC 2020 - Benjamin Greiner + +- add pr430-numpy119delete.patch to fix test failures with new numpy + +--- New: pr430-numpy119delete.patch Other differences: -- ++ python-control.spec ++ --- /var/tmp/diff_new_pack.Vsvf7i/_old 2020-07-10 14:13:27.231642266 +0200 +++ /var/tmp/diff_new_pack.Vsvf7i/_new 2020-07-10 14:13:27.231642266 +0200 @@ -29,6 +29,7 @@ Patch0: pr365-copy-PR-320-for-robust_array_test.patch Patch1: pr366-ease-precision-tolerance.patch Patch2: pr380-fix-pytest-discovery.patch +Patch3: pr430-numpy119delete.patch BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros @@ -57,9 +58,7 @@ %prep %setup -q -n control-%{version} -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 +%autopatch -p1 #remove shebang sed -i '1{\@^#!/usr/bin/env python@ d}' control/tests/*.py ++ pr430-numpy119delete.patch ++ >From 1c91dce12d054b0edf095172970cf64e9d9e7f6a Mon Sep 17 00:00:00 2001 From: bnavigator Date: Thu, 9 Jul 2020 20:10:04 +0200 Subject: [PATCH] only call np.delete with actual removal --- control/iosys.py | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/control/iosys.py b/control/iosys.py index 908f407..e2bdb29 100644 --- a/control/iosys.py +++ b/control/iosys.py @@ -1643,8 +1643,10 @@ def find_eqpt(sys, x0, u0=[], y0=None, t=0, params={}, # and were processed above. # Get the states and inputs that were not listed as fixed -state_vars = np.delete(np.array(range(nstates)), ix) -input_vars = np.delete(np.array(range(ninputs)), iu) +state_vars = (range(nstates) if not len(ix) + else np.delete(np.array(range(nstates)), ix)) +input_vars = (range(ninputs) if not len(iu) +else np.delete(np.array(range(ninputs)), iu)) # Set the outputs and derivs that will serve as constraints output_vars = np.array(iy) -- 2.27.0
commit python-control for openSUSE:Factory
Hello community, here is the log from the commit of package python-control for openSUSE:Factory checked in at 2020-07-01 14:26:46 Comparing /work/SRC/openSUSE:Factory/python-control (Old) and /work/SRC/openSUSE:Factory/.python-control.new.3060 (New) Package is "python-control" Wed Jul 1 14:26:46 2020 rev:5 rq:817899 version:0.8.3 Changes: --- /work/SRC/openSUSE:Factory/python-control/python-control.changes 2020-06-27 23:22:39.981839261 +0200 +++ /work/SRC/openSUSE:Factory/.python-control.new.3060/python-control.changes 2020-07-01 14:26:48.722789353 +0200 @@ -1,0 +2,6 @@ +Tue Jun 30 12:21:40 UTC 2020 - Benjamin Greiner + +- remove ppc workaround +- remove _service file + +--- Old: _service Other differences: -- ++ python-control.spec ++ --- /var/tmp/diff_new_pack.sJvFqr/_old 2020-07-01 14:26:49.822792764 +0200 +++ /var/tmp/diff_new_pack.sJvFqr/_new 2020-07-01 14:26:49.826792776 +0200 @@ -45,7 +45,9 @@ BuildRequires: %{python_module pytest} BuildRequires: %{python_module scipy} BuildRequires: %{python_module slycot} +%ifarch %ix86 BuildRequires: libjemalloc2 +%endif # /SECTION %python_subpackages @@ -76,16 +78,13 @@ # preload malloc library to avoid free() error on i586 architecture export LD_PRELOAD="%{_libdir}/libjemalloc.so.2" %endif -%if %{_arch} == ppc64 || %{_arch} == ppc64le -%define skiptests -k "not TestMixsyn" -%endif cat >> setup.cfg <
commit python-control for openSUSE:Factory
Hello community, here is the log from the commit of package python-control for openSUSE:Factory checked in at 2020-06-27 23:22:39 Comparing /work/SRC/openSUSE:Factory/python-control (Old) and /work/SRC/openSUSE:Factory/.python-control.new.3060 (New) Package is "python-control" Sat Jun 27 23:22:39 2020 rev:4 rq:817307 version:0.8.3 Changes: --- /work/SRC/openSUSE:Factory/python-control/python-control.changes 2020-01-18 12:19:11.859173226 +0100 +++ /work/SRC/openSUSE:Factory/.python-control.new.3060/python-control.changes 2020-06-27 23:22:39.981839261 +0200 @@ -1,0 +2,9 @@ +Fri Jun 26 15:29:50 UTC 2020 - Benjamin Greiner + +- move to pytest, ignore deprecation warnings for scipy functions + and matrix type during tests gh#python-control/python-control#423 +- fix invalid test discovery by pr380-fix-pytest-discovery.patch + gh#python-control/python-control#380 +- skip mixsyn test on PowerPC boo#1172555 + +--- New: pr380-fix-pytest-discovery.patch python-control-rpmlintrc Other differences: -- ++ python-control.spec ++ --- /var/tmp/diff_new_pack.QnzUyU/_old 2020-06-27 23:22:40.609841326 +0200 +++ /var/tmp/diff_new_pack.QnzUyU/_new 2020-06-27 23:22:40.609841326 +0200 @@ -25,11 +25,14 @@ License:BSD-3-Clause URL:http://python-control.sourceforge.net Source: https://files.pythonhosted.org/packages/source/c/control/control-%{version}.tar.gz +Source1:%{name}-rpmlintrc Patch0: pr365-copy-PR-320-for-robust_array_test.patch Patch1: pr366-ease-precision-tolerance.patch +Patch2: pr380-fix-pytest-discovery.patch BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros +Requires: python-matplotlib Requires: python-numpy Requires: python-scipy Recommends: python-slycot @@ -37,12 +40,12 @@ # SECTION test requirements BuildRequires: %{python_module matplotlib-qt5} BuildRequires: %{python_module matplotlib} -BuildRequires: %{python_module nose} BuildRequires: %{python_module numpy} +BuildRequires: %{python_module pytest-xvfb} +BuildRequires: %{python_module pytest} BuildRequires: %{python_module scipy} BuildRequires: %{python_module slycot} BuildRequires: libjemalloc2 -BuildRequires: xvfb-run # /SECTION %python_subpackages @@ -54,6 +57,9 @@ %setup -q -n control-%{version} %patch0 -p1 %patch1 -p1 +%patch2 -p1 +#remove shebang +sed -i '1{\@^#!/usr/bin/env python@ d}' control/tests/*.py %build %python_build @@ -64,21 +70,27 @@ %check # The default Agg backend does not define the toolbar attribute in the Figure -# Manager used by some tests, so we run the tests with the Qt5 backend in a -# virtual X server environment +# Manager used by some tests, so we run the tests with the Qt5 backend +export MPLBACKEND="Qt5Agg" %if %{_arch} == i386 # preload malloc library to avoid free() error on i586 architecture export LD_PRELOAD="%{_libdir}/libjemalloc.so.2" %endif -%{python_expand export PYTHONPATH=%{buildroot}%{$python_sitelib} -export MPLBACKEND="Qt5Agg" -xvfb-run -a $python setup.py test -} +%if %{_arch} == ppc64 || %{_arch} == ppc64le +%define skiptests -k "not TestMixsyn" +%endif +cat >> setup.cfg <
commit python-control for openSUSE:Factory
Hello community, here is the log from the commit of package python-control for openSUSE:Factory checked in at 2020-01-18 12:18:30 Comparing /work/SRC/openSUSE:Factory/python-control (Old) and /work/SRC/openSUSE:Factory/.python-control.new.26092 (New) Package is "python-control" Sat Jan 18 12:18:30 2020 rev:3 rq:765399 version:0.8.3 Changes: --- /work/SRC/openSUSE:Factory/python-control/python-control.changes 2019-12-04 14:20:23.994439139 +0100 +++ /work/SRC/openSUSE:Factory/.python-control.new.26092/python-control.changes 2020-01-18 12:19:11.859173226 +0100 @@ -1,0 +2,17 @@ +Sat Jan 18 01:18:39 UTC 2020 - Benjamin Greiner + +- update to version 0.8.3 +- remove patches that were merged upstream: +python-control-fixtestaugw.patch +python-control-pr317.patch +python-control-pr345.patch +- pr365-copy-PR-320-for-robust_array_test.patch + upstream PR#365 the former fixtestaugw patch for the new + duplicated array test +- pr366-ease-precision-tolerance.patch + upstream PR#366 to pass the checks on more architectures +- remove Python 2 package +- run all tests in xvfb env and prealloc differently for i586 + architecture + +--- Old: control-0.8.2.tar.gz python-control-fixtestaugw.patch python-control-pr317.patch python-control-pr345.patch New: _service control-0.8.3.tar.gz pr365-copy-PR-320-for-robust_array_test.patch pr366-ease-precision-tolerance.patch Other differences: -- ++ python-control.spec ++ --- /var/tmp/diff_new_pack.aPiV8w/_old 2020-01-18 12:19:12.719173688 +0100 +++ /var/tmp/diff_new_pack.aPiV8w/_new 2020-01-18 12:19:12.723173689 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-control # -# Copyright (c) 2019 SUSE LLC +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,16 +17,16 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} +%define skip_python2 1 Name: python-control -Version:0.8.2 +Version:0.8.3 Release:0 Summary:Python control systems library License:BSD-3-Clause URL:http://python-control.sourceforge.net Source: https://files.pythonhosted.org/packages/source/c/control/control-%{version}.tar.gz -Patch0: python-control-fixtestaugw.patch -Patch1: python-control-pr317.patch -Patch2: python-control-pr345.patch +Patch0: pr365-copy-PR-320-for-robust_array_test.patch +Patch1: pr366-ease-precision-tolerance.patch BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros @@ -37,12 +37,11 @@ # SECTION test requirements BuildRequires: %{python_module matplotlib-qt5} BuildRequires: %{python_module matplotlib} -BuildRequires: %{python_module nose-exclude} BuildRequires: %{python_module nose} BuildRequires: %{python_module numpy} BuildRequires: %{python_module scipy} BuildRequires: %{python_module slycot} -BuildRequires: libtcmalloc4 +BuildRequires: libjemalloc2 BuildRequires: xvfb-run # /SECTION %python_subpackages @@ -55,7 +54,6 @@ %setup -q -n control-%{version} %patch0 -p1 %patch1 -p1 -%patch2 -p1 %build %python_build @@ -66,21 +64,15 @@ %check # The default Agg backend does not define the toolbar attribute in the Figure -# Manager used by some tests, so we run those tests with the Qt5 backend in a +# Manager used by some tests, so we run the tests with the Qt5 backend in a # virtual X server environment %if %{_arch} == i386 -export LD_PRELOAD="%{_libdir}/libtcmalloc_minimal.so.4" +# preload malloc library to avoid free() error on i586 architecture +export LD_PRELOAD="%{_libdir}/libjemalloc.so.2" %endif %{python_expand export PYTHONPATH=%{buildroot}%{$python_sitelib} -export MPLBACKEND="Agg" -nosetests-%$python_bin_suffix \ ---exclude-test control.tests.sisotool_test \ ---exclude-test control.tests.rlocus_test export MPLBACKEND="Qt5Agg" -export LD_PRELOAD="%{_libdir}/libtcmalloc_minimal.so.4" -xvfb-run -a nosetests-%$python_bin_suffix \ -control.tests.sisotool_test \ -control.tests.rlocus_test +xvfb-run -a $python setup.py test } %files %{python_files} ++ _service ++ ++ control-0.8.2.tar.gz -> control-0.8.3.tar.gz ++ 15087 lines of diff (skipped) ++ pr365-copy-PR-320-for-robust_array_test.patch ++ >From b4b3d10c1ab5ef1bbf4d992f045408f6f6e88de7 Mon Sep 17 00:00:00 2001 From: Benjamin Greiner Date: Sat, 4 Jan 2020 22:30:42 -0800 Subject: [PATCH] copy PR 320 for robust_array_test --- control/t
commit python-control for openSUSE:Factory
Hello community, here is the log from the commit of package python-control for openSUSE:Factory checked in at 2019-12-04 13:53:54 Comparing /work/SRC/openSUSE:Factory/python-control (Old) and /work/SRC/openSUSE:Factory/.python-control.new.4691 (New) Package is "python-control" Wed Dec 4 13:53:54 2019 rev:2 rq:753327 version:0.8.2 Changes: --- /work/SRC/openSUSE:Factory/python-control/python-control.changes 2019-11-06 14:07:07.736850276 +0100 +++ /work/SRC/openSUSE:Factory/.python-control.new.4691/python-control.changes 2019-12-04 14:20:23.994439139 +0100 @@ -1,0 +2,6 @@ +Wed Nov 27 18:13:20 UTC 2019 - Benjamin Greiner + +- python-control-pr345.patch: PR#345 to fix fails on some + architectures because of machine precision + +--- New: python-control-pr345.patch Other differences: -- ++ python-control.spec ++ --- /var/tmp/diff_new_pack.EbMgiB/_old 2019-12-04 14:20:24.522439583 +0100 +++ /var/tmp/diff_new_pack.EbMgiB/_new 2019-12-04 14:20:24.526439587 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-control # -# 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 @@ -26,6 +26,7 @@ Source: https://files.pythonhosted.org/packages/source/c/control/control-%{version}.tar.gz Patch0: python-control-fixtestaugw.patch Patch1: python-control-pr317.patch +Patch2: python-control-pr345.patch BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros @@ -54,6 +55,7 @@ %setup -q -n control-%{version} %patch0 -p1 %patch1 -p1 +%patch2 -p1 %build %python_build ++ python-control-pr345.patch ++ diff --git a/control/tests/xferfcn_test.py b/control/tests/xferfcn_test.py index 35e411b..ee779f9 100644 --- a/control/tests/xferfcn_test.py +++ b/control/tests/xferfcn_test.py @@ -403,8 +403,57 @@ class TestXferFcn(unittest.TestCase): np.testing.assert_array_equal(omega, true_omega) # Tests for TransferFunction.pole and TransferFunction.zero. - -@unittest.skipIf(not slycot_check(), "slycot not installed") + +def test_common_den(self): +""" Test the helper function to compute common denomitators.""" + +# _common_den() computes the common denominator per input/column. +# The testing columns are: +# 0: no common poles +# 1: regular common poles +# 2: poles with multiplicity, +# 3: complex poles +# 4: complex poles below threshold + +eps = np.finfo(float).eps +tol_imag = np.sqrt(eps*5*2*2)*0.9 + +numin = [[[1.], [1.], [1.], [1.], [1.]], + [[1.], [1.], [1.], [1.], [1.]]] +denin = [[[1., 3., 2.], # 0: poles: [-1, -2] + [1., 6., 11., 6.], # 1: poles: [-1, -2, -3] + [1., 6., 11., 6.], # 2: poles: [-1, -2, -3] + [1., 6., 11., 6.], # 3: poles: [-1, -2, -3] + [1., 6., 11., 6.]],# 4: poles: [-1, -2, -3], + [[1., 12., 47., 60.], # 0: poles: [-3, -4, -5] + [1., 9., 26., 24.],# 1: poles: [-2, -3, -4] + [1., 7., 16., 12.],# 2: poles: [-2, -2, -3] + [1., 7., 17., 15.],# 3: poles: [-2+1J, -2-1J, -3], + np.poly([-2 + tol_imag * 1J, -2 - tol_imag * 1J, -3])]] +numref = np.array([ +[[0., 0., 1., 12., 47., 60.], + [0., 0., 0., 1., 4., 0.], + [0., 0., 0., 1., 2., 0.], + [0., 0., 0., 1., 4., 5.], + [0., 0., 0., 1., 2., 0.]], +[[0., 0., 0., 1., 3., 2.], + [0., 0., 0., 1., 1., 0.], + [0., 0., 0., 1., 1., 0.], + [0., 0., 0., 1., 3., 2.], + [0., 0., 0., 1., 1., 0.]]]) +denref = np.array( +[[1., 15., 85., 225., 274., 120.], + [1., 10., 35., 50., 24., 0.], + [1., 8., 23., 28., 12., 0.], + [1., 10., 40., 80., 79., 30.], + [1., 8., 23., 28., 12., 0.]]) +sys = TransferFunction(numin, denin) +num, den, denorder = sys._common_den() +np.testing.assert_array_almost_equal(num[:2, :, :], numref) +np.testing.assert_array_almost_equal(num[2:, :, :], + np.zeros((3, 5, 6))) +np.testing.assert_array_almost_equal(den, denref) + def test_
commit python-control for openSUSE:Factory
Hello community, here is the log from the commit of package python-control for openSUSE:Factory checked in at 2019-11-06 14:07:02 Comparing /work/SRC/openSUSE:Factory/python-control (Old) and /work/SRC/openSUSE:Factory/.python-control.new.2990 (New) Package is "python-control" Wed Nov 6 14:07:02 2019 rev:1 rq:745475 version:0.8.2 Changes: New Changes file: --- /dev/null 2019-10-24 10:19:07.066239389 +0200 +++ /work/SRC/openSUSE:Factory/.python-control.new.2990/python-control.changes 2019-11-06 14:07:07.736850276 +0100 @@ -0,0 +1,34 @@ +--- +Mon Nov 4 13:25:48 UTC 2019 - Benjamin Greiner + +- fix segfault: run only those tests that require xvfb with xvfb-run +- fix i586 build fail: add upstream PR#317 to replace float128 + +--- +Thu Jun 27 13:12:31 UTC 2019 - Benjamin Greiner + +- remove python-devel from BuildRequires + +--- +Tue Jun 25 15:41:59 UTC 2019 - Benjamin Greiner + +- add slycot to BuildRequires for tests + +--- +Wed Jun 19 12:48:24 UTC 2019 - Benjamin Greiner + +- switch to xvfb-run + +--- +Wed Jun 19 11:05:31 UTC 2019 - Benjamin Greiner + +make v0.8.2 spec test suite compliant +- specify Qt5Agg as Matplotlib backend +- add X11 to build system so that Qt5 tests pass +- reorganize spec file + +--- +Mon May 13 19:16:19 UTC 2019 - Benjamin Greiner + +update to version 0.8.2 +- New: control-0.8.2.tar.gz python-control-fixtestaugw.patch python-control-pr317.patch python-control.changes python-control.spec Other differences: -- ++ python-control.spec ++ # # spec file for package python-control # # Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-control Version:0.8.2 Release:0 Summary:Python control systems library License:BSD-3-Clause URL:http://python-control.sourceforge.net Source: https://files.pythonhosted.org/packages/source/c/control/control-%{version}.tar.gz Patch0: python-control-fixtestaugw.patch Patch1: python-control-pr317.patch BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros Requires: python-numpy Requires: python-scipy Recommends: python-slycot BuildArch: noarch # SECTION test requirements BuildRequires: %{python_module matplotlib-qt5} BuildRequires: %{python_module matplotlib} BuildRequires: %{python_module nose-exclude} BuildRequires: %{python_module nose} BuildRequires: %{python_module numpy} BuildRequires: %{python_module scipy} BuildRequires: %{python_module slycot} BuildRequires: libtcmalloc4 BuildRequires: xvfb-run # /SECTION %python_subpackages %description The Python Control Systems Library is a Python module that implements basic operations for analysis and design of feedback control systems. %prep %setup -q -n control-%{version} %patch0 -p1 %patch1 -p1 %build %python_build %install %python_install %python_expand %fdupes %{buildroot}%{$python_sitelib} %check # The default Agg backend does not define the toolbar attribute in the Figure # Manager used by some tests, so we run those tests with the Qt5 backend in a # virtual X server environment %if %{_arch} == i386 export LD_PRELOAD="%{_libdir}/libtcmalloc_minimal.so.4" %endif %{python_expand export PYTHONPATH=%{buildroot}%{$python_sitelib} export MPLBACKEND="Agg" nosetests-%$python_bin_suffix \ --exclude-test control.tests.sisotool_test \ --exclude-test control.tests.rlocus_test export MPLBACKEND="Qt5Agg" export LD_PRELOAD="%{_libdir}/libtcmalloc_minimal.so.4" xvfb-run -a nosetests-%$python_bin_suffix \ control.tests.sisotool_test \ control.tests.rlocus_test } %files %{pyt