From cf48fbafb283ffb27bd86d92671c18b5cab5c64d7959094d4c6735b371e36dd8 Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Wed, 7 Apr 2010 15:34:09 +0000 Subject: [PATCH] Accepting request 37247 from devel:libraries:c_c++ checked in (request 37247) OBS-URL: https://build.opensuse.org/request/show/37247 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/boost?expand=0&rev=19 --- boost-add_timer_canceling_test.patch | 38 +++ boost-fix_hash_resizing.patch | 15 + boost-function_without_exception.patch | 17 ++ boost-no_segfault_in_Regex_filter.patch | 7 +- boost-no_type_punning.patch | 124 +++++++++ boost-sane_versioning.patch | 21 +- boost-strict_aliasing.patch | 11 +- boost-thread.patch | 9 +- boost-visit_each.diff | 11 + boost-visit_each.patch | 12 - boost.changes | 74 ----- boost.spec | 351 ++++++++++++------------ boost.spec.in | 38 ++- boost_1_39_0.tar.bz2 | 3 + boost_1_42_0.tar.bz2 | 3 - mkspec.sh | 2 +- 16 files changed, 432 insertions(+), 304 deletions(-) create mode 100644 boost-add_timer_canceling_test.patch create mode 100644 boost-fix_hash_resizing.patch create mode 100644 boost-function_without_exception.patch create mode 100644 boost-no_type_punning.patch create mode 100644 boost-visit_each.diff delete mode 100644 boost-visit_each.patch create mode 100644 boost_1_39_0.tar.bz2 delete mode 100644 boost_1_42_0.tar.bz2 diff --git a/boost-add_timer_canceling_test.patch b/boost-add_timer_canceling_test.patch new file mode 100644 index 0000000..3c429bb --- /dev/null +++ b/boost-add_timer_canceling_test.patch @@ -0,0 +1,38 @@ +Add a test for timer canceling. + +--- libs/asio/test/deadline_timer.cpp ++++ libs/asio/test/deadline_timer.cpp +@@ -180,8 +180,33 @@ + } + ++void timer_handler(const boost::system::error_code&) ++{ ++} ++ ++void deadline_timer_cancel_test() ++{ ++ static boost::asio::io_service io_service; ++ struct timer ++ { ++ boost::asio::deadline_timer t; ++ timer() : t(io_service) { t.expires_at(boost::posix_time::pos_infin); } ++ } timers[50]; ++ ++ timers[2].t.async_wait(timer_handler); ++ timers[41].t.async_wait(timer_handler); ++ for (int i = 10; i < 20; ++i) ++ timers[i].t.async_wait(timer_handler); ++ ++ BOOST_CHECK(timers[2].t.cancel() == 1); ++ BOOST_CHECK(timers[41].t.cancel() == 1); ++ for (int i = 10; i < 20; ++i) ++ BOOST_CHECK(timers[i].t.cancel() == 1); ++} ++ + test_suite* init_unit_test_suite(int, char*[]) + { + test_suite* test = BOOST_TEST_SUITE("deadline_timer"); + test->add(BOOST_TEST_CASE(&deadline_timer_test)); ++ test->add(BOOST_TEST_CASE(&deadline_timer_cancel_test)); + return test; + } diff --git a/boost-fix_hash_resizing.patch b/boost-fix_hash_resizing.patch new file mode 100644 index 0000000..fb62a0d --- /dev/null +++ b/boost-fix_hash_resizing.patch @@ -0,0 +1,15 @@ +--- boost/asio/detail/hash_map.hpp ++++ boost/asio/detail/hash_map.hpp +@@ -232,7 +232,11 @@ + buckets_[bucket].first = buckets_[bucket].last = iter++; + } ++ else if (++buckets_[bucket].last == iter) ++ { ++ ++iter; ++ } + else + { +- values_.splice(++buckets_[bucket].last, values_, iter++); ++ values_.splice(buckets_[bucket].last, values_, iter++); + --buckets_[bucket].last; + } diff --git a/boost-function_without_exception.patch b/boost-function_without_exception.patch new file mode 100644 index 0000000..3360d77 --- /dev/null +++ b/boost-function_without_exception.patch @@ -0,0 +1,17 @@ +The ifdef is misplaced and leads to compilation errors when +when BOOST_NO_EXCEPTIONS is defined (bnc#479659). + +--- boost/function/function_template.hpp ++++ boost/function/function_template.hpp +@@ -950,10 +950,10 @@ + f.vtable->manager(f.functor, this->functor, + boost::detail::function::move_functor_tag); + f.vtable = 0; +-#if !defined(BOOST_NO_EXCEPTIONS) + } else { + clear(); + } ++#if !defined(BOOST_NO_EXCEPTIONS) + } catch (...) { + vtable = 0; + throw; diff --git a/boost-no_segfault_in_Regex_filter.patch b/boost-no_segfault_in_Regex_filter.patch index 91d57d3..3bafc5c 100644 --- a/boost-no_segfault_in_Regex_filter.patch +++ b/boost-no_segfault_in_Regex_filter.patch @@ -1,7 +1,6 @@ -diff -rup boost_1_42_0.orig/boost/iostreams/filter/regex.hpp boost_1_42_0/boost/iostreams/filter/regex.hpp ---- boost_1_42_0.orig/boost/iostreams/filter/regex.hpp 2010-04-03 00:03:31.914603959 +0200 -+++ boost_1_42_0/boost/iostreams/filter/regex.hpp 2010-04-03 00:25:09.302115408 +0200 -@@ -58,7 +58,7 @@ private: +--- boost/iostreams/filter/regex.hpp ++++ boost/iostreams/filter/regex.hpp +@@ -58,7 +58,7 @@ return; iterator first(&src[0], &src[0] + src.size(), re_, flags_); iterator last; diff --git a/boost-no_type_punning.patch b/boost-no_type_punning.patch new file mode 100644 index 0000000..a4401e7 --- /dev/null +++ b/boost-no_type_punning.patch @@ -0,0 +1,124 @@ +--- libs/python/src/dict.cpp ++++ libs/python/src/dict.cpp +@@ -28,9 +28,9 @@ + + detail::new_reference dict_base::call(object const& arg_) + { ++ union { PyTypeObject *ptop; PyObject *pop; }pun = { &PyDict_Type }; + return (detail::new_reference)PyObject_CallFunction( +- (PyObject*)&PyDict_Type, "(O)", +- arg_.ptr()); ++ pun.pop, "(O)", arg_.ptr()); + } + + dict_base::dict_base() +--- libs/python/src/list.cpp ++++ libs/python/src/list.cpp +@@ -10,10 +10,11 @@ + + detail::new_non_null_reference list_base::call(object const& arg_) + { ++ union{ PyTypeObject *ptop; PyObject *pop; }pun = { &PyList_Type }; + return (detail::new_non_null_reference) + (expect_non_null)( + PyObject_CallFunction( +- (PyObject*)&PyList_Type, "(O)", ++ pun.pop, "(O)", + arg_.ptr())); + } + +--- libs/python/src/long.cpp ++++ libs/python/src/long.cpp +@@ -8,24 +8,25 @@ + + new_non_null_reference long_base::call(object const& arg_) + { ++ union { PyTypeObject *ptop; PyObject *pop; }pun = { &PyLong_Type }; + return (detail::new_non_null_reference)PyObject_CallFunction( +- (PyObject*)&PyLong_Type, "(O)", +- arg_.ptr()); ++ pun.pop, "(O)", arg_.ptr()); + } + + new_non_null_reference long_base::call(object const& arg_, object const& base) + { ++ union { PyTypeObject *ptop; PyObject *pop; }pun = { &PyLong_Type }; + return (detail::new_non_null_reference)PyObject_CallFunction( +- (PyObject*)&PyLong_Type, "(OO)", +- arg_.ptr(), base.ptr()); ++ pun.pop, "(OO)", arg_.ptr(), base.ptr()); + } + + long_base::long_base() +- : object( +- detail::new_reference( +- PyObject_CallFunction((PyObject*)&PyLong_Type, "()")) +- ) +-{} ++{ ++ union { PyTypeObject *ptop; PyObject *pop; }pun = { &PyLong_Type }; ++ object(detail::new_reference( ++ PyObject_CallFunction(pun.pop, "()"))); ++ ++} + + long_base::long_base(object_cref arg) + : object(long_base::call(arg)) +--- libs/python/src/object/class.cpp ++++ libs/python/src/object/class.cpp +@@ -570,9 +570,11 @@ + void class_base::add_property( + char const* name, object const& fget, char const* docstr) + { ++ union { PyTypeObject *ptop; PyObject *pop; }pun = { &PyProperty_Type }; ++ + object property( + (python::detail::new_reference) +- PyObject_CallFunction((PyObject*)&PyProperty_Type, "Osss", fget.ptr(), 0, 0, docstr)); ++ PyObject_CallFunction(pun.pop, "Osss", fget.ptr(), 0, 0, docstr)); + + this->setattr(name, property); + } +@@ -580,9 +582,11 @@ + void class_base::add_property( + char const* name, object const& fget, object const& fset, char const* docstr) + { ++ union { PyTypeObject *ptop; PyObject *pop; }pun = { &PyProperty_Type }; ++ + object property( + (python::detail::new_reference) +- PyObject_CallFunction((PyObject*)&PyProperty_Type, "OOss", fget.ptr(), fset.ptr(), 0, docstr)); ++ PyObject_CallFunction(pun.pop, "OOss", fget.ptr(), fset.ptr(), 0, docstr)); + + this->setattr(name, property); + } +--- libs/python/src/str.cpp ++++ libs/python/src/str.cpp +@@ -9,9 +9,10 @@ + + detail::new_reference str_base::call(object const& arg_) + { ++ union { PyTypeObject *ptop; PyObject *pop; }pun = { &PyString_Type }; ++ + return (detail::new_reference)PyObject_CallFunction( +- (PyObject*)&PyString_Type, "(O)", +- arg_.ptr()); ++ pun.pop, "(O)", arg_.ptr()); + } + + str_base::str_base() +--- libs/python/src/tuple.cpp ++++ libs/python/src/tuple.cpp +@@ -8,9 +8,10 @@ + + detail::new_reference tuple_base::call(object const& arg_) + { ++ union { PyTypeObject *ptop; PyObject *pop; }pun = { &PyTuple_Type }; ++ + return (detail::new_reference)PyObject_CallFunction( +- (PyObject*)&PyTuple_Type, "(O)", +- arg_.ptr()); ++ pun.pop, "(O)", arg_.ptr()); + } + + tuple_base::tuple_base() diff --git a/boost-sane_versioning.patch b/boost-sane_versioning.patch index 38cfc00..f81d37e 100644 --- a/boost-sane_versioning.patch +++ b/boost-sane_versioning.patch @@ -1,18 +1,19 @@ -diff -rup boost_1_42_0.orig/Jamroot boost_1_42_0/Jamroot ---- boost_1_42_0.orig/Jamroot 2010-04-03 00:03:31.722603669 +0200 -+++ boost_1_42_0/Jamroot 2010-04-03 00:44:38.038115479 +0200 -@@ -355,9 +355,7 @@ rule tag ( name : type ? : property-set +Index: Jamroot +=================================================================== +--- Jamroot.orig ++++ Jamroot +@@ -321,9 +321,7 @@ rule tag ( name : type ? : property-set if $(layout) = versioned { - result = [ common.format-name + local result = [ common.format-name - -$(BOOST_VERSION_TAG) - -$(BUILD_ID) - : $(name) : $(type) : $(property-set) ] ; + : $(name) : $(type) : $(property-set) ] ; - } - else if $(layout) = tagged - { -@@ -505,13 +503,9 @@ if $(layout-versioned) && ( [ modules.pe + + # Optionally add version suffix. On NT, library with version suffix + # will not be recognized by linkers. On CYGWIN, we get strage +@@ -475,13 +473,9 @@ if $(layout-versioned) && ( [ modules.pe return $(result) ; } @@ -23,7 +24,7 @@ diff -rup boost_1_42_0.orig/Jamroot boost_1_42_0/Jamroot - generate install-unversioned : install-proper : - @make-unversioned-links ; - explicit install-unversioned ; -+ # Create do-nothing aliases. ++ # Create do-nothing aliases + alias stage-unversioned ; + alias install-unversioned ; } diff --git a/boost-strict_aliasing.patch b/boost-strict_aliasing.patch index 57ad32d..af66849 100644 --- a/boost-strict_aliasing.patch +++ b/boost-strict_aliasing.patch @@ -1,11 +1,12 @@ -diff -rup boost_1_42_0.orig/libs/python/build/Jamfile.v2 boost_1_42_0/libs/python/build/Jamfile.v2 ---- boost_1_42_0.orig/libs/python/build/Jamfile.v2 2010-04-03 01:21:23.307602844 +0200 -+++ boost_1_42_0/libs/python/build/Jamfile.v2 2010-04-03 01:22:16.270115943 +0200 -@@ -41,6 +41,7 @@ py3-version = [ find-py3-version ] ; +--- libs/python/build/Jamfile.v2 ++++ libs/python/build/Jamfile.v2 +@@ -24,7 +24,8 @@ project boost/python : source-location ../src +- ; + : requirements -fno-strict-aliasing - ; ++ ; rule cond ( test ? : yes * : no * ) { if $(test) { return $(yes) ; } else { return $(no) ; } } + rule unless ( test ? : yes * : no * ) { if ! $(test) { return $(yes) ; } else { return $(no) ; } } diff --git a/boost-thread.patch b/boost-thread.patch index 64461a6..d134a37 100644 --- a/boost-thread.patch +++ b/boost-thread.patch @@ -1,12 +1,11 @@ -diff -rup boost_1_42_0.orig/boost/config/compiler/gcc.hpp boost_1_42_0/boost/config/compiler/gcc.hpp ---- boost_1_42_0.orig/boost/config/compiler/gcc.hpp 2010-04-03 00:03:31.782604076 +0200 -+++ boost_1_42_0/boost/config/compiler/gcc.hpp 2010-04-03 00:53:35.534114084 +0200 -@@ -79,7 +79,7 @@ +--- boost/config/compiler/gcc.hpp ++++ boost/config/compiler/gcc.hpp +@@ -76,7 +76,7 @@ // those platforms where we can know for sure). It will get turned off again // later if no threading API is detected. // -#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__) -+#if !defined(__MINGW32__) ++#if !defined(__MINGW32__) # define BOOST_HAS_THREADS #endif diff --git a/boost-visit_each.diff b/boost-visit_each.diff new file mode 100644 index 0000000..85c9d85 --- /dev/null +++ b/boost-visit_each.diff @@ -0,0 +1,11 @@ +--- boost/visit_each.hpp ++++ boost/visit_each.hpp +@@ -22,7 +22,7 @@ + template + inline void visit_each(Visitor& visitor, const T& t) + { +- visit_each(visitor, t, 0); ++ visit_each(visitor, t, (long)0); + } + } + diff --git a/boost-visit_each.patch b/boost-visit_each.patch deleted file mode 100644 index 3b440d0..0000000 --- a/boost-visit_each.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -rup boost_1_42_0.orig/boost/visit_each.hpp boost_1_42_0/boost/visit_each.hpp ---- boost_1_42_0.orig/boost/visit_each.hpp 2010-04-03 00:03:31.834604103 +0200 -+++ boost_1_42_0/boost/visit_each.hpp 2010-04-03 00:57:04.831601617 +0200 -@@ -22,7 +22,7 @@ namespace boost { - template - inline void visit_each(Visitor& visitor, const T& t) - { -- visit_each(visitor, t, 0); -+ visit_each(visitor, t, (long)0); - } - } - diff --git a/boost.changes b/boost.changes index e3b07ec..e091139 100644 --- a/boost.changes +++ b/boost.changes @@ -1,77 +1,3 @@ -------------------------------------------------------------------- -Sat Apr 3 00:00:00 CET 2010 - freespacer@gmx.de - -- update to 1.42.0: - - New Libraries - - * Uuid: A universally unique identifier, from Andy Tompkins. - - Updated Libraries (see README for details) - - * Asio: - * Circular Buffer: - * Fusion: - * Graph: - * Integer: - * Iostreams: - * Program.Options: - * PropertyMap: - * Proto: - * Regex: - * Spirit: - * Unordered: - * Xpressive: - -- update to 1.41.0: - - New Libraries - - * Property Tree: A tree data structure especially suited to storing - configuration data, from Marcin Kalicinski and Sebastian Redl. - - Updated Libraries (see README for details) - - * DateTime: - * Filesystem: - * Iostreams: - * Math: - * Multi-index Containers: - * Proto: - * Regex: - * Spirit: - * System: - * Thread: - * Unordered: - * Utility: - * Wave: - * Xpressive: - -- update to 1.40.0: - - Updated Libraries (see README for details) - - * Accumulators: - * Asio: - * Circular Buffer: - * Foreach: - * Function: - * Fusion: - * Graph: - * Hash: - * Interprocess: - * Intrusive: - * MPL: - * Program.Options: - * Property Map: - * Proto: - * Random: - * Serialization: - * Unordered: - * Xpressive: - -- removed patches no longer needed - ------------------------------------------------------------------- Wed Jan 6 04:08:55 CET 2010 - jengelh@medozas.de diff --git a/boost.spec b/boost.spec index 1fb77a9..a9076df 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,7 @@ # -# spec file for package boost (Version 1.42.0) +# spec file for package boost (Version 1.39.0) # -# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,27 +17,17 @@ # norootforbuild -# WARNING: -# THIS FILE IS GENERATED FROM boost.spec.in BY CALLING MAKE. -# CHANGES TO THIS FILE WILL GET LOST. - -# Just hardcode build_mpi to 1 as soon as openmpi builds on all -# named architectures. - %ifarch s390 s390x ia64 %sparc %define build_mpi 0 %else %define build_mpi 1 %endif - -%define most_libs libboost_date_time1_42_0 libboost_filesystem1_42_0 libboost_graph1_42_0 libboost_iostreams1_42_0 libboost_math1_42_0 libboost_test1_42_0 libboost_program_options1_42_0 libboost_python1_42_0 libboost_serialization1_42_0 libboost_signals1_42_0 libboost_system1_42_0 libboost_thread1_42_0 libboost_wave1_42_0 libboost_regex1_42_0 - +%define most_libs libboost_date_time1_39_0 libboost_filesystem1_39_0 libboost_graph1_39_0 libboost_iostreams1_39_0 libboost_math1_39_0 libboost_test1_39_0 libboost_program_options1_39_0 libboost_python1_39_0 libboost_serialization1_39_0 libboost_signals1_39_0 libboost_system1_39_0 libboost_thread1_39_0 libboost_wave1_39_0 libboost_regex1_39_0 %if %build_mpi -%define all_libs %{most_libs} libboost_mpi1_42_0 +%define all_libs %{most_libs} libboost_mpi1_39_0 %else %define all_libs %{most_libs} %endif - %define debug_package_requires %{all_libs} Name: boost @@ -50,32 +40,35 @@ BuildRequires: openmpi-devel BuildRequires: fdupes %endif Url: http://www.boost.org -License: BSD 3-Clause +License: BSD3c Group: Development/Libraries/C and C++ Summary: Boost C++ Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-build -Version: 1.42.0 +Version: 1.39.0 +Release: 4 Provides: boost-license = %{version} Obsoletes: boost-license < %{version} -Release: 1 -Source0: %{name}_1_42_0.tar.bz2 +Source0: %{name}_1_39_0.tar.bz2 Source1: boost-rpmlintrc Source2: boost_1_33_1_man.tar.bz2 Source3: existing_extra_docs -Source4: baselibs.conf +Source4: baselibs.conf Source5: mkspec.sh Source6: boost.spec.in Source7: Makefile Source8: pre_checkin.sh Source9: boost-autoconf.tar.bz2 Patch1: boost-thread.patch -Patch2: boost-visit_each.patch -Patch3: boost-no_segfault_in_Regex_filter.patch -Patch4: boost-sane_versioning.patch -Patch5: boost-strict_aliasing.patch -Patch6: boost-lib64.patch +Patch2: boost-no_type_punning.patch +Patch4: boost-visit_each.diff +Patch8: boost-no_segfault_in_Regex_filter.patch +Patch19: boost-sane_versioning.patch +Patch20: boost-strict_aliasing.patch +Patch21: boost-lib64.patch +Patch22: boost-function_without_exception.patch +Patch23: boost-fix_hash_resizing.patch +Patch24: boost-add_timer_canceling_test.patch Recommends: %{all_libs} - %define _docdir %{_datadir}/doc/packages/boost-%{version} %description @@ -99,7 +92,7 @@ see the boost-doc package. %package devel -License: BSD 3-Clause +License: BSD3c Summary: Development package for Boost C++ Group: Development/Libraries/C and C++ Requires: %{all_libs} libstdc++-devel @@ -112,24 +105,24 @@ the package boost-doc. -%package -n boost-license1_42_0 -License: BSD 3-Clause +%package -n boost-license1_39_0 +License: BSD3c Summary: Boost License Group: Development/Libraries/C and C++ AutoReqProv: on -%description -n boost-license1_42_0 +%description -n boost-license1_39_0 This package contains the license boost is provided under. %package doc -License: BSD 3-Clause +License: BSD3c Summary: Documentation for the Boost C++ Libraries Group: Development/Libraries/C and C++ AutoReqProv: on %if 0%{?suse_version} >= 1120 -BuildArch: noarch +BuildArch: noarch %endif %description doc @@ -137,207 +130,210 @@ This package contains documentation about the boost dynamic libraries. -%package -n libboost_date_time1_42_0 -License: BSD 3-Clause +%package -n libboost_date_time1_39_0 +License: BSD3c Summary: Boost::Date.Time Runtime libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license1_39_0 AutoReqProv: on -%description -n libboost_date_time1_42_0 +%description -n libboost_date_time1_39_0 This package contains the Boost Date.Time runtime libraries. -%package -n libboost_filesystem1_42_0 -License: BSD 3-Clause +%package -n libboost_filesystem1_39_0 +License: BSD3c Summary: Boost::Filesystem Runtime Libraries Group: System/Localization -Requires: boost-license1_42_0 +Requires: boost-license1_39_0 AutoReqProv: on -%description -n libboost_filesystem1_42_0 +%description -n libboost_filesystem1_39_0 This package contains the Boost::Filesystem libraries. -%package -n libboost_graph1_42_0 -License: BSD 3-Clause +%package -n libboost_graph1_39_0 +License: BSD3c Summary: Boost::Graph Runtime Libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license1_39_0 AutoReqProv: on -%description -n libboost_graph1_42_0 +%description -n libboost_graph1_39_0 This package contains the Boost::Graph Runtime libraries. -%package -n libboost_iostreams1_42_0 -License: BSD 3-Clause +%package -n libboost_iostreams1_39_0 +License: BSD3c Summary: Boost::IOStreams Runtime Libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license1_39_0 AutoReqProv: on -%description -n libboost_iostreams1_42_0 +%description -n libboost_iostreams1_39_0 This package contains the Boost::IOStreams Runtime libraries. -%package -n libboost_math1_42_0 -License: BSD 3-Clause +%package -n libboost_math1_39_0 +License: BSD3c Summary: Boost::Math Runtime Libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license1_39_0 AutoReqProv: on -%description -n libboost_math1_42_0 +%description -n libboost_math1_39_0 This package contains the Boost::Math Runtime libraries. %if %build_mpi -%package -n libboost_mpi1_42_0 -License: BSD 3-Clause + +%package -n libboost_mpi1_39_0 +License: BSD3c Summary: Boost::MPI Runtime libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license1_39_0 AutoReqProv: on -%description -n libboost_mpi1_42_0 +%description -n libboost_mpi1_39_0 This package contains the Boost::MPI Runtime libraries. %endif -%package -n libboost_test1_42_0 -License: BSD 3-Clause +%package -n libboost_test1_39_0 +License: BSD3c Summary: Boost::Test Runtime Libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license1_39_0 AutoReqProv: on -%description -n libboost_test1_42_0 +%description -n libboost_test1_39_0 This package contains the Boost::Test runtime libraries. -%package -n libboost_program_options1_42_0 -License: BSD 3-Clause +%package -n libboost_program_options1_39_0 +License: BSD3c Summary: Boost::ProgramOptions Runtime libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license1_39_0 AutoReqProv: on -%description -n libboost_program_options1_42_0 +%description -n libboost_program_options1_39_0 This package contains the Boost::ProgramOptions Runtime libraries. -%package -n libboost_python1_42_0 -License: BSD 3-Clause +%package -n libboost_python1_39_0 +License: BSD3c Summary: Boost::Python Runtime Libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license1_39_0 AutoReqProv: on -%description -n libboost_python1_42_0 +%description -n libboost_python1_39_0 This package contains the Boost::Python Runtime libraries. -%package -n libboost_serialization1_42_0 -License: BSD 3-Clause +%package -n libboost_serialization1_39_0 +License: BSD3c Summary: Boost::Serialization Runtime Libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license1_39_0 AutoReqProv: on -%description -n libboost_serialization1_42_0 +%description -n libboost_serialization1_39_0 This package contains the Boost::Serialization Runtime libraries. -%package -n libboost_signals1_42_0 -License: BSD 3-Clause +%package -n libboost_signals1_39_0 +License: BSD3c Summary: Boost::Signals Runtime Libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license1_39_0 AutoReqProv: on -%description -n libboost_signals1_42_0 +%description -n libboost_signals1_39_0 This package contains the Boost::Signals Runtime libraries. -%package -n libboost_system1_42_0 -License: BSD 3-Clause +%package -n libboost_system1_39_0 +License: BSD3c Summary: Boost::System Runtime Libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license1_39_0 AutoReqProv: on -%description -n libboost_system1_42_0 +%description -n libboost_system1_39_0 This package contains the Boost::System runtime libraries. -%package -n libboost_thread1_42_0 -License: BSD 3-Clause +%package -n libboost_thread1_39_0 +License: BSD3c Summary: Boost::Thread Runtime Libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license1_39_0 AutoReqProv: on -%description -n libboost_thread1_42_0 +%description -n libboost_thread1_39_0 This package contains the Boost::Thread runtime libraries. -%package -n libboost_wave1_42_0 -License: BSD 3-Clause +%package -n libboost_wave1_39_0 +License: BSD3c Summary: Boost::Wave Runtime Libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license1_39_0 AutoReqProv: on -%description -n libboost_wave1_42_0 +%description -n libboost_wave1_39_0 This package contains the Boost::Wave runtime libraries. -%package -n libboost_regex1_42_0 -License: BSD 3-Clause +%package -n libboost_regex1_39_0 +License: BSD3c Summary: The Boost::Regex runtime library Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license1_39_0 AutoReqProv: on -%description -n libboost_regex1_42_0 +%description -n libboost_regex1_39_0 This package contains the Boost::Regex runtime library. %prep -%setup -q -n %{name}_1_42_0 -a 2 -a 9 +%setup -q -n %{name}_1_39_0 -a 2 -a 9 find -name .cvsignore -exec rm -f {} + #everything in the tarball has the executable flag set ...... find -type f ! \( -name \*.sh -o -name \*.py -o -name \*.pl \) -exec chmod -x {} + -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 +%patch1 +%patch2 +%patch4 +%patch8 +%patch19 +%patch20 +%patch21 +%patch22 +%patch23 +%patch24 #stupid build machinery copies .orig files find . -name \*.orig -exec rm {} + %build find . -type f -exec chmod u+w {} + - # Now build it J_P=%{jobs} J_G=$(getconf _NPROCESSORS_CONF) - if test -z "$JOBS"; then JOBS=$J_G else @@ -346,42 +342,34 @@ fi if test "$JOBS" == "0"; then JOBS=1 fi - # In case you want more parallel jobs then autobuild grants you #if [ $J_P -gt $J_I ]; then # JOBS=$J_G #fi - BJAM_CONFIG="-d2 -j$JOBS -sICU_PATH=%{_prefix}" PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]') PYTHON_FLAGS="--with-python-root=/usr --with-python-version=$PYTHON_VERSION" REGEX_FLAGS="--with-icu" export EXPAT_INCLUDE=/usr/include EXPAT_LIBPATH=%{_libdir} REGEX_FLAGS="--with-icu" export PYTHON_FLAGS - cat << EOF >user-config.jam # Boost.Build Configuration - # Compiler configuration using gcc ; - # Python configuration using python : ${PYTHON_VERSION} : %{_prefix} ; using mpi ; EOF - # Set PATH, MANPATH and LD_LIBRARY_PATH %if %build_mpi source /var/mpi-selector/data/$(rpm --qf "%{NAME}-%{VERSION}" -q openmpi).sh %endif - %{_bindir}/bjam ${BJAM_CONFIG} --user-config=user-config.jam cflags="%{optflags}" cxxflags="%{optflags}" stage || (echo "Not all Boost libraries built properly."; exit 1) %install # Now build it J_P=%{jobs} J_G=$(getconf _NPROCESSORS_CONF) - if test -z "$JOBS"; then JOBS=$J_G else @@ -390,41 +378,33 @@ fi if test "$JOBS" == "0"; then JOBS=1 fi - # In case you want more parallel jobs then autobuild grants you if [ $J_P -gt $J_I ]; then JOBS=$J_G fi - BJAM_CONFIG="-d2 -j$JOBS -sICU_PATH=%{_prefix}" PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]') PYTHON_FLAGS="--with-python-root=/usr --with-python-version=$PYTHON_VERSION" REGEX_FLAGS="--with-icu" export EXPAT_INCLUDE=/usr/include EXPAT_LIBPATH=%{_libdir} REGEX_FLAGS="--with-icu" export PYTHON_FLAGS - # Set PATH, MANPATH and LD_LIBRARY_PATH %if %build_mpi source /var/mpi-selector/data/$(rpm --qf "%{NAME}-%{VERSION}" -q openmpi).sh %endif - %{_bindir}/bjam ${BJAM_CONFIG} --user-config=user-config.jam \ --prefix=%{buildroot}%{_prefix} \ --exec-prefix=$%{buildroot}%{_prefix} \ --libdir=%{buildroot}%{_libdir} \ --includedir=%{buildroot}%{_includedir} \ install || echo "Not all Boost libraries built properly." - -#mv %{buildroot}%{_includedir}/boost-1_42/boost %{buildroot}%{_includedir}/ - +mv %{buildroot}%{_includedir}/boost-1_39/boost %{buildroot}%{_includedir}/ mkdir -p %{buildroot}%{_docdir} - ## install lib #for i in $(find stage -type f -name \*.a); do # NAME=$(basename $i); # install -p -m 0644 $i %{buildroot}%{_libdir}/$NAME; #done; - #pushd stage/lib #for lib in $(find . -name \*.so.%{version}); do # BASE=$(basename ${lib} .so.%{version}) @@ -432,7 +412,6 @@ mkdir -p %{buildroot}%{_docdir} # ln -sf $NAME $SONAME_MT #done #popd - pushd %{buildroot}%{_libdir} for lib in $(find . -name \*.so.%{version}); do BASE=$(basename ${lib} .so.%{version}) @@ -440,8 +419,6 @@ for lib in $(find . -name \*.so.%{version}); do ln -sf ${lib} $SONAME_MT done popd - - # mv stage/lib/*.so* %{buildroot}%{_libdir} # install include files #for i in $(find boost -type d); do @@ -455,8 +432,6 @@ popd # %{buildroot}%{_includedir}/boost/pool/detail/pool_construct.sh \ # %{buildroot}%{_includedir}/boost/function/gen_function_N.pl \ # %{buildroot}%{_includedir}/boost/function/detail/gen_maybe_include.pl - - #install the man pages install -d %buildroot/%{_mandir}/man3 install -d %buildroot/%{_mandir}/man7 @@ -465,11 +440,9 @@ for page in $(find . -type f); do install -p -m 644 $page %buildroot/%{_mandir}/$page done popd - #install autoconf macros install -d %{buildroot}%{_datadir}/aclocal install -m 644 m4/*.m4 %{buildroot}%{_datadir}/aclocal - #install doc files dos2unix libs/ptr_container/doc/tutorial_example.html \ libs/parameter/doc/html/reference.html \ @@ -491,108 +464,136 @@ rm -f %{buildroot}%{_libdir}/*.a %fdupes %buildroot %endif -%post -n libboost_date_time1_42_0 -p /sbin/ldconfig -%post -n libboost_filesystem1_42_0 -p /sbin/ldconfig -%post -n libboost_iostreams1_42_0 -p /sbin/ldconfig -%post -n libboost_test1_42_0 -p /sbin/ldconfig -%post -n libboost_program_options1_42_0 -p /sbin/ldconfig -%post -n libboost_python1_42_0 -p /sbin/ldconfig -%post -n libboost_regex1_42_0 -p /sbin/ldconfig -%post -n libboost_serialization1_42_0 -p /sbin/ldconfig -%post -n libboost_signals1_42_0 -p /sbin/ldconfig -%post -n libboost_thread1_42_0 -p /sbin/ldconfig -%post -n libboost_math1_42_0 -p /sbin/ldconfig -%if %build_mpi -%post -n libboost_mpi1_42_0 -p /sbin/ldconfig -%endif -%post -n libboost_graph1_42_0 -p /sbin/ldconfig -%post -n libboost_system1_42_0 -p /sbin/ldconfig -%post -n libboost_wave1_42_0 -p /sbin/ldconfig +%post -n libboost_date_time1_39_0 -p /sbin/ldconfig -%postun -n libboost_date_time1_42_0 -p /sbin/ldconfig -%postun -n libboost_filesystem1_42_0 -p /sbin/ldconfig -%postun -n libboost_iostreams1_42_0 -p /sbin/ldconfig -%postun -n libboost_test1_42_0 -p /sbin/ldconfig -%postun -n libboost_program_options1_42_0 -p /sbin/ldconfig -%postun -n libboost_python1_42_0 -p /sbin/ldconfig -%postun -n libboost_regex1_42_0 -p /sbin/ldconfig -%postun -n libboost_serialization1_42_0 -p /sbin/ldconfig -%postun -n libboost_signals1_42_0 -p /sbin/ldconfig -%postun -n libboost_thread1_42_0 -p /sbin/ldconfig -%postun -n libboost_math1_42_0 -p /sbin/ldconfig -%if %build_mpi -%postun -n libboost_mpi1_42_0 -p /sbin/ldconfig -%endif -%postun -n libboost_graph1_42_0 -p /sbin/ldconfig -%postun -n libboost_system1_42_0 -p /sbin/ldconfig -%postun -n libboost_wave1_42_0 -p /sbin/ldconfig +%post -n libboost_filesystem1_39_0 -p /sbin/ldconfig -%files -n boost-license1_42_0 +%post -n libboost_iostreams1_39_0 -p /sbin/ldconfig + +%post -n libboost_test1_39_0 -p /sbin/ldconfig + +%post -n libboost_program_options1_39_0 -p /sbin/ldconfig + +%post -n libboost_python1_39_0 -p /sbin/ldconfig + +%post -n libboost_regex1_39_0 -p /sbin/ldconfig + +%post -n libboost_serialization1_39_0 -p /sbin/ldconfig + +%post -n libboost_signals1_39_0 -p /sbin/ldconfig + +%post -n libboost_thread1_39_0 -p /sbin/ldconfig + +%post -n libboost_math1_39_0 -p /sbin/ldconfig +%if %build_mpi + +%post -n libboost_mpi1_39_0 -p /sbin/ldconfig +%endif + +%post -n libboost_graph1_39_0 -p /sbin/ldconfig + +%post -n libboost_system1_39_0 -p /sbin/ldconfig + +%post -n libboost_wave1_39_0 -p /sbin/ldconfig + +%postun -n libboost_date_time1_39_0 -p /sbin/ldconfig + +%postun -n libboost_filesystem1_39_0 -p /sbin/ldconfig + +%postun -n libboost_iostreams1_39_0 -p /sbin/ldconfig + +%postun -n libboost_test1_39_0 -p /sbin/ldconfig + +%postun -n libboost_program_options1_39_0 -p /sbin/ldconfig + +%postun -n libboost_python1_39_0 -p /sbin/ldconfig + +%postun -n libboost_regex1_39_0 -p /sbin/ldconfig + +%postun -n libboost_serialization1_39_0 -p /sbin/ldconfig + +%postun -n libboost_signals1_39_0 -p /sbin/ldconfig + +%postun -n libboost_thread1_39_0 -p /sbin/ldconfig + +%postun -n libboost_math1_39_0 -p /sbin/ldconfig +%if %build_mpi + +%postun -n libboost_mpi1_39_0 -p /sbin/ldconfig +%endif + +%postun -n libboost_graph1_39_0 -p /sbin/ldconfig + +%postun -n libboost_system1_39_0 -p /sbin/ldconfig + +%postun -n libboost_wave1_39_0 -p /sbin/ldconfig + +%files -n boost-license1_39_0 %defattr(-, root, root, -) %dir %{_docdir} %doc %{_docdir}/LICENSE_1_0.txt -%files -n libboost_date_time1_42_0 +%files -n libboost_date_time1_39_0 %defattr(-, root, root, -) %{_libdir}/libboost_date_time*.so.* -%files -n libboost_filesystem1_42_0 +%files -n libboost_filesystem1_39_0 %defattr(-, root, root, -) %{_libdir}/libboost_filesystem*.so.* -%files -n libboost_graph1_42_0 +%files -n libboost_graph1_39_0 %defattr(-, root, root, -) %{_libdir}/libboost_graph*.so.* -%files -n libboost_iostreams1_42_0 +%files -n libboost_iostreams1_39_0 %defattr(-, root, root, -) %{_libdir}/libboost_iostreams*.so.* -%files -n libboost_math1_42_0 +%files -n libboost_math1_39_0 %defattr(-, root, root, -) %{_libdir}/libboost_math_*.so.* - %if %build_mpi -%files -n libboost_mpi1_42_0 + +%files -n libboost_mpi1_39_0 %defattr(-, root, root, -) %{_libdir}/libboost_mpi*.so.* %{_libdir}/mpi.so %endif -%files -n libboost_test1_42_0 +%files -n libboost_test1_39_0 %defattr(-, root, root, -) %{_libdir}/libboost_prg_exec_monitor*.so.* %{_libdir}/libboost_unit_test_framework*.so.* -%files -n libboost_program_options1_42_0 +%files -n libboost_program_options1_39_0 %defattr(-, root, root, -) %{_libdir}/libboost_program_options*.so.* -%files -n libboost_python1_42_0 +%files -n libboost_python1_39_0 %defattr(-, root, root, -) %{_libdir}/libboost_python*.so.* -%files -n libboost_serialization1_42_0 +%files -n libboost_serialization1_39_0 %defattr(-, root, root, -) %{_libdir}/libboost_*serialization*.so.* -%files -n libboost_signals1_42_0 +%files -n libboost_signals1_39_0 %defattr(-, root, root, -) %{_libdir}/libboost_signals*.so.* -%files -n libboost_system1_42_0 +%files -n libboost_system1_39_0 %defattr(-, root, root, -) %{_libdir}/libboost_system*.so.* -%files -n libboost_thread1_42_0 +%files -n libboost_thread1_39_0 %defattr(-, root, root, -) %{_libdir}/libboost_thread*.so.* -%files -n libboost_wave1_42_0 +%files -n libboost_wave1_39_0 %defattr(-, root, root, -) %{_libdir}/libboost_wave*.so.* -%files -n libboost_regex1_42_0 +%files -n libboost_regex1_39_0 %defattr(-, root, root, -) %{_libdir}/libboost_regex*.so.* diff --git a/boost.spec.in b/boost.spec.in index 83038cb..37ce8ed 100644 --- a/boost.spec.in +++ b/boost.spec.in @@ -1,5 +1,5 @@ # -# spec file for package boost (Version 1.42.0) +# spec file for package boost (Version 1.39.0) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -54,10 +54,10 @@ License: BSD 3-Clause Group: Development/Libraries/C and C++ Summary: Boost C++ Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-build -Version: 1.42.0 +Version: 1.39.0 Provides: boost-license = %{version} Obsoletes: boost-license < %{version} -Release: 1 +Release: 2 Source0: %{name}_@file_version@.tar.bz2 Source1: boost-rpmlintrc Source2: boost_@man_file_version@_man.tar.bz2 @@ -69,11 +69,15 @@ Source7: Makefile Source8: pre_checkin.sh Source9: boost-autoconf.tar.bz2 Patch1: boost-thread.patch -Patch2: boost-visit_each.patch -Patch3: boost-no_segfault_in_Regex_filter.patch -Patch4: boost-sane_versioning.patch -Patch5: boost-strict_aliasing.patch -Patch6: boost-lib64.patch +Patch2: boost-no_type_punning.patch +Patch4: boost-visit_each.diff +Patch8: boost-no_segfault_in_Regex_filter.patch +Patch19: boost-sane_versioning.patch +Patch20: boost-strict_aliasing.patch +Patch21: boost-lib64.patch +Patch22: boost-function_without_exception.patch +Patch23: boost-fix_hash_resizing.patch +Patch24: boost-add_timer_canceling_test.patch Recommends: %{all_libs} %define _docdir %{_datadir}/doc/packages/boost-%{version} @@ -322,12 +326,16 @@ This package contains the Boost::Regex runtime library. find -name .cvsignore -exec rm -f {} + #everything in the tarball has the executable flag set ...... find -type f ! \( -name \*.sh -o -name \*.py -o -name \*.pl \) -exec chmod -x {} + -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 +%patch1 +%patch2 +%patch4 +%patch8 +%patch19 +%patch20 +%patch21 +%patch22 +%patch23 +%patch24 #stupid build machinery copies .orig files find . -name \*.orig -exec rm {} + @@ -415,7 +423,7 @@ source /var/mpi-selector/data/$(rpm --qf "%{NAME}-%{VERSION}" -q openmpi).sh --includedir=%{buildroot}%{_includedir} \ install || echo "Not all Boost libraries built properly." -#mv %{buildroot}%{_includedir}/boost-@short_version@/boost %{buildroot}%{_includedir}/ +mv %{buildroot}%{_includedir}/boost-@short_version@/boost %{buildroot}%{_includedir}/ mkdir -p %{buildroot}%{_docdir} diff --git a/boost_1_39_0.tar.bz2 b/boost_1_39_0.tar.bz2 new file mode 100644 index 0000000..04ec6ea --- /dev/null +++ b/boost_1_39_0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44785eae8c6cce61a29a8a51f9b737e57b34d66baa7c0bcd4af188832b8018fd +size 29408537 diff --git a/boost_1_42_0.tar.bz2 b/boost_1_42_0.tar.bz2 deleted file mode 100644 index 9945013..0000000 --- a/boost_1_42_0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4b1eb95bd250ce15ac66435d6167f225b072b0d3a7eb72477a31847a9ca9e609 -size 33426755 diff --git a/mkspec.sh b/mkspec.sh index defeb52..edc09d5 100644 --- a/mkspec.sh +++ b/mkspec.sh @@ -1,6 +1,6 @@ #!/bin/bash -version=1.42.0 +version=1.39.0 man_version=1.33.1 file_version="$(echo $version|tr '.' '_')"