Updating link to change in openSUSE:Factory/boost revision 38.0

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/boost?expand=0&rev=b0253da134996c6609e1487496d361f0
This commit is contained in:
OBS User buildservice-autocommit 2010-04-07 15:34:10 +00:00 committed by Git OBS Bridge
parent cf48fbafb2
commit 529c03d00f
16 changed files with 269 additions and 376 deletions

View File

@ -1,38 +0,0 @@
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;
}

View File

@ -1,15 +0,0 @@
--- 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;
}

View File

@ -1,17 +0,0 @@
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;

View File

@ -1,6 +1,7 @@
--- boost/iostreams/filter/regex.hpp
+++ boost/iostreams/filter/regex.hpp
@@ -58,7 +58,7 @@
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:
return;
iterator first(&src[0], &src[0] + src.size(), re_, flags_);
iterator last;

View File

@ -1,124 +0,0 @@
--- 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()

View File

@ -1,19 +1,18 @@
Index: Jamroot
===================================================================
--- Jamroot.orig
+++ Jamroot
@@ -321,9 +321,7 @@ rule tag ( name : type ? : property-set
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
if $(layout) = versioned
{
local result = [ common.format-name
result = [ common.format-name
- <base> <toolset> <threading> <runtime> -$(BOOST_VERSION_TAG)
- -$(BUILD_ID)
- : $(name) : $(type) : $(property-set) ] ;
+ <base> <runtime> : $(name) : $(type) : $(property-set) ] ;
# 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
}
else if $(layout) = tagged
{
@@ -505,13 +503,9 @@ if $(layout-versioned) && ( [ modules.pe
return $(result) ;
}
@ -24,7 +23,7 @@ Index: Jamroot
- generate install-unversioned : install-proper :
- <generating-rule>@make-unversioned-links ;
- explicit install-unversioned ;
+ # Create do-nothing aliases
+ # Create do-nothing aliases.
+ alias stage-unversioned ;
+ alias install-unversioned ;
}

View File

@ -1,12 +1,11 @@
--- libs/python/build/Jamfile.v2
+++ libs/python/build/Jamfile.v2
@@ -24,7 +24,8 @@
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 ] ;
project boost/python
: source-location ../src
- ;
+ : requirements <cxxflags>-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) ; } }

View File

@ -1,11 +1,12 @@
--- boost/config/compiler/gcc.hpp
+++ boost/config/compiler/gcc.hpp
@@ -76,7 +76,7 @@
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 @@
// 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

View File

@ -1,11 +0,0 @@
--- boost/visit_each.hpp
+++ boost/visit_each.hpp
@@ -22,7 +22,7 @@
template<typename Visitor, typename T>
inline void visit_each(Visitor& visitor, const T& t)
{
- visit_each(visitor, t, 0);
+ visit_each(visitor, t, (long)0);
}
}

12
boost-visit_each.patch Normal file
View File

@ -0,0 +1,12 @@
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<typename Visitor, typename T>
inline void visit_each(Visitor& visitor, const T& t)
{
- visit_each(visitor, t, 0);
+ visit_each(visitor, t, (long)0);
}
}

View File

@ -1,3 +1,77 @@
-------------------------------------------------------------------
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

View File

@ -1,5 +1,5 @@
#
# spec file for package boost (Version 1.39.0)
# spec file for package boost (Version 1.42.0)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@ -22,12 +22,15 @@
%else
%define build_mpi 1
%endif
%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
%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
%if %build_mpi
%define all_libs %{most_libs} libboost_mpi1_39_0
%define all_libs %{most_libs} libboost_mpi1_42_0
%else
%define all_libs %{most_libs}
%endif
%define debug_package_requires %{all_libs}
Name: boost
@ -44,11 +47,11 @@ License: BSD3c
Group: Development/Libraries/C and C++
Summary: Boost C++ Libraries
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Version: 1.39.0
Release: 4
Version: 1.42.0
Release: 1
Provides: boost-license = %{version}
Obsoletes: boost-license < %{version}
Source0: %{name}_1_39_0.tar.bz2
Source0: %{name}_1_42_0.tar.bz2
Source1: boost-rpmlintrc
Source2: boost_1_33_1_man.tar.bz2
Source3: existing_extra_docs
@ -59,16 +62,13 @@ Source7: Makefile
Source8: pre_checkin.sh
Source9: boost-autoconf.tar.bz2
Patch1: boost-thread.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
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
Recommends: %{all_libs}
%define _docdir %{_datadir}/doc/packages/boost-%{version}
%description
@ -105,13 +105,13 @@ the package boost-doc.
%package -n boost-license1_39_0
%package -n boost-license1_42_0
License: BSD3c
Summary: Boost License
Group: Development/Libraries/C and C++
AutoReqProv: on
%description -n boost-license1_39_0
%description -n boost-license1_42_0
This package contains the license boost is provided under.
@ -130,210 +130,208 @@ This package contains documentation about the boost dynamic libraries.
%package -n libboost_date_time1_39_0
%package -n libboost_date_time1_42_0
License: BSD3c
Summary: Boost::Date.Time Runtime libraries
Group: System/Libraries
Requires: boost-license1_39_0
Requires: boost-license1_42_0
AutoReqProv: on
%description -n libboost_date_time1_39_0
%description -n libboost_date_time1_42_0
This package contains the Boost Date.Time runtime libraries.
%package -n libboost_filesystem1_39_0
%package -n libboost_filesystem1_42_0
License: BSD3c
Summary: Boost::Filesystem Runtime Libraries
Group: System/Localization
Requires: boost-license1_39_0
Requires: boost-license1_42_0
AutoReqProv: on
%description -n libboost_filesystem1_39_0
%description -n libboost_filesystem1_42_0
This package contains the Boost::Filesystem libraries.
%package -n libboost_graph1_39_0
%package -n libboost_graph1_42_0
License: BSD3c
Summary: Boost::Graph Runtime Libraries
Group: System/Libraries
Requires: boost-license1_39_0
Requires: boost-license1_42_0
AutoReqProv: on
%description -n libboost_graph1_39_0
%description -n libboost_graph1_42_0
This package contains the Boost::Graph Runtime libraries.
%package -n libboost_iostreams1_39_0
%package -n libboost_iostreams1_42_0
License: BSD3c
Summary: Boost::IOStreams Runtime Libraries
Group: System/Libraries
Requires: boost-license1_39_0
Requires: boost-license1_42_0
AutoReqProv: on
%description -n libboost_iostreams1_39_0
%description -n libboost_iostreams1_42_0
This package contains the Boost::IOStreams Runtime libraries.
%package -n libboost_math1_39_0
%package -n libboost_math1_42_0
License: BSD3c
Summary: Boost::Math Runtime Libraries
Group: System/Libraries
Requires: boost-license1_39_0
Requires: boost-license1_42_0
AutoReqProv: on
%description -n libboost_math1_39_0
%description -n libboost_math1_42_0
This package contains the Boost::Math Runtime libraries.
%if %build_mpi
%package -n libboost_mpi1_39_0
%package -n libboost_mpi1_42_0
License: BSD3c
Summary: Boost::MPI Runtime libraries
Group: System/Libraries
Requires: boost-license1_39_0
Requires: boost-license1_42_0
AutoReqProv: on
%description -n libboost_mpi1_39_0
%description -n libboost_mpi1_42_0
This package contains the Boost::MPI Runtime libraries.
%endif
%package -n libboost_test1_39_0
%package -n libboost_test1_42_0
License: BSD3c
Summary: Boost::Test Runtime Libraries
Group: System/Libraries
Requires: boost-license1_39_0
Requires: boost-license1_42_0
AutoReqProv: on
%description -n libboost_test1_39_0
%description -n libboost_test1_42_0
This package contains the Boost::Test runtime libraries.
%package -n libboost_program_options1_39_0
%package -n libboost_program_options1_42_0
License: BSD3c
Summary: Boost::ProgramOptions Runtime libraries
Group: System/Libraries
Requires: boost-license1_39_0
Requires: boost-license1_42_0
AutoReqProv: on
%description -n libboost_program_options1_39_0
%description -n libboost_program_options1_42_0
This package contains the Boost::ProgramOptions Runtime libraries.
%package -n libboost_python1_39_0
%package -n libboost_python1_42_0
License: BSD3c
Summary: Boost::Python Runtime Libraries
Group: System/Libraries
Requires: boost-license1_39_0
Requires: boost-license1_42_0
AutoReqProv: on
%description -n libboost_python1_39_0
%description -n libboost_python1_42_0
This package contains the Boost::Python Runtime libraries.
%package -n libboost_serialization1_39_0
%package -n libboost_serialization1_42_0
License: BSD3c
Summary: Boost::Serialization Runtime Libraries
Group: System/Libraries
Requires: boost-license1_39_0
Requires: boost-license1_42_0
AutoReqProv: on
%description -n libboost_serialization1_39_0
%description -n libboost_serialization1_42_0
This package contains the Boost::Serialization Runtime libraries.
%package -n libboost_signals1_39_0
%package -n libboost_signals1_42_0
License: BSD3c
Summary: Boost::Signals Runtime Libraries
Group: System/Libraries
Requires: boost-license1_39_0
Requires: boost-license1_42_0
AutoReqProv: on
%description -n libboost_signals1_39_0
%description -n libboost_signals1_42_0
This package contains the Boost::Signals Runtime libraries.
%package -n libboost_system1_39_0
%package -n libboost_system1_42_0
License: BSD3c
Summary: Boost::System Runtime Libraries
Group: System/Libraries
Requires: boost-license1_39_0
Requires: boost-license1_42_0
AutoReqProv: on
%description -n libboost_system1_39_0
%description -n libboost_system1_42_0
This package contains the Boost::System runtime libraries.
%package -n libboost_thread1_39_0
%package -n libboost_thread1_42_0
License: BSD3c
Summary: Boost::Thread Runtime Libraries
Group: System/Libraries
Requires: boost-license1_39_0
Requires: boost-license1_42_0
AutoReqProv: on
%description -n libboost_thread1_39_0
%description -n libboost_thread1_42_0
This package contains the Boost::Thread runtime libraries.
%package -n libboost_wave1_39_0
%package -n libboost_wave1_42_0
License: BSD3c
Summary: Boost::Wave Runtime Libraries
Group: System/Libraries
Requires: boost-license1_39_0
Requires: boost-license1_42_0
AutoReqProv: on
%description -n libboost_wave1_39_0
%description -n libboost_wave1_42_0
This package contains the Boost::Wave runtime libraries.
%package -n libboost_regex1_39_0
%package -n libboost_regex1_42_0
License: BSD3c
Summary: The Boost::Regex runtime library
Group: System/Libraries
Requires: boost-license1_39_0
Requires: boost-license1_42_0
AutoReqProv: on
%description -n libboost_regex1_39_0
%description -n libboost_regex1_42_0
This package contains the Boost::Regex runtime library.
%prep
%setup -q -n %{name}_1_39_0 -a 2 -a 9
%setup -q -n %{name}_1_42_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
%patch2
%patch4
%patch8
%patch19
%patch20
%patch21
%patch22
%patch23
%patch24
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6
#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
@ -342,34 +340,42 @@ 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
@ -378,33 +384,41 @@ 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_39/boost %{buildroot}%{_includedir}/
#mv %{buildroot}%{_includedir}/boost-1_42/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})
@ -412,6 +426,7 @@ 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})
@ -419,6 +434,7 @@ 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
@ -432,6 +448,7 @@ 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
@ -440,9 +457,11 @@ 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 \
@ -464,136 +483,137 @@ rm -f %{buildroot}%{_libdir}/*.a
%fdupes %buildroot
%endif
%post -n libboost_date_time1_39_0 -p /sbin/ldconfig
%post -n libboost_date_time1_42_0 -p /sbin/ldconfig
%post -n libboost_filesystem1_39_0 -p /sbin/ldconfig
%post -n libboost_filesystem1_42_0 -p /sbin/ldconfig
%post -n libboost_iostreams1_39_0 -p /sbin/ldconfig
%post -n libboost_iostreams1_42_0 -p /sbin/ldconfig
%post -n libboost_test1_39_0 -p /sbin/ldconfig
%post -n libboost_test1_42_0 -p /sbin/ldconfig
%post -n libboost_program_options1_39_0 -p /sbin/ldconfig
%post -n libboost_program_options1_42_0 -p /sbin/ldconfig
%post -n libboost_python1_39_0 -p /sbin/ldconfig
%post -n libboost_python1_42_0 -p /sbin/ldconfig
%post -n libboost_regex1_39_0 -p /sbin/ldconfig
%post -n libboost_regex1_42_0 -p /sbin/ldconfig
%post -n libboost_serialization1_39_0 -p /sbin/ldconfig
%post -n libboost_serialization1_42_0 -p /sbin/ldconfig
%post -n libboost_signals1_39_0 -p /sbin/ldconfig
%post -n libboost_signals1_42_0 -p /sbin/ldconfig
%post -n libboost_thread1_39_0 -p /sbin/ldconfig
%post -n libboost_thread1_42_0 -p /sbin/ldconfig
%post -n libboost_math1_39_0 -p /sbin/ldconfig
%post -n libboost_math1_42_0 -p /sbin/ldconfig
%if %build_mpi
%post -n libboost_mpi1_39_0 -p /sbin/ldconfig
%post -n libboost_mpi1_42_0 -p /sbin/ldconfig
%endif
%post -n libboost_graph1_39_0 -p /sbin/ldconfig
%post -n libboost_graph1_42_0 -p /sbin/ldconfig
%post -n libboost_system1_39_0 -p /sbin/ldconfig
%post -n libboost_system1_42_0 -p /sbin/ldconfig
%post -n libboost_wave1_39_0 -p /sbin/ldconfig
%post -n libboost_wave1_42_0 -p /sbin/ldconfig
%postun -n libboost_date_time1_39_0 -p /sbin/ldconfig
%postun -n libboost_date_time1_42_0 -p /sbin/ldconfig
%postun -n libboost_filesystem1_39_0 -p /sbin/ldconfig
%postun -n libboost_filesystem1_42_0 -p /sbin/ldconfig
%postun -n libboost_iostreams1_39_0 -p /sbin/ldconfig
%postun -n libboost_iostreams1_42_0 -p /sbin/ldconfig
%postun -n libboost_test1_39_0 -p /sbin/ldconfig
%postun -n libboost_test1_42_0 -p /sbin/ldconfig
%postun -n libboost_program_options1_39_0 -p /sbin/ldconfig
%postun -n libboost_program_options1_42_0 -p /sbin/ldconfig
%postun -n libboost_python1_39_0 -p /sbin/ldconfig
%postun -n libboost_python1_42_0 -p /sbin/ldconfig
%postun -n libboost_regex1_39_0 -p /sbin/ldconfig
%postun -n libboost_regex1_42_0 -p /sbin/ldconfig
%postun -n libboost_serialization1_39_0 -p /sbin/ldconfig
%postun -n libboost_serialization1_42_0 -p /sbin/ldconfig
%postun -n libboost_signals1_39_0 -p /sbin/ldconfig
%postun -n libboost_signals1_42_0 -p /sbin/ldconfig
%postun -n libboost_thread1_39_0 -p /sbin/ldconfig
%postun -n libboost_thread1_42_0 -p /sbin/ldconfig
%postun -n libboost_math1_39_0 -p /sbin/ldconfig
%postun -n libboost_math1_42_0 -p /sbin/ldconfig
%if %build_mpi
%postun -n libboost_mpi1_39_0 -p /sbin/ldconfig
%postun -n libboost_mpi1_42_0 -p /sbin/ldconfig
%endif
%postun -n libboost_graph1_39_0 -p /sbin/ldconfig
%postun -n libboost_graph1_42_0 -p /sbin/ldconfig
%postun -n libboost_system1_39_0 -p /sbin/ldconfig
%postun -n libboost_system1_42_0 -p /sbin/ldconfig
%postun -n libboost_wave1_39_0 -p /sbin/ldconfig
%postun -n libboost_wave1_42_0 -p /sbin/ldconfig
%files -n boost-license1_39_0
%files -n boost-license1_42_0
%defattr(-, root, root, -)
%dir %{_docdir}
%doc %{_docdir}/LICENSE_1_0.txt
%files -n libboost_date_time1_39_0
%files -n libboost_date_time1_42_0
%defattr(-, root, root, -)
%{_libdir}/libboost_date_time*.so.*
%files -n libboost_filesystem1_39_0
%files -n libboost_filesystem1_42_0
%defattr(-, root, root, -)
%{_libdir}/libboost_filesystem*.so.*
%files -n libboost_graph1_39_0
%files -n libboost_graph1_42_0
%defattr(-, root, root, -)
%{_libdir}/libboost_graph*.so.*
%files -n libboost_iostreams1_39_0
%files -n libboost_iostreams1_42_0
%defattr(-, root, root, -)
%{_libdir}/libboost_iostreams*.so.*
%files -n libboost_math1_39_0
%files -n libboost_math1_42_0
%defattr(-, root, root, -)
%{_libdir}/libboost_math_*.so.*
%if %build_mpi
%files -n libboost_mpi1_39_0
%files -n libboost_mpi1_42_0
%defattr(-, root, root, -)
%{_libdir}/libboost_mpi*.so.*
%{_libdir}/mpi.so
%endif
%files -n libboost_test1_39_0
%files -n libboost_test1_42_0
%defattr(-, root, root, -)
%{_libdir}/libboost_prg_exec_monitor*.so.*
%{_libdir}/libboost_unit_test_framework*.so.*
%files -n libboost_program_options1_39_0
%files -n libboost_program_options1_42_0
%defattr(-, root, root, -)
%{_libdir}/libboost_program_options*.so.*
%files -n libboost_python1_39_0
%files -n libboost_python1_42_0
%defattr(-, root, root, -)
%{_libdir}/libboost_python*.so.*
%files -n libboost_serialization1_39_0
%files -n libboost_serialization1_42_0
%defattr(-, root, root, -)
%{_libdir}/libboost_*serialization*.so.*
%files -n libboost_signals1_39_0
%files -n libboost_signals1_42_0
%defattr(-, root, root, -)
%{_libdir}/libboost_signals*.so.*
%files -n libboost_system1_39_0
%files -n libboost_system1_42_0
%defattr(-, root, root, -)
%{_libdir}/libboost_system*.so.*
%files -n libboost_thread1_39_0
%files -n libboost_thread1_42_0
%defattr(-, root, root, -)
%{_libdir}/libboost_thread*.so.*
%files -n libboost_wave1_39_0
%files -n libboost_wave1_42_0
%defattr(-, root, root, -)
%{_libdir}/libboost_wave*.so.*
%files -n libboost_regex1_39_0
%files -n libboost_regex1_42_0
%defattr(-, root, root, -)
%{_libdir}/libboost_regex*.so.*

View File

@ -1,5 +1,5 @@
#
# spec file for package boost (Version 1.39.0)
# spec file for package boost (Version 1.42.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.39.0
Version: 1.42.0
Provides: boost-license = %{version}
Obsoletes: boost-license < %{version}
Release: 2
Release: 1
Source0: %{name}_@file_version@.tar.bz2
Source1: boost-rpmlintrc
Source2: boost_@man_file_version@_man.tar.bz2
@ -69,15 +69,11 @@ Source7: Makefile
Source8: pre_checkin.sh
Source9: boost-autoconf.tar.bz2
Patch1: boost-thread.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
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
Recommends: %{all_libs}
%define _docdir %{_datadir}/doc/packages/boost-%{version}
@ -326,16 +322,12 @@ 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
%patch2
%patch4
%patch8
%patch19
%patch20
%patch21
%patch22
%patch23
%patch24
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6
#stupid build machinery copies .orig files
find . -name \*.orig -exec rm {} +
@ -423,7 +415,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}

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:44785eae8c6cce61a29a8a51f9b737e57b34d66baa7c0bcd4af188832b8018fd
size 29408537

3
boost_1_42_0.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4b1eb95bd250ce15ac66435d6167f225b072b0d3a7eb72477a31847a9ca9e609
size 33426755

View File

@ -1,6 +1,6 @@
#!/bin/bash
version=1.39.0
version=1.42.0
man_version=1.33.1
file_version="$(echo $version|tr '.' '_')"