python-crypto.spec 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. ##
  2. ## python-crypto.spec -- OpenPKG RPM Package Specification
  3. ## Copyright (c) 2000-2017 OpenPKG Foundation e.V. <http://openpkg.net/>
  4. ##
  5. ## Permission to use, copy, modify, and distribute this software for
  6. ## any purpose with or without fee is hereby granted, provided that
  7. ## the above copyright notice and this permission notice appear in all
  8. ## copies.
  9. ##
  10. ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  11. ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  12. ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  13. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  14. ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  15. ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  16. ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  17. ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  18. ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  19. ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  20. ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  21. ## SUCH DAMAGE.
  22. ##
  23. # package versions
  24. %define V_python 2.7
  25. %define V_pycrypto 2.6.1
  26. %define V_pyopenssl 17.4.0
  27. %define V_cryptography 2.1.4
  28. %define V_pyasn1 0.4.2
  29. %define V_pyasn1_modules 0.2.1
  30. %define V_ndg_httpsclient 0.4.3
  31. %define V_pynacl 1.2.0
  32. %define V_libnacl 1.6.1
  33. %define V_service_identity 17.0.0
  34. %define V_asn1crypto 0.23.0
  35. %define V_certifi 2017.11.5
  36. # package information
  37. Name: python-crypto
  38. Summary: Python Modules for Cryptography
  39. URL: http://www.python.org/
  40. Vendor: Python Community
  41. Packager: OpenPKG Foundation e.V.
  42. Distribution: OpenPKG Community
  43. Class: BASE
  44. Group: Language
  45. License: GPL
  46. Version: %{V_python}
  47. Release: 20171130
  48. # list of sources
  49. Source0: https://files.pythonhosted.org/packages/source/p/pycrypto/pycrypto-%{V_pycrypto}.tar.gz
  50. Source1: https://files.pythonhosted.org/packages/source/p/pyOpenSSL/pyOpenSSL-%{V_pyopenssl}.tar.gz
  51. Source2: https://files.pythonhosted.org/packages/source/c/cryptography/cryptography-%{V_cryptography}.tar.gz
  52. Source3: https://files.pythonhosted.org/packages/source/p/pyasn1/pyasn1-%{V_pyasn1}.tar.gz
  53. Source4: https://files.pythonhosted.org/packages/source/p/pyasn1-modules/pyasn1-modules-%{V_pyasn1_modules}.tar.gz
  54. Source5: https://files.pythonhosted.org/packages/source/n/ndg-httpsclient/ndg_httpsclient-%{V_ndg_httpsclient}.tar.gz
  55. Source6: https://files.pythonhosted.org/packages/source/P/PyNaCl/PyNaCl-%{V_pynacl}.tar.gz
  56. Source7: https://files.pythonhosted.org/packages/source/l/libnacl/libnacl-%{V_libnacl}.tar.gz
  57. Source8: https://files.pythonhosted.org/packages/source/s/service_identity/service_identity-%{V_service_identity}.tar.gz
  58. Source9: https://files.pythonhosted.org/packages/source/a/asn1crypto/asn1crypto-%{V_asn1crypto}.tar.gz
  59. Source10: https://files.pythonhosted.org/packages/source/c/certifi/certifi-%{V_certifi}.tar.gz
  60. # build information
  61. BuildPreReq: OpenPKG, openpkg >= 20160101, python >= %{V_python}
  62. PreReq: OpenPKG, openpkg >= 20160101, python >= %{V_python}
  63. BuildPreReq: openssl, gmp, libsodium, python-sys, python-parse
  64. PreReq: openssl, gmp, libsodium, python-sys, python-parse
  65. %description
  66. This is a set of Python extension modules for cryptography.
  67. %track
  68. prog python-crypto:pycrypto = {
  69. version = %{V_pycrypto}
  70. url = https://pypi.python.org/pypi/pycrypto
  71. regex = pycrypto-(__VER__)\.tar\.gz
  72. }
  73. prog python-crypto:pyopenssl = {
  74. version = %{V_pyopenssl}
  75. url = https://pypi.python.org/pypi/pyOpenSSL/
  76. regex = pyOpenSSL-(__VER__)\.tar\.gz
  77. }
  78. prog python-crypto:cryptography = {
  79. version = %{V_cryptography}
  80. url = https://pypi.python.org/pypi/cryptography/
  81. regex = cryptography-(__VER__)\.tar\.gz
  82. }
  83. prog python-crypto:pyasn1 = {
  84. version = %{V_pyasn1}
  85. url = https://pypi.python.org/pypi/pyasn1/
  86. regex = pyasn1-(__VER__)\.tar\.gz
  87. }
  88. prog python-crypto:pyasn1-modules = {
  89. version = %{V_pyasn1_modules}
  90. url = https://pypi.python.org/pypi/pyasn1-modules/
  91. regex = pyasn1-modules-(__VER__)\.tar\.gz
  92. }
  93. prog python-crypto:ndg-httpsclient = {
  94. version = %{V_ndg_httpsclient}
  95. url = https://pypi.python.org/pypi/ndg-httpsclient/
  96. regex = ndg_httpsclient-(__VER__)\.tar\.gz
  97. }
  98. prog python-crypto:PyNaCl = {
  99. version = %{V_pynacl}
  100. url = https://pypi.python.org/pypi/PyNaCl/
  101. regex = PyNaCl-(__VER__)\.tar\.gz
  102. }
  103. prog python-crypto:libnacl = {
  104. version = %{V_libnacl}
  105. url = https://pypi.python.org/pypi/libnacl/
  106. regex = libnacl-(__VER__)\.tar\.gz
  107. }
  108. prog python-crypto:service_identity = {
  109. version = %{V_service_identity}
  110. url = https://pypi.python.org/pypi/service_identity/
  111. regex = service_identity-(__VER__)\.tar\.gz
  112. }
  113. prog python-crypto:asn1crypto = {
  114. version = %{V_asn1crypto}
  115. url = https://pypi.python.org/pypi/asn1crypto/
  116. regex = asn1crypto-(__VER__)\.tar\.gz
  117. }
  118. prog python-crypto:certifi = {
  119. version = %{V_certifi}
  120. url = https://pypi.python.org/pypi/certifi/
  121. regex = certifi-(__VER__)\.tar\.gz
  122. }
  123. %prep
  124. %setup -q -c
  125. %setup -q -T -D -a 1
  126. %setup -q -T -D -a 2
  127. %setup -q -T -D -a 3
  128. %setup -q -T -D -a 4
  129. %setup -q -T -D -a 5
  130. %setup -q -T -D -a 6
  131. %setup -q -T -D -a 7
  132. %setup -q -T -D -a 8
  133. %setup -q -T -D -a 9
  134. %setup -q -T -D -a 10
  135. %build
  136. %install
  137. ( cd pycrypto-%{V_pycrypto}
  138. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  139. %{l_prefix}/bin/python setup.py build_ext \
  140. %{l_cppflags openssl .} %{l_ldflags}
  141. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  142. %{l_prefix}/bin/python \
  143. setup.py install \
  144. --root=$RPM_BUILD_ROOT \
  145. --prefix=%{l_prefix}
  146. ) || exit $?
  147. ( cd pyOpenSSL-%{V_pyopenssl}
  148. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  149. %{l_prefix}/bin/python setup.py build_ext \
  150. %{l_cppflags openssl .} %{l_ldflags}
  151. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  152. %{l_prefix}/bin/python setup.py install \
  153. --root=$RPM_BUILD_ROOT \
  154. --prefix=%{l_prefix}
  155. ) || exit $?
  156. ( cd cryptography-%{V_cryptography}
  157. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  158. %{l_prefix}/bin/python setup.py build_ext \
  159. %{l_cppflags openssl .} %{l_ldflags}
  160. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  161. %{l_prefix}/bin/python setup.py install \
  162. --root=$RPM_BUILD_ROOT \
  163. --prefix=%{l_prefix}
  164. ) || exit $?
  165. ( cd pyasn1-%{V_pyasn1}
  166. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  167. %{l_prefix}/bin/python setup.py install \
  168. --root=$RPM_BUILD_ROOT \
  169. --prefix=%{l_prefix}
  170. ) || exit $?
  171. ( cd pyasn1-modules-%{V_pyasn1_modules}
  172. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  173. %{l_prefix}/bin/python setup.py install \
  174. --root=$RPM_BUILD_ROOT \
  175. --prefix=%{l_prefix}
  176. ) || exit $?
  177. ( cd ndg_httpsclient-%{V_ndg_httpsclient}
  178. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  179. %{l_prefix}/bin/python setup.py install \
  180. --root=$RPM_BUILD_ROOT \
  181. --prefix=%{l_prefix}
  182. ) || exit $?
  183. ( cd PyNaCl-%{V_pynacl}
  184. SODIUM_INSTALL=system \
  185. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  186. %{l_prefix}/bin/python setup.py build_ext \
  187. %{l_cppflags} %{l_ldflags}
  188. SODIUM_INSTALL=system \
  189. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  190. %{l_prefix}/bin/python setup.py install \
  191. --root=$RPM_BUILD_ROOT \
  192. --prefix=%{l_prefix}
  193. ) || exit $?
  194. ( cd libnacl-%{V_libnacl}
  195. SODIUM_INSTALL=system \
  196. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  197. %{l_prefix}/bin/python setup.py build_ext \
  198. %{l_cppflags} %{l_ldflags}
  199. SODIUM_INSTALL=system \
  200. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  201. %{l_prefix}/bin/python setup.py install \
  202. --root=$RPM_BUILD_ROOT \
  203. --prefix=%{l_prefix}
  204. ) || exit $?
  205. ( cd service_identity-%{V_service_identity}
  206. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  207. %{l_prefix}/bin/python setup.py install \
  208. --root=$RPM_BUILD_ROOT \
  209. --prefix=%{l_prefix}
  210. ) || exit $?
  211. ( cd asn1crypto-%{V_asn1crypto}
  212. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  213. %{l_prefix}/bin/python setup.py install \
  214. --root=$RPM_BUILD_ROOT \
  215. --prefix=%{l_prefix}
  216. ) || exit $?
  217. ( cd certifi-%{V_certifi}
  218. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  219. %{l_prefix}/bin/python setup.py install \
  220. --root=$RPM_BUILD_ROOT \
  221. --prefix=%{l_prefix}
  222. ) || exit $?
  223. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
  224. %files -f files
  225. %clean