Browse Source

initial package creation

Signed-off-by: Toshaan Bharvani <toshaan@powerel.org>
master
Toshaan Bharvani 5 months ago
parent
commit
59a6682fa0
  1. 21
      SOURCES/python-pycryptodomex-3.10.1-sphinx_4.patch
  2. 43
      SOURCES/python-pycryptodomex-3.10.1-use_external_libtomcrypt.patch
  3. 149
      SPECS/python-pycryptodomex.spec

21
SOURCES/python-pycryptodomex-3.10.1-sphinx_4.patch

@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@
diff -up ./Doc/conf.py.bak ./Doc/conf.py
--- ./Doc/conf.py.bak 2021-07-05 08:16:40.083571171 +0000
+++ ./Doc/conf.py 2021-07-05 08:17:17.754162806 +0000
@@ -15,7 +15,7 @@ import sys, os
# Modules to document with autodoc are in another directory
sys.path.insert(0, os.path.abspath('../lib'))
-print sys.path
+print(sys.path)
# Mock existence of native modules
from Crypto.Util import _raw_api
@@ -155,7 +155,7 @@ html_static_path = ['_static']
# Ensure that text wrapping works in a table, by overring some CSS.
# See https://github.com/rtfd/sphinx_rtd_theme/issues/117
def setup(app):
- app.add_stylesheet('theme_overrides.css')
+ app.add_css_file('theme_overrides.css')
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.

43
SOURCES/python-pycryptodomex-3.10.1-use_external_libtomcrypt.patch

@ -0,0 +1,43 @@ @@ -0,0 +1,43 @@
diff -up ./setup.py.bak ./setup.py
--- ./setup.py.bak 2021-02-08 22:14:54.000000000 +0100
+++ ./setup.py 2021-02-09 15:55:53.785892041 +0100
@@ -367,12 +367,14 @@ ext_modules = [
sources=["src/CAST.c"],
py_limited_api=True),
Extension("Crypto.Cipher._raw_des",
- include_dirs=['src/', 'src/libtom/'],
+ include_dirs=['src/'],
sources=["src/DES.c"],
+ extra_link_args=["-ltomcrypt"],
py_limited_api=True),
Extension("Crypto.Cipher._raw_des3",
- include_dirs=['src/', 'src/libtom/'],
+ include_dirs=['src/'],
sources=["src/DES3.c"],
+ extra_link_args=["-ltomcrypt"],
py_limited_api=True),
Extension("Crypto.Util._cpuid_c",
include_dirs=['src/'],
@@ -410,8 +412,9 @@ ext_modules = [
sources=["src/ARC4.c"],
py_limited_api=True),
Extension("Crypto.Cipher._Salsa20",
- include_dirs=['src/', 'src/libtom/'],
+ include_dirs=['src/'],
sources=["src/Salsa20.c"],
+ extra_link_args=["-ltomcrypt"],
py_limited_api=True),
Extension("Crypto.Cipher._chacha20",
include_dirs=['src/'],
diff -up ./src/DES.c.bak ./src/DES.c
--- ./src/DES.c.bak 2021-02-08 22:14:54.000000000 +0100
+++ ./src/DES.c 2021-02-09 15:55:53.785892041 +0100
@@ -39,7 +39,7 @@ FAKE_INIT(raw_des3)
/* Include the actial DES implementation */
#define LTC_NO_PROTOTYPES
-#include "libtom/tomcrypt_des.c"
+#include <tomcrypt.h>
struct block_state {
symmetric_key sk;

149
SPECS/python-pycryptodomex.spec

@ -28,17 +28,19 @@ Note: all modules are installed under the Cryptodome package to avoid conflicts @@ -28,17 +28,19 @@ Note: all modules are installed under the Cryptodome package to avoid conflicts
with the PyCrypto library.}

Name: python-%{srcname}
Version: 3.19.0
Version: 3.14.0
Release: 1%{?dist}
Summary: A self-contained cryptographic library for Python

# PyCrypto-based code is public domain, further PyCryptodome contributions are
# BSD
License: BSD-2-Clause AND LicenseRef-Fedora-Public-Domain
License: BSD and Public Domain
URL: http://www.pycryptodome.org/
Source0: https://github.com/Legrandin/pycryptodome/archive/v%{version}/%{srcname}-%{version}.tar.gz
# Use external libtomcrypt library
Patch0: %{name}-3.15.0-use_external_libtomcrypt.patch
Patch0: %{name}-3.10.1-use_external_libtomcrypt.patch
# Fix build with Sphinx 4.2
Patch1: %{name}-3.10.1-sphinx_4.patch

BuildRequires: gcc
BuildRequires: libtomcrypt-devel
@ -83,6 +85,7 @@ mv lib/Crypto/SelfTest/__main__.py.new lib/Crypto/SelfTest/__main__.py @@ -83,6 +85,7 @@ mv lib/Crypto/SelfTest/__main__.py.new lib/Crypto/SelfTest/__main__.py


%generate_buildrequires
export PYCRYPTODOME_DEBUG=1
%pyproject_buildrequires -r


@ -104,14 +107,14 @@ install -Dpm 0644 Doc/_build/man/pycryptodome.1 $RPM_BUILD_ROOT%{_mandir}/man1/p @@ -104,14 +107,14 @@ install -Dpm 0644 Doc/_build/man/pycryptodome.1 $RPM_BUILD_ROOT%{_mandir}/man1/p


%check
PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch}/ %{__python3} %{py_setup} test
PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch}/ %{__python3} setup.py test


%files -n python3-%{srcname} -f %{pyproject_files}
%doc AUTHORS.rst Changelog.rst README.rst
%license LICENSE.rst
%exclude %{python3_sitearch}/Cryptodome/SelfTest/
%{_mandir}/man1/pycryptodome.1*
%{_mandir}/man1/pycryptodome.1.*


%files -n python3-%{srcname}-selftest
@ -119,139 +122,5 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch}/ %{__python3} %{py_setup} test @@ -119,139 +122,5 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch}/ %{__python3} %{py_setup} test


%changelog
* Sun Sep 24 2023 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.19.0-1
- Update to 3.19.0

* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.17.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild

* Wed Jun 14 2023 Python Maint <python-maint@redhat.com> - 3.17.0-2
- Rebuilt for Python 3.12

* Sun Feb 05 2023 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.17.0-1
- Update to 3.17.0
- Fix Flatpak build (see
https://src.fedoraproject.org/rpms/python-pycryptodomex/pull-request/3)

* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.16.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

* Sun Jan 08 2023 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.16.0-2
- Fix build with Python 3.12 (fix deprecated unittest methods)

* Sat Jan 07 2023 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.16.0-1
- Update to 3.16.0
- Switch to SPDX in license tag

* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.15.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Thu Jun 23 2022 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.15.0-1
- Update to 3.15.0

* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 3.14.1-2
- Rebuilt for Python 3.11

* Fri Feb 18 2022 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.14.1-1
- Update to 3.14.1

* Wed Feb 02 2022 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.14.0-1
- Update to 3.14.0

* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.11.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Thu Nov 25 2021 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.11.0-2
- Fix build with Python 3.11 (see RHBZ #2025587)

* Sat Oct 09 2021 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.11.0-1
- Update to 3.11.0

* Sat Sep 25 2021 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.10.4-1
- Update to 3.10.4

* Thu Sep 23 2021 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.10.2-1
- Update to 3.10.2

* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Mon Jul 05 2021 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.10.1-3
- Fix build with Sphinx 4.2

* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 3.10.1-2
- Rebuilt for Python 3.10

* Tue Feb 09 2021 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.10.1-1
- Update to 3.10.1

* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.8-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Tue Jul 07 2020 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.9.8-1
- Update to 3.9.8

* Fri Jun 05 2020 Miro Hrončok <mhroncok@redhat.com> - 3.9.7-3
- Drop python2-pycryptodomex (#1785783)

* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 3.9.7-2
- Rebuilt for Python 3.9

* Fri Feb 21 2020 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.9.7-1
- Update to 3.9.7

* Mon Feb 17 2020 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.9.6-2
- Move test suite module to a separate package (RHBZ #1802989)

* Mon Feb 03 2020 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.9.6-1
- Update to 3.9.6

* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Tue Nov 19 2019 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.9.4-1
- Update to 3.9.4

* Fri Nov 15 2019 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.9.3-1
- Update to 3.9.3

* Fri Nov 15 2019 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.9.2-1
- Update to 3.9.2
- Spec cleanup

* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 3.9.0-2
- Rebuilt for Python 3.8.0rc1 (#1748018)

* Wed Aug 28 2019 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.9.0-1
- Update to 3.9.0

* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 3.8.2-2
- Rebuilt for Python 3.8

* Fri Aug 09 2019 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.8.2-1
- Update to 3.8.2

* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Tue Apr 09 2019 Miro Hrončok <mhroncok@redhat.com> - 3.8.1-2
- Readd python2-pycryptodomex (#1672052)

* Fri Apr 05 2019 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.8.1-1
- Update to 3.8.1

* Fri Mar 29 2019 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.8.0-1
- Update to 3.8.0

* Fri Feb 15 2019 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.7.3-1
- Update to 3.7.3

* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Mon Nov 19 2018 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.7.0-1
- Update to 3.7.0
- Use the same .spec file for all supported releases of Fedora and EL
- Initial EPEL9 release

Loading…
Cancel
Save