3 %bcond_without tests # build without tests
4 %bcond_without apidocs # do not build and package API docs
5 %bcond_without static_libs # don't build static libraries
7 Summary: Crypto library written in C++
13 URL: http://botan.randombit.net/
14 # tarfile is stripped using repack.sh. original tarfile to be found
15 # here: http://files.randombit.net/botan/Botan-%%{version}.tbz
16 Source0: http://pkgs.fedoraproject.org/repo/pkgs/botan/Botan-%{version}.stripped.tbz/e1cf4c2990a60867603fc111f0715e24/Botan-%{version}.stripped.tbz
17 # Source0-md5: e1cf4c2990a60867603fc111f0715e24
18 Source1: README.fedora
19 # soname was changed unintentionally upstream, revert it.
21 BuildRequires: bzip2-devel
22 BuildRequires: gmp-devel
23 BuildRequires: libstdc++-devel
24 BuildRequires: openssl-devel
26 BuildRequires: zlib-devel
27 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
30 Botan is a BSD-licensed crypto library written in C++. It provides a
31 wide variety of basic cryptographic algorithms, X.509 certificates and
32 CRLs, PKCS \#10 certificate requests, a filter/pipe message processing
33 system, and a wide variety of other features, all written in portable
34 C++. The API reference, tutorial, and examples may help impart the
35 flavor of the library.
38 Summary: Development files for botan
39 Group: Development/Libraries
40 Requires: %{name} = %{version}-%{release}
43 Requires: openssl-devel
48 This package contains libraries and header files for developing
49 applications that use botan.
52 Summary: Static botan library
53 Summary(pl.UTF-8): Statyczna biblioteka botan
54 Group: Development/Libraries
55 Requires: %{name}-devel = %{version}-%{release}
60 %description static -l pl.UTF-8
61 Statyczna biblioteka botan.
64 Summary: botan API documentation
65 Summary(pl.UTF-8): Dokumentacja API biblioteki botan
69 API and internal documentation for botan library.
71 %description apidocs -l pl.UTF-8
72 Dokumentacja API biblioteki botan.
75 %setup -q -n Botan-%{version}
80 # we have the necessary prerequisites, so enable optional modules
81 %define enable_modules gnump,bzip2,zlib,openssl
83 # fixme: maybe disable unix_procs, very slow.
84 %define disable_modules %{nil}
92 --enable-modules=%{enable_modules} \
93 --disable-modules=%{disable_modules}
95 # (ab)using CXX as an easy way to inject our CXXFLAGS
97 CXX="%{__cxx} %{rpmcxxflags}"
101 CXX="%{__cxx} %{rpmcxxflags}" check
103 # these checks would fail
104 mv checks/validate.dat{,.orig}
105 awk '/\[.*\]/{f=0} /\[(RC5.*|RC6|IDEA)\]/{f=1} (f && !/^#/){sub(/^/,"#")} {print}' \
106 checks/validate.dat.orig > checks/validate.dat
107 LD_LIBRARY_PATH=. ./check --validate
111 rm -rf $RPM_BUILD_ROOT
113 INSTALL_CMD_EXEC="install -p -m 755" \
114 INSTALL_CMD_DATA="install -p -m 644" \
116 DESTDIR=$RPM_BUILD_ROOT%{_prefix}
119 rm -rf $RPM_BUILD_ROOT
121 # not packaging shared lib properly, so no ldconfig needed
122 #%post -p /sbin/ldconfig
123 #%postun -p /sbin/ldconfig
126 %defattr(644,root,root,755)
127 %doc _doc/readme.txt _doc/log.txt _doc/thanks.txt _doc/credits.txt
128 %doc _doc/license.txt _doc/fips140.tex _doc/pgpkeys.asc
130 %attr(755,root,root) %{_libdir}/libbotan-1.8.*.so
133 %defattr(644,root,root,755)
134 %attr(755,root,root) %{_bindir}/botan-config
136 %{_libdir}/libbotan.so
137 %{_pkgconfigdir}/botan-1.8.pc
139 %if %{with static_libs}
141 %defattr(644,root,root,755)
142 %{_libdir}/libbotan.a
147 %defattr(644,root,root,755)
149 %doc _doc/api* _doc/tutorial*