commit c617610d228a86218a4c72c33af1cf7a19a778f0
Author: Jacek Konieczny <[email protected]>
Date:   Wed Oct 30 10:02:50 2013 +0100

    Python 3 support added, tests enabled

 python-Crypto.spec | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 100 insertions(+), 4 deletions(-)
---
diff --git a/python-Crypto.spec b/python-Crypto.spec
index 0498444..3d58da4 100644
--- a/python-Crypto.spec
+++ b/python-Crypto.spec
@@ -1,3 +1,9 @@
+
+# Conditional build:
+%bcond_without tests   # do not perform "make test"
+%bcond_without python2 # CPython 2.x module
+%bcond_without python3 # CPython 3.x module
+
 %define                module  Crypto
 Summary:       PyCrypto - The Python Cryptography Toolkit
 Summary(pl.UTF-8):     Kryptograficzny przybornik dla języka Python
@@ -10,9 +16,17 @@ Group:               Development/Languages/Python
 Source0:       
http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-%{version}.tar.gz
 # Source0-md5: 55a61a054aa66812daf5161a0d5d7eda
 URL:           http://www.dlitz.net/software/pycrypto/
+%if %{with python2}
 BuildRequires: python
 BuildRequires: python-devel >= 2.2
 BuildRequires: python-modules
+%endif
+%if %{with python3}
+BuildRequires: python3
+BuildRequires: python3-2to3
+BuildRequires: python3-devel
+BuildRequires: python3-modules
+%endif
 BuildRequires: rpm-pythonprov
 BuildRequires: rpmbuild(macros) >= 1.219
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -46,27 +60,84 @@ zaimplementowanych dla języka Python. Pakiet zawiera między 
innymi:
   angielskich, test liczb pierwszych
 - programy demo (aktualnie odrobinę starych)
 
+%package -n python3-%{module}
+Summary:       PyCrypto - The Python Cryptography Toolkit
+Summary(pl.UTF-8):     Kryptograficzny przybornik dla języka Python
+Group:         Development/Languages/Python
+
+%description -n python3-%{module}
+The Toolkit is a collection of cryptographic algorithms and protocols,
+implemented for use from Python. Among the contents of the package:
+- hash functions: MD2, MD4, RIPEMD
+- block encryption algorithms: AES, ARC2, Blowfish, CAST, DES,
+  Triple-DES, IDEA, RC5
+- stream encryption algorithms: ARC4, simple XOR
+- public-key algorithms: RSA, DSA, ElGamal, qNEW
+- protocols: All-or-nothing transforms, chaffing/winnowing
+- miscellaneous: RFC1751 module for converting 128-key keys into a set
+  of English words, primality testing
+- some demo programs (currently all quite old and outdated)
+
+%description -n python3-%{module} -l pl.UTF-8
+Ten przybornik jest zbiorem kryptograficznych algorytmów i protokołów
+zaimplementowanych dla języka Python. Pakiet zawiera między innymi:
+- funkcje haszujące: MD2, MD4, RIPEMD
+- blokowe algorytmy szyfrujące: AES,ARC2, Blowfish, CAST, DES,
+  Triple-DES, IDEA, RC5
+- strumieniowe algorytmu szyfrujące: ARC4, zwykły XOR
+- algorytmy z kluczem publicznym: RSA, DSA,ElGamal, qNEW
+- protokoły: przekształcenia wszystko-albo-nic, chaffing/winnowing
+- inne: RFC1751 moduł do konwersji kluczy 128 bitowych w zbiory słów
+  angielskich, test liczb pierwszych
+- programy demo (aktualnie odrobinę starych)
+
 %prep
 %setup -q -n pycrypto-%{version}
 
 %build
+%if %{with python2}
+# CC/CFLAGS is only for arch packages - remove on noarch packages
 CC="%{__cc}" \
 CFLAGS="%{rpmcflags}" \
-%{__python} setup.py build
+%{__python} setup.py build --build-base build-2 %{?with_tests:test}
+%endif
+
+%if %{with python3}
+# CC/CFLAGS is only for arch packages - remove on noarch packages
+CC="%{__cc}" \
+CFLAGS="%{rpmcflags}" \
+%{__python3} setup.py build --build-base build-3 %{?with_tests:test}
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
-%{__python} setup.py install \
-       --optimize=2 \
-       --root=$RPM_BUILD_ROOT
+
+%if %{with python2}
+%{__python} setup.py \
+       build --build-base build-2 \
+       install --skip-build \
+       --root=$RPM_BUILD_ROOT \
+       --optimize=2
 
 %py_postclean
 
 %{__rm} -r $RPM_BUILD_ROOT%{py_sitedir}/Crypto/SelfTest
+%endif
+
+%if %{with python3}
+%{__python3} setup.py \
+       build --build-base build-3 \
+       install --skip-build \
+       --root=$RPM_BUILD_ROOT \
+       --optimize=2
+
+%{__rm} -r $RPM_BUILD_ROOT%{py3_sitedir}/Crypto/SelfTest
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%if %{with python2}
 %files
 %defattr(644,root,root,755)
 %doc ACKS COPYRIGHT ChangeLog README TODO Doc
@@ -87,3 +158,28 @@ rm -rf $RPM_BUILD_ROOT
 %if "%{py_ver}" > "2.4"
 %{py_sitedir}/pycrypto-*.egg-info
 %endif
+%endif
+
+%if %{with python3}
+%files -n python3-%{module}
+%defattr(644,root,root,755)
+%doc ACKS COPYRIGHT ChangeLog README TODO Doc
+%dir %{py3_sitedir}/%{module}
+%{py3_sitedir}/%{module}/*.py
+%{py3_sitedir}/%{module}/__pycache__
+%dir %{py3_sitedir}/%{module}/Cipher
+%dir %{py3_sitedir}/%{module}/Hash
+%dir %{py3_sitedir}/%{module}/Protocol
+%dir %{py3_sitedir}/%{module}/PublicKey
+%dir %{py3_sitedir}/%{module}/Random
+%dir %{py3_sitedir}/%{module}/Random/Fortuna
+%dir %{py3_sitedir}/%{module}/Random/OSRNG
+%dir %{py3_sitedir}/%{module}/Signature
+%dir %{py3_sitedir}/%{module}/Util
+%attr(755,root,root) %{py3_sitedir}/%{module}/*/*.so
+%{py3_sitedir}/%{module}/*/*.py
+%{py3_sitedir}/%{module}/*/__pycache__
+%{py3_sitedir}/%{module}/*/*/*.py
+%{py3_sitedir}/%{module}/*/*/__pycache__
+%{py3_sitedir}/pycrypto-*.egg-info
+%endif
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/python-Crypto.git/commitdiff/c617610d228a86218a4c72c33af1cf7a19a778f0

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to