summaryrefslogtreecommitdiff
path: root/python-pymbolic.spec
blob: fad7c646eb45e8f00772d8bac3fb2f34a86466a4 (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
%global _empty_manifest_terminate_build 0
Name:		python-pymbolic
Version:	2022.2
Release:	1
Summary:	A package for symbolic computation
License:	MIT
URL:		http://mathema.tician.de/software/pymbolic
Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/6d/d2/7e6a01b95253e66c3562a8da2718fb8dc56eb3a7c204a0328942bea925de/pymbolic-2022.2.tar.gz
BuildArch:	noarch


%description
Pymbolic is a small expression tree and symbolic manipulation library. Two
things set it apart from other libraries of its kind:
* Users can easily write their own symbolic operations, simply by deriving
  from the builtin visitor classes.
* Users can easily add their own symbolic entities to do calculations
  with.
Pymbolic currently understands regular arithmetic expressions, derivatives,
sparse polynomials, fractions, term substitution, expansion. It automatically
performs constant folding, and it can compile its expressions into Python
bytecode for fast(er) execution.
If you are looking for a full-blown Computer Algebra System, look at
`sympy <http://pypi.python.org/pypi/sympy>`_ or
`PyGinac <http://pyginac.sourceforge.net/>`_. If you are looking for a
basic, small and extensible set of symbolic operations, pymbolic may
well be for you.
Resources:
* `documentation <http://documen.tician.de/pymbolic>`_
* `download <http://pypi.python.org/pypi/pymbolic>`_ (via the package index)
* `source code via git <http://github.com/inducer/pymbolic>`_ (also bug tracker)

%package -n python3-pymbolic
Summary:	A package for symbolic computation
Provides:	python-pymbolic
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-pymbolic
Pymbolic is a small expression tree and symbolic manipulation library. Two
things set it apart from other libraries of its kind:
* Users can easily write their own symbolic operations, simply by deriving
  from the builtin visitor classes.
* Users can easily add their own symbolic entities to do calculations
  with.
Pymbolic currently understands regular arithmetic expressions, derivatives,
sparse polynomials, fractions, term substitution, expansion. It automatically
performs constant folding, and it can compile its expressions into Python
bytecode for fast(er) execution.
If you are looking for a full-blown Computer Algebra System, look at
`sympy <http://pypi.python.org/pypi/sympy>`_ or
`PyGinac <http://pyginac.sourceforge.net/>`_. If you are looking for a
basic, small and extensible set of symbolic operations, pymbolic may
well be for you.
Resources:
* `documentation <http://documen.tician.de/pymbolic>`_
* `download <http://pypi.python.org/pypi/pymbolic>`_ (via the package index)
* `source code via git <http://github.com/inducer/pymbolic>`_ (also bug tracker)

%package help
Summary:	Development documents and examples for pymbolic
Provides:	python3-pymbolic-doc
%description help
Pymbolic is a small expression tree and symbolic manipulation library. Two
things set it apart from other libraries of its kind:
* Users can easily write their own symbolic operations, simply by deriving
  from the builtin visitor classes.
* Users can easily add their own symbolic entities to do calculations
  with.
Pymbolic currently understands regular arithmetic expressions, derivatives,
sparse polynomials, fractions, term substitution, expansion. It automatically
performs constant folding, and it can compile its expressions into Python
bytecode for fast(er) execution.
If you are looking for a full-blown Computer Algebra System, look at
`sympy <http://pypi.python.org/pypi/sympy>`_ or
`PyGinac <http://pyginac.sourceforge.net/>`_. If you are looking for a
basic, small and extensible set of symbolic operations, pymbolic may
well be for you.
Resources:
* `documentation <http://documen.tician.de/pymbolic>`_
* `download <http://pypi.python.org/pypi/pymbolic>`_ (via the package index)
* `source code via git <http://github.com/inducer/pymbolic>`_ (also bug tracker)

%prep
%autosetup -n pymbolic-2022.2

%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-pymbolic -f filelist.lst
%dir %{python3_sitelib}/*

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

%changelog
* Sun Apr 23 2023 Python_Bot <Python_Bot@openeuler.org> - 2022.2-1
- Package Spec generated