diff --git a/Botan-1.10.17-add-riscv64.patch b/Botan-1.10.17-add-riscv64.patch new file mode 100644 index 0000000..c2da72d --- /dev/null +++ b/Botan-1.10.17-add-riscv64.patch @@ -0,0 +1,7 @@ +diff --git a/src/build-data/arch/riscv64.txt b/src/build-data/arch/riscv64.txt +new file mode 100644 +index 0000000..6e5e0ff +--- /dev/null ++++ b/src/build-data/arch/riscv64.txt +@@ -0,0 +1 @@ ++endian little diff --git a/botan-1.10-add-ppc64le.patch b/botan-1.10-add-ppc64le.patch deleted file mode 100644 index 05794cd..0000000 --- a/botan-1.10-add-ppc64le.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff -Naur Botan-1.10.8.orig/src/build-data/arch/ppc64le.txt Botan-1.10.8/src/build-data/arch/ppc64le.txt ---- Botan-1.10.8.orig/src/build-data/arch/ppc64le.txt 1969-12-31 18:00:00.000000000 -0600 -+++ Botan-1.10.8/src/build-data/arch/ppc64le.txt 2014-05-25 12:59:22.030001491 -0500 -@@ -0,0 +1,16 @@ -+ -+endian little -+family ppc64le -+ -+ -+ppc64el # For Debian -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -diff -Naur Botan-1.10.8.orig/src/build-data/cc/gcc.txt Botan-1.10.8/src/build-data/cc/gcc.txt ---- Botan-1.10.8.orig/src/build-data/cc/gcc.txt 2014-05-25 12:44:19.580001491 -0500 -+++ Botan-1.10.8/src/build-data/cc/gcc.txt 2014-05-25 12:55:57.750001491 -0500 -@@ -83,6 +83,7 @@ - mips64 -> "-mips3 -mcpu=SUBMODEL" mips64- - ppc32 -> "-mcpu=SUBMODEL" ppc - ppc64 -> "-mcpu=SUBMODEL" ppc -+ppc64le -> "-mcpu=SUBMODEL" - sparc32 -> "-mcpu=SUBMODEL -Wa,-xarch=v8plus" sparc32- - sparc64 -> "-mcpu=v9 -mtune=SUBMODEL" - x86_32 -> "-march=SUBMODEL -momit-leaf-frame-pointer" -@@ -98,6 +99,7 @@ - sparc32 -> "-m32 -mno-app-regs" - sparc64 -> "-m64 -mno-app-regs" - ppc64 -> "-m64" -+ppc64le -> "-m64" - - # This should probably be used on most/all targets, but the docs are unclear - openbsd -> "-pthread" -diff -Naur Botan-1.10.8.orig/src/math/mp/mp_asm64/info.txt Botan-1.10.8/src/math/mp/mp_asm64/info.txt ---- Botan-1.10.8.orig/src/math/mp/mp_asm64/info.txt 2014-05-25 12:44:19.620001491 -0500 -+++ Botan-1.10.8/src/math/mp/mp_asm64/info.txt 2014-05-25 12:45:01.580001491 -0500 -@@ -13,6 +13,7 @@ - mips64 - ppc64 - sparc64 -+ppc64le - - - # The inline asm only works with gcc, but it looks like (at least on diff --git a/botan-1.10.17-doc-conf-2to3.patch b/botan-1.10.17-doc-conf-2to3.patch new file mode 100644 index 0000000..e826ca6 --- /dev/null +++ b/botan-1.10.17-doc-conf-2to3.patch @@ -0,0 +1,38 @@ +diff -up Botan-1.10.17/doc/conf.py.orig Botan-1.10.17/doc/conf.py +--- Botan-1.10.17/doc/conf.py.orig 2017-10-02 08:00:00.000000000 +0200 ++++ Botan-1.10.17/doc/conf.py 2021-09-11 17:57:38.159934955 +0200 +@@ -40,10 +40,10 @@ version. + def check_sphinx_version(): + import sphinx + +- version = map(int, sphinx.__version__.split('.')) ++ version = list(map(int, sphinx.__version__.split('.'))) + if version[0] == 1 and version[1] == 0 and version[2] < 7: + # Exit rather than throwing to avoid a confusing backtrace +- print "This Sphinx is too old - upgrade to at least 1.0.7" ++ print("This Sphinx is too old - upgrade to at least 1.0.7") + import sys + sys.exit(1) + +@@ -66,8 +66,8 @@ source_suffix = '.txt' + master_doc = 'contents' + + # General information about the project. +-project = u'botan' +-copyright = u'2000-2011, Jack Lloyd' ++project = 'botan' ++copyright = '2000-2011, Jack Lloyd' + + # The version info for the project you're documenting, acts as replacement for + # |version| and |release|, also used in various other places throughout the +@@ -214,8 +214,8 @@ htmlhelp_basename = 'botandoc' + # Grouping the document tree into LaTeX files. List of tuples + # (source start file, target name, title, author, documentclass [howto/manual]). + latex_documents = [ +- ('contents', 'botan.tex', u'botan Reference Manual', +- u'Jack Lloyd', 'manual'), ++ ('contents', 'botan.tex', 'botan Reference Manual', ++ 'Jack Lloyd', 'manual'), + ] + + # The name of an image file (relative to this directory) to place at the top of diff --git a/botan-1.10.17-u64bit.patch b/botan-1.10.17-u64bit.patch new file mode 100644 index 0000000..ea90706 --- /dev/null +++ b/botan-1.10.17-u64bit.patch @@ -0,0 +1,12 @@ +diff -up Botan-1.10.17/src/hash/gost_3411/gost_3411.cpp~ Botan-1.10.17/src/hash/gost_3411/gost_3411.cpp +--- Botan-1.10.17/src/hash/gost_3411/gost_3411.cpp~ 2017-10-02 08:00:00.000000000 +0200 ++++ Botan-1.10.17/src/hash/gost_3411/gost_3411.cpp 2023-01-22 13:01:38.984150336 +0100 +@@ -91,7 +91,7 @@ void GOST_34_11::compress_n(const byte i + // P transformation + for(size_t k = 0; k != 4; ++k) + { +- const uint64_t UVk = U[k] ^ V[k]; ++ const u64bit UVk = U[k] ^ V[k]; + for(size_t l = 0; l != 8; ++l) + key[4*l+k] = get_byte(l, UVk); + } diff --git a/botan-aarch64.patch b/botan-aarch64.patch deleted file mode 100644 index ffb6888..0000000 --- a/botan-aarch64.patch +++ /dev/null @@ -1,21 +0,0 @@ -Index: Botan-1.10.8/src/build-data/arch/aarch64.txt -=================================================================== ---- /dev/null -+++ Botan-1.10.8/src/build-data/arch/aarch64.txt -@@ -0,0 +1,16 @@ -+ -+endian little -+family aarch64 -+ -+ -+arm64 # For Debian -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ diff --git a/botan.spec b/botan.spec index f4af8fe..975d0a8 100644 --- a/botan.spec +++ b/botan.spec @@ -1,54 +1,43 @@ %global major_version 1.10 -%if 0%{?fedora} -%global with_python3 1 -%endif - Name: botan -Version: %{major_version}.14 -Release: 3%{?dist} +Version: %{major_version}.17 +Release: 51%{?dist} Summary: Crypto library written in C++ -Group: System Environment/Libraries -License: BSD +# Automatically converted from old format: BSD - review is highly recommended. +License: LicenseRef-Callaway-BSD URL: http://botan.randombit.net/ # tarfile is stripped using repack.sh. original tarfile to be found # here: http://botan.randombit.net/releases/Botan-%%{version}.tgz Source0: Botan-%{version}.stripped.tar.gz Source1: README.fedora -Patch0: botan-aarch64.patch -Patch1: botan-1.10-add-ppc64le.patch # Enable only cleared ECC algorithms -Patch2: botan-1.10.5-ecc-fix.patch +Patch0: botan-1.10.5-ecc-fix.patch # Make boost_python selectable -Patch3: botan-boost_python.patch +Patch1: botan-boost_python.patch # Fix wrong path -Patch4: botan-1.10.13-python-init.patch +Patch2: botan-1.10.13-python-init.patch +# 2to3 doc/conf.py +Patch3: botan-1.10.17-doc-conf-2to3.patch +# Fix FTBFS +Patch4: botan-1.10.17-u64bit.patch +# Add RISC-V (riscv64) +# Upstream in later versions: +# https://github.com/randombit/botan/blob/master/src/build-data/arch/riscv64.txt +Patch9: Botan-1.10.17-add-riscv64.patch BuildRequires: gcc-c++ -BuildRequires: python2 -BuildRequires: python2-devel -BuildRequires: boost-python-devel -%if 0%{?with_python3} BuildRequires: python3 BuildRequires: python3-devel -BuildRequires: boost-python3-devel -%endif # with_python3 - -BuildRequires: python-sphinx +BuildRequires: python3-sphinx +BuildRequires: boost-devel BuildRequires: bzip2-devel BuildRequires: zlib-devel -%if 0%{?fedora} >=26 -BuildRequires: compat-openssl10-devel -%else -BuildRequires: openssl-devel -%endif +BuildRequires: make # do not check .so files in the python_sitelib directories -%global __provides_exclude_from ^(%{python2_sitearch}/.*\\.so)$ -%if 0%{?with_python3} %global __provides_exclude_from ^(%{python3_sitearch}/.*\\.so)$ -%endif # with_python3 %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} @@ -63,16 +52,10 @@ flavor of the library. %package devel Summary: Development files for %{name} -Group: Development/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} Requires: pkgconfig Requires: bzip2-devel Requires: zlib-devel -%if 0%{?fedora} >=26 -Requires: compat-openssl10-devel -%else -Requires: openssl-devel -%endif %description devel The %{name}-devel package contains libraries and header files for @@ -81,7 +64,6 @@ developing applications that use %{name}. %package doc Summary: Documentation for %{name} -Group: Documentation BuildArch: noarch %description doc @@ -90,26 +72,8 @@ BuildArch: noarch This package contains HTML documentation for %{name}. -%package -n python2-%{name} -Summary: Python2 bindings for %{name} -Group: System Environment/Libraries -%{?python_provide:%python_provide python2-%{name}} -# the python2 package was named botan-python up to 1.10.13-1 -Provides: %{name}-python = %{version}-%{release} -Obsoletes: %{name}-python < 1.10.13-2 - -%description -n python2-%{name} -%{summary} - -This package contains the Python2 binding for %{name}. - -Note: The Python binding should be considered alpha software, and the -interfaces may change in the future. - -%if 0%{?with_python3} %package -n python3-%{name} Summary: Python3 bindings for %{name} -Group: System Environment/Libraries %{?python_provide:%python_provide python3-%{name}} %description -n python3-%{name} @@ -119,28 +83,24 @@ This package contains the Python3 binding for %{name}. Note: The Python binding should be considered alpha software, and the interfaces may change in the future. -%endif # with_python3 %prep %setup -q -n Botan-%{version} -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -b .eccfix -%patch3 -p1 -%patch4 -p1 +%autosetup -p1 -n Botan-%{version} # These tests will fail. rm -rf checks/ec_tests.cpp %build + # we have the necessary prerequisites, so enable optional modules -%global enable_modules bzip2,zlib,openssl +%global enable_modules bzip2,zlib # fixme: maybe disable unix_procs, very slow. %global disable_modules gnump -./configure.py \ +%{__python3} ./configure.py \ --prefix=%{_prefix} \ --libdir=%{_lib} \ --cc=gcc \ @@ -152,27 +112,14 @@ rm -rf checks/ec_tests.cpp --with-python-version=dummy.dummy \ --with-sphinx -%if 0%{?with_python3} -cp -a build/python{,3} -%endif # with_python3 - # (ab)using CXX as an easy way to inject our CXXFLAGS make CXX="g++ -std=c++11 ${CXXFLAGS:-%{optflags}}" %{?_smp_mflags} -make -f Makefile.python \ - CXX="g++ -std=c++11 ${CXXFLAGS:-%{optflags}}" %{?_smp_mflags} \ - PYTHON_INC="$(python2-config --includes)" \ - PYTHON_ROOT=. - -%if 0%{?with_python3} -mv build/python{,2} ; mv build/python{3,} make -f Makefile.python \ CXX="g++ -std=c++11 ${CXXFLAGS:-%{optflags}}" %{?_smp_mflags} \ PYTHON_INC="$(python3-config --includes)" \ PYTHON_ROOT=. \ - BOOST_PYTHON=boost_python3 -mv build/python{,3} ; mv build/python{2,} -%endif # with_python3 + BOOST_PYTHON=boost_python%{python3_version_nodots} %install make install \ @@ -181,15 +128,9 @@ make install \ INSTALL_CMD_EXEC="install -p -m 755" \ INSTALL_CMD_DATA="install -p -m 644" -make -f Makefile.python install \ - PYTHON_SITE_PACKAGE_DIR=%{buildroot}%{python2_sitearch} - -%if 0%{?with_python3} -mv build/python{,2} ; mv build/python{3,} make -f Makefile.python install \ PYTHON_SITE_PACKAGE_DIR=%{buildroot}%{python3_sitearch} -mv build/python{,3} ; mv build/python{2,} -%endif # with_python3 + # fixups find doc/examples -type f -exec chmod -x {} \; @@ -200,10 +141,10 @@ cp -a %{SOURCE1} %{buildroot}%{_pkgdocdir} rm -r %{buildroot}%{_pkgdocdir}/manual/{.doctrees,.buildinfo} -%post -p /sbin/ldconfig +%ldconfig_post -%postun -p /sbin/ldconfig +%ldconfig_postun %files @@ -244,14 +185,8 @@ rm -r %{buildroot}%{_pkgdocdir}/manual/{.doctrees,.buildinfo} %{_pkgdocdir}/python2-examples -%files -n python2-%{name} -%{python2_sitearch}/%{name} - - -%if 0%{?with_python3} %files -n python3-%{name} %{python3_sitearch}/%{name} -%endif # with_python3 %check @@ -265,6 +200,193 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} ./check --validate %changelog +* Mon Jan 12 2026 Jonathan Wakely - 1.10.17-51 +- Rebuilt for Boost 1.90 + +* Fri Sep 19 2025 Python Maint - 1.10.17-50 +- Rebuilt for Python 3.14.0rc3 bytecode + +* Fri Aug 15 2025 Python Maint - 1.10.17-49 +- Rebuilt for Python 3.14.0rc2 bytecode + +* Wed Jul 23 2025 Fedora Release Engineering - 1.10.17-48 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Tue Jun 03 2025 Python Maint - 1.10.17-47 +- Rebuilt for Python 3.14 + +* Thu Jan 16 2025 Fedora Release Engineering - 1.10.17-46 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Aug 28 2024 Miroslav Suchý - 1.10.17-45 +- convert license to SPDX + +* Wed Jul 17 2024 Fedora Release Engineering - 1.10.17-44 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sat Jun 08 2024 Python Maint - 1.10.17-43 +- Rebuilt for Python 3.13 + +* Sat Feb 24 2024 David Abdurachmanov - 1.10.17-42 +- Add support for riscv64 + +* Tue Jan 23 2024 Fedora Release Engineering - 1.10.17-41 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 1.10.17-40 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jan 17 2024 Jonathan Wakely - 1.10.17-39 +- Rebuilt for Boost 1.83 + +* Wed Jul 19 2023 Fedora Release Engineering - 1.10.17-38 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jun 14 2023 Python Maint - 1.10.17-37 +- Rebuilt for Python 3.12 + +* Mon Feb 20 2023 Jonathan Wakely - 1.10.17-36 +- Rebuilt for Boost 1.81 + +* Sun Jan 22 2023 Thomas Moschny - 1.10.17-35 +- Add patch to fix FTBFS. + +* Wed Jan 18 2023 Fedora Release Engineering - 1.10.17-34 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jul 20 2022 Fedora Release Engineering - 1.10.17-33 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Jun 24 2022 Jonathan Wakely - .17-32 +- Replace obsolete boost-python3-devel build dependency (#2100748) + +* Mon Jun 13 2022 Python Maint - 1.10.17-31 +- Rebuilt for Python 3.11 + +* Wed May 04 2022 Thomas Rodgers - 1.10.17-30 +- Rebuilt for Boost 1.78 + +* Wed Jan 19 2022 Fedora Release Engineering - 1.10.17-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sat Sep 11 2021 Thomas Moschny - 1.10.17-28 +- Fix FTBFS on F35 and later. + +* Fri Aug 06 2021 Jonathan Wakely - 1.10.17-27 +- Rebuilt for Boost 1.76 + +* Wed Jul 21 2021 Fedora Release Engineering - 1.10.17-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 1.10.17-25 +- Rebuilt for Python 3.10 + +* Tue Jan 26 2021 Fedora Release Engineering - 1.10.17-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Jan 22 2021 Jonathan Wakely - 1.10.17-23 +- Rebuilt for Boost 1.75 + +* Thu Oct 01 2020 Jeff Law - 1.10.17-22 +- Re-enable LTO + +* Mon Aug 10 2020 Jeff Law - 1.10.17-21 +- Disable LTO on armv7hl for now. + +* Mon Jul 27 2020 Fedora Release Engineering - 1.10.17-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri May 29 2020 Jonathan Wakely - 1.10.17-19 +- Rebuilt for Boost 1.73 + +* Tue May 26 2020 Miro Hrončok - 1.10.17-18 +- Rebuilt for Python 3.9 + +* Tue Jan 28 2020 Fedora Release Engineering - 1.10.17-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Oct 03 2019 Miro Hrončok - 1.10.17-16 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Mon Aug 19 2019 Miro Hrončok - 1.10.17-15 +- Rebuilt for Python 3.8 + +* Wed Aug 14 2019 Thomas Moschny - 1.10.17-14 +- Remove dependency on OpenSSL (for F31+). + +* Wed Jul 24 2019 Fedora Release Engineering - 1.10.17-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 1.10.17-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Jan 30 2019 Jonathan Wakely - 1.10.17-11 +- Use %%{python3_version_nodots} for Boost.Python library name + +* Tue Jan 29 2019 Jonathan Wakely - 1.10.17-11 +- Use boost_python37 for library name + +* Thu Jan 24 2019 Jonathan Wakely - 1.10.17-11 +- Rebuilt for Boost 1.69 + +* Tue Sep 18 2018 Miro Hrončok - 1.10.17-10 +- Remove Python 2 subpackage (#1627321) + +* Thu Jul 12 2018 Fedora Release Engineering - 1.10.17-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Jul 02 2018 Miro Hrončok - 1.10.17-8 +- Rebuilt for Python 3.7 + +* Fri Jun 29 2018 Thomas Moschny - 1.10.17-7 +- Use ldconfig scriptlet macros. + +* Fri Jun 29 2018 Miro Hrončok - 1.10.17-6 +- Rebuilt for Python 3.7 + +* Thu Jun 28 2018 David Abdurachmanov - 1.10.17-5 +- Switch BR boost-python-devel to boost-python2-devel + +* Tue Jun 19 2018 Miro Hrončok - 1.10.17-4 +- Rebuilt for Python 3.7 + +* Wed Feb 07 2018 Fedora Release Engineering - 1.10.17-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Jan 23 2018 Jonathan Wakely - 1.10.17-2 +- Rebuilt for Boost 1.66 + +* Mon Oct 2 2017 Thomas Moschny - 1.10.17-1 +- Update to 1.10.17. +- Remove obsolete patches. + +* Fri Sep 08 2017 Troy Dawson - 1.10.16-2 +- Cleanup spec file conditionals + +* Sun Aug 13 2017 Thomas Moschny - 1.10.16-1 +- Update to 1.10.16. + +* Wed Aug 02 2017 Fedora Release Engineering - 1.10.14-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.10.14-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Jul 03 2017 Jonathan Wakely - 1.10.14-8 +- Rebuilt for Boost 1.64 + +* Mon May 15 2017 Fedora Release Engineering - 1.10.14-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.10.14-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Jan 27 2017 Jonathan Wakely - 1.10.14-5 +- Rebuilt for Boost 1.63 + +* Mon Dec 19 2016 Miro Hrončok - 1.10.14-4 +- Rebuild for Python 3.6 + * Sat Dec 10 2016 Thomas Moschny - 1.10.14-3 - Add -std=c++11 to the compilerflags (needed on EPEL7). diff --git a/repack.sh b/repack.sh index af5cd56..05356a2 100755 --- a/repack.sh +++ b/repack.sh @@ -1,6 +1,6 @@ #! /bin/bash -name=Botan-1.10.14 +name=Botan-1.10.17 src=${name}.tgz dst=${name}.stripped.tar.gz diff --git a/sources b/sources index bbe1e99..236fef4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -55fb6734ce039c79ddac939af9a176dc Botan-1.10.14.stripped.tar.gz +SHA512 (Botan-1.10.17.stripped.tar.gz) = 9fc356ae042af56667ceb8430006658fe8a0c8ef2d00eb1961645bf3082e41c6850a781cc0e0672d68da1e9094532018a51465e5b2e84115c9f0af75910a9eac