From 9ebbd76229cbaec9de10153c4dc4591d27bba07d0a415e716bb072ee04b3ee99 Mon Sep 17 00:00:00 2001 From: Steve Kowalik Date: Wed, 13 Mar 2024 03:29:42 +0000 Subject: [PATCH] - Switch to autosetup and pyproject macros. - Add patch use-importlib.patch: Use importlib machinery, not the imp module. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-visvis?expand=0&rev=11 --- python-visvis.changes | 7 +++++++ python-visvis.spec | 13 ++++++++----- use-importlib.patch | 28 ++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+), 5 deletions(-) create mode 100644 use-importlib.patch diff --git a/python-visvis.changes b/python-visvis.changes index d2396d6..004beb8 100644 --- a/python-visvis.changes +++ b/python-visvis.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Mar 13 03:29:06 UTC 2024 - Steve Kowalik + +- Switch to autosetup and pyproject macros. +- Add patch use-importlib.patch: Use importlib machinery, not the imp + module. + ------------------------------------------------------------------- Fri Dec 8 12:20:46 UTC 2023 - Dirk Müller diff --git a/python-visvis.spec b/python-visvis.spec index 23f4d9a..09f69a4 100644 --- a/python-visvis.spec +++ b/python-visvis.spec @@ -1,7 +1,7 @@ # # spec file for package python-visvis # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,7 +24,10 @@ Summary: An object oriented approach to visualization of 1D to 4D data License: BSD-3-Clause URL: https://github.com/almarklein/visvis Source: https://files.pythonhosted.org/packages/source/v/visvis/visvis-%{version}.tar.gz +Patch0: use-importlib.patch +BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: python-rpm-macros Requires: python-numpy @@ -54,14 +57,14 @@ form of a set of functions allows creation of objects (e.g. plot(), imshow(), volshow(), surf()). %prep -%setup -q -n visvis-%{version} +%autosetup -p1 -n visvis-%{version} find * -name '*.py' -exec sed -i -e '/^#!\//, 1d' {} \; %build -%python_build +%pyproject_wheel %install -%python_install +%pyproject_install %python_expand %fdupes %{buildroot}%{$python_sitelib} %check @@ -70,6 +73,6 @@ find * -name '*.py' -exec sed -i -e '/^#!\//, 1d' {} \; %files %{python_files} %license license.txt %{python_sitelib}/visvis -%{python_sitelib}/visvis-%{version}*-info +%{python_sitelib}/visvis-%{version}.dist-info %changelog diff --git a/use-importlib.patch b/use-importlib.patch new file mode 100644 index 0000000..c066883 --- /dev/null +++ b/use-importlib.patch @@ -0,0 +1,28 @@ +Index: visvis-1.14.0/backends/__init__.py +=================================================================== +--- visvis-1.14.0.orig/backends/__init__.py ++++ visvis-1.14.0/backends/__init__.py +@@ -50,7 +50,8 @@ The backend is chosen/selected as follow + + import os + import sys +-import imp ++import importlib.util ++import importlib.machinery + import visvis + from visvis.core.misc import isFrozen, getExceptionInstance + +@@ -161,7 +162,12 @@ def _loadBackend(name): + if modFileName.endswith('.pyc'): + module = __import__(modNameFull, fromlist=[modName]) + else: +- module = imp.load_source(modNameFull, modFileName) ++ loader = importlib.machinery.SourceFileLoader( ++ modNameFull, modFileName) ++ spec = importlib.util.spec_from_file_location( ++ modNameFull, modFileName, loader=loader) ++ module = importlib.util.module_from_spec(spec) ++ loader.exec_module(module) + globals()[modName] = module + except Exception: + if not isFrozen():