summaryrefslogtreecommitdiff
path: root/python-crossenv.spec
blob: 4cc24a9e78baaa41a26817dbcf6724635a6ce0fc (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-crossenv
Version:	1.4.0
Release:	1
Summary:	A cross-compiling tool for Python extension modules
License:	MIT License
URL:		https://github.com/benfogle/crossenv
Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/b2/55/15ae94e892f227fa192030fd522e9e45a38ed1d7088267554f0baa0e53b7/crossenv-1.4.0.tar.gz
BuildArch:	noarch


%description
|build status| |test status| |coverage status|
Documentation is available online at https://crossenv.readthedocs.io and in the
``docs`` directory.
Porting a Python app to an embedded device can be complicated. Once you have
Python built for your system, you may find yourself needing to include many
third-party libraries. Pure-Python libraries usually just work, but many
popular libraries rely on compiled C code, which can be challenging to build.
This package is a tool for cross-compiling extension modules. It creates a
special virtual environment such that ``pip`` or ``setup.py`` will cross
compile packages for you, usually with no further work on your part.
It can be used to:
* Build binary wheels, for installation on target.
* Install packages to a directory for upload or inclusion in a firmware image.
**Note**: While this tool can cross-compile *most* Python packages, it can't
solve all the problems of cross-compiling. In some cases manual intervention
may still be necessary.
This tool requires Python 3.5 or higher (host and build). Significant work has
gone into cross-compiling Python in newer versions, and many of the techniques
needed to do the cross compilation properly are not available on older
releases.
This tool currently only supports Linux build machines.

%package -n python3-crossenv
Summary:	A cross-compiling tool for Python extension modules
Provides:	python-crossenv
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-crossenv
|build status| |test status| |coverage status|
Documentation is available online at https://crossenv.readthedocs.io and in the
``docs`` directory.
Porting a Python app to an embedded device can be complicated. Once you have
Python built for your system, you may find yourself needing to include many
third-party libraries. Pure-Python libraries usually just work, but many
popular libraries rely on compiled C code, which can be challenging to build.
This package is a tool for cross-compiling extension modules. It creates a
special virtual environment such that ``pip`` or ``setup.py`` will cross
compile packages for you, usually with no further work on your part.
It can be used to:
* Build binary wheels, for installation on target.
* Install packages to a directory for upload or inclusion in a firmware image.
**Note**: While this tool can cross-compile *most* Python packages, it can't
solve all the problems of cross-compiling. In some cases manual intervention
may still be necessary.
This tool requires Python 3.5 or higher (host and build). Significant work has
gone into cross-compiling Python in newer versions, and many of the techniques
needed to do the cross compilation properly are not available on older
releases.
This tool currently only supports Linux build machines.

%package help
Summary:	Development documents and examples for crossenv
Provides:	python3-crossenv-doc
%description help
|build status| |test status| |coverage status|
Documentation is available online at https://crossenv.readthedocs.io and in the
``docs`` directory.
Porting a Python app to an embedded device can be complicated. Once you have
Python built for your system, you may find yourself needing to include many
third-party libraries. Pure-Python libraries usually just work, but many
popular libraries rely on compiled C code, which can be challenging to build.
This package is a tool for cross-compiling extension modules. It creates a
special virtual environment such that ``pip`` or ``setup.py`` will cross
compile packages for you, usually with no further work on your part.
It can be used to:
* Build binary wheels, for installation on target.
* Install packages to a directory for upload or inclusion in a firmware image.
**Note**: While this tool can cross-compile *most* Python packages, it can't
solve all the problems of cross-compiling. In some cases manual intervention
may still be necessary.
This tool requires Python 3.5 or higher (host and build). Significant work has
gone into cross-compiling Python in newer versions, and many of the techniques
needed to do the cross compilation properly are not available on older
releases.
This tool currently only supports Linux build machines.

%prep
%autosetup -n crossenv-1.4.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-crossenv -f filelist.lst
%dir %{python3_sitelib}/*

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

%changelog
* Wed Apr 12 2023 Python_Bot <Python_Bot@openeuler.org> - 1.4.0-1
- Package Spec generated