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