summaryrefslogtreecommitdiff
path: root/python-jcc.spec
blob: 669c4f1049333a17f55c598fb6867e7761d99caa (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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
%global _empty_manifest_terminate_build 0
Name:		python-JCC
Version:	3.13
Release:	1
Summary:	a C++ code generator for calling Java from C++/Python
License:	Apache Software License
URL:		https://pypi.org/project/JCC/
Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/a8/a5/bb6344ffe68a2987535becc33c32587e8c57f5971864926c078dff10ac4f/JCC-3.13.tar.gz
BuildArch:	noarch


%description

For changes since earlier releases, see:
  http://svn.apache.org/repos/asf/lucene/pylucene/trunk/jcc/CHANGES

JCC is a C++ code generator for producing the code necessary to call
into Java classes from CPython via Java's Native Invocation Interface (JNI).

JCC generates C++ wrapper classes that hide all the gory details of JNI
access as well Java memory and object reference management.

JCC generates CPython types that make these C++ classes accessible from a
Python interpreter. JCC attempts to make these Python types pythonic by
detecting iterators and property accessors. Iterators and mappings may also
be declared to JCC.

JCC has been built on Python 2.3 to 2.7, on Python 3.6, and has been used
with various Java Runtime Environments such as Sun Java 1.5 and 1.6, Apple's
Java 1.5 and 1.6 on Mac OS X, open source Java OpenJDK 1.7 builds as well as
Oracle Java 1.7 and 1.8.

JCC is supported on Mac OS X, Linux, Solaris and Windows.

JCC is written in C++ and Python. It uses Java's reflection API to do its
job and needs a Java Runtime Environment to be present to operate.

JCC is built with distutils or setuptools::

    python setup.py build
    sudo python setup.py install

Setuptools is required to build JCC on Python 2.3.

JCC's setup.py file needs to be edited before building JCC to specify the
location of the Java Runtime Environment's header files and libraries.

The svn sources for JCC are available at:
  http://svn.apache.org/repos/asf/lucene/pylucene/trunk/jcc/

For more information about JCC see:
  http://lucene.apache.org/pylucene/jcc/index.html

JCC comes with an Apache 2.0 copyright license:
  http://www.apache.org/licenses/LICENSE-2.0


%package -n python3-JCC
Summary:	a C++ code generator for calling Java from C++/Python
Provides:	python-JCC
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-JCC

For changes since earlier releases, see:
  http://svn.apache.org/repos/asf/lucene/pylucene/trunk/jcc/CHANGES

JCC is a C++ code generator for producing the code necessary to call
into Java classes from CPython via Java's Native Invocation Interface (JNI).

JCC generates C++ wrapper classes that hide all the gory details of JNI
access as well Java memory and object reference management.

JCC generates CPython types that make these C++ classes accessible from a
Python interpreter. JCC attempts to make these Python types pythonic by
detecting iterators and property accessors. Iterators and mappings may also
be declared to JCC.

JCC has been built on Python 2.3 to 2.7, on Python 3.6, and has been used
with various Java Runtime Environments such as Sun Java 1.5 and 1.6, Apple's
Java 1.5 and 1.6 on Mac OS X, open source Java OpenJDK 1.7 builds as well as
Oracle Java 1.7 and 1.8.

JCC is supported on Mac OS X, Linux, Solaris and Windows.

JCC is written in C++ and Python. It uses Java's reflection API to do its
job and needs a Java Runtime Environment to be present to operate.

JCC is built with distutils or setuptools::

    python setup.py build
    sudo python setup.py install

Setuptools is required to build JCC on Python 2.3.

JCC's setup.py file needs to be edited before building JCC to specify the
location of the Java Runtime Environment's header files and libraries.

The svn sources for JCC are available at:
  http://svn.apache.org/repos/asf/lucene/pylucene/trunk/jcc/

For more information about JCC see:
  http://lucene.apache.org/pylucene/jcc/index.html

JCC comes with an Apache 2.0 copyright license:
  http://www.apache.org/licenses/LICENSE-2.0


%package help
Summary:	Development documents and examples for JCC
Provides:	python3-JCC-doc
%description help

For changes since earlier releases, see:
  http://svn.apache.org/repos/asf/lucene/pylucene/trunk/jcc/CHANGES

JCC is a C++ code generator for producing the code necessary to call
into Java classes from CPython via Java's Native Invocation Interface (JNI).

JCC generates C++ wrapper classes that hide all the gory details of JNI
access as well Java memory and object reference management.

JCC generates CPython types that make these C++ classes accessible from a
Python interpreter. JCC attempts to make these Python types pythonic by
detecting iterators and property accessors. Iterators and mappings may also
be declared to JCC.

JCC has been built on Python 2.3 to 2.7, on Python 3.6, and has been used
with various Java Runtime Environments such as Sun Java 1.5 and 1.6, Apple's
Java 1.5 and 1.6 on Mac OS X, open source Java OpenJDK 1.7 builds as well as
Oracle Java 1.7 and 1.8.

JCC is supported on Mac OS X, Linux, Solaris and Windows.

JCC is written in C++ and Python. It uses Java's reflection API to do its
job and needs a Java Runtime Environment to be present to operate.

JCC is built with distutils or setuptools::

    python setup.py build
    sudo python setup.py install

Setuptools is required to build JCC on Python 2.3.

JCC's setup.py file needs to be edited before building JCC to specify the
location of the Java Runtime Environment's header files and libraries.

The svn sources for JCC are available at:
  http://svn.apache.org/repos/asf/lucene/pylucene/trunk/jcc/

For more information about JCC see:
  http://lucene.apache.org/pylucene/jcc/index.html

JCC comes with an Apache 2.0 copyright license:
  http://www.apache.org/licenses/LICENSE-2.0


%prep
%autosetup -n JCC-3.13

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

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

%changelog
* Tue May 30 2023 Python_Bot <Python_Bot@openeuler.org> - 3.13-1
- Package Spec generated