]> git.pld-linux.org Git - packages/python3-cryptography.git/blob - python3-cryptography.spec
- x32 build fix; release 2
[packages/python3-cryptography.git] / python3-cryptography.spec
1 #
2 # Conditional build:
3 %bcond_without  doc     # Sphinx documentation
4 %bcond_without  tests   # unit test
5
6 %define         crates_ver      41.0.4
7
8 Summary:        Crypthography library for Python 3
9 Summary(pl.UTF-8):      Biblioteka Cryptography dla Pythona 3
10 Name:           python3-cryptography
11 Version:        41.0.4
12 Release:        2
13 License:        Apache v2.0 or BSD
14 Group:          Libraries/Python
15 #Source0Download: https://pypi.org/simple/cryptography/
16 Source0:        https://files.pythonhosted.org/packages/source/c/cryptography/cryptography-%{version}.tar.gz
17 # Source0-md5:  e53b22d4baae5430e881f2f516effa67
18 #Source1Download: https://pypi.org/simple/cryptography_vectors/
19 Source1:        https://files.pythonhosted.org/packages/source/c/cryptography-vectors/cryptography_vectors-%{version}.tar.gz
20 # Source1-md5:  baa05bd96d91129bb8123881fca0129d
21 # cd cryptography-%{version}/src/rust
22 # cargo vendor
23 # tar cJf python3-cryptography-crates-%{version}.tar.xz vendor Cargo.lock
24 Source2:        %{name}-crates-%{crates_ver}.tar.xz
25 # Source2-md5:  940f9f8bc4bbdd7d1fe081e38cbf90d3
26 URL:            https://cryptography.io/
27 BuildRequires:  openssl-devel >= 1.1.1d
28 BuildRequires:  python3-cffi >= 1.12
29 BuildRequires:  python3-devel >= 1:3.7
30 BuildRequires:  python3-setuptools >= 1:61.0.0
31 BuildRequires:  python3-setuptools_rust >= 0.11.4
32 BuildRequires:  rpm-build >= 4.6
33 BuildRequires:  rpm-pythonprov >= 5.4.15-48
34 BuildRequires:  rpmbuild(macros) >= 2.004
35 BuildRequires:  rust >= 1.56.0
36 %if %{with tests}
37 BuildRequires:  python3-hypothesis >= 1.11.4
38 BuildRequires:  python3-pretend
39 BuildRequires:  python3-pytest >= 6.2.0
40 BuildRequires:  python3-pytest-benchmark
41 %endif
42 %if %{with doc}
43 # TODO: bump to 1.1.1 / 5.3.0 resp.
44 BuildRequires:  python3-sphinx_rtd_theme >= 1.0.0
45 BuildRequires:  sphinx-pdg-3 >= 4.5.0
46 BuildRequires:  tar >= 1:1.22
47 BuildRequires:  xz
48 %endif
49 Requires:       openssl >= 1.1.1d
50 ExclusiveArch:  %{rust_arches}
51 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
52
53 %description
54 cryptography is a package which provides cryptographic recipes and
55 primitives to Python developers. Our goal is for it to be your
56 "cryptographic standard library". It supports Python 3.6+ and
57 PyPy3 7.2+.
58
59 cryptography includes both high level recipes and low level interfaces
60 to common cryptographic algorithms such as symmetric ciphers, message
61 digests, and key derivation functions.
62
63 %description -l pl.UTF-8
64 cryptography to pakiet zaprojektowany w celu udostępnienia funkcji i
65 obiektów kryptograficznych programistom Pythona. Celem jest
66 dostarczenie "standardowej biblioteki kryptograficznej". Obsługuje
67 Pythona 3.6+ oraz PyPy 7.2+.
68
69 cryptography zawiera zarówno funkcje wysokopoziomowe, jak i
70 niskopoziomowe interfejsy do popularnych algorytmów kryptograficznych,
71 takich jak szyfry symetryczne, skróty wiadomości czy funkcje
72 wyprowadzające klucze.
73
74 %package apidocs
75 Summary:        API documentation for cryptography module
76 Summary(pl.UTF-8):      Dokumentacja API modułu cryptography
77 Group:          Documentation
78 BuildArch:      noarch
79
80 %description apidocs
81 API documentation for cryptography module.
82
83 %description apidocs -l pl.UTF-8
84 Dokumentacja API modułu cryptography.
85
86 %prep
87 %setup -q -n cryptography-%{version} %{?with_tests:-a1}
88
89 %if %{with tests}
90 %{__mv} cryptography_vectors-%{version}/cryptography_vectors .
91 %endif
92
93 cd src/rust
94 tar xf %{SOURCE2}
95 # use our offline registry
96 export CARGO_HOME="$(pwd)/.cargo"
97
98 mkdir -p "$CARGO_HOME"
99 cat >.cargo/config <<EOF
100 [source.crates-io]
101 registry = 'https://github.com/rust-lang/crates.io-index'
102 replace-with = 'vendored-sources'
103
104 [source.vendored-sources]
105 directory = '$PWD/vendor'
106 EOF
107
108 %build
109 export CARGO_HOME="$(pwd)/src/rust/.cargo"
110 export CARGO_OFFLINE=true
111 export RUSTFLAGS="%{rpmrustflags}"
112 export CARGO_TERM_VERBOSE=true
113 %ifarch x32
114 export CARGO_BUILD_TARGET=x86_64-unknown-linux-gnux32
115 export PKG_CONFIG_ALLOW_CROSS=1
116 %endif
117
118 export CFLAGS="%{rpmcflags}"
119
120 %py3_build
121
122 %if %{with tests}
123 PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 \
124 PYTEST_PLUGINS="pytest_benchmark.plugin" \
125 PYTHONPATH=$(echo $(pwd)/build-3/lib.*) \
126 %{__python3} -m pytest tests
127 %endif
128
129 %if %{with doc}
130 %{__make} -C docs html \
131         SPHINXBUILD=sphinx-build-3
132 %endif
133
134 %install
135 rm -rf $RPM_BUILD_ROOT
136
137 export CARGO_HOME="$(pwd)/src/rust/.cargo"
138 export CARGO_OFFLINE=true
139 export RUSTFLAGS="%{rpmrustflags}"
140 export CARGO_TERM_VERBOSE=true
141 %ifarch x32
142 export CARGO_BUILD_TARGET=x86_64-unknown-linux-gnux32
143 export PKG_CONFIG_ALLOW_CROSS=1
144 %endif
145
146 %py3_install
147
148 %clean
149 rm -rf $RPM_BUILD_ROOT
150
151 %files
152 %defattr(644,root,root,755)
153 %doc CHANGELOG.rst CONTRIBUTING.rst LICENSE LICENSE.APACHE LICENSE.BSD README.rst
154 %dir %{py3_sitedir}/cryptography
155 %{py3_sitedir}/cryptography/*.py
156 %{py3_sitedir}/cryptography/py.typed
157 %{py3_sitedir}/cryptography/__pycache__
158 %dir %{py3_sitedir}/cryptography/hazmat
159 %{py3_sitedir}/cryptography/hazmat/*.py
160 %{py3_sitedir}/cryptography/hazmat/__pycache__
161 %dir %{py3_sitedir}/cryptography/hazmat/backends
162 %{py3_sitedir}/cryptography/hazmat/backends/*.py
163 %{py3_sitedir}/cryptography/hazmat/backends/__pycache__
164 %dir %{py3_sitedir}/cryptography/hazmat/backends/openssl
165 %{py3_sitedir}/cryptography/hazmat/backends/openssl/*.py
166 %{py3_sitedir}/cryptography/hazmat/backends/openssl/__pycache__
167 %dir %{py3_sitedir}/cryptography/hazmat/bindings
168 %{py3_sitedir}/cryptography/hazmat/bindings/*.py
169 %{py3_sitedir}/cryptography/hazmat/bindings/__pycache__
170 %attr(755,root,root) %{py3_sitedir}/cryptography/hazmat/bindings/_*.so
171 %dir %{py3_sitedir}/cryptography/hazmat/bindings/_rust
172 %{py3_sitedir}/cryptography/hazmat/bindings/_rust/*.pyi
173 %dir %{py3_sitedir}/cryptography/hazmat/bindings/_rust/openssl
174 %{py3_sitedir}/cryptography/hazmat/bindings/_rust/openssl/*.pyi
175 %dir %{py3_sitedir}/cryptography/hazmat/bindings/openssl
176 %{py3_sitedir}/cryptography/hazmat/bindings/openssl/*.py
177 %{py3_sitedir}/cryptography/hazmat/bindings/openssl/__pycache__
178 %dir %{py3_sitedir}/cryptography/hazmat/primitives
179 %{py3_sitedir}/cryptography/hazmat/primitives/*.py
180 %{py3_sitedir}/cryptography/hazmat/primitives/__pycache__
181 %dir %{py3_sitedir}/cryptography/hazmat/primitives/asymmetric
182 %{py3_sitedir}/cryptography/hazmat/primitives/asymmetric/*.py
183 %{py3_sitedir}/cryptography/hazmat/primitives/asymmetric/__pycache__
184 %dir %{py3_sitedir}/cryptography/hazmat/primitives/ciphers
185 %{py3_sitedir}/cryptography/hazmat/primitives/ciphers/*.py
186 %{py3_sitedir}/cryptography/hazmat/primitives/ciphers/__pycache__
187 %dir %{py3_sitedir}/cryptography/hazmat/primitives/kdf
188 %{py3_sitedir}/cryptography/hazmat/primitives/kdf/*.py
189 %{py3_sitedir}/cryptography/hazmat/primitives/kdf/__pycache__
190 %dir %{py3_sitedir}/cryptography/hazmat/primitives/serialization
191 %{py3_sitedir}/cryptography/hazmat/primitives/serialization/*.py
192 %{py3_sitedir}/cryptography/hazmat/primitives/serialization/__pycache__
193 %dir %{py3_sitedir}/cryptography/hazmat/primitives/twofactor
194 %{py3_sitedir}/cryptography/hazmat/primitives/twofactor/*.py
195 %{py3_sitedir}/cryptography/hazmat/primitives/twofactor/__pycache__
196 %dir %{py3_sitedir}/cryptography/x509
197 %{py3_sitedir}/cryptography/x509/*.py
198 %{py3_sitedir}/cryptography/x509/__pycache__
199 %{py3_sitedir}/cryptography-%{version}-py*.egg-info
200
201 %if %{with doc}
202 %files apidocs
203 %defattr(644,root,root,755)
204 %doc docs/_build/html/{_downloads,_static,development,hazmat,x509,*.html,*.js}
205 %endif
This page took 0.108789 seconds and 3 git commands to generate.