File python-pyepics.spec of Package python-pyepics

#
# spec file for package python-pyepics
#
# 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
# 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-pyepics
Version:        3.4.1
Release:        0
Summary:        Epics Channel Access for Python
License:        EPICS
Group:          Development/Languages/Python
URL:            http://pyepics.github.io/pyepics/
Source:         https://files.pythonhosted.org/packages/source/p/pyepics/pyepics-%{version}.tar.gz
BuildRequires:  %{python_module devel}
BuildRequires:  %{python_module setuptools}
BuildRequires:  dos2unix
BuildRequires:  fdupes
BuildRequires:  python-rpm-macros
Requires:       libepics >= 3.15
Requires:       python-setuptools
BuildArch:      noarch

%python_subpackages

%description
Python Interface to the Epics Channel Access protocol of the Epics control
system. PyEpics provides 3 layers of access to Channel Access (CA):

1. a light wrapping of the CA C library calls, using ctypes. This
   provides a procedural CA library in which the user is expected
   to manage Channel IDs. It is mostly provided as a foundation
   upon which higher-level access is built.
2. PV() (Process Variable) objects, which represent the basic object
   in CA, allowing one to keep a persistent connection to a remote
   Process Variable.
3. A simple set of functions caget(), caput() and so on to mimic
   the CA command-line tools and give the simplest access to CA.

In addition, the library includes convenience classes to define Devices --
collections of PVs that might represent an Epics Record or physical device
(say, a camera, amplifier, or power supply), and to help write GUIs for CA.

%prep
%setup -q -n pyepics-%{version}

%build
# Do not use bundled binary shared objects
export NOLIBCA=1

find epics -name '*.py' -exec dos2unix {} \;
find epics -name '*.py' -exec sed -i -e '1s/#!.*//' {} \;

%python_build

%install
# Do not use bundled binary shared objects
export NOLIBCA=1

%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}

%files %{python_files}
%doc README.md
%license LICENSE
%{python_sitelib}/*

%changelog
openSUSE Build Service is sponsored by