a180054
%global major_version 1.10
a180054
7c2cd19
Name:           botan
a67d57e
Version:        %{major_version}.9
41ed556
Release:        3%{?dist}
7c2cd19
Summary:        Crypto library written in C++
7c2cd19
7c2cd19
Group:          System Environment/Libraries
7c2cd19
License:        BSD
7c2cd19
URL:            http://botan.randombit.net/
057bdc1
# tarfile is stripped using repack.sh. original tarfile to be found
8ed4744
# here: http://files.randombit.net/botan/Botan-%%{version}.tbz
057bdc1
Source0:        Botan-%{version}.stripped.tbz
fa570d3
Source1:        README.fedora
c20c965
Patch0:         botan-aarch64.patch
1ab004f
Patch1:         botan-1.10-add-ppc64le.patch
7c2cd19
7c2cd19
BuildRequires:  gcc-c++
e75b99d
BuildRequires:  python
a180054
BuildRequires:  python-sphinx
a180054
BuildRequires:  python-devel
a180054
BuildRequires:  boost-python-devel
7c2cd19
7c2cd19
BuildRequires:  bzip2-devel
7c2cd19
BuildRequires:  zlib-devel
7c2cd19
BuildRequires:  openssl-devel
7c2cd19
a180054
# do not check .so files in the python_sitelib directory
a180054
%global __provides_exclude_from ^(%{python_sitearch}/.*\\.so)$
7c2cd19
4083bc6
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
4083bc6
7c2cd19
%description
7c2cd19
Botan is a BSD-licensed crypto library written in C++. It provides a
7c2cd19
wide variety of basic cryptographic algorithms, X.509 certificates and
7c2cd19
CRLs, PKCS \#10 certificate requests, a filter/pipe message processing
7c2cd19
system, and a wide variety of other features, all written in portable
7c2cd19
C++. The API reference, tutorial, and examples may help impart the
7c2cd19
flavor of the library.
7c2cd19
7c2cd19
7c2cd19
%package        devel
7c2cd19
Summary:        Development files for %{name}
7c2cd19
Group:          Development/Libraries
a180054
Requires:       %{name}%{?_isa} = %{version}-%{release}
7c2cd19
Requires:       pkgconfig
5df5107
Requires:       bzip2-devel
5df5107
Requires:       zlib-devel
5df5107
Requires:       openssl-devel
5df5107
7c2cd19
%description    devel
7c2cd19
The %{name}-devel package contains libraries and header files for
7c2cd19
developing applications that use %{name}.
7c2cd19
7c2cd19
a180054
%package        doc
a180054
Summary:        Documentation for %{name}
a180054
Group:          Documentation
a180054
BuildArch:      noarch
a180054
a180054
%description    doc
a180054
%{summary}
a180054
a180054
This package contains HTML documentation for %{name}.
a180054
a180054
49e0223
%package        python
a180054
Summary:        Python bindings for %{name}
a180054
Group:          System Environment/Libraries
a180054
49e0223
%description    python
a180054
%{summary}
a180054
a180054
This package contains the Python binding for %{name}.
a180054
a180054
Note: The Python binding should be considered alpha software, and the
a180054
interfaces may change in the future.
a180054
a180054
7c2cd19
%prep
7c2cd19
%setup -q -n Botan-%{version}
c20c965
%patch0 -p1
Brent Baude 8d68e9c
%patch1 -p1
7c2cd19
a180054
7c2cd19
%build
465a62d
# we have the necessary prerequisites, so enable optional modules
41ed556
%define enable_modules bzip2,zlib,openssl
465a62d
465a62d
# fixme: maybe disable unix_procs, very slow.
41ed556
%define disable_modules gnump
7c2cd19
e75b99d
./configure.py \
7c2cd19
        --prefix=%{_prefix} \
7c2cd19
        --libdir=%{_lib} \
7c2cd19
        --cc=gcc \
7c2cd19
        --os=linux \
7c2cd19
        --cpu=%{_arch} \
7c2cd19
        --enable-modules=%{enable_modules} \
a180054
        --disable-modules=%{disable_modules} \
a180054
        --with-boost-python \
4083bc6
        --with-python-version=%{python_version} \
4083bc6
        --with-sphinx
7c2cd19
7c2cd19
# (ab)using CXX as an easy way to inject our CXXFLAGS
7c2cd19
make CXX="g++ ${CXXFLAGS:-%{optflags}}" %{?_smp_mflags}
a180054
make -f Makefile.python \
a180054
  CXX="g++ ${CXXFLAGS:-%{optflags}}" %{?_smp_mflags}
7c2cd19
7c2cd19
7c2cd19
%install
7c2cd19
make install \
7c2cd19
     DESTDIR=%{buildroot}%{_prefix} \
4083bc6
     DOCDIR=%{buildroot}%{_pkgdocdir} \
7c2cd19
     INSTALL_CMD_EXEC="install -p -m 755" \
a180054
     INSTALL_CMD_DATA="install -p -m 644"
7c2cd19
a180054
make -f Makefile.python install \
a180054
     PYTHON_SITE_PACKAGE_DIR=%{buildroot}%{python_sitearch}
7c2cd19
a180054
# fixups
a180054
find doc/examples -type f -exec chmod -x {} \;
a180054
mv doc/examples/python doc/python-examples
4083bc6
cp -a doc/{examples,python-examples,license.txt} \
4083bc6
   %{buildroot}%{_pkgdocdir}
4083bc6
cp -a %{SOURCE1} %{buildroot}%{_pkgdocdir}
4083bc6
rm -r %{buildroot}%{_pkgdocdir}/manual/{.doctrees,.buildinfo}
7c2cd19
7c2cd19
7c2cd19
%post -p /sbin/ldconfig
7c2cd19
7c2cd19
7c2cd19
%postun -p /sbin/ldconfig
7c2cd19
7c2cd19
7c2cd19
%files
4083bc6
%dir %{_pkgdocdir}
4083bc6
%{_pkgdocdir}/readme.txt
4083bc6
%{_pkgdocdir}/license.txt
4083bc6
%{_pkgdocdir}/README.fedora
a180054
%{_libdir}/libbotan-%{major_version}.so.*
7c2cd19
7c2cd19
7c2cd19
%files devel
4083bc6
%{_pkgdocdir}/examples
a180054
%{_bindir}/botan-config-%{major_version}
7c2cd19
%{_includedir}/*
a180054
%exclude %{_libdir}/libbotan-%{major_version}.a
a180054
%{_libdir}/libbotan-%{major_version}.so
a180054
%{_libdir}/pkgconfig/botan-%{major_version}.pc
a180054
a180054
a180054
%files doc
4083bc6
%dir %{_pkgdocdir}
4083bc6
%{_pkgdocdir}/manual
4083bc6
# next files duplicated on purpose, because -doc doesn't depend on the
4083bc6
# main package
4083bc6
%{_pkgdocdir}/readme.txt
4083bc6
%{_pkgdocdir}/license.txt
4083bc6
%{_pkgdocdir}/README.fedora
a180054
a180054
49e0223
%files python
4083bc6
%{_pkgdocdir}/python-examples
4083bc6
%exclude %{_pkgdocdir}/python-examples/*.pyc
4083bc6
%exclude %{_pkgdocdir}/python-examples/*.pyo
a180054
%{python_sitearch}/%{name}
7c2cd19
7c2cd19
7c2cd19
%check
7c2cd19
make CXX="g++ ${CXXFLAGS:-%{optflags}}" %{?_smp_mflags} check
0781893
0781893
# these checks would fail
0781893
mv checks/validate.dat{,.orig}
89956fd
awk '/\[.*\]/{f=0} /\[(RC5.*|RC6)\]/{f=1} (f && !/^#/){sub(/^/,"#")} {print}' \
0781893
    checks/validate.dat.orig > checks/validate.dat
7c2cd19
LD_LIBRARY_PATH=%{buildroot}%{_libdir} ./check --validate
7c2cd19
7c2cd19
7c2cd19
%changelog
41ed556
* Thu Feb  5 2015 Thomas Moschny <thomas.moschny@gmx.de> - 1.10.9-3
41ed556
- Disable gmp engine (see bug 1116406).
4083bc6
- Use _pkgdocdir.
41ed556
1ab004f
* Thu Feb  5 2015 Thomas Moschny <thomas.moschny@gmx.de> - 1.10.9-2
1ab004f
- Remove workaround for bug 1186014.
1ab004f
a67d57e
* Sat Jan 31 2015 Thomas Moschny <thomas.moschny@gmx.de> - 1.10.9-1
a67d57e
- Update to 1.10.9.
a67d57e
80c63f4
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10.8-7
80c63f4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
80c63f4
c0cba64
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10.8-6
c0cba64
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
c0cba64
Björn Esser 4ed026f
* Sat May 31 2014 Björn Esser <bjoern.esser@gmail.com> - 1.10.8-5
Björn Esser 4ed026f
- rebuild for boost 1.55.0 (libboost_python.so.1.55.0)
Björn Esser 4ed026f
Brent Baude 8d68e9c
* Sun May 25 2014 Brent Baude <baude@us.ibm.com> - 1.10.8-4
Brent Baude 8d68e9c
- Added ppc64le arch support
Brent Baude 8d68e9c
53bda05
* Fri May 23 2014 David Tardon <dtardon@redhat.com> - 1.10.8-3
53bda05
- rebuild for boost 1.55.0
53bda05
c20c965
* Mon May 12 2014 Marcin Juszkiewicz <mjuszkiewicz@redhat.com> - 1.10.8-2
c20c965
- Added AArch64 architecture support
c20c965
a7ae477
* Sat May 10 2014 Thomas Moschny <thomas.moschny@gmx.de> - 1.10.8-1
a7ae477
- Update to 1.10.8.
a7ae477
89956fd
* Tue Sep  3 2013 Thomas Moschny <thomas.moschny@gmx.de> - 1.10.5-4
89956fd
- Re-enable IDEA (rhbz#1003052) and SRP-6.
89956fd
f785808
* Sat Jul 27 2013 Petr Machata <pmachata@redhat.com> - 1.10.5-3
Petr Machata f2a104b
- Rebuild for boost 1.54.0
Petr Machata f2a104b
49e0223
* Fri Jul 26 2013 Thomas Moschny <thomas.moschny@gmx.de> - 1.10.5-2
49e0223
- Rename the subpackage for the Python binding.
49e0223
a180054
* Fri Jul 26 2013 Thomas Moschny <thomas.moschny@gmx.de> - 1.10.5-1
a180054
- Update to 1.10.5.
a180054
- Modernize spec file.
a180054
- New -doc subpackage containing HTML documentation.
a180054
- Package Python binding.
a180054
59e089d
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.14-2
59e089d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
59e089d
08b0f4d
* Sat Aug 25 2012 Thomas Moschny <thomas.moschny@gmx.de> - 1.8.14-1
08b0f4d
- Update to 1.8.14.
08b0f4d
cbcbfa1
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.13-5.2
cbcbfa1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
cbcbfa1
e44ced7
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.13-4.2
e44ced7
- Rebuilt for c++ ABI breakage
e44ced7
63e9da1
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.13-3.2
63e9da1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
63e9da1
818681f
* Thu Oct 20 2011 Marcela Mašláňová <mmaslano@redhat.com> - 1.8.13-2.2
818681f
- rebuild with new gmp without compat lib
818681f
a8d87bd
* Mon Oct 10 2011 Peter Schiffer <pschiffe@redhat.com> - 1.8.13-2.1
a8d87bd
- rebuild with new gmp
a8d87bd
bf3746d
* Thu Jul 21 2011 Thomas Moschny <thomas.moschny@gmx.de> - 1.8.13-2
bf3746d
- Patch to revert the soname change.
bf3746d
d8792c2
* Wed Jul 20 2011 Thomas Moschny <thomas.moschny@gmx.de> - 1.8.13-1
d8792c2
- Update to 1.8.13.
d8792c2
38525cd
* Sat Jul  2 2011 Thomas Moschny <thomas.moschny@gmx.de> - 1.8.12-1
38525cd
- Update to 1.8.12.
38525cd
be07d8a
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.11-2
be07d8a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
be07d8a
b34d8ff
* Sat Nov  6 2010 Thomas Moschny <thomas.moschny@gmx.de> - 1.8.11-1
b34d8ff
- Update to 1.8.11.
b34d8ff
8ed4744
* Sat Sep  4 2010 Thomas Moschny <thomas.moschny@gmx.de> - 1.8.10-1
8ed4744
- Update to 1.8.10.
8ed4744
64a9a24
* Sun Aug 29 2010 Thomas Moschny <thomas.moschny@gmx.de> - 1.8.9-4
64a9a24
- Update README.fedora.
64a9a24
0781893
* Fri Aug 27 2010 Thomas Moschny <thomas.moschny@gmx.de> - 1.8.9-3
0781893
- Also remove RC5 from the tarfile.
0781893
- Comment out RC5, RC6 and IDEA validation tests.
0781893
fa570d3
* Wed Aug  4 2010 Thomas Moschny <thomas.moschny@gmx.de> - 1.8.9-2
057bdc1
- Remove IDEA, RC6, and ECC-related modules from the tarfile,
057bdc1
  see bz 615372.
fa570d3
549c94b
* Wed Jun 16 2010 Thomas Moschny <thomas.moschny@gmx.de> - 1.8.9-1
549c94b
- Update to 1.8.9.
549c94b
- Drop patch applied upstream.
549c94b
1c2a64a
* Thu Nov 19 2009 Thomas Moschny <thomas.moschny@gmx.de> - 1.8.8-2
1c2a64a
- Add patch from upstream to build with binutils-2.20.51.0.2.
1c2a64a
  Fixes bz 538949 (ftbfs).
1c2a64a
45d5c59
* Thu Nov  5 2009 Thomas Moschny <thomas.moschny@gmx.de> - 1.8.8-1
45d5c59
- Update to 1.8.8, a bugfix release.
45d5c59
cec1145
* Thu Sep 10 2009 Thomas Moschny <thomas.moschny@gmx.de> - 1.8.7-1
cec1145
- Update to 1.8.7. This is mainly a bugfix release.
cec1145
8558187
* Fri Aug 21 2009 Tomas Mraz <tmraz@redhat.com> - 1.8.6-2
8558187
- rebuilt with new openssl
8558187
f04ff1f
* Thu Aug 13 2009 Thomas Moschny <thomas.moschny@gmx.de> - 1.8.6-1
f04ff1f
- Update to 1.8.6, which contains new features as well as bugfixes,
f04ff1f
  e.g. concerning the /proc-walking entropy source.
f04ff1f
96190c3
* Wed Aug 12 2009 Thomas Moschny <thomas.moschny@gmx.de> - 1.8.5-2
96190c3
- Fix changelog.
96190c3
96190c3
* Wed Aug 12 2009 Thomas Moschny <thomas.moschny@gmx.de> - 1.8.5-1
e75b99d
- Update to 1.8.5.
e75b99d
- Use .tbz source file.
e75b99d
- Configuration script uses python now.
e75b99d
be080e3
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.2-2
be080e3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
be080e3
d0acb9b
* Sat Apr 25 2009 Thomas Moschny <thomas.moschny@gmx.de> - 1.8.2-1
d0acb9b
- Update to 1.8.2.
d0acb9b
5df5107
* Mon Mar 16 2009 Thomas Moschny <thomas.moschny@gmx.de> - 1.8.1-4
5df5107
- Add missing requirements to -devel package.
5df5107
abdca36
* Fri Feb 27 2009 Thomas Moschny <thomas.moschny@gmx.de> - 1.8.1-3
abdca36
- Rebuilt again after failed attempt in mass rebuild.
abdca36
ba3d058
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.1-2
ba3d058
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
ba3d058
465a62d
* Wed Jan 21 2009 Thomas Moschny <thomas.moschny@gmx.de> - 1.8.1-1
465a62d
- Update to 1.8.1. This is a bugfix release, see
465a62d
  http://botan.randombit.net/news/releases/1_8_1.html for changes.
465a62d
- No need to explicitly enable modules that will be enabled by
465a62d
  configure.pl anyway.
465a62d
7c2cd19
* Mon Jan 19 2009 Thomas Moschny <thomas.moschny@gmx.de> - 1.8.0-2
7c2cd19
- Move api* and tutorial* doc files to -devel package.
7c2cd19
7c2cd19
* Sat Jan 17 2009 Thomas Moschny <thomas.moschny@gmx.de> - 1.8.0-1
7c2cd19
- New package.