summaryrefslogtreecommitdiff
path: root/python-pyepics.spec
blob: 8cb4c61f0bccb87ac8fa0ab2c8a685da830108d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
%global _empty_manifest_terminate_build 0
Name:		python-pyepics
Version:	3.5.1
Release:	1
Summary:	Epics Channel Access for Python
License:	Epics Open License
URL:		http://pyepics.github.io/pyepics/
Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/6c/cd/f97b676b6903e6f88bfced3817964559c20a1e3c6cd5244fa188f76fff75/pyepics-3.5.1.tar.gz
BuildArch:	noarch


%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.




%package -n python3-pyepics
Summary:	Epics Channel Access for Python
Provides:	python-pyepics
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-pyepics
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.




%package help
Summary:	Development documents and examples for pyepics
Provides:	python3-pyepics-doc
%description help
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
%autosetup -n pyepics-3.5.1

%build
%py3_build

%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
	find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
	find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
	find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
	find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
	find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .

%files -n python3-pyepics -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 3.5.1-1
- Package Spec generated