summaryrefslogtreecommitdiff
path: root/python-meshpy.spec
blob: 2979cbe0a27401bd2694ae2028eff1667df6519a (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
%global _empty_manifest_terminate_build 0
Name:		python-MeshPy
Version:	2022.1.3
Release:	1
Summary:	Triangular and Tetrahedral Mesh Generator
License:	MIT for the wrapper/non-commercial for the Triangle/GNU Affero Public License for TetGen
URL:		https://documen.tician.de/meshpy
Source0:	https://mirrors.aliyun.com/pypi/web/packages/80/ee/6ec21159624454a2522211c17b72d2211237c74b45c353a6504f801a3d3a/MeshPy-2022.1.3.tar.gz

Requires:	python3-pytools
Requires:	python3-numpy
Requires:	python3-gmsh-interop

%description
MeshPy offers quality triangular and tetrahedral mesh generation for Python.
Meshes of this type are chiefly used in finite-element simulation codes, but
also have many other applications ranging from computer graphics to robotics.
In order to generate 2D and 3D meshes, MeshPy provides Python interfaces to
three well-regarded mesh generators, `Triangle
<http://www.cs.cmu.edu/~quake/triangle.html>`_ by J.  Shewchuk, `TetGen
<http://tetgen.berlios.de/>`_ by Hang Si
The former two are included in the package in slightly modified versions. A
generic mesh reader for the latter is included, as is an easy way to run `gmsh`
from a Python script.
For an interface to `gmsh <http://www.geuz.org/gmsh/>`_ by Christophe Geuzaine
and Jean-Francois Remacle, see `gmsh_interop <https://github.com/inducer/gmsh_interop>`__.
MeshPy has no dependencies other than a C++ compiler,
`pybind11 <https://pybind11.readthedocs.io/en/stable/>`_,
and a working Python installation. Before installing meshpy,
you may install pybind11 using the command::
   pip install pybind11

%package -n python3-MeshPy
Summary:	Triangular and Tetrahedral Mesh Generator
Provides:	python-MeshPy
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
BuildRequires:	python3-cffi
BuildRequires:	gcc
BuildRequires:	gdb
%description -n python3-MeshPy
MeshPy offers quality triangular and tetrahedral mesh generation for Python.
Meshes of this type are chiefly used in finite-element simulation codes, but
also have many other applications ranging from computer graphics to robotics.
In order to generate 2D and 3D meshes, MeshPy provides Python interfaces to
three well-regarded mesh generators, `Triangle
<http://www.cs.cmu.edu/~quake/triangle.html>`_ by J.  Shewchuk, `TetGen
<http://tetgen.berlios.de/>`_ by Hang Si
The former two are included in the package in slightly modified versions. A
generic mesh reader for the latter is included, as is an easy way to run `gmsh`
from a Python script.
For an interface to `gmsh <http://www.geuz.org/gmsh/>`_ by Christophe Geuzaine
and Jean-Francois Remacle, see `gmsh_interop <https://github.com/inducer/gmsh_interop>`__.
MeshPy has no dependencies other than a C++ compiler,
`pybind11 <https://pybind11.readthedocs.io/en/stable/>`_,
and a working Python installation. Before installing meshpy,
you may install pybind11 using the command::
   pip install pybind11

%package help
Summary:	Development documents and examples for MeshPy
Provides:	python3-MeshPy-doc
%description help
MeshPy offers quality triangular and tetrahedral mesh generation for Python.
Meshes of this type are chiefly used in finite-element simulation codes, but
also have many other applications ranging from computer graphics to robotics.
In order to generate 2D and 3D meshes, MeshPy provides Python interfaces to
three well-regarded mesh generators, `Triangle
<http://www.cs.cmu.edu/~quake/triangle.html>`_ by J.  Shewchuk, `TetGen
<http://tetgen.berlios.de/>`_ by Hang Si
The former two are included in the package in slightly modified versions. A
generic mesh reader for the latter is included, as is an easy way to run `gmsh`
from a Python script.
For an interface to `gmsh <http://www.geuz.org/gmsh/>`_ by Christophe Geuzaine
and Jean-Francois Remacle, see `gmsh_interop <https://github.com/inducer/gmsh_interop>`__.
MeshPy has no dependencies other than a C++ compiler,
`pybind11 <https://pybind11.readthedocs.io/en/stable/>`_,
and a working Python installation. Before installing meshpy,
you may install pybind11 using the command::
   pip install pybind11

%prep
%autosetup -n MeshPy-2022.1.3

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

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

%changelog
* Thu Jun 08 2023 Python_Bot <Python_Bot@openeuler.org> - 2022.1.3-1
- Package Spec generated