|
|
@ -1,37 +1,75 @@
|
|
|
|
%global pythonver %(%{__python} -c "import sys; print sys.version[:3]" 2>/dev/null || echo 0.0)
|
|
|
|
%global pythonver %(%{__python} -c "import sys; print sys.version[:3]" 2>/dev/null || echo 0.0)
|
|
|
|
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" 2>/dev/null)}
|
|
|
|
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" 2>/dev/null)}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Python3 introduced in Fedora 13
|
|
|
|
|
|
|
|
%global with_python3 %([ 0%{?fedora} -gt 12 -o 0%{?rhel} -gt 6 ] && echo 1 || echo 0)
|
|
|
|
|
|
|
|
|
|
|
|
Summary: Cryptography library for Python
|
|
|
|
Summary: Cryptography library for Python
|
|
|
|
Name: python-crypto
|
|
|
|
Name: python-crypto
|
|
|
|
Version: 2.4
|
|
|
|
Version: 2.4
|
|
|
|
Release: 1%{?dist}
|
|
|
|
Release: 2%{?dist}
|
|
|
|
# Mostly Public Domain apart from parts of HMAC.py and setup.py, which are Python
|
|
|
|
# Mostly Public Domain apart from parts of HMAC.py and setup.py, which are Python
|
|
|
|
License: Public Domain and Python
|
|
|
|
License: Public Domain and Python
|
|
|
|
Group: Development/Libraries
|
|
|
|
Group: Development/Libraries
|
|
|
|
URL: http://www.pycrypto.org/
|
|
|
|
URL: http://www.pycrypto.org/
|
|
|
|
Source0: http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-%{version}.tar.gz
|
|
|
|
Source0: http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-%{version}.tar.gz
|
|
|
|
Patch0: python-crypto-2.4-optflags.patch
|
|
|
|
Patch0: python-crypto-2.4-optflags.patch
|
|
|
|
|
|
|
|
Patch1: python-crypto-2.4-fix-pubkey-size-divisions.patch
|
|
|
|
Provides: pycrypto = %{version}-%{release}
|
|
|
|
Provides: pycrypto = %{version}-%{release}
|
|
|
|
BuildRequires: python2-devel >= 2.2, gmp-devel >= 4.1
|
|
|
|
BuildRequires: python2-devel >= 2.2, gmp-devel >= 4.1
|
|
|
|
|
|
|
|
%if %{with_python3}
|
|
|
|
|
|
|
|
BuildRequires: python-tools
|
|
|
|
|
|
|
|
BuildRequires: python3-devel
|
|
|
|
|
|
|
|
%endif
|
|
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot-%(id -nu)
|
|
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot-%(id -nu)
|
|
|
|
|
|
|
|
|
|
|
|
# Don't want provides for python shared objects
|
|
|
|
# Don't want provides for python shared objects
|
|
|
|
%{?filter_provides_in: %filter_provides_in %{python_sitearch}/Crypto/.*\.so}
|
|
|
|
%{?filter_provides_in: %filter_provides_in %{python_sitearch}/Crypto/.*\.so}
|
|
|
|
|
|
|
|
%if %{with_python3}
|
|
|
|
|
|
|
|
%{?filter_provides_in: %filter_provides_in %{python3_sitearch}/Crypto/.*\.so}
|
|
|
|
|
|
|
|
%endif
|
|
|
|
%{?filter_setup}
|
|
|
|
%{?filter_setup}
|
|
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
%description
|
|
|
|
Python-crypto is a collection of both secure hash functions (such as MD5 and
|
|
|
|
PyCrypto is a collection of both secure hash functions (such as MD5 and
|
|
|
|
|
|
|
|
SHA), and various encryption algorithms (AES, DES, RSA, ElGamal, etc.).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%if %{with_python3}
|
|
|
|
|
|
|
|
%package -n python3-crypto
|
|
|
|
|
|
|
|
Summary: Cryptography library for Python 3
|
|
|
|
|
|
|
|
Group: Development/Libraries
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%description -n python3-crypto
|
|
|
|
|
|
|
|
PyCrypto is a collection of both secure hash functions (such as MD5 and
|
|
|
|
SHA), and various encryption algorithms (AES, DES, RSA, ElGamal, etc.).
|
|
|
|
SHA), and various encryption algorithms (AES, DES, RSA, ElGamal, etc.).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is the Python 3 build of the package.
|
|
|
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
%prep
|
|
|
|
%setup -n pycrypto-%{version} -q
|
|
|
|
%setup -n pycrypto-%{version} -q
|
|
|
|
|
|
|
|
|
|
|
|
# Use distribution compiler flags rather than upstream's
|
|
|
|
# Use distribution compiler flags rather than upstream's
|
|
|
|
%patch0 -p1
|
|
|
|
%patch0 -p1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Fix divisions within benchmarking suite:
|
|
|
|
|
|
|
|
%patch1 -p1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Prepare python3 build (setup.py doesn't run 2to3 on pct-speedtest.py)
|
|
|
|
|
|
|
|
%if %{with_python3}
|
|
|
|
|
|
|
|
cp -a . %{py3dir}
|
|
|
|
|
|
|
|
2to3 -wn %{py3dir}/pct-speedtest.py
|
|
|
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
%build
|
|
|
|
CFLAGS="%{optflags} -fno-strict-aliasing" %{__python} setup.py build
|
|
|
|
CFLAGS="%{optflags} -fno-strict-aliasing" %{__python} setup.py build
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%if %{with_python3}
|
|
|
|
|
|
|
|
cd %{py3dir}
|
|
|
|
|
|
|
|
CFLAGS="%{optflags} -fno-strict-aliasing" %{__python3} setup.py build
|
|
|
|
|
|
|
|
cd -
|
|
|
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
%install
|
|
|
|
rm -rf %{buildroot}
|
|
|
|
rm -rf %{buildroot}
|
|
|
|
%{__python} setup.py install -O1 --skip-build --root %{buildroot}
|
|
|
|
%{__python} setup.py install -O1 --skip-build --root %{buildroot}
|
|
|
@ -39,6 +77,14 @@ rm -rf %{buildroot}
|
|
|
|
# Remove group write permissions on shared objects
|
|
|
|
# Remove group write permissions on shared objects
|
|
|
|
find %{buildroot}%{python_sitearch} -name '*.so' -exec chmod -c g-w {} \;
|
|
|
|
find %{buildroot}%{python_sitearch} -name '*.so' -exec chmod -c g-w {} \;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Build for python3 too
|
|
|
|
|
|
|
|
%if %{with_python3}
|
|
|
|
|
|
|
|
cd %{py3dir}
|
|
|
|
|
|
|
|
%{__python3} setup.py install -O1 --skip-build --root %{buildroot}
|
|
|
|
|
|
|
|
cd -
|
|
|
|
|
|
|
|
find %{buildroot}%{python3_sitearch} -name '*.so' -exec chmod -c g-w {} \;
|
|
|
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
# See if there's any egg-info
|
|
|
|
# See if there's any egg-info
|
|
|
|
if [ -f %{buildroot}%{python_sitearch}/pycrypto-%{version}-py%{pythonver}.egg-info ]; then
|
|
|
|
if [ -f %{buildroot}%{python_sitearch}/pycrypto-%{version}-py%{pythonver}.egg-info ]; then
|
|
|
|
echo %{python_sitearch}/pycrypto-%{version}-py%{pythonver}.egg-info
|
|
|
|
echo %{python_sitearch}/pycrypto-%{version}-py%{pythonver}.egg-info
|
|
|
@ -52,6 +98,14 @@ fi > egg-info
|
|
|
|
PYTHONPATH=%{buildroot}%{python_sitearch} %{__python} pct-speedtest.py
|
|
|
|
PYTHONPATH=%{buildroot}%{python_sitearch} %{__python} pct-speedtest.py
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Test the python3 build too
|
|
|
|
|
|
|
|
%if %{with_python3}
|
|
|
|
|
|
|
|
cd %{py3dir}
|
|
|
|
|
|
|
|
%{__python3} setup.py test
|
|
|
|
|
|
|
|
PYTHONPATH=%{buildroot}%{python3_sitearch} %{__python3} pct-speedtest.py
|
|
|
|
|
|
|
|
cd -
|
|
|
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
%clean
|
|
|
|
%clean
|
|
|
|
rm -rf %{buildroot}
|
|
|
|
rm -rf %{buildroot}
|
|
|
|
|
|
|
|
|
|
|
@ -61,7 +115,19 @@ rm -rf %{buildroot}
|
|
|
|
%doc python-3-changes.txt
|
|
|
|
%doc python-3-changes.txt
|
|
|
|
%{python_sitearch}/Crypto/
|
|
|
|
%{python_sitearch}/Crypto/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%if %{with_python3}
|
|
|
|
|
|
|
|
%files -n python3-crypto
|
|
|
|
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
|
|
|
|
%doc README TODO ACKS ChangeLog LEGAL/ COPYRIGHT Doc/
|
|
|
|
|
|
|
|
%doc python-3-changes.txt
|
|
|
|
|
|
|
|
%{python3_sitearch}/Crypto/
|
|
|
|
|
|
|
|
%{python3_sitearch}/pycrypto-*py3.*.egg-info
|
|
|
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
%changelog
|
|
|
|
|
|
|
|
* Tue Oct 25 2011 Paul Howarth <paul@city-fan.org> - 2.4-2
|
|
|
|
|
|
|
|
- Add python3-crypto subpackage (based on patch from Dave Malcolm - #748529)
|
|
|
|
|
|
|
|
|
|
|
|
* Mon Oct 24 2011 Paul Howarth <paul@city-fan.org> - 2.4-1
|
|
|
|
* Mon Oct 24 2011 Paul Howarth <paul@city-fan.org> - 2.4-1
|
|
|
|
- Update to 2.4
|
|
|
|
- Update to 2.4
|
|
|
|
- Python 3 support! PyCrypto now supports every version of Python from 2.1
|
|
|
|
- Python 3 support! PyCrypto now supports every version of Python from 2.1
|
|
|
|