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 '.' '_')"