Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-slycot for openSUSE:Factory 
checked in at 2022-11-25 14:56:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-slycot (Old)
 and      /work/SRC/openSUSE:Factory/.python-slycot.new.1597 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-slycot"

Fri Nov 25 14:56:15 2022 rev:16 rq:1037768 version:0.5.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-slycot/python-slycot.changes      
2022-07-11 19:10:58.063745453 +0200
+++ /work/SRC/openSUSE:Factory/.python-slycot.new.1597/python-slycot.changes    
2022-11-25 14:56:16.456185981 +0100
@@ -1,0 +2,14 @@
+Wed Nov 23 21:15:35 UTC 2022 - Ben Greiner <c...@bnavigator.de>
+
+- Update to v0.5.2
+  * Drop Support for Python 3.7
+- Release v0.5.1
+  * This release is a minor change in the build system. There are
+    no new wrappers or code changes of existing SLICOT wrappers.
+  * Use FindPython instead of deprecated FindPythonLibs by
+    @bnavigator in #181
+  * Use setuptools_scm instead of custom version determination code
+    by @bnavigator in #180
+  * Support Python 3.11 by @bnavigator in #182
+
+-------------------------------------------------------------------

Old:
----
  slycot-0.5.0.0.tar.gz

New:
----
  slycot-0.5.2.tar.gz
  slycot-rpmlintrc

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-slycot.spec ++++++
--- /var/tmp/diff_new_pack.7rIMfK/_old  2022-11-25 14:56:17.192189854 +0100
+++ /var/tmp/diff_new_pack.7rIMfK/_new  2022-11-25 14:56:17.196189875 +0100
@@ -16,31 +16,34 @@
 #
 
 
-%define distversion 0.5.0
 Name:           python-slycot
-Version:        0.5.0.0
+Version:        0.5.2
 Release:        0
 Summary:        A wrapper for the SLICOT control and systems library
 License:        BSD-3-Clause AND GPL-2.0-only
 Group:          Development/Languages/Python
 URL:            https://github.com/python-control/Slycot
-Source:         
https://files.pythonhosted.org/packages/source/s/slycot/slycot-%{version}.tar.gz
-BuildRequires:  %{python_module devel}
+Source0:        
https://files.pythonhosted.org/packages/source/s/slycot/slycot-%{version}.tar.gz
+Source99:       slycot-rpmlintrc
+BuildRequires:  %{python_module devel >= 3.8}
 BuildRequires:  %{python_module numpy-devel}
 BuildRequires:  %{python_module pip}
-BuildRequires:  %{python_module pytest}
-BuildRequires:  %{python_module scikit-build}
-BuildRequires:  %{python_module scipy}
-BuildRequires:  %{python_module setuptools}
+BuildRequires:  %{python_module scikit-build >= 0.15}
+BuildRequires:  %{python_module setuptools >= 45}
+BuildRequires:  %{python_module setuptools_scm >= 7.0}
 BuildRequires:  %{python_module wheel}
 BuildRequires:  blas-devel
-BuildRequires:  cmake >= 3.11
+BuildRequires:  cmake >= 3.14
 BuildRequires:  fdupes
 BuildRequires:  gcc
 BuildRequires:  gcc-fortran
 BuildRequires:  lapack-devel
 BuildRequires:  python-rpm-macros
 Requires:       python-numpy
+# SECTION test
+BuildRequires:  %{python_module pytest}
+BuildRequires:  %{python_module scipy}
+# /SECTION
 %python_subpackages
 
 %description
@@ -48,6 +51,7 @@
 
 %prep
 %setup -q -n slycot-%{version}
+cp slycot/src/SLICOT-Reference/LICENSE LICENSE-SLICOT
 
 %build
 export CFLAGS="%{optflags}"
@@ -57,7 +61,7 @@
 # generic BLAS/LAPACK binaries so that update-alternatives can choose
 # the implementation for runtime.
 export BLA_VENDOR="Generic"
-%{python_expand # give the pep517 build the correct f2py flavor
+%{python_expand # give the pep517 build the correct f2py flavor as "f2py3"
 mkdir -p build/buildbin
 ln -s %{_bindir}/f2py-%{$python_bin_suffix} build/buildbin/f2py3
 }
@@ -77,8 +81,8 @@
 
 %files %{python_files}
 %doc README.rst
-%license COPYING
+%license COPYING LICENSE-SLICOT
 %{python_sitearch}/slycot
-%{python_sitearch}/slycot-%{distversion}*-info
+%{python_sitearch}/slycot-%{version}.dist-info
 
 %changelog

++++++ slycot-0.5.0.0.tar.gz -> slycot-0.5.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.5.0.0/.coveragerc 
new/slycot-0.5.2/.coveragerc
--- old/slycot-0.5.0.0/.coveragerc      1970-01-01 01:00:00.000000000 +0100
+++ new/slycot-0.5.2/.coveragerc        2022-07-16 12:42:02.000000000 +0200
@@ -0,0 +1,12 @@
+[run]
+source = slycot
+omit = 
+  */tests/*
+  */version.py
+
+
+# please do not add any sections after this block
+# the CI will add the slycot modules as last line here
+[paths]
+source =
+  slycot/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.5.0.0/.github/conda-env/build-env.yml 
new/slycot-0.5.2/.github/conda-env/build-env.yml
--- old/slycot-0.5.0.0/.github/conda-env/build-env.yml  1970-01-01 
01:00:00.000000000 +0100
+++ new/slycot-0.5.2/.github/conda-env/build-env.yml    2022-11-23 
21:17:18.000000000 +0100
@@ -0,0 +1,4 @@
+name: build-env
+dependencies:
+  - boa
+  - numpy!=1.23.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.5.0.0/.github/conda-env/test-env.yml 
new/slycot-0.5.2/.github/conda-env/test-env.yml
--- old/slycot-0.5.0.0/.github/conda-env/test-env.yml   1970-01-01 
01:00:00.000000000 +0100
+++ new/slycot-0.5.2/.github/conda-env/test-env.yml     2021-03-17 
12:49:19.000000000 +0100
@@ -0,0 +1,11 @@
+name: test-env
+dependencies:
+  # in addtion to package dependencies and explicit LAPACK/BLAS 
implementations installed in workflow
+  - conda-build  # for conda index
+  - scipy
+  - matplotlib
+  - pytest
+  - pytest-cov
+  - pytest-timeout
+  - coverage
+  - coveralls
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.5.0.0/.github/scripts/run-tests.sh 
new/slycot-0.5.2/.github/scripts/run-tests.sh
--- old/slycot-0.5.0.0/.github/scripts/run-tests.sh     1970-01-01 
01:00:00.000000000 +0100
+++ new/slycot-0.5.2/.github/scripts/run-tests.sh       2021-01-30 
13:23:36.000000000 +0100
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+set -e
+
+echo "::group::Slycot unit tests"
+pytest -v --pyargs slycot \
+       --cov=${slycot_libdir:=$(python -c "import slycot; 
print(slycot.__path__[0])")} \
+       --cov-config=${slycot_srcdir:=$(realpath ./slycot-src)}/.coveragerc
+mv .coverage ${slycot_srcdir}/.coverage.slycot
+echo "::endgroup::"
+
+echo "::group::python-control unit tests"
+pushd ${python_control_srcdir:=./python-control}
+# test_root_locus_zoom, test_sisotool: problems with the toolbar for MPL 
backends, not relevant to Slycot
+pytest control/tests \
+        --cov=$slycot_libdir \
+        --cov-config=${slycot_srcdir}/.coveragerc \
+        -k "not (test_root_locus_zoom or test_sisotool)"
+mv .coverage ${slycot_srcdir}/.coverage.control
+popd
+echo "::endgroup::"
+
+echo "::group::run slycot.test() inside interpreter"
+echo 'import slycot; slycot.test()' > runtest.py
+coverage run --source ${slycot_libdir} --rcfile ${slycot_srcdir}/.coveragerc 
runtest.py
+mv .coverage ${slycot_srcdir}/.coverage.slycot-inline
+
+echo "::group::Combine coverage"
+# needs to run from within slycot source dir
+cd ${slycot_srcdir}
+echo "  ${slycot_libdir}" >> .coveragerc
+coverage combine
+coverage report
+echo "::endgroup::"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/slycot-0.5.0.0/.github/scripts/set-conda-test-matrix.py 
new/slycot-0.5.2/.github/scripts/set-conda-test-matrix.py
--- old/slycot-0.5.0.0/.github/scripts/set-conda-test-matrix.py 1970-01-01 
01:00:00.000000000 +0100
+++ new/slycot-0.5.2/.github/scripts/set-conda-test-matrix.py   2021-02-07 
12:42:42.000000000 +0100
@@ -0,0 +1,34 @@
+""" set-conda-test-matrix.py
+
+Create test matrix for conda packages
+"""
+import json, re
+from pathlib import Path
+
+osmap = {'linux': 'ubuntu',
+         'osx': 'macos',
+         'win': 'windows',
+         }
+
+blas_implementations = ['unset', 'Generic', 'OpenBLAS', 'Intel10_64lp']
+
+combinations = {'ubuntu': blas_implementations,
+                'macos': blas_implementations,
+                'windows': ['unset', 'Intel10_64lp'],
+               }
+
+conda_jobs = []
+for conda_pkg_file in Path("slycot-conda-pkgs").glob("*/*.tar.bz2"):
+    cos = osmap[conda_pkg_file.parent.name.split("-")[0]]
+    m = re.search(r'py(\d)(\d+)_', conda_pkg_file.name)
+    pymajor, pyminor = int(m[1]), int(m[2])
+    cpy = f'{pymajor}.{pyminor}'
+    for cbl in combinations[cos]:
+        cjob = {'packagekey': f'{cos}-{cpy}',
+                'os': cos,
+                'python': cpy,
+                'blas_lib':  cbl}
+        conda_jobs.append(cjob)
+
+matrix = { 'include': conda_jobs }
+print(json.dumps(matrix))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/slycot-0.5.0.0/.github/scripts/set-pip-test-matrix.py 
new/slycot-0.5.2/.github/scripts/set-pip-test-matrix.py
--- old/slycot-0.5.0.0/.github/scripts/set-pip-test-matrix.py   1970-01-01 
01:00:00.000000000 +0100
+++ new/slycot-0.5.2/.github/scripts/set-pip-test-matrix.py     2021-01-30 
13:23:36.000000000 +0100
@@ -0,0 +1,28 @@
+""" set-pip-test-matrix.py
+
+Create test matrix for pip wheels
+"""
+import json
+from pathlib import Path
+
+system_opt_blas_libs = {'ubuntu': ['OpenBLAS'],
+                        'macos' : ['OpenBLAS', 'Apple']}
+
+wheel_jobs = []
+for wkey in Path("slycot-wheels").iterdir():
+    wos, wpy, wbl = wkey.name.split("-")
+    wheel_jobs.append({'packagekey':  wkey.name,
+                        'os': wos,
+                        'python': wpy,
+                        'blas_lib': wbl,
+                        })
+    if wbl == "Generic":
+        for bl in system_opt_blas_libs[wos]:
+            wheel_jobs.append({ 'packagekey':  wkey.name,
+                                'os': wos,
+                                'python': wpy,
+                                'blas_lib': bl,
+                                })
+
+matrix = { 'include': wheel_jobs }
+print(json.dumps(matrix))
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/slycot-0.5.0.0/.github/workflows/slycot-build-and-test.yml 
new/slycot-0.5.2/.github/workflows/slycot-build-and-test.yml
--- old/slycot-0.5.0.0/.github/workflows/slycot-build-and-test.yml      
1970-01-01 01:00:00.000000000 +0100
+++ new/slycot-0.5.2/.github/workflows/slycot-build-and-test.yml        
2022-11-23 21:17:18.000000000 +0100
@@ -0,0 +1,384 @@
+name: Build and Test Slycot
+on:
+  push:
+  pull_request:
+    paths-ignore:
+      - '.gitignore'
+      - 'AUTHORS'
+      - 'COPYING'
+      - 'gpl-2.0.txt'
+      - 'MANIFEST.in'
+      - 'README.rst'
+
+jobs:
+
+  build-sdist:
+    # Super fast sniff build. If this fails, don't start the other jobs
+    name: Build sdist on Ubuntu
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout Slycot
+        uses: actions/checkout@v3
+        with:
+          fetch-depth: 0
+          submodules: 'recursive'
+      - name: Set up Python
+        uses: actions/setup-python@v4
+        with:
+          python-version: '3.11'
+      - name: Setup Ubuntu
+        run: |
+          sudo apt-get -y install gfortran cmake --fix-missing
+          sudo apt-get -y install libblas-dev liblapack-dev
+      - name: Create Slycot sdist
+        run: |
+          pip install build
+          python -m build --sdist
+      - name: Install Slycot sdist
+        run: |
+          mkdir cleancwd
+          cd cleancwd
+          tar xfz ../dist/slycot-*.tar.gz
+          cd slycot-*
+          pip install -v .
+      - name: Run tests
+        run: |
+          pip install scipy pytest
+          pytest
+
+  build-pip:
+    name: Build pip Py${{ matrix.python }}, ${{ matrix.os }}, ${{ 
matrix.bla_vendor}} BLA_VENDOR
+    runs-on: ${{ matrix.os }}-latest
+    needs: build-sdist
+    strategy:
+        fail-fast: false
+        matrix:
+            os:
+              - 'ubuntu'
+              - 'macos'
+            python:
+              - '3.8'
+              - '3.11'
+            bla_vendor: [ 'unset' ]
+            include:
+              - os: 'ubuntu'
+                python: '3.11'
+                bla_vendor: 'Generic'
+              - os: 'ubuntu'
+                python: '3.11'
+                bla_vendor: 'OpenBLAS'
+              - os: 'macos'
+                python: '3.11'
+                bla_vendor: 'Apple'
+              - os: 'macos'
+                python: '3.11'
+                bla_vendor: 'Generic'
+              - os: 'macos'
+                python: '3.11'
+                bla_vendor: 'OpenBLAS'
+
+    steps:
+      - name: Checkout Slycot
+        uses: actions/checkout@v3
+        with:
+          fetch-depth: 0
+          submodules: 'recursive'
+      - name: Set up Python
+        uses: actions/setup-python@v4
+        with:
+          python-version: ${{ matrix.python }}
+      - name: Setup Ubuntu
+        if: matrix.os == 'ubuntu'
+        run: |
+          sudo apt-get -y update
+          sudo apt-get -y install gfortran cmake --fix-missing
+          case ${{ matrix.bla_vendor }} in
+            unset | Generic )  sudo apt-get -y install libblas-dev 
liblapack-dev ;;
+            OpenBLAS        ) sudo apt-get -y install libopenblas-dev ;;
+            *)
+              echo "bla_vendor option ${{ matrix.bla_vendor }} not supported"
+              exit 1 ;;
+          esac
+      - name: Setup macOS
+        if: matrix.os == 'macos'
+        run: |
+          case ${{ matrix.bla_vendor }} in
+            unset | Generic | Apple ) ;; # Found in system
+            OpenBLAS )
+              brew install openblas
+              echo "BLAS_ROOT=/usr/local/opt/openblas/" >> $GITHUB_ENV
+              echo "LAPACK_ROOT=/usr/local/opt/openblas/" >> $GITHUB_ENV
+              ;;
+            *)
+              echo "bla_vendor option ${{ matrix.bla_vendor }} not supported"
+              exit 1 ;;
+          esac
+          echo "FC=gfortran-11" >> $GITHUB_ENV
+      - name: Build wheel
+        env:
+          BLA_VENDOR: ${{ matrix.bla_vendor }}
+          CMAKE_GENERATOR: Unix Makefiles
+        run: |
+          if [[ $BLA_VENDOR = unset ]]; then unset BLA_VENDOR; fi
+          python -m pip install --upgrade pip
+          pip wheel -v -w . .
+          wheeldir=slycot-wheels/${{ matrix.os }}-${{ matrix.python }}-${{ 
matrix.bla_vendor }}
+          mkdir -p ${wheeldir}
+          cp ./slycot*.whl ${wheeldir}/
+      - name: Save wheel
+        uses: actions/upload-artifact@v3
+        with:
+          name: slycot-wheels
+          path: slycot-wheels
+
+  build-conda:
+    name: Build conda Py${{ matrix.python }}, ${{ matrix.os }}
+    runs-on: ${{ matrix.os }}-latest
+    needs: build-sdist
+    strategy:
+        fail-fast: false
+        matrix:
+          os:
+            - 'ubuntu'
+            - 'macos'
+            - 'windows'
+          python:
+            - '3.9'
+            - '3.11'
+
+    steps:
+      - name: Checkout Slycot
+        uses: actions/checkout@v3
+        with:
+          fetch-depth: 0
+          submodules: 'recursive'
+      - name: Setup Conda
+        uses: conda-incubator/setup-miniconda@v2
+        with:
+          python-version: ${{ matrix.python }}
+          activate-environment: build-env
+          environment-file: .github/conda-env/build-env.yml
+          miniforge-version: latest
+          miniforge-variant: Mambaforge
+          channel-priority: strict
+          auto-update-conda: false
+          auto-activate-base: false
+      - name: Conda build
+        shell: bash -l {0}
+        run: |
+          set -e
+          numpyversion=$(python -c 'import numpy; 
print(numpy.version.version)')
+          conda mambabuild --python "${{ matrix.python }}" --numpy 
$numpyversion conda-recipe
+          # preserve directory structure for custom conda channel
+          find "${CONDA_PREFIX}/conda-bld" -maxdepth 2 -name 'slycot*.tar.bz2' 
| while read -r conda_pkg; do
+            conda_platform=$(basename $(dirname "${conda_pkg}"))
+            mkdir -p "slycot-conda-pkgs/${conda_platform}"
+            cp "${conda_pkg}" "slycot-conda-pkgs/${conda_platform}/"
+          done
+      - name: Save to local conda pkg channel
+        uses: actions/upload-artifact@v3
+        with:
+          name: slycot-conda-pkgs
+          path: slycot-conda-pkgs
+
+  create-wheel-test-matrix:
+    name: Create wheel test matrix
+    runs-on: ubuntu-latest
+    needs: build-pip
+    if: always()  # run tests for all successful builds, even if others failed
+    outputs:
+      matrix: ${{ steps.set-matrix.outputs.matrix }}
+    steps:
+      - name: Checkout Slycot
+        uses: actions/checkout@v3
+      - name: Download wheels (if any)
+        uses: actions/download-artifact@v3
+        with:
+          name: slycot-wheels
+          path: slycot-wheels
+      - id: set-matrix
+        run: echo "matrix=$(python3 .github/scripts/set-pip-test-matrix.py)" 
>> $GITHUB_OUTPUT
+
+  create-conda-test-matrix:
+    name: Create conda test matrix
+    runs-on: ubuntu-latest
+    needs: build-conda
+    if: always()  # run tests for all successful builds, even if others failed
+    outputs:
+      matrix: ${{ steps.set-matrix.outputs.matrix }}
+    steps:
+      - name: Checkout Slycot
+        uses: actions/checkout@v3
+      - name: Download conda packages
+        uses: actions/download-artifact@v3
+        with:
+          name: slycot-conda-pkgs
+          path: slycot-conda-pkgs
+      - id: set-matrix
+        run: echo "matrix=$(python3 .github/scripts/set-conda-test-matrix.py)" 
>> $GITHUB_OUTPUT
+
+
+  test-wheel:
+    name: Test wheel ${{ matrix.packagekey }}, ${{matrix.blas_lib}} BLAS lib 
${{ matrix.failok }}
+    needs: create-wheel-test-matrix
+    runs-on: ${{ matrix.os }}-latest
+    continue-on-error: ${{ matrix.failok == 'FAILOK' }}
+
+    strategy:
+      fail-fast: false
+      matrix: ${{ fromJSON(needs.create-wheel-test-matrix.outputs.matrix) }}
+
+    steps:
+      - name: Checkout Slycot
+        uses: actions/checkout@v3
+        with:
+          path: slycot-src
+      - name: Checkout python-control
+        uses: actions/checkout@v3
+        with:
+          repository: 'python-control/python-control'
+          path: python-control
+      - name: Setup Python
+        uses: actions/setup-python@v4
+        with:
+          python-version: ${{ matrix.python }}
+      - name: Setup Ubuntu
+        if: matrix.os == 'ubuntu'
+        run: |
+          set -xe
+          sudo apt-get -y update
+          case ${{ matrix.blas_lib }} in
+            Generic )  sudo apt-get -y install libblas3 liblapack3 ;;
+            unset | OpenBLAS        ) sudo apt-get -y install libopenblas-base 
;;
+            *)
+              echo "BLAS ${{ matrix.blas_lib }} not supported for wheels on 
Ubuntu"
+              exit 1 ;;
+          esac
+          update-alternatives --display libblas.so.3-x86_64-linux-gnu
+          update-alternatives --display liblapack.so.3-x86_64-linux-gnu
+      - name: Setup macOS
+        if: matrix.os == 'macos'
+        run: |
+          set -xe
+          brew install coreutils
+          case ${{ matrix.blas_lib }} in
+            unset | Generic | Apple ) ;; # system provided (Uses Apple 
Accelerate Framework)
+            OpenBLAS )
+              brew install openblas
+              echo "DYLIB_LIBRARY_PATH=/usr/local/opt/openblas/lib" >> 
$GITHUB_ENV
+              ;;
+            *)
+              echo "BLAS option ${{ matrix.blas_lib }} not supported for 
wheels on MacOS"
+              exit 1 ;;
+          esac
+      - name: Download wheels
+        uses: actions/download-artifact@v3
+        with:
+          name: slycot-wheels
+          path: slycot-wheels
+      - name: Install Wheel
+        run: |
+          python -m pip install --upgrade pip
+          pip install matplotlib scipy pytest pytest-cov pytest-timeout 
coverage coveralls
+          pip install slycot-wheels/${{ matrix.packagekey }}/slycot*.whl
+          pip show slycot
+      - name: Slycot and python-control tests
+        run: bash slycot-src/.github/scripts/run-tests.sh
+      - name: report coverage
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+          COVERALLS_FLAG_NAME: wheel-${{ matrix.packagekey 
}}-${{matrix.blas_lib}}
+          COVERALLS_PARALLEL: true
+        working-directory: slycot-src
+        # https://github.com/TheKevJames/coveralls-python/issues/252
+        run: coveralls --service=github
+
+  test-conda:
+    name: Test conda ${{ matrix.packagekey }}, ${{matrix.blas_lib}} BLAS lib 
${{ matrix.failok }}
+    needs: create-conda-test-matrix
+    runs-on: ${{ matrix.os }}-latest
+    continue-on-error: ${{ matrix.failok == 'FAILOK' }}
+
+    strategy:
+      fail-fast: false
+      matrix: ${{ fromJSON(needs.create-conda-test-matrix.outputs.matrix) }}
+
+    defaults:
+      run:
+        shell: bash -l {0}
+
+    steps:
+      - name: Checkout Slycot
+        uses: actions/checkout@v3
+        with:
+          path: slycot-src
+      - name: Checkout python-control
+        uses: actions/checkout@v3
+        with:
+          repository: 'python-control/python-control'
+          path: python-control
+      - name: Setup macOS
+        if: matrix.os == 'macos'
+        run: brew install coreutils
+      - name: Setup Conda
+        uses: conda-incubator/setup-miniconda@v2
+        with:
+          python-version: ${{ matrix.python }}
+          miniforge-version: latest
+          miniforge-variant: Mambaforge
+          activate-environment: test-env
+          environment-file: slycot-src/.github/conda-env/test-env.yml
+          channel-priority: strict
+          auto-activate-base: false
+      - name: Download conda packages
+        uses: actions/download-artifact@v3
+        with:
+          name: slycot-conda-pkgs
+          path: slycot-conda-pkgs
+      - name: Install Conda package
+        run: |
+          set -e
+          case ${{ matrix.blas_lib }} in
+            unset        ) # the conda-forge default (os dependent)
+              mamba install libblas libcblas liblapack
+              ;;
+            Generic      )
+              mamba install 'libblas=*=*netlib' 'libcblas=*=*netlib' 
'liblapack=*=*netlib'
+              echo "libblas * *netlib" >> $CONDA_PREFIX/conda-meta/pinned
+              ;;
+            OpenBLAS     )
+              mamba install 'libblas=*=*openblas' openblas
+              echo "libblas * *openblas" >> $CONDA_PREFIX/conda-meta/pinned
+              ;;
+            Intel10_64lp )
+              mamba install 'libblas=*=*mkl' mkl
+              echo "libblas * *mkl" >> $CONDA_PREFIX/conda-meta/pinned
+              ;;
+          esac
+          conda index --no-progress ./slycot-conda-pkgs
+          mamba install -c ./slycot-conda-pkgs slycot
+          conda list
+      - name: Slycot and python-control tests
+        run: bash slycot-src/.github/scripts/run-tests.sh
+      - name: Report coverage
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+          COVERALLS_FLAG_NAME: conda-${{ matrix.packagekey 
}}-${{matrix.blas_lib}}
+          COVERALLS_PARALLEL: true
+        working-directory: slycot-src
+        # https://github.com/TheKevJames/coveralls-python/issues/252
+        run: coveralls --service=github
+
+  coveralls-final:
+    name: Finalize parallel coveralls
+    if: always()
+    needs:
+      - test-conda
+      - test-wheel
+    runs-on: ubuntu-latest
+    steps:
+    - name: Coveralls Finished
+      uses: coverallsapp/github-action@master
+      with:
+        github-token: ${{ secrets.GITHUB_TOKEN }}
+        parallel-finished: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.5.0.0/.gitignore new/slycot-0.5.2/.gitignore
--- old/slycot-0.5.0.0/.gitignore       1970-01-01 01:00:00.000000000 +0100
+++ new/slycot-0.5.2/.gitignore 2021-01-23 00:20:08.000000000 +0100
@@ -0,0 +1,14 @@
+.DS_Store*
+MANIFEST
+dist/
+build/
+*.pyc
+*.so
+slycot/version.py
+.ropeproject/
+build.log
+*.egg-info/
+.coverage
+*~
+setup.cfg
+_skbuild
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.5.0.0/.gitmodules 
new/slycot-0.5.2/.gitmodules
--- old/slycot-0.5.0.0/.gitmodules      1970-01-01 01:00:00.000000000 +0100
+++ new/slycot-0.5.2/.gitmodules        2021-03-17 12:49:25.000000000 +0100
@@ -0,0 +1,3 @@
+[submodule "slycot/src/SLICOT-Reference"]
+       path = slycot/src/SLICOT-Reference
+       url = https://github.com/python-control/SLICOT-Reference
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.5.0.0/CMakeLists.txt 
new/slycot-0.5.2/CMakeLists.txt
--- old/slycot-0.5.0.0/CMakeLists.txt   2022-07-09 11:51:01.000000000 +0200
+++ new/slycot-0.5.2/CMakeLists.txt     2022-11-08 15:30:23.000000000 +0100
@@ -1,27 +1,25 @@
 # CMake file for use in conjunction with scikit-build
 
-cmake_minimum_required(VERSION 3.11.0)
+cmake_minimum_required(VERSION 3.14.0)
 
-if (CMAKE_VERSION VERSION_GREATER "3.11.99")
-  cmake_policy(SET CMP0074 NEW)
-endif()
+cmake_policy(SET CMP0074 NEW)
 
-project(slycot VERSION ${SLYCOT_VERSION} LANGUAGES NONE)
+project(slycot LANGUAGES NONE)
 
 enable_language(C)
 enable_language(Fortran)
 
-find_package(PythonLibs REQUIRED)
+find_package(Python COMPONENTS Interpreter Development NumPy REQUIRED)
 find_package(PythonExtensions REQUIRED)
 find_package(NumPy REQUIRED)
 find_package(F2PY REQUIRED)
 find_package(BLAS REQUIRED)
 find_package(LAPACK REQUIRED)
 
-message(STATUS "NumPy included from: ${NumPy_INCLUDE_DIR}")
-message(STATUS "F2PY included from: ${F2PY_INCLUDE_DIR}")
+message(STATUS "Python headers included from: ${Python_INCLUDE_DIRS}")
+message(STATUS "NumPy headers included from: ${Python_NumPy_INCLUDE_DIRS}")
+message(STATUS "F2PY headers included from: ${F2PY_INCLUDE_DIRS}")
 message(STATUS "LAPACK: ${LAPACK_LIBRARIES}")
 message(STATUS "BLAS: ${BLAS_LIBRARIES}")
-message(STATUS "Slycot version: ${SLYCOT_VERSION}")
 
 add_subdirectory(slycot)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.5.0.0/MANIFEST.in 
new/slycot-0.5.2/MANIFEST.in
--- old/slycot-0.5.0.0/MANIFEST.in      2021-05-29 07:17:56.000000000 +0200
+++ new/slycot-0.5.2/MANIFEST.in        2022-10-30 12:05:45.000000000 +0100
@@ -9,7 +9,6 @@
 include slycot/CMakeLists.txt
 include slycot/tests/CMakeLists.txt
 include slycot/*.py
-include slycot/version.py.in
 include slycot/src/*.f
 include slycot/tests/*.py
 graft slycot/src/SLICOT-Reference
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.5.0.0/PKG-INFO new/slycot-0.5.2/PKG-INFO
--- old/slycot-0.5.0.0/PKG-INFO 2022-07-09 12:31:52.617650500 +0200
+++ new/slycot-0.5.2/PKG-INFO   2022-11-23 21:17:49.444011000 +0100
@@ -1,37 +1,32 @@
 Metadata-Version: 2.1
 Name: slycot
-Version: 0.5.0.0
-Summary: Slycot: a wrapper for the SLICOT control and systems library
-Home-page: https://github.com/python-control/Slycot
+Version: 0.5.2
+Summary: A wrapper for the SLICOT control and systems library
 Author: Enrico Avventi et al.
-Maintainer: Slycot developers
-Maintainer-email: python-control-disc...@lists.sourceforge.net
-License: GPL-2.0
-Platform: Windows
-Platform: Linux
-Platform: Solaris
-Platform: Mac OS-X
-Platform: Unix
+Maintainer-email: Slycot developers 
<python-control-disc...@lists.sourceforge.net>
+License: GPL-2.0 AND BSD-3-Clause
+Project-URL: homepage, https://github.com/python-control/Slycot
 Classifier: Development Status :: 4 - Beta
 Classifier: Intended Audience :: Science/Research
 Classifier: Intended Audience :: Developers
 Classifier: License :: OSI Approved
 Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
+Classifier: License :: OSI Approved :: BSD License
 Classifier: Programming Language :: C
 Classifier: Programming Language :: Fortran
 Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
 Classifier: Topic :: Software Development
 Classifier: Topic :: Scientific/Engineering
 Classifier: Operating System :: Microsoft :: Windows
 Classifier: Operating System :: POSIX
 Classifier: Operating System :: Unix
 Classifier: Operating System :: MacOS
-Requires-Python: >=3.7
-License-File: COPYING
+Requires-Python: >=3.8
+Description-Content-Type: text/x-rst
 License-File: AUTHORS
 
 Slycot
@@ -55,18 +50,18 @@
 Dependencies
 ------------
 
-Slycot supports Python versions 3.6 or later.
+Slycot supports Python versions 3.8 or later.
 
 To run the compiled Slycot package, the following must be installed as
 dependencies:
 
-- Python 3.6+
+- Python 3.8+
 - NumPy
 
 If you are compiling and installing Slycot from source, you will need the
 following dependencies:
 
-- 3.6+
+- Python 3.8+
 - NumPy
 - scikit-build
 - CMake
@@ -225,7 +220,7 @@
 for Windows.  This method uses conda and conda-forge to get most build
 dependencies, *except* for the C compiler.
 
-This procedure has been tested on Python 3.7 and 3.8.
+This procedure has been tested on Python 3.8.
 
 1. Install `Microsoft Visual Studio`_.
 2. Unpack the source code to a directory of your choice,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.5.0.0/README.rst new/slycot-0.5.2/README.rst
--- old/slycot-0.5.0.0/README.rst       2022-05-28 09:56:51.000000000 +0200
+++ new/slycot-0.5.2/README.rst 2022-11-23 21:17:18.000000000 +0100
@@ -19,18 +19,18 @@
 Dependencies
 ------------
 
-Slycot supports Python versions 3.6 or later.
+Slycot supports Python versions 3.8 or later.
 
 To run the compiled Slycot package, the following must be installed as
 dependencies:
 
-- Python 3.6+
+- Python 3.8+
 - NumPy
 
 If you are compiling and installing Slycot from source, you will need the
 following dependencies:
 
-- 3.6+
+- Python 3.8+
 - NumPy
 - scikit-build
 - CMake
@@ -189,7 +189,7 @@
 for Windows.  This method uses conda and conda-forge to get most build
 dependencies, *except* for the C compiler.
 
-This procedure has been tested on Python 3.7 and 3.8.
+This procedure has been tested on Python 3.8.
 
 1. Install `Microsoft Visual Studio`_.
 2. Unpack the source code to a directory of your choice,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.5.0.0/conda-recipe/meta.yaml 
new/slycot-0.5.2/conda-recipe/meta.yaml
--- old/slycot-0.5.0.0/conda-recipe/meta.yaml   2022-07-09 07:42:35.000000000 
+0200
+++ new/slycot-0.5.2/conda-recipe/meta.yaml     2022-11-08 15:30:23.000000000 
+0100
@@ -13,7 +13,7 @@
   build:
     - {{ compiler('fortran') }}  # [not win]
     - {{ compiler('c') }}
-    - cmake
+    - cmake >=3.14
     - make  # [linux]
     - flang >=11  # [win]
 
@@ -27,9 +27,11 @@
     - libcblas * *netlib
     - liblapack * *netlib
     - python
-    - numpy!=1.23.0
+    - numpy !=1.23.0
     - pip
-    - scikit-build >=0.14.1
+    - scikit-build >=0.15
+    - setuptools >=45
+    - setuptools_scm >=6.3
 
   run:
     - python {{ PY_VER }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.5.0.0/pyproject.toml 
new/slycot-0.5.2/pyproject.toml
--- old/slycot-0.5.0.0/pyproject.toml   2022-07-09 11:51:01.000000000 +0200
+++ new/slycot-0.5.2/pyproject.toml     2022-11-23 21:17:18.000000000 +0100
@@ -1,8 +1,54 @@
 [build-system]
 requires = [
-    "setuptools",
+    "setuptools>=45",
+    "setuptools_scm>=6.3",
     "wheel",
-    "scikit-build>=0.14.1",
-    "cmake",
+    "scikit-build>=0.15",
+    "cmake>=3.14",
     "numpy!=1.23.0"]
 build-backend = "setuptools.build_meta"
+
+[project]
+name = "slycot"
+description = "A wrapper for the SLICOT control and systems library"
+readme = "README.rst"
+authors = [{ name = "Enrico Avventi et al." }]
+maintainers = [{ name = "Slycot developers", email = 
"python-control-disc...@lists.sourceforge.net"}]
+license = {text = "GPL-2.0 AND BSD-3-Clause"}
+classifiers = [
+    "Development Status :: 4 - Beta",
+    "Intended Audience :: Science/Research",
+    "Intended Audience :: Developers",
+    "License :: OSI Approved",
+    "License :: OSI Approved :: GNU General Public License v2 (GPLv2)",
+    "License :: OSI Approved :: BSD License",
+    "Programming Language :: C",
+    "Programming Language :: Fortran",
+    "Programming Language :: Python",
+    "Programming Language :: Python :: 3.8",
+    "Programming Language :: Python :: 3.9",
+    "Programming Language :: Python :: 3.10",
+    "Programming Language :: Python :: 3.11",
+    "Topic :: Software Development",
+    "Topic :: Scientific/Engineering",
+    "Operating System :: Microsoft :: Windows",
+    "Operating System :: POSIX",
+    "Operating System :: Unix",
+    "Operating System :: MacOS",
+]
+requires-python = ">=3.8"
+dependencies = [
+    "numpy",
+]
+dynamic = ["version"]
+
+[project.urls]
+homepage = "https://github.com/python-control/Slycot";
+
+
+[tool.setuptools_scm]
+write_to = "slycot/version.py"
+
+[tool.pytest.ini_options]
+# run the tests with compiled and installed package
+addopts = "--pyargs slycot"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.5.0.0/setup.cfg new/slycot-0.5.2/setup.cfg
--- old/slycot-0.5.0.0/setup.cfg        2022-07-09 12:31:52.617650500 +0200
+++ new/slycot-0.5.2/setup.cfg  2022-11-23 21:17:49.444011000 +0100
@@ -1,12 +1,3 @@
-[metadata]
-name = slycot
-version = 0.5.0
-gitrevision = e162b5fc3027a9c288a4f820a626f269eb63f9e0
-release = no
-
-[tool:pytest]
-addopts = --pyargs slycot
-
 [egg_info]
 tag_build = 
 tag_date = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.5.0.0/setup.py new/slycot-0.5.2/setup.py
--- old/slycot-0.5.0.0/setup.py 2022-04-23 12:00:18.000000000 +0200
+++ new/slycot-0.5.2/setup.py   2022-10-30 12:05:45.000000000 +0100
@@ -8,14 +8,7 @@
 
 import builtins
 import os
-import sys
 import subprocess
-import re
-import platform
-try:
-    import configparser
-except ImportError:
-    import ConfigParser as configparser
 
 try:
     from skbuild import setup
@@ -23,96 +16,10 @@
 except ImportError:
     raise ImportError('scikit-build must be installed before running setup.py')
 
-DOCLINES = __doc__.split("\n")
-
-CLASSIFIERS = """\
-Development Status :: 4 - Beta
-Intended Audience :: Science/Research
-Intended Audience :: Developers
-License :: OSI Approved
-License :: OSI Approved :: GNU General Public License v2 (GPLv2)
-Programming Language :: C
-Programming Language :: Fortran
-Programming Language :: Python
-Programming Language :: Python :: 3.7
-Programming Language :: Python :: 3.8
-Programming Language :: Python :: 3.9
-Programming Language :: Python :: 3.10
-Topic :: Software Development
-Topic :: Scientific/Engineering
-Operating System :: Microsoft :: Windows
-Operating System :: POSIX
-Operating System :: Unix
-Operating System :: MacOS
-"""
-
-# defaults
-ISRELEASED = True
-# assume a version set by conda, next update with git,
-# otherwise count on default
-VERSION = 'Unknown'
-
-
-class GitError(RuntimeError):
-    """Exception for git errors occuring in in git_version"""
-    pass
-
-
-def git_version(srcdir=None):
-    """Return the git version, revision and cycle
-
-    Uses rev-parse to get the revision tag to get the version number from the
-    latest tag and detects (approximate) revision cycles
-
-    """
-    def _minimal_ext_cmd(cmd, srcdir):
-        # construct minimal environment
-        env = {}
-        for k in ['SYSTEMROOT', 'PATH']:
-            v = os.environ.get(k)
-            if v is not None:
-                env[k] = v
-        # LANGUAGE is used on win32
-        env['LANGUAGE'] = 'C'
-        env['LANG'] = 'C'
-        env['LC_ALL'] = 'C'
-        proc = subprocess.Popen(
-            cmd,
-            cwd=srcdir,
-            stdout=subprocess.PIPE,
-            stderr=subprocess.PIPE,
-            env=env)
-        out, err = proc.communicate()
-        if proc.returncode:
-            errmsg = err.decode('ascii', errors='ignore').strip()
-            raise GitError("git err; return code %d, error message:\n  '%s'"
-                           % (proc.returncode, errmsg))
-        return out
-
-    try:
-        GIT_VERSION = VERSION
-        GIT_REVISION = 'Unknown'
-        GIT_CYCLE = 0
-        out = _minimal_ext_cmd(['git', 'rev-parse', 'HEAD'], srcdir)
-        GIT_REVISION = out.strip().decode('ascii')
-        out = _minimal_ext_cmd(['git', 'tag'], srcdir)
-        GIT_VERSION = out.strip().decode('ascii').split('\n')[-1][1:]
-        out = _minimal_ext_cmd(['git', 'describe', '--tags',
-                                '--long', '--always'], srcdir)
-        try:
-            # don't get a good description with shallow clones
-            GIT_CYCLE = out.strip().decode('ascii').split('-')[1]
-        except IndexError:
-            pass
-    except OSError:
-        pass
-
-    return GIT_VERSION, GIT_REVISION, GIT_CYCLE
-
-# BEFORE importing distutils, remove MANIFEST. distutils doesn't properly
-# update it when the contents of directories change.
-if os.path.exists('MANIFEST'):
-    os.remove('MANIFEST')
+try:
+    from setuptools_scm import get_version
+except ImportError:
+    raise ImportError('setuptools_scm must be installed before running 
setup.py')
 
 # This is a bit hackish: we are setting a global variable so that the main
 # slycot __init__ can detect if it is being loaded by the setup routine, to
@@ -121,69 +28,6 @@
 builtins.__SLYCOT_SETUP__ = True
 
 
-def rewrite_setup_cfg(version, gitrevision, release):
-    toreplace = dict(locals())
-    data = ''.join(open('setup.cfg.in', 'r').readlines()).split('@')
-    for k, v in toreplace.items():
-        idx = data.index(k)
-        data[idx] = v
-    cfg = open('setup.cfg', 'w')
-    cfg.write(''.join(data))
-    cfg.close()
-
-
-def get_version_info(srcdir=None):
-    global ISRELEASED
-    GIT_CYCLE = 0
-
-    # Adding the git rev number needs to be done inside write_version_py(),
-    # otherwise the import of slycot.version messes up
-    # the build under Python 3.
-    if os.environ.get('CONDA_BUILD', False):
-        FULLVERSION = os.environ.get('PKG_VERSION', '???')
-        GIT_REVISION = os.environ.get('GIT_DESCRIBE_HASH', '')
-        ISRELEASED = True
-        rewrite_setup_cfg(FULLVERSION, GIT_REVISION, 'yes')
-    elif os.path.exists('.git'):
-        FULLVERSION, GIT_REVISION, GIT_CYCLE = git_version(srcdir)
-        ISRELEASED = (GIT_CYCLE == 0)
-        rewrite_setup_cfg(FULLVERSION, GIT_REVISION,
-                          (ISRELEASED and 'yes') or 'no')
-    elif os.path.exists('setup.cfg'):
-        # valid distribution
-        setupcfg = configparser.ConfigParser(allow_no_value=True)
-        setupcfg.read('setup.cfg')
-
-        FULLVERSION = setupcfg.get(section='metadata', option='version')
-
-        if FULLVERSION is None:
-            FULLVERSION = "Unknown"
-
-        GIT_REVISION = setupcfg.get(section='metadata', option='gitrevision')
-
-        if GIT_REVISION is None:
-            GIT_REVISION = ""
-
-        return FULLVERSION, GIT_REVISION
-    else:
-
-        # try to find a version number from the dir name
-        dname = os.getcwd().split(os.sep)[-1]
-
-        m = re.search(r'[0-9.]+', dname)
-        if m:
-            FULLVERSION = m.group()
-            GIT_REVISION = ''
-
-        else:
-            FULLVERSION = VERSION
-            GIT_REVISION = "Unknown"
-
-    if not ISRELEASED:
-        FULLVERSION += '.' + str(GIT_CYCLE)
-
-    return FULLVERSION, GIT_REVISION
-
 def check_submodules():
     """ verify that the submodules are checked out and clean
         use `git submodule update --init`; on failure
@@ -212,43 +56,11 @@
         check_submodules()
         sdist.run(self)
 
-def setup_package():
-    src_path = os.path.dirname(os.path.abspath(__file__))
-    sys.path.insert(0, src_path)
-
-    # Rewrite the version file everytime
-    VERSION, gitrevision = get_version_info(src_path)
-
-    metadata = dict(
-        name='slycot',
-        packages=['slycot', 'slycot.tests'],
-        cmake_languages=('C', 'Fortran'),
-        version=VERSION,
-        maintainer="Slycot developers",
-        maintainer_email="python-control-disc...@lists.sourceforge.net",
-        description=DOCLINES[0],
-        long_description=open('README.rst').read(),
-        url='https://github.com/python-control/Slycot',
-        author='Enrico Avventi et al.',
-        license='GPL-2.0',
-        classifiers=[_f for _f in CLASSIFIERS.split('\n') if _f],
-        platforms=["Windows", "Linux", "Solaris", "Mac OS-X", "Unix"],
-        cmdclass={"sdist": sdist_checked},
-        cmake_args=['-DSLYCOT_VERSION:STRING=' + VERSION,
-                    '-DGIT_REVISION:STRING=' + gitrevision,
-                    '-DISRELEASE:STRING=' + str(ISRELEASED),
-                    '-DFULL_VERSION=' + VERSION + '.git' + gitrevision[:7]],
-        zip_safe=False,
-        install_requires=['numpy'],
-        python_requires=">=3.7"
-    )
-
-    try:
-        setup(**metadata)
-    finally:
-        del sys.path[0]
-    return
-
-
-if __name__ == '__main__':
-    setup_package()
+# These need to stay in setup.py
+# https://scikit-build.readthedocs.io/en/latest/usage.html#setuptools-options
+setup(     
+    packages=['slycot', 'slycot.tests'],
+    cmdclass={'sdist': sdist_checked},
+    cmake_languages=('C', 'Fortran'),
+    use_scm_version = True,
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.5.0.0/slycot/CMakeLists.txt 
new/slycot-0.5.2/slycot/CMakeLists.txt
--- old/slycot-0.5.0.0/slycot/CMakeLists.txt    2022-07-09 07:42:35.000000000 
+0200
+++ new/slycot-0.5.2/slycot/CMakeLists.txt      2022-11-08 15:30:23.000000000 
+0100
@@ -630,13 +630,11 @@
   src/transform.pyf src/synthesis.pyf
   src/_helper.pyf)
 
-configure_file(version.py.in version.py @ONLY)
-
 set(PYSOURCE
 
   __init__.py  examples.py exceptions.py
   analysis.py math.py synthesis.py transform.py
-  ${CMAKE_CURRENT_BINARY_DIR}/version.py)
+)
 
 set(SLYCOT_MODULE "_wrapper")
 
@@ -666,8 +664,9 @@
 
 target_include_directories(
   ${SLYCOT_MODULE} PUBLIC
+  ${Python_INCLUDE_DIRS}
+  ${Python_NumPy_INCLUDE_DIRS}
   ${F2PY_INCLUDE_DIRS}
-  ${PYTHON_INCLUDE_DIRS}
   )
 
 if (UNIX)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.5.0.0/slycot/__init__.py 
new/slycot-0.5.2/slycot/__init__.py
--- old/slycot-0.5.0.0/slycot/__init__.py       2022-05-28 10:50:49.000000000 
+0200
+++ new/slycot-0.5.2/slycot/__init__.py 2022-10-30 12:05:45.000000000 +0100
@@ -45,8 +45,7 @@
     from .transform import tf01md, tf01rd
     from .transform import td04ad, tb01pd
 
-    # Version information
-    from .version import version as __version__
+    from .version import __version__
 
 
 def test():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.5.0.0/slycot/src/Readme.md 
new/slycot-0.5.2/slycot/src/Readme.md
--- old/slycot-0.5.0.0/slycot/src/Readme.md     1970-01-01 01:00:00.000000000 
+0100
+++ new/slycot-0.5.2/slycot/src/Readme.md       2021-03-17 12:49:25.000000000 
+0100
@@ -0,0 +1,15 @@
+Fortran sources
+---------------
+
+This directory contains the f2py wrappers and some helper functions to work
+with the SLICOT Library routines. SLICOT-Reference is a git submodule
+forked from [SLICOT-Reference](https://github.com/SLICOT/SLICOT-Reference)
+plus some backported improvements.
+
+If your local copy of the SLICOT-Reference directory is empty, get the correct
+version from python-control/SLICOT-Reference (see the Slycot toplevel directory
+README for instructions).
+
+The codes follow the Fortran 77 language conventions.  SLICOT routines make
+calls to the state-of-the-art packages LAPACK (Linear Algebra Package) and BLAS
+(Basic Linear Algebra Subprograms).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.5.0.0/slycot/src/SLICOT-Reference/.git 
new/slycot-0.5.2/slycot/src/SLICOT-Reference/.git
--- old/slycot-0.5.0.0/slycot/src/SLICOT-Reference/.git 2021-02-20 
09:02:28.000000000 +0100
+++ new/slycot-0.5.2/slycot/src/SLICOT-Reference/.git   2021-02-07 
21:42:18.000000000 +0100
@@ -1 +1 @@
-gitdir: ../../../.git/modules/slycot/src/SLICOT-Reference
+gitdir: ../../../.git/modules/slycot/src/SLICOT-reference
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.5.0.0/slycot/version.py 
new/slycot-0.5.2/slycot/version.py
--- old/slycot-0.5.0.0/slycot/version.py        1970-01-01 01:00:00.000000000 
+0100
+++ new/slycot-0.5.2/slycot/version.py  2022-11-23 21:17:49.000000000 +0100
@@ -0,0 +1,5 @@
+# coding: utf-8
+# file generated by setuptools_scm
+# don't change, don't track in version control
+__version__ = version = '0.5.2'
+__version_tuple__ = version_tuple = (0, 5, 2)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.5.0.0/slycot/version.py.in 
new/slycot-0.5.2/slycot/version.py.in
--- old/slycot-0.5.0.0/slycot/version.py.in     2021-02-13 11:09:01.000000000 
+0100
+++ new/slycot-0.5.2/slycot/version.py.in       1970-01-01 01:00:00.000000000 
+0100
@@ -1,10 +0,0 @@
-
-# THIS FILE IS GENERATED FROM SLYCOT SETUP.PY
-short_version = '@SLYCOT_VERSION@'
-version = '@SLYCOT_VERSION@'
-full_version = '@FULL_VERSION@'
-git_revision = '@GIT_REVISION@'
-release = @ISRELEASE@
-
-if not release:
-        version = full_version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.5.0.0/slycot.egg-info/PKG-INFO 
new/slycot-0.5.2/slycot.egg-info/PKG-INFO
--- old/slycot-0.5.0.0/slycot.egg-info/PKG-INFO 2022-07-09 12:31:50.000000000 
+0200
+++ new/slycot-0.5.2/slycot.egg-info/PKG-INFO   2022-11-23 21:17:49.000000000 
+0100
@@ -1,37 +1,32 @@
 Metadata-Version: 2.1
 Name: slycot
-Version: 0.5.0.0
-Summary: Slycot: a wrapper for the SLICOT control and systems library
-Home-page: https://github.com/python-control/Slycot
+Version: 0.5.2
+Summary: A wrapper for the SLICOT control and systems library
 Author: Enrico Avventi et al.
-Maintainer: Slycot developers
-Maintainer-email: python-control-disc...@lists.sourceforge.net
-License: GPL-2.0
-Platform: Windows
-Platform: Linux
-Platform: Solaris
-Platform: Mac OS-X
-Platform: Unix
+Maintainer-email: Slycot developers 
<python-control-disc...@lists.sourceforge.net>
+License: GPL-2.0 AND BSD-3-Clause
+Project-URL: homepage, https://github.com/python-control/Slycot
 Classifier: Development Status :: 4 - Beta
 Classifier: Intended Audience :: Science/Research
 Classifier: Intended Audience :: Developers
 Classifier: License :: OSI Approved
 Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
+Classifier: License :: OSI Approved :: BSD License
 Classifier: Programming Language :: C
 Classifier: Programming Language :: Fortran
 Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
 Classifier: Topic :: Software Development
 Classifier: Topic :: Scientific/Engineering
 Classifier: Operating System :: Microsoft :: Windows
 Classifier: Operating System :: POSIX
 Classifier: Operating System :: Unix
 Classifier: Operating System :: MacOS
-Requires-Python: >=3.7
-License-File: COPYING
+Requires-Python: >=3.8
+Description-Content-Type: text/x-rst
 License-File: AUTHORS
 
 Slycot
@@ -55,18 +50,18 @@
 Dependencies
 ------------
 
-Slycot supports Python versions 3.6 or later.
+Slycot supports Python versions 3.8 or later.
 
 To run the compiled Slycot package, the following must be installed as
 dependencies:
 
-- Python 3.6+
+- Python 3.8+
 - NumPy
 
 If you are compiling and installing Slycot from source, you will need the
 following dependencies:
 
-- 3.6+
+- Python 3.8+
 - NumPy
 - scikit-build
 - CMake
@@ -225,7 +220,7 @@
 for Windows.  This method uses conda and conda-forge to get most build
 dependencies, *except* for the C compiler.
 
-This procedure has been tested on Python 3.7 and 3.8.
+This procedure has been tested on Python 3.8.
 
 1. Install `Microsoft Visual Studio`_.
 2. Unpack the source code to a directory of your choice,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.5.0.0/slycot.egg-info/SOURCES.txt 
new/slycot-0.5.2/slycot.egg-info/SOURCES.txt
--- old/slycot-0.5.0.0/slycot.egg-info/SOURCES.txt      2022-07-09 
12:31:51.000000000 +0200
+++ new/slycot-0.5.2/slycot.egg-info/SOURCES.txt        2022-11-23 
21:17:49.000000000 +0100
@@ -1,3 +1,6 @@
+.coveragerc
+.gitignore
+.gitmodules
 AUTHORS
 CMakeLists.txt
 COPYING
@@ -5,8 +8,13 @@
 README.rst
 gpl-2.0.txt
 pyproject.toml
-setup.cfg
 setup.py
+.github/conda-env/build-env.yml
+.github/conda-env/test-env.yml
+.github/scripts/run-tests.sh
+.github/scripts/set-conda-test-matrix.py
+.github/scripts/set-pip-test-matrix.py
+.github/workflows/slycot-build-and-test.yml
 conda-recipe/bld.bat
 conda-recipe/build.sh
 conda-recipe/meta.yaml
@@ -18,13 +26,13 @@
 slycot/math.py
 slycot/synthesis.py
 slycot/transform.py
-slycot/version.py.in
+slycot/version.py
 slycot.egg-info/PKG-INFO
 slycot.egg-info/SOURCES.txt
 slycot.egg-info/dependency_links.txt
-slycot.egg-info/not-zip-safe
 slycot.egg-info/requires.txt
 slycot.egg-info/top_level.txt
+slycot/src/Readme.md
 slycot/src/XERBLA.f
 slycot/src/_helper.pyf
 slycot/src/_wrapper.pyf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.5.0.0/slycot.egg-info/not-zip-safe 
new/slycot-0.5.2/slycot.egg-info/not-zip-safe
--- old/slycot-0.5.0.0/slycot.egg-info/not-zip-safe     2022-07-09 
11:28:54.000000000 +0200
+++ new/slycot-0.5.2/slycot.egg-info/not-zip-safe       1970-01-01 
01:00:00.000000000 +0100
@@ -1 +0,0 @@
-

++++++ slycot-rpmlintrc ++++++
# upstream tells users to slycot.test() the installation
addFilter("python-tests-in-package .*slycot/tests")

Reply via email to