%global major_version 1.10 Name: botan Version: %{major_version}.5 Release: 4%{?dist} Summary: Crypto library written in C++ Group: System Environment/Libraries License: BSD URL: http://botan.randombit.net/ # tarfile is stripped using repack.sh. original tarfile to be found # here: http://files.randombit.net/botan/Botan-%%{version}.tbz Source0: Botan-%{version}.stripped.tbz Source1: README.fedora BuildRequires: gcc-c++ BuildRequires: python BuildRequires: python-sphinx BuildRequires: python-devel BuildRequires: boost-python-devel BuildRequires: bzip2-devel BuildRequires: zlib-devel BuildRequires: gmp-devel BuildRequires: openssl-devel # do not check .so files in the python_sitelib directory %global __provides_exclude_from ^(%{python_sitearch}/.*\\.so)$ %description Botan is a BSD-licensed crypto library written in C++. It provides a wide variety of basic cryptographic algorithms, X.509 certificates and CRLs, PKCS \#10 certificate requests, a filter/pipe message processing system, and a wide variety of other features, all written in portable C++. The API reference, tutorial, and examples may help impart the 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 Requires: gmp-devel Requires: openssl-devel %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package doc Summary: Documentation for %{name} Group: Documentation BuildArch: noarch %description doc %{summary} This package contains HTML documentation for %{name}. %package python Summary: Python bindings for %{name} Group: System Environment/Libraries %description python %{summary} This package contains the Python binding for %{name}. Note: The Python binding should be considered alpha software, and the interfaces may change in the future. %prep %setup -q -n Botan-%{version} cp -av %{SOURCE1} . %build # we have the necessary prerequisites, so enable optional modules %define enable_modules gnump,bzip2,zlib,openssl # fixme: maybe disable unix_procs, very slow. %define disable_modules %{nil} ./configure.py \ --prefix=%{_prefix} \ --libdir=%{_lib} \ --cc=gcc \ --os=linux \ --cpu=%{_arch} \ --enable-modules=%{enable_modules} \ --disable-modules=%{disable_modules} \ --with-boost-python \ --with-python-version=%{python_version} # (ab)using CXX as an easy way to inject our CXXFLAGS make CXX="g++ ${CXXFLAGS:-%{optflags}}" %{?_smp_mflags} make -f Makefile.python \ CXX="g++ ${CXXFLAGS:-%{optflags}}" %{?_smp_mflags} %install make install \ DESTDIR=%{buildroot}%{_prefix} \ DOCDIR=_doc \ INSTALL_CMD_EXEC="install -p -m 755" \ INSTALL_CMD_DATA="install -p -m 644" make -f Makefile.python install \ PYTHON_SITE_PACKAGE_DIR=%{buildroot}%{python_sitearch} # fixups find doc/examples -type f -exec chmod -x {} \; mv doc/examples/python doc/python-examples rm _doc/manual/.buildinfo rm -r _doc/manual/.doctrees %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %doc _doc/readme.txt %doc doc/license.txt %doc README.fedora %{_libdir}/libbotan-%{major_version}.so.* %files devel %doc doc/examples %{_bindir}/botan-config-%{major_version} %{_includedir}/* %exclude %{_libdir}/libbotan-%{major_version}.a %{_libdir}/libbotan-%{major_version}.so %{_libdir}/pkgconfig/botan-%{major_version}.pc %files doc %doc _doc/manual %doc _doc/readme.txt %doc doc/license.txt %files python %doc doc/python-examples %{python_sitearch}/%{name} %check make CXX="g++ ${CXXFLAGS:-%{optflags}}" %{?_smp_mflags} check # these checks would fail mv checks/validate.dat{,.orig} awk '/\[.*\]/{f=0} /\[(RC5.*|RC6)\]/{f=1} (f && !/^#/){sub(/^/,"#")} {print}' \ checks/validate.dat.orig > checks/validate.dat LD_LIBRARY_PATH=%{buildroot}%{_libdir} ./check --validate %changelog * Tue Sep 3 2013 Thomas Moschny - 1.10.5-4 - Re-enable IDEA (rhbz#1003052) and SRP-6. * Sat Jul 27 2013 pmachata@redhat.com - 1.10.5-3 - Rebuild for boost 1.54.0 * Fri Jul 26 2013 Thomas Moschny - 1.10.5-2 - Rename the subpackage for the Python binding. * Fri Jul 26 2013 Thomas Moschny - 1.10.5-1 - Update to 1.10.5. - Modernize spec file. - New -doc subpackage containing HTML documentation. - Package Python binding. * Wed Feb 13 2013 Fedora Release Engineering - 1.8.14-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Sat Aug 25 2012 Thomas Moschny - 1.8.14-1 - Update to 1.8.14. * Wed Jul 18 2012 Fedora Release Engineering - 1.8.13-5.2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Tue Feb 28 2012 Fedora Release Engineering - 1.8.13-4.2 - Rebuilt for c++ ABI breakage * Thu Jan 12 2012 Fedora Release Engineering - 1.8.13-3.2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Thu Oct 20 2011 Marcela Mašláňová - 1.8.13-2.2 - rebuild with new gmp without compat lib * Mon Oct 10 2011 Peter Schiffer - 1.8.13-2.1 - rebuild with new gmp * Thu Jul 21 2011 Thomas Moschny - 1.8.13-2 - Patch to revert the soname change. * Wed Jul 20 2011 Thomas Moschny - 1.8.13-1 - Update to 1.8.13. * Sat Jul 2 2011 Thomas Moschny - 1.8.12-1 - Update to 1.8.12. * Mon Feb 07 2011 Fedora Release Engineering - 1.8.11-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Sat Nov 6 2010 Thomas Moschny - 1.8.11-1 - Update to 1.8.11. * Sat Sep 4 2010 Thomas Moschny - 1.8.10-1 - Update to 1.8.10. * Sun Aug 29 2010 Thomas Moschny - 1.8.9-4 - Update README.fedora. * Fri Aug 27 2010 Thomas Moschny - 1.8.9-3 - Also remove RC5 from the tarfile. - Comment out RC5, RC6 and IDEA validation tests. * Wed Aug 4 2010 Thomas Moschny - 1.8.9-2 - Remove IDEA, RC6, and ECC-related modules from the tarfile, see bz 615372. * Wed Jun 16 2010 Thomas Moschny - 1.8.9-1 - Update to 1.8.9. - Drop patch applied upstream. * Thu Nov 19 2009 Thomas Moschny - 1.8.8-2 - Add patch from upstream to build with binutils-2.20.51.0.2. Fixes bz 538949 (ftbfs). * Thu Nov 5 2009 Thomas Moschny - 1.8.8-1 - Update to 1.8.8, a bugfix release. * Thu Sep 10 2009 Thomas Moschny - 1.8.7-1 - Update to 1.8.7. This is mainly a bugfix release. * Fri Aug 21 2009 Tomas Mraz - 1.8.6-2 - rebuilt with new openssl * Thu Aug 13 2009 Thomas Moschny - 1.8.6-1 - Update to 1.8.6, which contains new features as well as bugfixes, e.g. concerning the /proc-walking entropy source. * Wed Aug 12 2009 Thomas Moschny - 1.8.5-2 - Fix changelog. * Wed Aug 12 2009 Thomas Moschny - 1.8.5-1 - Update to 1.8.5. - Use .tbz source file. - Configuration script uses python now. * Fri Jul 24 2009 Fedora Release Engineering - 1.8.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Sat Apr 25 2009 Thomas Moschny - 1.8.2-1 - Update to 1.8.2. * Mon Mar 16 2009 Thomas Moschny - 1.8.1-4 - Add missing requirements to -devel package. * Fri Feb 27 2009 Thomas Moschny - 1.8.1-3 - Rebuilt again after failed attempt in mass rebuild. * Mon Feb 23 2009 Fedora Release Engineering - 1.8.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Wed Jan 21 2009 Thomas Moschny - 1.8.1-1 - Update to 1.8.1. This is a bugfix release, see http://botan.randombit.net/news/releases/1_8_1.html for changes. - No need to explicitly enable modules that will be enabled by configure.pl anyway. * Mon Jan 19 2009 Thomas Moschny - 1.8.0-2 - Move api* and tutorial* doc files to -devel package. * Sat Jan 17 2009 Thomas Moschny - 1.8.0-1 - New package.