SHA256
1
0
forked from pool/Botan

Accepting request 26756 from devel:libraries:c_c++

Copy from devel:libraries:c_c++/Botan based on submit request 26756 from user psmt

OBS-URL: https://build.opensuse.org/request/show/26756
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/Botan?expand=0&rev=5
This commit is contained in:
OBS User autobuild 2009-12-16 15:54:21 +00:00 committed by Git OBS Bridge
parent 3771f09f5e
commit facc23c698
12 changed files with 99 additions and 350 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:12f0a6fd2dc9d0e7d15eb6dc0b6fae794b27976dde03f4e5f9149cadfeb74a86
size 1704786

3
Botan-1.8.8.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:73c8731368140a951ae03899d651dc1b9b94e27c1125e41cdf3c32d6881ec4eb
size 2557313

View File

@ -0,0 +1,26 @@
Index: src/build-data/makefile/unix.in
===================================================================
--- src/build-data/makefile/unix.in.orig 2009-11-03 19:02:17.000000000 +0100
+++ src/build-data/makefile/unix.in 2009-12-11 19:10:50.687527483 +0100
@@ -19,7 +19,7 @@ VERSION = %{version}
##################################################
DESTDIR = %{prefix}
-BINDIR = $(DESTDIR)/bin
+BINDIR = $(DESTDIR)/%{prefix}/bin
LIBDIR = $(DESTDIR)/%{libdir}
HEADERDIR = $(DESTDIR)/%{includedir}/botan
DOCDIR = $(DESTDIR)/%{docdir}/Botan-$(VERSION)
Index: src/build-data/makefile/unix_shr.in
===================================================================
--- src/build-data/makefile/unix_shr.in.orig 2009-11-03 19:02:17.000000000 +0100
+++ src/build-data/makefile/unix_shr.in 2009-12-11 19:10:40.239524087 +0100
@@ -22,7 +22,7 @@ SO_VERSION = %{so_version}
##################################################
DESTDIR = %{prefix}
-BINDIR = $(DESTDIR)/bin
+BINDIR = $(DESTDIR)/%{prefix}/bin
LIBDIR = $(DESTDIR)/%{libdir}
HEADERDIR = $(DESTDIR)/%{includedir}/botan
DOCDIR = $(DESTDIR)/%{docdir}/Botan-$(VERSION)

View File

@ -1,6 +1,8 @@
--- include/types.h
+++ include/types.h
@@ -7,21 +7,22 @@
Index: src/utils/types.h
===================================================================
--- src/utils/types.h.orig 2009-11-03 19:02:17.000000000 +0100
+++ src/utils/types.h 2009-11-23 18:18:51.924780607 +0100
@@ -9,21 +9,22 @@
#define BOTAN_TYPES_H__
#include <botan/build.h>

View File

@ -1,24 +0,0 @@
--- modules/es_unix/unix_cmd.cpp
+++ modules/es_unix/unix_cmd.cpp
@@ -31,16 +31,16 @@
{
const u32bit args = arg_list.size() - 1;
- const char* arg1 = (args >= 1) ? arg_list[1].c_str() : 0;
- const char* arg2 = (args >= 2) ? arg_list[2].c_str() : 0;
- const char* arg3 = (args >= 3) ? arg_list[3].c_str() : 0;
- const char* arg4 = (args >= 4) ? arg_list[4].c_str() : 0;
+ const char* arg1 = (args >= 1) ? arg_list[1].c_str() : (char *)0;
+ const char* arg2 = (args >= 2) ? arg_list[2].c_str() : (char *)0;
+ const char* arg3 = (args >= 3) ? arg_list[3].c_str() : (char *)0;
+ const char* arg4 = (args >= 4) ? arg_list[4].c_str() : (char *)0;
for(u32bit j = 0; j != paths.size(); j++)
{
const std::string full_path = paths[j] + "/" + arg_list[0];
const char* fsname = full_path.c_str();
- execl(fsname, fsname, arg1, arg2, arg3, arg4, 0);
+ execl(fsname, fsname, arg1, arg2, arg3, arg4, (char *)0);
}
}

View File

@ -1,45 +0,0 @@
--- misc/config/cc/gcc
+++ misc/config/cc/gcc
@@ -34,7 +34,7 @@
<mach_opt>
# Specializations first (they don't need to be, just clearer)
-i386 -> "-mcpu=i686 -momit-leaf-frame-pointer"
+i386 -> "-momit-leaf-frame-pointer"
r10000 -> "-mips4"
alpha-ev67 -> "-mcpu=ev6" # FIXME: GCC 3.1 and on has -march=ev67
alpha-ev68 -> "-mcpu=ev6"
@@ -51,8 +51,8 @@
alpha -> "-mcpu=SUBMODEL" alpha-
amd64 -> "-momit-leaf-frame-pointer"
arm -> "-mcpu=SUBMODEL"
-ia32 -> "-march=SUBMODEL -momit-leaf-frame-pointer"
-ia64 -> "-mtune=SUBMODEL"
+ia32 -> "-momit-leaf-frame-pointer"
+ia64 -> ""
hppa -> "-march=SUBMODEL" hppa
m68k -> "-mSUBMODEL"
sh -> "-mSUBMODEL" sh
@@ -60,17 +60,17 @@
sparc64 -> "-mcpu=v9 -mtune=ultrasparc"
mips32 -> "-mips1 -mcpu=SUBMODEL" mips32-
mips64 -> "-mips3 -mcpu=SUBMODEL" mips64-
-ppc -> "-mcpu=SUBMODEL" ppc
-ppc64 -> "-mcpu=SUBMODEL" ppc
+ppc -> ppc
+ppc64 -> ppc
</mach_opt>
# Note that the 'linking' bit means "use this for both compiling *and* linking"
<mach_abi_linking>
-amd64 -> "-m64"
+amd64 -> ""
mips32 -> "-mabi=n32"
mips64 -> "-mabi=64"
-s390 -> "-m31"
-s390x -> "-m64"
+s390 -> ""
+s390x -> ""
sparc32 -> "-m32 -mno-app-regs"
sparc64 -> "-m64 -mno-app-regs"
ppc64 -> "-m64"

View File

@ -1,40 +0,0 @@
--- modules/alg_amd64/asm_macr.h
+++ modules/alg_amd64/asm_macr.h
@@ -19,10 +19,12 @@
/*************************************************
* Function Definitions *
*************************************************/
-#define START_FUNCTION(func_name) \
- ALIGN; \
- .global func_name; \
- .type func_name,@function; \
+#define START_FUNCTION(func_name) \
+ ALIGN; \
+ .global func_name; \
+ .type func_name,@function; \
+ .section .note.GNU-stack,"",@progbits; \
+ .previous; \
func_name:
#define END_FUNCTION(func_name) \
--- modules/alg_ia32/asm_macr.h
+++ modules/alg_ia32/asm_macr.h
@@ -19,11 +19,13 @@
/*************************************************
* Function Definitions *
*************************************************/
-#define START_FUNCTION(func_name) \
- .align 8; \
- ALIGN; \
- .global func_name; \
- .type func_name,@function; \
+#define START_FUNCTION(func_name) \
+ .align 8; \
+ ALIGN; \
+ .global func_name; \
+ .type func_name,@function; \
+ .section .note.GNU-stack,"",@progbits; \
+ .previous; \
func_name:
#define END_FUNCTION(func_name) \

View File

@ -1,11 +0,0 @@
--- configure.pl
+++ configure.pl
@@ -334,7 +334,7 @@
# buggy GCC. There is no reduction in code quality so even
# if we're wrong it's OK.
- if(($gcc_version =~ /4\.[01]/) || ($gcc_version =~ /3\.[34]/) ||
+ if(($gcc_version =~ /3\.[34]/) ||
($gcc_version =~ /2\.95\.[0-4]/) ||
($gcc_version eq '' && $^O eq 'cygwin'))
{

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:136351b10c507584a48bbf601cbae88c9e42d4deacebe41a6b07b1469e7581fa
size 48223
oid sha256:507d8a827c6fcdfa05cba39af5fd7a8a868b062cf10bce0860d63c2592654d46
size 4718

View File

@ -0,0 +1,13 @@
Index: Makefile
===================================================================
--- Makefile.orig 2009-11-27 15:09:06.000000000 +0100
+++ Makefile 2009-11-27 16:14:16.117516962 +0100
@@ -5,7 +5,7 @@ CXX = g++ -m64
LIB_OPT = -O2 -finline-functions
CHECK_OPT = -O2
MACH_OPT =
-LANG_FLAGS = -D_REENTRANT -ansi -Wno-long-long
+LANG_FLAGS = -D_REENTRANT -ansi -Wno-long-long $(RPM_OPT_FLAGS)
WARN_FLAGS = -W -Wall
SO_OBJ_FLAGS = -fPIC
SO_LINK_CMD = $(CXX) -shared -fPIC -Wl,-soname,$(SONAME)

View File

@ -1,3 +1,18 @@
-------------------------------------------------------------------
Wed Dec 16 13:13:16 CET 2009 - pth@suse.de
- Remove patches that aren't needed anymore.
-------------------------------------------------------------------
Fri Dec 11 19:43:25 CET 2009 - pth@suse.de
- Update to Botan-1.8.8:
- Alter Skein-512 to match the tweaked 1.2 specification
- Fix use of inline asm for access to x86 bswap function
- Allow building the library without AES enabled
- For the complete changes since 1.6.4 see log.txt in
/usr/share/doc/packages/Botan.
-------------------------------------------------------------------
Mon Apr 7 13:20:18 CEST 2008 - pth@suse.de

View File

@ -1,5 +1,5 @@
#
# spec file for package Botan (Version 1.6.4)
# spec file for package Botan (Version 1.8.8)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@ -17,58 +17,26 @@
# norootforbuild
%define lib_pkg_name libbotan-1_6_4
%define version_suffix 1_8_2
Name: Botan
Version: 1.6.4
Release: 4
%define ONLY_BASE_MODS 0
##################################################
# Hardware restrictions on various modules #
##################################################
%define USE_TM_HARD i586 i686 athlon x86_64 ppc ppc64 alpha sparcv9 sparc64
%define MP64_ARCH alpha ppc64 ia64 sparc64
##################################################
# Module settings #
##################################################
%define BASE_MODS alloc_mmap,ml_unix,es_egd,es_ftw,es_unix,fd_unix,tm_unix
%define EXTRA_MODS comp_bzip2,comp_zlib,mux_pthr,tm_posix,eng_gmp
%ifarch %{USE_TM_HARD}
%{expand: %%define EXTRA_MODS %{EXTRA_MODS},tm_hard}
%endif
%ifarch %{USE_MP64}
%{expand: %%define EXTRA_MODS %{EXTRA_MODS},mp_asm64}
%endif
%ifarch x86
%{expand: %%define EXTRA_MODS %{EXTRA_MODS},mp_ia32,alg_ia32}
%endif
%ifarch x86_64
%{expand: %%define EXTRA_MODS %{EXTRA_MODS},mp_amd64,alg_amd64}
%endif
%if %{ONLY_BASE_MODS}
%define MODULES %{BASE_MODS}
%else
%define MODULES %{BASE_MODS},%{EXTRA_MODS}
%endif
Version: 1.8.8
Release: 1
Url: http://botan.randombit.net
Summary: A C++ Crypto Library
License: BSD 3-Clause
License: BSD3c
AutoReqProv: on
Prefix: /usr
Group: Development/Libraries/C and C++
Source: %{name}-%{version}.tar.bz2
Source1: Botan-use_rpm_opt_flags.patch
Patch0: Botan-inttypes.patch
Patch1: Botan-ull_constants.patch.bz2
Patch2: Botan-no_fpermissive.patch
Patch3: Botan-no_cpu_tuning.patch
Patch4: Botan-no_executable_stack.patch
Patch5: Botan-missing_sentinel.patch
Patch2: Botan-fix_install_paths.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if ! %{ONLY_BASE_MODS}
Requires: zlib, bzip2 >= 1.0.2, gmp >= 4.1
BuildRequires: bzip2 >= 1.0.2 gmp-devel >= 4.1 zlib-devel
BuildRequires: gcc-c++ gmp-devel libbz2-devel
%endif
BuildRequires: gcc-c++ gmp-devel libbz2-devel openssl-devel python
%description
Botan is a C++ library that provides support for many common
@ -82,15 +50,12 @@ Authors:
--------
Jack Lloyd <lloyd@randombit.net>
%package -n libbotan-1_6_4
License: BSD 3-Clause
%package -n libbotan-1_8_2
License: BSD3c
Summary: A C++ Crypto Library
Group: Development/Libraries/C and C++
#Rename done for openSUSE 11.0
Provides: Botan = %{version}
Obsoletes: Botan < %{version}
%description -n libbotan-1_6_4
%description -n libbotan-%{version_suffix}
Botan is a C++ library that provides support for many common
cryptographic operations, including encryption, authentication, and
X.509v3 certificates and CRLs. A wide variety of algorithms is
@ -103,13 +68,15 @@ Authors:
Jack Lloyd <lloyd@randombit.net>
%package -n libbotan-devel
License: BSD 3-Clause
License: BSD3c
Summary: Development files for Botan
Group: Development/Libraries/C and C++
Requires: libbotan-1_6_4 = %{version}
Requires: gmp-devel libbz2-devel
Provides: Botan-devel = %{version}
Obsoletes: Botan-devel < %{version}
Requires: libbotan-%{version_suffix} = %{version}
%define botan_docdir %{_defaultdocdir}/%{name}
%description -n libbotan-devel
This package contains the header files and libraries needed to develop
@ -126,33 +93,33 @@ Authors:
%patch0
%patch1
%patch2
%patch3
%patch4
%patch5
%build
%define botan_docdir %{_defaultdocdir}/%{name}
%define common_config_flags --libdir=%{_lib} --noauto --modules=%{MODULES}
%ifarch %arm
./configure.pl %{common_config_flags} gcc-%{_target_os}-arm3
%else
./configure.pl %{common_config_flags} gcc-%{_target_os}-%{_target_cpu}
%endif
make LANG_FLAGS+="%{optflags}" DOCDIR=%{_defaultdocdir}/%{name} shared static
export RPM_OPT_FLAGS
%define common_config_flags --libdir=%{_lib} --with-bzip2 --with-zlib --with-gnump --with-openssl
./configure.py --prefix=/usr --libdir=%{_libdir} \
--docdir=%{_defaultdocdir}/%{name} \
--includedir=%{_includedir} \
--with-bzip2 \
--with-zlib \
--with-gnump \
--with-openssl \
--with-tr1-implementation=system
patch -p0 -i %{S:1}
make %{?_smp_mflags}
%install
make DOCDIR=%{buildroot}/%{botan_docdir} OWNER=$(id -u) GROUP=$(id -g) INSTALLROOT="%{buildroot}%{prefix}" install
rm -rf %{buildroot}/usr/share/doc/Botan-1.6.1
%makeinstall
mv %{buildroot}/%{botan_docdir}/%{name}-%{version}/* %{buildroot}/%{botan_docdir}/
rm -rf %{buildroot}/usr/share/doc/Botan-%{version}
rm -f %{buildroot}/%{botan_docdir}/fips140.tex
rm -f %{buildroot}/%{_libdir}/libbotan.a
%clean
rm -rf %{buildroot}
%post -n libbotan-%{version_suffix} -p /sbin/ldconfig
%post -n libbotan-1_6_4 -p /sbin/ldconfig
%postun -n libbotan-%{version_suffix} -p /sbin/ldconfig
%postun -n libbotan-1_6_4 -p /sbin/ldconfig
%files -n libbotan-1_6_4
%files -n libbotan-%{version_suffix}
%defattr(-,root,root)
%docdir %{botan_docdir}
%{botan_docdir}/license.txt
@ -161,7 +128,7 @@ rm -rf %{buildroot}
%{botan_docdir}/thanks.txt
%{botan_docdir}/credits.txt
%{botan_docdir}/pgpkeys.asc
%{botan_docdir}/info.txt
#%{botan_docdir}/info.txt
%{_libdir}/libbotan-*.so
%files -n libbotan-devel
@ -172,163 +139,9 @@ rm -rf %{buildroot}
%{botan_docdir}/api.tex
%{botan_docdir}/tutorial.pdf
%{botan_docdir}/tutorial.tex
%{botan_docdir}/todo.txt
%{_libdir}/libbotan.so
%{_libdir}/libbotan.a
%{_libdir}/pkgconfig/botan-1.8.pc
%{_includedir}/botan/
%{_bindir}/botan-config
%changelog
* Mon Apr 07 2008 pth@suse.de
- No macros for package name.
* Thu Apr 03 2008 pth@suse.de
- Update to 1.6.4. While the included fix is uninteresting for
Linux, it makes it easier to rename the package once again to
its old name:
* Fix a compilation problem with Visual Studio C++ 2003
* Fri Aug 03 2007 dmueller@suse.de
- update to 1.6.3:
* fixes various multithreading issues
* Thu Jun 21 2007 dmueller@suse.de
- update to 1.6.2:
* Remove a call to abort() that crept into production
* Mon Apr 23 2007 dmueller@suse.de
- fix -devel package requires
* Sat Mar 24 2007 aj@suse.de
- Add libbz2-devel to BuildRequires.
* Fri Mar 09 2007 pth@suse.de
- Update to 1.6.1. Changes since 1.4.10:
* Compilation fixes for the bzip2, zlib, and GNU MP modules
* Better support for Intel C++ and EKOpath C++ on x86-64
* Cleanups in the initialization routines
* Add some x86-64 assembly for multiply-add
* Fix problems generating very small (below 384 bit) RSA keys
* More improvements to the Python bindings
* Removed the Algorithm base class
* Various cleanups in the public key inheritance hierarchy
* Added x86 assembler implementations of Serpent and low-level MPI code
* Optimizations for the SHA-1 x86 assembler
* Various improvements to the Python wrappers
* Add x86 assembler versions of MD4, MD5, and SHA-1
* Expand InitializerOptions' language to support on/off switches
* Fix possible resource leaks in the mmap allocator
* Slightly optimized buffering in MDx_HashFunction
* Initialization failures are dealt with somewhat better
* Add an example implementing Pollard's Rho algorithm
* Expand the xor_ciph example to support longer keys
* Fixed bitrot in the AEP engine
* Fix support for marking certificate/CRL extensions as critical
* Significant cleanups in the library state / initialization code
* LibraryInitializer takes an explicit InitializerOptions object
* Make Mutex_Factory an abstract class, add Default_Mutex_Factory
* Change configuration access to using global_state()
* Add support for global named mutexes throughout the library
* Add some STL wrappers for the delete operator
* Change how certificates are created to be more flexible and general
* Many internal cleanups to the X.509 cert/CRL code
* Allow for application code to support new X.509 extensions
* Change the return type of X509_Certificate::{subject,issuer}_info
* Allow for alternate character set handling mechanisms
* Fix a bug that was slowing squaring performance somewhat
* Fix a very hard to hit overflow bug in the C version of word3_muladd
* Minor cleanups to the assembler modules
* Further, major changes to the BER/DER coding system
* Updated the Qt mutex module to use Mutex_Factory
* Moved the library global state object into an anonymous namespace
* The low-level DER/BER coding system was redesigned and rewritten
* Portions of the certificate code were cleaned up internally
* Use macros to substantially clean up the GCC assembly code
* Some slight cleanups in X509_PublicKey::key_id
* Fixed a potential infinite loop in the memory pool code (Matt Johnston)
* Made Pooling_Allocator::Memory_Block an actual class of sorts
* Some small optimizations to the division and modulo computations
* Cleaned up the implementation of some of the BigInt operators
* Reduced use of dynamic memory allocation in low-level BigInt functions
* A few simplifications in the Randpool mixing function
* Removed power(), as it was not particularly useful (or fast)
* Fixed some annoying bugs in the benchmark code
* Added a real credits file
* Integrated x86 and amd64 assembly code, contributed by Luca Piccarreta
* Fixed a memory access off-by-one in the Karatsuba code
* Changed Pooling_Allocator's free list search to a log(N) algorithm
* Merged ModularReducer with its only subclass, Barrett_Reducer
* Fixed sign-handling bugs in some of the division and modulo code
* Renamed the module description files to modinfo.txt
* Further cleanups in the initialization code
* Removed BigInt::add and BigInt::sub
* Merged all the division-related functions into just divide()
* Modified the <mp_asmi.h> functions to allow for better optimizations
* Made the number of bits polled from an EntropySource user configurable
* Avoid including <algorithm> in <botan/secmem.h>
* Removed some dead code from bigint_modop
* Fix the definition of same_mem
* Many optimizations in the low-level multiple precision integer code
* Added hooks for assembly implementations of the MPI code
* Support for the X.509 issuer alternative name extension in new certs
* Fixed a bug in the decompression modules; found and patched by Matt Johnston
* mem_pool.cpp was using std::set iterators instead of std::multiset ones
* Fixed a bug in X509_CA preventing users from disabling particular extensions
* Fixed the mp_asm64 module, which was entirely broken in 1.5.2
* Fixed an off-by-one memory read in MISTY1::key()
* Fixed a nasty memory leak in Output_Buffers::retire()
* Reimplemented the memory allocator from scratch
* Improved memory caching in Montgomery exponentiation
* Optimizations for multiple precision addition and subtraction
* Fixed a build problem in the hardware timer module on 64-bit PowerPC
* Changed default Karatsuba cutoff to 12 words (was 14)
* Removed MemoryRegion::bits(), which was unused and incorrect
* Changed maximum HMAC keylength to 1024 bits
* Various minor Makefile and build system changes
* Avoid using std::min in <secmem.h> to bypass Windows libc macro pollution
* Switched checks/clock.cpp back to using clock() by default
* Removed the Default_Mutex's unused clone() member function
* Implemented Montgomery exponentiation
* Implemented generalized Karatsuba multiplication and squaring
* Implemented Comba squaring for 4, 6, and 8 word inputs
* Added new Modular_Exponentiator and Power_Mod classes
* Removed FixedBase_Exp and FixedExponent_Exp
* Fixed a performance regression in get_allocator
* Engines can now offer S2K algorithms and block cipher padding methods
* Merged the remaining global 'algolist' code into Default_Engine
* The low-level MPI code is linked as C again
* Replaced BigInt's get_nibble with the more general get_substring
* Moved all global/shared library state into a single object
* Mutex objects are created through mutex factories instead of a global
* Removed ::get_mutex(), ::initialize_mutex(), and Mutex::clone()
* Removed the RNG_Quality enum entirely
* There is now only a single global-use PRNG
* Removed the no_aliases and no_oids options for LibraryInitializer
* Removed the deprecated algorithms SEAL, ISAAC, and HAVAL
* Fixed an off-by-one memory read in MISTY1::key()
* Fixed a nasty memory leak in Output_Buffers::retire()
* Changed maximum HMAC keylength to 1024 bits
* Changed Whirlpool diffusion matrix to match updated algorithm spec
* Added a constructor to DataSource_Memory taking a std::string
* Placing the same Filter in multiple Pipes triggers an exception
* The configure script accepts --docdir and --libdir
* Merged doc/rngs.txt into the main API document
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Sat Jan 14 2006 kukuk@suse.de
- Add gmp-devel to nfb
* Mon Dec 19 2005 pth@suse.de
- Update to 1.4.10
- Bunch of cleanups and bugfixes added
- Add KASUMI, the block cipher used in 3G phones
- Binary file I/O can now be used with the data sink and source classes.
- Pipe has been refactored
- A possible memory leak in the OpenSSL engine was also fixed.
- Randpool has been modified to use HMAC instead of a plain hash
as its mixing operation.
* Wed Nov 23 2005 pth@suse.de
- Update to 1.4.9
- new algorithms including MARS, SEED, Turing, and FORK-256.
- include optimizations for RC6 and Twofish
- much better support for 64-bit PowerPC
- support for high resolution hardware timers on most PowerPC systems
* Tue Nov 15 2005 uli@suse.de
- fixed to build on ARM
* Thu Sep 15 2005 pth@suse.de
- Initial package
- Use ISO C99 stdint.h to define integer types.
- Mark 64 bit hex constants as ULL to shut up the compiler.