summaryrefslogtreecommitdiff
path: root/python-robotpy-cppheaderparser.spec
blob: eb5345ab0a01134e7eacb5e1697afa6b68fc29bc (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
133
134
135
136
%global _empty_manifest_terminate_build 0
Name:		python-robotpy-cppheaderparser
Version:	5.1.0
Release:	1
Summary:	Parse C++ header files and generate a data structure representing the class
License:	BSD
URL:		https://github.com/robotpy/robotpy-cppheaderparser
Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/02/37/ea68fcab951e42f36bedcda7e26b5d9bbbaeab91ec35c06fec35578b7087/robotpy-cppheaderparser-5.1.0.tar.gz
BuildArch:	noarch

Requires:	python3-ply

%description
|Build Status|
CppHeaderParser is a pure python C++ header parser that parses C++
headers and creates a data structure that you can use to do many types
of things. We’ve found it particularly useful for creating programs that
generate python wrappers around existing C++ programs.
robotpy-cppheaderparser is a fork of the `CppHeaderParser`_ library
originally created by @senex. CppHeaderParser is an excellent library
and critical to some of the stuff we do in the RobotPy project.
Unfortunately, the maintainer seems to be busy, so
robotpy-cppheaderparser was born.
We aim to maintain (some) compatibility with the existing code and make
improvements and bugfixes as we need them -- though some decisions made
early on in this code's development means some compatibility may be broken
as things get fixed.
If you find an bug, we encourage you to submit a pull request! New
changes will only be accepted if there are tests to cover the change you
made (and if they don’t break existing tests).
          preprocessor directives -- and we're looking at removing some
          of that from this library. If you need anything complex, you
          should preprocess the code yourself. You can use the excellent
          pure python preprocessor `pcpp`_, or the preprocessing facilities
          provided by your favorite compiler.

%package -n python3-robotpy-cppheaderparser
Summary:	Parse C++ header files and generate a data structure representing the class
Provides:	python-robotpy-cppheaderparser
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-robotpy-cppheaderparser
|Build Status|
CppHeaderParser is a pure python C++ header parser that parses C++
headers and creates a data structure that you can use to do many types
of things. We’ve found it particularly useful for creating programs that
generate python wrappers around existing C++ programs.
robotpy-cppheaderparser is a fork of the `CppHeaderParser`_ library
originally created by @senex. CppHeaderParser is an excellent library
and critical to some of the stuff we do in the RobotPy project.
Unfortunately, the maintainer seems to be busy, so
robotpy-cppheaderparser was born.
We aim to maintain (some) compatibility with the existing code and make
improvements and bugfixes as we need them -- though some decisions made
early on in this code's development means some compatibility may be broken
as things get fixed.
If you find an bug, we encourage you to submit a pull request! New
changes will only be accepted if there are tests to cover the change you
made (and if they don’t break existing tests).
          preprocessor directives -- and we're looking at removing some
          of that from this library. If you need anything complex, you
          should preprocess the code yourself. You can use the excellent
          pure python preprocessor `pcpp`_, or the preprocessing facilities
          provided by your favorite compiler.

%package help
Summary:	Development documents and examples for robotpy-cppheaderparser
Provides:	python3-robotpy-cppheaderparser-doc
%description help
|Build Status|
CppHeaderParser is a pure python C++ header parser that parses C++
headers and creates a data structure that you can use to do many types
of things. We’ve found it particularly useful for creating programs that
generate python wrappers around existing C++ programs.
robotpy-cppheaderparser is a fork of the `CppHeaderParser`_ library
originally created by @senex. CppHeaderParser is an excellent library
and critical to some of the stuff we do in the RobotPy project.
Unfortunately, the maintainer seems to be busy, so
robotpy-cppheaderparser was born.
We aim to maintain (some) compatibility with the existing code and make
improvements and bugfixes as we need them -- though some decisions made
early on in this code's development means some compatibility may be broken
as things get fixed.
If you find an bug, we encourage you to submit a pull request! New
changes will only be accepted if there are tests to cover the change you
made (and if they don’t break existing tests).
          preprocessor directives -- and we're looking at removing some
          of that from this library. If you need anything complex, you
          should preprocess the code yourself. You can use the excellent
          pure python preprocessor `pcpp`_, or the preprocessing facilities
          provided by your favorite compiler.

%prep
%autosetup -n robotpy-cppheaderparser-5.1.0

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

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

%changelog
* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 5.1.0-1
- Package Spec generated