python-crypto.spec 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  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 16.2.0
  27. %define V_cryptography 1.8.1
  28. %define V_pyasn1 0.2.3
  29. %define V_pyasn1_modules 0.0.8
  30. %define V_ndg_httpsclient 0.4.2
  31. %define V_pynacl 1.0.1
  32. %define V_libnacl 1.5.0
  33. %define V_service_identity 16.0.0
  34. # package information
  35. Name: python-crypto
  36. Summary: Python Modules for Cryptography
  37. URL: http://www.python.org/
  38. Vendor: Python Community
  39. Packager: OpenPKG Foundation e.V.
  40. Distribution: OpenPKG Community
  41. Class: BASE
  42. Group: Language
  43. License: GPL
  44. Version: %{V_python}
  45. Release: 20170310
  46. # list of sources
  47. Source0: https://files.pythonhosted.org/packages/source/p/pycrypto/pycrypto-%{V_pycrypto}.tar.gz
  48. Source1: https://files.pythonhosted.org/packages/source/p/pyOpenSSL/pyOpenSSL-%{V_pyopenssl}.tar.gz
  49. Source2: https://files.pythonhosted.org/packages/source/c/cryptography/cryptography-%{V_cryptography}.tar.gz
  50. Source3: https://files.pythonhosted.org/packages/source/p/pyasn1/pyasn1-%{V_pyasn1}.tar.gz
  51. Source4: https://files.pythonhosted.org/packages/source/p/pyasn1-modules/pyasn1-modules-%{V_pyasn1_modules}.tar.gz
  52. Source5: https://files.pythonhosted.org/packages/source/n/ndg-httpsclient/ndg_httpsclient-%{V_ndg_httpsclient}.tar.gz
  53. Source6: https://files.pythonhosted.org/packages/source/P/PyNaCl/PyNaCl-%{V_pynacl}.tar.gz
  54. Source7: https://files.pythonhosted.org/packages/source/l/libnacl/libnacl-%{V_libnacl}.tar.gz
  55. Source8: https://files.pythonhosted.org/packages/source/s/service_identity/service_identity-%{V_service_identity}.tar.gz
  56. # build information
  57. BuildPreReq: OpenPKG, openpkg >= 20160101, python >= %{V_python}
  58. PreReq: OpenPKG, openpkg >= 20160101, python >= %{V_python}
  59. BuildPreReq: openssl, gmp, libsodium, python-sys, python-parse
  60. PreReq: openssl, gmp, libsodium, python-sys, python-parse
  61. %description
  62. This is a set of Python extension modules for cryptography.
  63. %track
  64. prog python-crypto:pycrypto = {
  65. version = %{V_pycrypto}
  66. url = https://pypi.python.org/pypi/pycrypto
  67. regex = pycrypto-(__VER__)\.tar\.gz
  68. }
  69. prog python-crypto:pyopenssl = {
  70. version = %{V_pyopenssl}
  71. url = https://pypi.python.org/pypi/pyOpenSSL/
  72. regex = pyOpenSSL-(__VER__)\.tar\.gz
  73. }
  74. prog python-crypto:cryptography = {
  75. version = %{V_cryptography}
  76. url = https://pypi.python.org/pypi/cryptography/
  77. regex = cryptography-(__VER__)\.tar\.gz
  78. }
  79. prog python-crypto:pyasn1 = {
  80. version = %{V_pyasn1}
  81. url = https://pypi.python.org/pypi/pyasn1/
  82. regex = pyasn1-(__VER__)\.tar\.gz
  83. }
  84. prog python-crypto:pyasn1-modules = {
  85. version = %{V_pyasn1_modules}
  86. url = https://pypi.python.org/pypi/pyasn1-modules/
  87. regex = pyasn1-modules-(__VER__)\.tar\.gz
  88. }
  89. prog python-crypto:ndg-httpsclient = {
  90. version = %{V_ndg_httpsclient}
  91. url = https://pypi.python.org/pypi/ndg-httpsclient/
  92. regex = ndg_httpsclient-(__VER__)\.tar\.gz
  93. }
  94. prog python-crypto:PyNaCl = {
  95. version = %{V_pynacl}
  96. url = https://pypi.python.org/pypi/PyNaCl/
  97. regex = PyNaCl-(__VER__)\.tar\.gz
  98. }
  99. prog python-crypto:libnacl = {
  100. version = %{V_libnacl}
  101. url = https://pypi.python.org/pypi/libnacl/
  102. regex = libnacl-(__VER__)\.tar\.gz
  103. }
  104. prog python-crypto:service_identity = {
  105. version = %{V_service_identity}
  106. url = https://pypi.python.org/pypi/service_identity/
  107. regex = service_identity-(__VER__)\.tar\.gz
  108. }
  109. %prep
  110. %setup -q -c
  111. %setup -q -T -D -a 1
  112. %setup -q -T -D -a 2
  113. %setup -q -T -D -a 3
  114. %setup -q -T -D -a 4
  115. %setup -q -T -D -a 5
  116. %setup -q -T -D -a 6
  117. %setup -q -T -D -a 7
  118. %setup -q -T -D -a 8
  119. %build
  120. %install
  121. ( cd pycrypto-%{V_pycrypto}
  122. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  123. %{l_prefix}/bin/python setup.py build_ext \
  124. %{l_cppflags openssl .} %{l_ldflags}
  125. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  126. %{l_prefix}/bin/python \
  127. setup.py install \
  128. --root=$RPM_BUILD_ROOT \
  129. --prefix=%{l_prefix}
  130. ) || exit $?
  131. ( cd pyOpenSSL-%{V_pyopenssl}
  132. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  133. %{l_prefix}/bin/python setup.py build_ext \
  134. %{l_cppflags openssl .} %{l_ldflags}
  135. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  136. %{l_prefix}/bin/python setup.py install \
  137. --root=$RPM_BUILD_ROOT \
  138. --prefix=%{l_prefix}
  139. ) || exit $?
  140. ( cd cryptography-%{V_cryptography}
  141. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  142. %{l_prefix}/bin/python setup.py build_ext \
  143. %{l_cppflags openssl .} %{l_ldflags}
  144. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  145. %{l_prefix}/bin/python setup.py install \
  146. --root=$RPM_BUILD_ROOT \
  147. --prefix=%{l_prefix}
  148. ) || exit $?
  149. ( cd pyasn1-%{V_pyasn1}
  150. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  151. %{l_prefix}/bin/python setup.py install \
  152. --root=$RPM_BUILD_ROOT \
  153. --prefix=%{l_prefix}
  154. ) || exit $?
  155. ( cd pyasn1-modules-%{V_pyasn1_modules}
  156. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  157. %{l_prefix}/bin/python setup.py install \
  158. --root=$RPM_BUILD_ROOT \
  159. --prefix=%{l_prefix}
  160. ) || exit $?
  161. ( cd ndg_httpsclient-%{V_ndg_httpsclient}
  162. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  163. %{l_prefix}/bin/python setup.py install \
  164. --root=$RPM_BUILD_ROOT \
  165. --prefix=%{l_prefix}
  166. ) || exit $?
  167. ( cd PyNaCl-%{V_pynacl}
  168. SODIUM_INSTALL=system \
  169. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  170. %{l_prefix}/bin/python setup.py build_ext \
  171. %{l_cppflags} %{l_ldflags}
  172. SODIUM_INSTALL=system \
  173. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  174. %{l_prefix}/bin/python setup.py install \
  175. --root=$RPM_BUILD_ROOT \
  176. --prefix=%{l_prefix}
  177. ) || exit $?
  178. ( cd libnacl-%{V_libnacl}
  179. SODIUM_INSTALL=system \
  180. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  181. %{l_prefix}/bin/python setup.py build_ext \
  182. %{l_cppflags} %{l_ldflags}
  183. SODIUM_INSTALL=system \
  184. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  185. %{l_prefix}/bin/python setup.py install \
  186. --root=$RPM_BUILD_ROOT \
  187. --prefix=%{l_prefix}
  188. ) || exit $?
  189. ( cd service_identity-%{V_service_identity}
  190. PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python/site-packages \
  191. %{l_prefix}/bin/python setup.py install \
  192. --root=$RPM_BUILD_ROOT \
  193. --prefix=%{l_prefix}
  194. ) || exit $?
  195. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
  196. %files -f files
  197. %clean