python-crypto.spec 7.5 KB

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