From addac9141713e7817fe438eb572b477ad1c5bb8e3282429f25f27d10f055cb98 Mon Sep 17 00:00:00 2001 From: OBS User buildservice-autocommit Date: Wed, 28 Apr 2010 20:27:11 +0000 Subject: [PATCH] Updating link to change in openSUSE:Factory/boost revision 39.0 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/boost?expand=0&rev=398ef060d61d6b2e43b5b8bd8cab6855 --- Makefile | 4 - baselibs.conf | 60 +-- boost-fix_ICU_test.patch | 26 + boost-fix_documentation.patch | 305 ++++++++++++ boost-no_segfault_in_Regex_filter.patch | 7 +- boost-no_type_punning.patch | 144 ++++++ boost-rpmlintrc | 1 + boost-sane_versioning.patch | 13 +- boost-strict_aliasing.patch | 31 +- boost-thread.patch | 9 +- boost-use_std_xml_catalog.patch | 46 ++ boost-visit_each.diff | 11 + boost-visit_each.patch | 12 - boost.changes | 13 + boost.spec | 409 +++++++++------- boost.spec.in | 615 ------------------------ boost_1_33_1_man.tar.bz2 | 3 - boost_man_1_42_0.tar.bz2 | 3 + boost_pdf_1_42_0.tar.bz2 | 3 + existing_extra_docs | 2 - mkspec.sh | 24 - pre_checkin.sh | 18 - 22 files changed, 862 insertions(+), 897 deletions(-) delete mode 100644 Makefile create mode 100644 boost-fix_ICU_test.patch create mode 100644 boost-fix_documentation.patch create mode 100644 boost-no_type_punning.patch create mode 100644 boost-use_std_xml_catalog.patch create mode 100644 boost-visit_each.diff delete mode 100644 boost-visit_each.patch delete mode 100644 boost.spec.in delete mode 100644 boost_1_33_1_man.tar.bz2 create mode 100644 boost_man_1_42_0.tar.bz2 create mode 100644 boost_pdf_1_42_0.tar.bz2 delete mode 100644 mkspec.sh delete mode 100644 pre_checkin.sh diff --git a/Makefile b/Makefile deleted file mode 100644 index 1cd1cf9..0000000 --- a/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: boost.spec - -boost.spec: boost.spec.in - @sh ./mkspec.sh diff --git a/baselibs.conf b/baselibs.conf index a7e127a..c67488f 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -2,33 +2,33 @@ arch ppc package boost-devel requires -boost- arch sparcv9 package boost-devel requires -boost- -arch ppc package libboost_date_time1_36_0 -arch sparcv9 package libboost_date_time1_36_0 -arch ppc package libboost_filesystem1_36_0 -arch sparcv9 package libboost_filesystem1_36_0 -arch ppc package libboost_graph1_36_0 -arch sparcv9 package libboost_graph1_36_0 -arch ppc package libboost_iostreams1_36_0 -arch sparcv9 package libboost_iostreams1_36_0 -arch ppc package libboost_math1_36_0 -arch sparcv9 package libboost_math1_36_0 -arch ppc package libboost_mpi1_36_0 -arch sparcv9 package libboost_mpi1_36_0 -arch ppc package libboost_test1_36_0 -arch sparcv9 package libboost_test1_36_0 -arch ppc package libboost_program_options1_36_0 -arch sparcv9 package libboost_program_options1_36_0 -arch ppc package libboost_python1_36_0 -arch sparcv9 package libboost_python1_36_0 -arch ppc package libboost_serialization1_36_0 -arch sparcv9 package libboost_serialization1_36_0 -arch ppc package libboost_signals1_36_0 -arch sparcv9 package libboost_signals1_36_0 -arch ppc package libboost_system1_36_0 -arch sparcv9 package libboost_system1_36_0 -arch ppc package libboost_thread1_36_0 -arch sparcv9 package libboost_thread1_36_0 -arch ppc package libboost_wave1_36_0 -arch sparcv9 package libboost_wave1_36_0 -arch ppc package libboost_regex1_36_0 -arch sparcv9 package libboost_regex1_36_0 +arch ppc package libboost_date_time1_42_0 +arch sparcv9 package libboost_date_time1_42_0 +arch ppc package libboost_filesystem1_42_0 +arch sparcv9 package libboost_filesystem1_42_0 +arch ppc package libboost_graph1_42_0 +arch sparcv9 package libboost_graph1_42_0 +arch ppc package libboost_iostreams1_42_0 +arch sparcv9 package libboost_iostreams1_42_0 +arch ppc package libboost_math1_42_0 +arch sparcv9 package libboost_math1_42_0 +arch ppc package libboost_mpi1_42_0 +arch sparcv9 package libboost_mpi1_42_0 +arch ppc package libboost_test1_42_0 +arch sparcv9 package libboost_test1_42_0 +arch ppc package libboost_program_options1_42_0 +arch sparcv9 package libboost_program_options1_42_0 +arch ppc package libboost_python1_42_0 +arch sparcv9 package libboost_python1_42_0 +arch ppc package libboost_serialization1_42_0 +arch sparcv9 package libboost_serialization1_42_0 +arch ppc package libboost_signals1_42_0 +arch sparcv9 package libboost_signals1_42_0 +arch ppc package libboost_system1_42_0 +arch sparcv9 package libboost_system1_42_0 +arch ppc package libboost_thread1_42_0 +arch sparcv9 package libboost_thread1_42_0 +arch ppc package libboost_wave1_42_0 +arch sparcv9 package libboost_wave1_42_0 +arch ppc package libboost_regex1_42_0 +arch sparcv9 package libboost_regex1_42_0 diff --git a/boost-fix_ICU_test.patch b/boost-fix_ICU_test.patch new file mode 100644 index 0000000..857dceb --- /dev/null +++ b/boost-fix_ICU_test.patch @@ -0,0 +1,26 @@ +Index: libs/regex/build/Jamfile.v2 +=================================================================== +--- libs/regex/build/Jamfile.v2.orig 2010-03-30 17:10:54.671004744 +0200 ++++ libs/regex/build/Jamfile.v2 2010-03-31 13:52:10.715279367 +0200 +@@ -51,6 +51,10 @@ rule check-icu-config ( ) + { + gICU_CORE_LIB = icuuc ; + } ++ else if [ GLOB $(dir)/lib64 : libicuuc.* ] ++ { ++ gICU_CORE_LIB = icuuc ; ++ } + else if [ GLOB $(dir)/lib : libicuuc.* ] + { + gICU_CORE_LIB = icuuc ; +@@ -119,6 +123,10 @@ rule check-icu-config ( ) + { + gICU_DATA_LIB = icudt ; + } ++ else if [ GLOB $(dir)/lib64 : libicudata.* ] ++ { ++ gICU_DATA_LIB = icudata ; ++ } + else if [ GLOB $(dir)/lib : libicudata.* ] + { + gICU_DATA_LIB = icudata ; diff --git a/boost-fix_documentation.patch b/boost-fix_documentation.patch new file mode 100644 index 0000000..4e2d241 --- /dev/null +++ b/boost-fix_documentation.patch @@ -0,0 +1,305 @@ +Index: boost/accumulators/framework/accumulator_set.hpp +=================================================================== +--- boost/accumulators/framework/accumulator_set.hpp.orig 2009-07-22 19:02:50.000000000 +0200 ++++ boost/accumulators/framework/accumulator_set.hpp 2010-04-08 17:34:47.655511321 +0200 +@@ -234,7 +234,6 @@ struct accumulator_set + + /////////////////////////////////////////////////////////////////////////////// + /// Accumulation +- /// \param a1 Optional named parameter to be passed to all the accumulators + void operator ()() + { + this->visit( +@@ -244,6 +243,7 @@ struct accumulator_set + ); + } + ++ /// \param a1 Optional named parameter to be passed to all the accumulators + template + void operator ()(A1 const &a1) + { +Index: boost/accumulators/framework/extractor.hpp +=================================================================== +--- boost/accumulators/framework/extractor.hpp.orig 2008-06-20 05:47:42.000000000 +0200 ++++ boost/accumulators/framework/extractor.hpp 2010-04-08 18:58:03.343500575 +0200 +@@ -94,7 +94,6 @@ struct extractor + }; + + /// Extract the result associated with Feature from the accumulator set +- /// \param acc The accumulator set object from which to extract the result + template + typename detail::extractor_result::type + operator ()(Arg1 const &arg1) const +@@ -106,6 +105,7 @@ struct extractor + + /// \overload + /// ++ /// \param acc The accumulator set object from which to extract the result + /// \param a1 Optional named parameter to be passed to the accumulator's result() function. + template + typename detail::extractor_result::type +Index: boost/algorithm/string/finder.hpp +=================================================================== +--- boost/algorithm/string/finder.hpp.orig 2009-09-13 21:10:55.000000000 +0200 ++++ boost/algorithm/string/finder.hpp 2010-04-08 17:39:51.851512438 +0200 +@@ -43,7 +43,6 @@ namespace boost { + The result is given as an \c iterator_range delimiting the match. + + \param Search A substring to be searched for. +- \param Comp An element comparison predicate + \return An instance of the \c first_finder object + */ + template +@@ -62,6 +61,7 @@ namespace boost { + //! "First" finder + /*! + \overload ++ \param Comp An element comparison predicate + */ + template + inline detail::first_finderF< +@@ -84,7 +84,6 @@ namespace boost { + The result is given as an \c iterator_range delimiting the match. + + \param Search A substring to be searched for. +- \param Comp An element comparison predicate + \return An instance of the \c last_finder object + */ + template +@@ -102,6 +101,7 @@ namespace boost { + //! "Last" finder + /*! + \overload ++ \param Comp An element comparison predicate + */ + template + inline detail::last_finderF< +@@ -124,7 +124,6 @@ namespace boost { + + \param Search A substring to be searched for. + \param Nth An index of the match to be find +- \param Comp An element comparison predicate + \return An instance of the \c nth_finder object + */ + template +@@ -144,6 +143,7 @@ namespace boost { + //! "Nth" finder + /*! + \overload ++ \param Comp An element comparison predicate + */ + template + inline detail::nth_finderF< +@@ -230,7 +230,6 @@ namespace boost { + + \param Begin Beginning of the range + \param End End of the range +- \param Range The range. + \return An instance of the \c range_finger object + */ + template< typename ForwardIteratorT > +@@ -245,6 +244,7 @@ namespace boost { + //! "Range" finder + /*! + \overload ++ \param Range The range. + */ + template< typename ForwardIteratorT > + inline detail::range_finderF +Index: boost/algorithm/string/formatter.hpp +=================================================================== +--- boost/algorithm/string/formatter.hpp.orig 2009-09-13 21:10:55.000000000 +0200 ++++ boost/algorithm/string/formatter.hpp 2010-04-08 17:42:53.295011064 +0200 +@@ -76,8 +76,6 @@ namespace boost { + Construct the \c empty_formatter. Empty formatter always returns an empty + sequence. + +- \param Input container used to select a correct value_type for the +- resulting empty_container<>. + \return An instance of the \c empty_formatter object. + */ + template +Index: boost/date_time/dst_rules.hpp +=================================================================== +--- boost/date_time/dst_rules.hpp.orig 2008-02-27 21:00:24.000000000 +0100 ++++ boost/date_time/dst_rules.hpp 2010-04-08 18:02:23.327435043 +0200 +@@ -94,7 +94,7 @@ namespace boost { + * @param dst_start_offset Time offset within day for dst boundary + * @param dst_end_day Ending day of dst for the given locality + * @param dst_end_offset Time offset within day given in dst for dst boundary +- * @param dst_length lenght of dst adjusment ++ * @param dst_length_minutes length of dst adjustment + * @retval The time is either ambiguous, invalid, in dst, or not in dst + */ + static time_is_dst_result +Index: boost/date_time/strings_from_facet.hpp +=================================================================== +--- boost/date_time/strings_from_facet.hpp.orig 2009-02-01 12:29:43.000000000 +0100 ++++ boost/date_time/strings_from_facet.hpp 2010-04-08 18:06:53.639511496 +0200 +@@ -21,8 +21,9 @@ namespace boost { namespace date_time { + * all the month strings from a locale. This is handy when building + * custom date parsers or formatters that need to be localized. + * +- *@param charT The type of char to use when gathering typically char +- * or wchar_t. ++ *! charT The type of char to use when gathering, typically char ++ * or wchar_t. ++ * + *@param locale The locale to use when gathering the strings + *@param short_strings True(default) to gather short strings, + * false for long strings. +@@ -71,8 +72,9 @@ gather_month_strings(const std::locale& + * 'Sunday'. This is handy when building custom date parsers or + * formatters that need to be localized. + * +- *@param charT The type of char to use when gathering typically char +- * or wchar_t. ++ *! charT The type of char to use when gathering, typically char ++ * or wchar_t. ++ * + *@param locale The locale to use when gathering the strings + *@param short_strings True(default) to gather short strings, + * false for long strings. +Index: boost/date_time/time_zone_names.hpp +=================================================================== +--- boost/date_time/time_zone_names.hpp.orig 2008-02-27 21:00:24.000000000 +0100 ++++ boost/date_time/time_zone_names.hpp 2010-04-08 18:03:52.115011588 +0200 +@@ -43,7 +43,7 @@ namespace date_time { + * name: Pacific Standard Time and the abbreviated name: PST. + * During daylight savings there are additional names: + * Pacific Daylight Time and PDT. +- *@parm CharT Allows class to support different character types ++ *@param CharT Allows the class to support different character types + */ + template + class time_zone_names_base +Index: boost/intrusive/circular_slist_algorithms.hpp +=================================================================== +--- boost/intrusive/circular_slist_algorithms.hpp.orig 2009-10-15 20:46:26.000000000 +0200 ++++ boost/intrusive/circular_slist_algorithms.hpp 2010-04-08 18:09:14.535002037 +0200 +@@ -63,7 +63,7 @@ class circular_slist_algorithms + + //! Effects: Constructs an non-used list element, putting the next + //! pointer to null: +- //! NodeTraits::get_next(this_node) == 0 ++ //! NodeTraits::get_next(this_node) == 0 + //! + //! Complexity: Constant + //! +Index: boost/intrusive/linear_slist_algorithms.hpp +=================================================================== +--- boost/intrusive/linear_slist_algorithms.hpp.orig 2009-10-15 20:46:26.000000000 +0200 ++++ boost/intrusive/linear_slist_algorithms.hpp 2010-04-08 18:09:42.795795376 +0200 +@@ -62,7 +62,7 @@ class linear_slist_algorithms + + //! Effects: Constructs an non-used list element, putting the next + //! pointer to null: +- //! NodeTraits::get_next(this_node) == 0 ++ //! NodeTraits::get_next(this_node) == 0 + //! + //! Complexity: Constant + //! +Index: boost/mpi/collectives.hpp +=================================================================== +--- boost/mpi/collectives.hpp.orig 2007-11-25 19:07:19.000000000 +0100 ++++ boost/mpi/collectives.hpp 2010-04-08 17:44:55.323300553 +0200 +@@ -219,10 +219,6 @@ all_to_all(const communicator& comm, con + * non-roots will reshape the objects held in their proxies based on + * the skeleton sent from the root. + * +- * @param n When supplied, the number of values that the pointer @p +- * values points to, for broadcasting an array of values. The value +- * of @p n must be the same for all processes in @p comm. +- * + * @param root The rank/process ID of the process that will be + * transmitting the value. + */ +@@ -231,6 +227,10 @@ void broadcast(const communicator& comm, + + /** + * \overload ++ * @param n When supplied, the number of values that the pointer @p ++ * values points to, for broadcasting an array of values. The value ++ * of @p n must be the same for all processes in @p comm. ++ * + */ + template + void broadcast(const communicator& comm, T* values, int n, int root); +Index: boost/mpi/operations.hpp +=================================================================== +--- boost/mpi/operations.hpp.orig 2007-11-25 19:07:19.000000000 +0100 ++++ boost/mpi/operations.hpp 2010-04-08 17:45:43.579010784 +0200 +@@ -13,7 +13,7 @@ + * This header provides a mapping from function objects to @c MPI_Op + * constants used in MPI collective operations. It also provides + * several new function object types not present in the standard @c +- * header that have direct mappings to @c MPI_Op. ++ * <functional> header that have direct mappings to @c MPI_Op. + */ + #ifndef BOOST_MPI_IS_MPI_OP_HPP + #define BOOST_MPI_IS_MPI_OP_HPP +Index: boost/program_options/value_semantic.hpp +=================================================================== +--- boost/program_options/value_semantic.hpp.orig 2010-01-08 22:00:57.000000000 +0100 ++++ boost/program_options/value_semantic.hpp 2010-04-08 17:32:01.139005255 +0200 +@@ -385,7 +385,7 @@ namespace boost { namespace program_opti + typed_value* + wvalue(T* v); + +- /** Works the same way as the 'value' function, but the created ++ /** Works the same way as the 'value<bool>' function, but the created + value_semantic won't accept any explicit value. So, if the option + is present on the command line, the value will be 'true'. + */ +Index: boost/units/cmath.hpp +=================================================================== +--- boost/units/cmath.hpp.orig 2009-07-28 21:05:27.000000000 +0200 ++++ boost/units/cmath.hpp 2010-04-08 17:59:56.771242946 +0200 +@@ -30,7 +30,7 @@ + /// \file + /// \brief Overloads of functions in \ for quantities + /// +-/// \detailed Only functions for which a dimensionally-correct result type ++/// \detail Only functions for which a dimensionally-correct result type + /// can be determined are overloaded. All functions work with dimensionless + /// quantities. + +Index: boost/units/dim.hpp +=================================================================== +--- boost/units/dim.hpp.orig 2008-06-20 06:37:32.000000000 +0200 ++++ boost/units/dim.hpp 2010-04-08 17:59:12.003511062 +0200 +@@ -36,7 +36,7 @@ struct dim_tag { }; + + /// \brief Dimension tag/exponent pair for a single fundamental dimension. + /// +-/// \detailed ++/// \detail + /// The dim class represents a single dimension tag/dimension exponent pair. + /// That is, @c dim is a pair where @c tag_type represents the + /// fundamental dimension being represented and @c value_type represents the +Index: boost/units/operators.hpp +=================================================================== +--- boost/units/operators.hpp.orig 2009-01-09 18:31:30.000000000 +0100 ++++ boost/units/operators.hpp 2010-04-08 18:00:09.503745620 +0200 +@@ -19,7 +19,7 @@ + /// \file + /// \brief Compile time operators and typeof helper classes. + /// +-/// \detailed ++/// \detail + /// These operators declare the compile-time operators needed to support dimensional + /// analysis algebra. They require the use of Boost.Typeof. + /// Typeof helper classes define result type for heterogeneous operators on value types. +Index: libs/mpi/doc/mpi.qbk +=================================================================== +--- libs/mpi/doc/mpi.qbk.orig 2009-08-06 21:04:54.000000000 +0200 ++++ libs/mpi/doc/mpi.qbk 2010-04-08 18:14:30.531010979 +0200 +@@ -1846,7 +1846,7 @@ routine, e.g., + + `skeleton_proxy` objects can be received on the other end via `recv()`, + which stores a newly-created instance of your data structure with the +-same "shape" as the sender in its `"object` attribute: ++same "shape" as the sender in its `object` attribute: + + shape = mpi.world.recv(0, 0) + my_data_structure = shape.object 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..9c65b0c --- /dev/null +++ b/boost-no_type_punning.patch @@ -0,0 +1,144 @@ +Index: libs/python/src/dict.cpp +=================================================================== +--- libs/python/src/dict.cpp.orig 2009-10-14 00:37:59.000000000 +0200 ++++ libs/python/src/dict.cpp 2010-03-24 14:16:38.455514855 +0100 +@@ -28,9 +28,9 @@ namespace + + 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, const_cast("(O)"), +- arg_.ptr()); ++ pun.pop, const_cast("(O)"), arg_.ptr()); + } + + dict_base::dict_base() +Index: libs/python/src/list.cpp +=================================================================== +--- libs/python/src/list.cpp.orig 2009-10-14 00:37:59.000000000 +0200 ++++ libs/python/src/list.cpp 2010-03-24 14:17:39.063512971 +0100 +@@ -10,11 +10,11 @@ namespace boost { namespace python { nam + + 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, const_cast("(O)"), +- arg_.ptr())); ++ pun.pop, const_cast("(O)"), arg_.ptr())); + } + + list_base::list_base() +Index: libs/python/src/long.cpp +=================================================================== +--- libs/python/src/long.cpp.orig 2009-08-17 23:01:18.000000000 +0200 ++++ libs/python/src/long.cpp 2010-03-24 14:27:51.795442249 +0100 +@@ -8,16 +8,16 @@ namespace boost { namespace python { nam + + 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, const_cast("(O)"), +- arg_.ptr()); ++ pun.pop, const_cast("(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, const_cast("(OO)"), +- arg_.ptr(), base.ptr()); ++ pun.pop, const_cast("(OO)"), arg_.ptr(), base.ptr()); + } + + long_base::long_base() +@@ -25,7 +25,12 @@ long_base::long_base() + detail::new_reference( + PyObject_CallFunction((PyObject*)&PyLong_Type, const_cast("()"))) + ) +-{} ++{ ++ union { PyTypeObject *ptop; PyObject *pop; }pun = { &PyLong_Type }; ++ object(detail::new_reference( ++ PyObject_CallFunction(pun.pop, const_cast("()")))); ++} ++ + + long_base::long_base(object_cref arg) + : object(long_base::call(arg)) +Index: libs/python/src/object/class.cpp +=================================================================== +--- libs/python/src/object/class.cpp.orig 2009-11-13 01:40:01.000000000 +0100 ++++ libs/python/src/object/class.cpp 2010-03-24 14:22:47.359006204 +0100 +@@ -615,9 +615,11 @@ namespace objects + 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, const_cast("Osss"), fget.ptr(), 0, 0, docstr)); ++ PyObject_CallFunction(pun.pop, const_cast("Osss"), fget.ptr(), 0, 0, docstr)); + + this->setattr(name, property); + } +@@ -625,9 +627,11 @@ namespace objects + 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, const_cast("OOss"), fget.ptr(), fset.ptr(), 0, docstr)); ++ PyObject_CallFunction(pun.pop, const_cast("OOss"), fget.ptr(), fset.ptr(), 0, docstr)); + + this->setattr(name, property); + } +Index: libs/python/src/str.cpp +=================================================================== +--- libs/python/src/str.cpp.orig 2009-10-14 00:37:59.000000000 +0200 ++++ libs/python/src/str.cpp 2010-03-24 14:25:54.499013435 +0100 +@@ -9,14 +9,14 @@ namespace boost { namespace python { nam + + detail::new_reference str_base::call(object const& arg_) + { +- return (detail::new_reference)PyObject_CallFunction( + #if PY_VERSION_HEX >= 0x03000000 +- (PyObject*)&PyUnicode_Type, ++ union { PyTypeObject *ptop; PyObject *pop; }pun = { &PyUnicode_Type }; + #else +- (PyObject*)&PyString_Type, ++ union { PyTypeObject *ptop; PyObject *pop; }pun = { &PyString_Type }; + #endif +- const_cast("(O)"), +- arg_.ptr()); ++ ++ return (detail::new_reference)PyObject_CallFunction( ++ pun.pop, const_cast("(O)"), arg_.ptr()); + } + + str_base::str_base() +Index: libs/python/src/tuple.cpp +=================================================================== +--- libs/python/src/tuple.cpp.orig 2009-08-17 23:01:18.000000000 +0200 ++++ libs/python/src/tuple.cpp 2010-03-24 14:36:48.547503422 +0100 +@@ -8,9 +8,10 @@ namespace boost { namespace python { nam + + 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, const_cast("(O)"), +- arg_.ptr()); ++ pun.pop, const_cast("(O)"), arg_.ptr()); + } + + tuple_base::tuple_base() diff --git a/boost-rpmlintrc b/boost-rpmlintrc index d51b0b3..d330999 100644 --- a/boost-rpmlintrc +++ b/boost-rpmlintrc @@ -11,3 +11,4 @@ addFilter("boost.* no-binary") addFilter("boost.* static-library-without-debuginfo") addFilter("boost.* obsolete-suse-version-check") addFilter("boost.* shlib-unversioned-lib") +addFilter("boost.* no-dependency-on") diff --git a/boost-sane_versioning.patch b/boost-sane_versioning.patch index 38cfc00..d0898d7 100644 --- a/boost-sane_versioning.patch +++ b/boost-sane_versioning.patch @@ -1,7 +1,8 @@ -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 +@@ -355,9 +355,7 @@ if $(layout) = versioned { result = [ common.format-name @@ -12,7 +13,7 @@ diff -rup boost_1_42_0.orig/Jamroot boost_1_42_0/Jamroot } else if $(layout) = tagged { -@@ -505,13 +503,9 @@ if $(layout-versioned) && ( [ modules.pe +@@ -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..e59d796 100644 --- a/boost-strict_aliasing.patch +++ b/boost-strict_aliasing.patch @@ -1,11 +1,32 @@ -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 ] ; +Index: libs/python/build/Jamfile.v2 +=================================================================== +--- libs/python/build/Jamfile.v2.orig 2009-10-14 00:37:59.000000000 +0200 ++++ libs/python/build/Jamfile.v2 2010-03-26 16:49:22.348016732 +0100 +@@ -41,7 +41,8 @@ py3-version = [ find-py3-version ] ; 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) ; } } +Index: boost/function/function_base.hpp +=================================================================== +--- boost/function/function_base.hpp.orig 2009-12-06 18:50:28.000000000 +0100 ++++ boost/function/function_base.hpp 2010-03-31 14:24:45.259010848 +0200 +@@ -318,11 +318,11 @@ namespace boost { + new ((void*)&out_buffer.data) functor_type(*in_functor); + + if (op == move_functor_tag) { +- reinterpret_cast(&in_buffer.data)->~Functor(); ++ reinterpret_cast(&in_buffer)->~Functor(); + } + } else if (op == destroy_functor_tag) { + // Some compilers (Borland, vc6, ...) are unhappy with ~functor_type. +- reinterpret_cast(&out_buffer.data)->~Functor(); ++ reinterpret_cast(&out_buffer)->~Functor(); + } else if (op == check_functor_type_tag) { + const detail::sp_typeinfo& check_type + = *out_buffer.type.type; diff --git a/boost-thread.patch b/boost-thread.patch index 64461a6..90bd578 100644 --- a/boost-thread.patch +++ b/boost-thread.patch @@ -1,12 +1,13 @@ -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 +Index: boost/config/compiler/gcc.hpp +=================================================================== +--- boost/config/compiler/gcc.hpp.orig 2009-10-13 14:56:44.000000000 +0200 ++++ boost/config/compiler/gcc.hpp 2010-03-24 14:11:51.188512556 +0100 @@ -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 diff --git a/boost-use_std_xml_catalog.patch b/boost-use_std_xml_catalog.patch new file mode 100644 index 0000000..f82c684 --- /dev/null +++ b/boost-use_std_xml_catalog.patch @@ -0,0 +1,46 @@ +Index: tools/build/v2/tools/boostbook.jam +=================================================================== +--- tools/build/v2/tools/boostbook.jam.orig 2009-07-15 20:44:38.000000000 +0200 ++++ tools/build/v2/tools/boostbook.jam 2010-04-07 17:34:23.603024152 +0200 +@@ -225,40 +225,7 @@ rule generate-xml-catalog ( target : sou + " " + : true ; + +- local docbook-xsl-dir = [ boostbook.docbook-xsl-dir ] ; +- if ! $(docbook-xsl-dir) +- { +- ECHO "BoostBook warning: no DocBook XSL directory specified." ; +- ECHO " If you have the DocBook XSL stylesheets installed, please " ; +- ECHO " set DOCBOOK_XSL_DIR to the stylesheet directory on either " ; +- ECHO " the command line (via -sDOCBOOK_XSL_DIR=...) or in a " ; +- ECHO " Boost.Jam configuration file. The DocBook XSL stylesheets " ; +- ECHO " are available here: http://docbook.sourceforge.net/ " ; +- ECHO " Stylesheets will be downloaded on-the-fly (very slow!) " ; +- } +- else +- { +- docbook-xsl-dir = [ regex.replace $(docbook-xsl-dir) " " "%20" ] ; +- print.text " " ; +- } +- +- local docbook-dtd-dir = [ boostbook.docbook-dtd-dir ] ; +- if ! $(docbook-dtd-dir) +- { +- ECHO "BoostBook warning: no DocBook DTD directory specified." ; +- ECHO " If you have the DocBook DTD installed, please set " ; +- ECHO " DOCBOOK_DTD_DIR to the DTD directory on either " ; +- ECHO " the command line (via -sDOCBOOK_DTD_DIR=...) or in a " ; +- ECHO " Boost.Jam configuration file. The DocBook DTD is available " ; +- ECHO " here: http://www.oasis-open.org/docbook/xml/4.2/index.shtml" ; +- ECHO " The DTD will be downloaded on-the-fly (very slow!) " ; +- } +- else +- { +- docbook-dtd-dir = [ regex.replace $(docbook-dtd-dir) " " "%20" ] ; +- print.text " " ; +- } +- ++ print.text " " ; + print.text "" ; + } + 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..fc5b8f9 100644 --- a/boost.changes +++ b/boost.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Mon Apr 26 10:34:26 UTC 2010 - pth@novell.com + +- Delete unneeded patches. + +------------------------------------------------------------------- +Wed Apr 14 13:54:12 CEST 2010 - pth@suse.de + +- Readd those patches that are still needed. +- Try to fix an aliasing bug in function_base.hpp +- Build man pages locally and only include them as a tarball. +- Split documentation in in format specific packages. + ------------------------------------------------------------------- Sat Apr 3 00:00:00 CET 2010 - freespacer@gmx.de diff --git a/boost.spec b/boost.spec index 6b3c9f0..c11d4fe 100644 --- a/boost.spec +++ b/boost.spec @@ -17,16 +17,27 @@ # norootforbuild -%ifarch s390 s390x ia64 %sparc +%define ver 1.42.0 +%define file_version 1_42_0 +%define short_version 1_42 +%define lib_appendix 1_42_0 + +#Only define to 1 to generate the man pages +%define build_docs 0 + +# Just hardcode build_mpi to 1 as soon as openmpi builds on all +# named architectures. + +%ifarch s390 s390x ia64 %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_time%{lib_appendix} libboost_filesystem%{lib_appendix} libboost_graph%{lib_appendix} libboost_iostreams%{lib_appendix} libboost_math%{lib_appendix} libboost_test%{lib_appendix} libboost_program_options%{lib_appendix} libboost_python%{lib_appendix} libboost_serialization%{lib_appendix} libboost_signals%{lib_appendix} libboost_system%{lib_appendix} libboost_thread%{lib_appendix} libboost_wave%{lib_appendix} libboost_regex%{lib_appendix} %if %build_mpi -%define all_libs %{most_libs} libboost_mpi1_42_0 +%define all_libs %{most_libs} libboost_mpi%{lib_appendix} %else %define all_libs %{most_libs} %endif @@ -34,11 +45,14 @@ %define debug_package_requires %{all_libs} Name: boost -BuildRequires: boost-jam >= 3.1.17 dos2unix gcc-c++ libbz2-devel libicu-devel python-devel xorg-x11-devel +BuildRequires: boost-jam >= 3.1.18 dos2unix gcc-c++ libbz2-devel libicu-devel python-devel xorg-x11-devel BuildRequires: libexpat-devel %if %build_mpi BuildRequires: openmpi-devel %endif +%if %build_docs +BuildRequires: docbook docbook-xsl-stylesheets doxygen python-devel texlive-latex +%endif %if 0%suse_version > 1020 BuildRequires: fdupes %endif @@ -47,26 +61,26 @@ License: BSD3c Group: Development/Libraries/C and C++ Summary: Boost C++ Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-build -Version: 1.42.0 -Release: 1 -Provides: boost-license = %{version} +Version: %{ver} +Release: 2 +Provides: boost-license = %{version}-%{release} Obsoletes: boost-license < %{version} -Source0: %{name}_1_42_0.tar.bz2 +Source0: %{name}_%{file_version}.tar.bz2 Source1: boost-rpmlintrc -Source2: boost_1_33_1_man.tar.bz2 -Source3: existing_extra_docs -Source4: baselibs.conf -Source5: mkspec.sh -Source6: boost.spec.in -Source7: Makefile -Source8: pre_checkin.sh -Source9: boost-autoconf.tar.bz2 +Source2: %{name}_man_%{file_version}.tar.bz2 +Source3: %{name}_pdf_%{file_version}.tar.bz2 +Source4: existing_extra_docs +Source5: 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-fix_ICU_test.patch +Patch50: boost-use_std_xml_catalog.patch +Patch51: boost-fix_documentation.patch Recommends: %{all_libs} %define _docdir %{_datadir}/doc/packages/boost-%{version} @@ -85,7 +99,7 @@ Library Working Group, membership has expanded to include nearly two thousand members of the C++ community at large. This package is mainly needed for updating from a prior version, the -dynamic libraries are found in their respective packge. For development +dynamic libraries are found in their respective package. For development using Boost, you also need the boost-devel package. For documentation, see the boost-doc package. @@ -101,227 +115,279 @@ AutoReqProv: on %description devel This package contains all that is needed to develop/compile applications that use the Boost C++ libraries. For documentation see -the package boost-doc. +the documentation packages (html, man or pdf). -%package -n boost-license1_42_0 +%package -n boost-license%{lib_appendix} + License: BSD3c Summary: Boost License Group: Development/Libraries/C and C++ AutoReqProv: on +BuildArch: noarch -%description -n boost-license1_42_0 +%description -n boost-license%{lib_appendix} This package contains the license boost is provided under. -%package doc +%package doc-html License: BSD3c Summary: Documentation for the Boost C++ Libraries Group: Development/Libraries/C and C++ AutoReqProv: on -%if 0%{?suse_version} >= 1120 BuildArch: noarch -%endif -%description doc -This package contains documentation about the boost dynamic libraries. +%description doc-html +This package contains the documentation of the boost dynamic libraries +in HTML format. -%package -n libboost_date_time1_42_0 +%package doc-man +License: BSD3c +Summary: Documentation for the Boost C++ Libraries +Group: Development/Libraries/C and C++ +AutoReqProv: on +BuildArch: noarch + +%description doc-man +This package contains the documentation of the boost dynamic libraries +as man pages. + + + +%package doc-pdf +License: BSD3c +Summary: Documentation for the Boost C++ Libraries +Group: Development/Libraries/C and C++ +AutoReqProv: on +BuildArch: noarch + +%description doc-pdf +This package contains the documentation of the boost dynamic libraries +in PDF format. + + + +%package -n libboost_date_time%{lib_appendix} + License: BSD3c Summary: Boost::Date.Time Runtime libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license%{lib_appendix} AutoReqProv: on -%description -n libboost_date_time1_42_0 +%description -n libboost_date_time%{lib_appendix} This package contains the Boost Date.Time runtime libraries. -%package -n libboost_filesystem1_42_0 +%package -n libboost_filesystem%{lib_appendix} + License: BSD3c Summary: Boost::Filesystem Runtime Libraries Group: System/Localization -Requires: boost-license1_42_0 +Requires: boost-license%{lib_appendix} AutoReqProv: on -%description -n libboost_filesystem1_42_0 +%description -n libboost_filesystem%{lib_appendix} This package contains the Boost::Filesystem libraries. -%package -n libboost_graph1_42_0 +%package -n libboost_graph%{lib_appendix} + License: BSD3c Summary: Boost::Graph Runtime Libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license%{lib_appendix} AutoReqProv: on -%description -n libboost_graph1_42_0 +%description -n libboost_graph%{lib_appendix} This package contains the Boost::Graph Runtime libraries. -%package -n libboost_iostreams1_42_0 +%package -n libboost_iostreams%{lib_appendix} + License: BSD3c Summary: Boost::IOStreams Runtime Libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license%{lib_appendix} AutoReqProv: on -%description -n libboost_iostreams1_42_0 +%description -n libboost_iostreams%{lib_appendix} This package contains the Boost::IOStreams Runtime libraries. -%package -n libboost_math1_42_0 +%package -n libboost_math%{lib_appendix} + License: BSD3c Summary: Boost::Math Runtime Libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license%{lib_appendix} AutoReqProv: on -%description -n libboost_math1_42_0 +%description -n libboost_math%{lib_appendix} This package contains the Boost::Math Runtime libraries. %if %build_mpi -%package -n libboost_mpi1_42_0 +%package -n libboost_mpi%{lib_appendix} + License: BSD3c Summary: Boost::MPI Runtime libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license%{lib_appendix} AutoReqProv: on -%description -n libboost_mpi1_42_0 +%description -n libboost_mpi%{lib_appendix} This package contains the Boost::MPI Runtime libraries. %endif -%package -n libboost_test1_42_0 +%package -n libboost_test%{lib_appendix} + License: BSD3c Summary: Boost::Test Runtime Libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license%{lib_appendix} AutoReqProv: on -%description -n libboost_test1_42_0 +%description -n libboost_test%{lib_appendix} This package contains the Boost::Test runtime libraries. -%package -n libboost_program_options1_42_0 +%package -n libboost_program_options%{lib_appendix} + License: BSD3c Summary: Boost::ProgramOptions Runtime libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license%{lib_appendix} AutoReqProv: on -%description -n libboost_program_options1_42_0 +%description -n libboost_program_options%{lib_appendix} This package contains the Boost::ProgramOptions Runtime libraries. -%package -n libboost_python1_42_0 +%package -n libboost_python%{lib_appendix} + License: BSD3c Summary: Boost::Python Runtime Libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license%{lib_appendix} AutoReqProv: on -%description -n libboost_python1_42_0 +%description -n libboost_python%{lib_appendix} This package contains the Boost::Python Runtime libraries. -%package -n libboost_serialization1_42_0 +%package -n libboost_serialization%{lib_appendix} + License: BSD3c Summary: Boost::Serialization Runtime Libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license%{lib_appendix} AutoReqProv: on -%description -n libboost_serialization1_42_0 +%description -n libboost_serialization%{lib_appendix} This package contains the Boost::Serialization Runtime libraries. -%package -n libboost_signals1_42_0 +%package -n libboost_signals%{lib_appendix} + License: BSD3c Summary: Boost::Signals Runtime Libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license%{lib_appendix} AutoReqProv: on -%description -n libboost_signals1_42_0 +%description -n libboost_signals%{lib_appendix} This package contains the Boost::Signals Runtime libraries. -%package -n libboost_system1_42_0 +%package -n libboost_system%{lib_appendix} + License: BSD3c Summary: Boost::System Runtime Libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license%{lib_appendix} AutoReqProv: on -%description -n libboost_system1_42_0 +%description -n libboost_system%{lib_appendix} This package contains the Boost::System runtime libraries. -%package -n libboost_thread1_42_0 +%package -n libboost_thread%{lib_appendix} + License: BSD3c Summary: Boost::Thread Runtime Libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license%{lib_appendix} AutoReqProv: on -%description -n libboost_thread1_42_0 +%description -n libboost_thread%{lib_appendix} This package contains the Boost::Thread runtime libraries. -%package -n libboost_wave1_42_0 +%package -n libboost_wave%{lib_appendix} + License: BSD3c Summary: Boost::Wave Runtime Libraries Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license%{lib_appendix} AutoReqProv: on -%description -n libboost_wave1_42_0 +%description -n libboost_wave%{lib_appendix} This package contains the Boost::Wave runtime libraries. -%package -n libboost_regex1_42_0 +%package -n libboost_regex%{lib_appendix} + License: BSD3c Summary: The Boost::Regex runtime library Group: System/Libraries -Requires: boost-license1_42_0 +Requires: boost-license%{lib_appendix} AutoReqProv: on -%description -n libboost_regex1_42_0 +%description -n libboost_regex%{lib_appendix} This package contains the Boost::Regex runtime library. %prep -%setup -q -n %{name}_1_42_0 -a 2 -a 9 +%if %build_docs +%setup -q -n %{name}_%{file_version} -a 5 +%else +%setup -q -n %{name}_%{file_version} -a 2 -a 5 +%endif +tar -C doc/pdf -xvf %{S:3} 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 +%patch50 +%patch51 + #stupid build machinery copies .orig files find . -name \*.orig -exec rm {} + @@ -361,15 +427,34 @@ using gcc ; # Python configuration using python : ${PYTHON_VERSION} : %{_prefix} ; +EOF + +%if %build_docs +cat << EOF >>user-config.jam +using xsltproc ; + +using boostbook ; + +using doxygen ; +EOF +%endif + +%if %build_mpi +cat << EOF >>user-config.jam 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) +%{_bindir}/bjam ${BJAM_CONFIG} --user-config=user-config.jam cflags="%{optflags}" cxxflags="%{optflags}" stage || \ + (echo "Not all Boost libraries built properly."; exit 1) + +%if %build_docs +cd doc +%{_bindir}/bjam ${BJAM_CONFIG} --user-config=../user-config.jam --v2 man +%endif %install # Now build it @@ -386,7 +471,7 @@ if test "$JOBS" == "0"; then fi # In case you want more parallel jobs then autobuild grants you -if [ $J_P -gt $J_I ]; then +if [ $J_P -gt $J_G ]; then JOBS=$J_G fi @@ -409,24 +494,8 @@ 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-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}) -# SONAME_MT="$BASE-mt.so" -# ln -sf $NAME $SONAME_MT -#done -#popd - pushd %{buildroot}%{_libdir} for lib in $(find . -name \*.so.%{version}); do BASE=$(basename ${lib} .so.%{version}) @@ -435,29 +504,21 @@ for lib in $(find . -name \*.so.%{version}); do done popd -# mv stage/lib/*.so* %{buildroot}%{_libdir} -# install include files -#for i in $(find boost -type d); do -# mkdir -p %{buildroot}%{_includedir}/$i -#done -#for i in $(find boost -type f); do -# install -p -m 644 $i %{buildroot}%{_includedir}/$i -#done -#chmod +x %{buildroot}%{_includedir}/boost/signals/detail/gen_signal_N.pl \ -# %{buildroot}%{_includedir}/boost/pool/detail/pool_construct_simple.sh \ -# %{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 -pushd boost-1.33.1/doc/man -for page in $(find . -type f); do - install -p -m 644 $page %buildroot/%{_mandir}/$page +rm -rf doc/man/man3/boost::units::operator + +for sec in 3 7 9; do + install -d %buildroot/%{_mandir}/man${sec} done +pushd doc/man +rm -f *.manifest +tar -cf - .| tar -C %{buildroot}/%{_mandir} -xvf - popd +#install the pdf documentation +install -d %buildroot/%{_docdir}/pdf +install -p -m 644 doc/pdf/*.pdf %{buildroot}/%{_docdir}/pdf/ + #install autoconf macros install -d %{buildroot}%{_datadir}/aclocal install -m 644 m4/*.m4 %{buildroot}%{_datadir}/aclocal @@ -471,7 +532,7 @@ dos2unix libs/ptr_container/doc/tutorial_example.html \ libs/test/test/test_files/errors_handling_test.pattern \ libs/test/test/test_files/result_report_test.pattern find . -name \*.htm\* -o -name \*.gif -o -name \*.css -o -name \*.jpg -o -name \*.png -o -name \*.ico | \ - tar --files-from=%{S:3} -cf - --files-from=- | tar -C %{buildroot}%{_docdir} -xf - + tar --files-from=%{S:4} -cf - --files-from=- | tar -C %{buildroot}%{_docdir} -xf - rm -rf %{buildroot}%{_docdir}/boost ln -s /usr/include/boost %{buildroot}%{_docdir} ln -s ../LICENSE_1_0.txt %{buildroot}%{_docdir}/libs @@ -483,137 +544,137 @@ rm -f %{buildroot}%{_libdir}/*.a %fdupes %buildroot %endif -%post -n libboost_date_time1_42_0 -p /sbin/ldconfig +%post -n libboost_date_time%{lib_appendix} -p /sbin/ldconfig -%post -n libboost_filesystem1_42_0 -p /sbin/ldconfig +%post -n libboost_filesystem%{lib_appendix} -p /sbin/ldconfig -%post -n libboost_iostreams1_42_0 -p /sbin/ldconfig +%post -n libboost_iostreams%{lib_appendix} -p /sbin/ldconfig -%post -n libboost_test1_42_0 -p /sbin/ldconfig +%post -n libboost_test%{lib_appendix} -p /sbin/ldconfig -%post -n libboost_program_options1_42_0 -p /sbin/ldconfig +%post -n libboost_program_options%{lib_appendix} -p /sbin/ldconfig -%post -n libboost_python1_42_0 -p /sbin/ldconfig +%post -n libboost_python%{lib_appendix} -p /sbin/ldconfig -%post -n libboost_regex1_42_0 -p /sbin/ldconfig +%post -n libboost_regex%{lib_appendix} -p /sbin/ldconfig -%post -n libboost_serialization1_42_0 -p /sbin/ldconfig +%post -n libboost_serialization%{lib_appendix} -p /sbin/ldconfig -%post -n libboost_signals1_42_0 -p /sbin/ldconfig +%post -n libboost_signals%{lib_appendix} -p /sbin/ldconfig -%post -n libboost_thread1_42_0 -p /sbin/ldconfig +%post -n libboost_thread%{lib_appendix} -p /sbin/ldconfig -%post -n libboost_math1_42_0 -p /sbin/ldconfig +%post -n libboost_math%{lib_appendix} -p /sbin/ldconfig %if %build_mpi -%post -n libboost_mpi1_42_0 -p /sbin/ldconfig +%post -n libboost_mpi%{lib_appendix} -p /sbin/ldconfig %endif -%post -n libboost_graph1_42_0 -p /sbin/ldconfig +%post -n libboost_graph%{lib_appendix} -p /sbin/ldconfig -%post -n libboost_system1_42_0 -p /sbin/ldconfig +%post -n libboost_system%{lib_appendix} -p /sbin/ldconfig -%post -n libboost_wave1_42_0 -p /sbin/ldconfig +%post -n libboost_wave%{lib_appendix} -p /sbin/ldconfig -%postun -n libboost_date_time1_42_0 -p /sbin/ldconfig +%postun -n libboost_date_time%{lib_appendix} -p /sbin/ldconfig -%postun -n libboost_filesystem1_42_0 -p /sbin/ldconfig +%postun -n libboost_filesystem%{lib_appendix} -p /sbin/ldconfig -%postun -n libboost_iostreams1_42_0 -p /sbin/ldconfig +%postun -n libboost_iostreams%{lib_appendix} -p /sbin/ldconfig -%postun -n libboost_test1_42_0 -p /sbin/ldconfig +%postun -n libboost_test%{lib_appendix} -p /sbin/ldconfig -%postun -n libboost_program_options1_42_0 -p /sbin/ldconfig +%postun -n libboost_program_options%{lib_appendix} -p /sbin/ldconfig -%postun -n libboost_python1_42_0 -p /sbin/ldconfig +%postun -n libboost_python%{lib_appendix} -p /sbin/ldconfig -%postun -n libboost_regex1_42_0 -p /sbin/ldconfig +%postun -n libboost_regex%{lib_appendix} -p /sbin/ldconfig -%postun -n libboost_serialization1_42_0 -p /sbin/ldconfig +%postun -n libboost_serialization%{lib_appendix} -p /sbin/ldconfig -%postun -n libboost_signals1_42_0 -p /sbin/ldconfig +%postun -n libboost_signals%{lib_appendix} -p /sbin/ldconfig -%postun -n libboost_thread1_42_0 -p /sbin/ldconfig +%postun -n libboost_thread%{lib_appendix} -p /sbin/ldconfig -%postun -n libboost_math1_42_0 -p /sbin/ldconfig +%postun -n libboost_math%{lib_appendix} -p /sbin/ldconfig %if %build_mpi -%postun -n libboost_mpi1_42_0 -p /sbin/ldconfig +%postun -n libboost_mpi%{lib_appendix} -p /sbin/ldconfig %endif -%postun -n libboost_graph1_42_0 -p /sbin/ldconfig +%postun -n libboost_graph%{lib_appendix} -p /sbin/ldconfig -%postun -n libboost_system1_42_0 -p /sbin/ldconfig +%postun -n libboost_system%{lib_appendix} -p /sbin/ldconfig -%postun -n libboost_wave1_42_0 -p /sbin/ldconfig +%postun -n libboost_wave%{lib_appendix} -p /sbin/ldconfig -%files -n boost-license1_42_0 +%files -n boost-license%{lib_appendix} %defattr(-, root, root, -) %dir %{_docdir} %doc %{_docdir}/LICENSE_1_0.txt -%files -n libboost_date_time1_42_0 +%files -n libboost_date_time%{lib_appendix} %defattr(-, root, root, -) %{_libdir}/libboost_date_time*.so.* -%files -n libboost_filesystem1_42_0 +%files -n libboost_filesystem%{lib_appendix} %defattr(-, root, root, -) %{_libdir}/libboost_filesystem*.so.* -%files -n libboost_graph1_42_0 +%files -n libboost_graph%{lib_appendix} %defattr(-, root, root, -) %{_libdir}/libboost_graph*.so.* -%files -n libboost_iostreams1_42_0 +%files -n libboost_iostreams%{lib_appendix} %defattr(-, root, root, -) %{_libdir}/libboost_iostreams*.so.* -%files -n libboost_math1_42_0 +%files -n libboost_math%{lib_appendix} %defattr(-, root, root, -) %{_libdir}/libboost_math_*.so.* %if %build_mpi -%files -n libboost_mpi1_42_0 +%files -n libboost_mpi%{lib_appendix} %defattr(-, root, root, -) %{_libdir}/libboost_mpi*.so.* %{_libdir}/mpi.so %endif -%files -n libboost_test1_42_0 +%files -n libboost_test%{lib_appendix} %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_options%{lib_appendix} %defattr(-, root, root, -) %{_libdir}/libboost_program_options*.so.* -%files -n libboost_python1_42_0 +%files -n libboost_python%{lib_appendix} %defattr(-, root, root, -) %{_libdir}/libboost_python*.so.* -%files -n libboost_serialization1_42_0 +%files -n libboost_serialization%{lib_appendix} %defattr(-, root, root, -) %{_libdir}/libboost_*serialization*.so.* -%files -n libboost_signals1_42_0 +%files -n libboost_signals%{lib_appendix} %defattr(-, root, root, -) %{_libdir}/libboost_signals*.so.* -%files -n libboost_system1_42_0 +%files -n libboost_system%{lib_appendix} %defattr(-, root, root, -) %{_libdir}/libboost_system*.so.* -%files -n libboost_thread1_42_0 +%files -n libboost_thread%{lib_appendix} %defattr(-, root, root, -) %{_libdir}/libboost_thread*.so.* -%files -n libboost_wave1_42_0 +%files -n libboost_wave%{lib_appendix} %defattr(-, root, root, -) %{_libdir}/libboost_wave*.so.* -%files -n libboost_regex1_42_0 +%files -n libboost_regex%{lib_appendix} %defattr(-, root, root, -) %{_libdir}/libboost_regex*.so.* @@ -626,11 +687,19 @@ rm -f %{buildroot}%{_libdir}/*.a %endif %{_datadir}/aclocal/*.m4 -%files doc +%files doc-html %defattr(-, root, root, -) -%doc %{_docdir} -%exclude %{_docdir} +%doc %{_docdir}/* +%exclude %{_docdir}/pdf + +%files doc-man +%defattr(644, root, root, -) %doc %{_mandir}/man3/*.3.gz %doc %{_mandir}/man7/*.7.gz +%doc %{_mandir}/man9/*.9.gz + +%files doc-pdf +%defattr(-, root, root, -) +%doc %{_docdir}/pdf %changelog diff --git a/boost.spec.in b/boost.spec.in deleted file mode 100644 index 83038cb..0000000 --- a/boost.spec.in +++ /dev/null @@ -1,615 +0,0 @@ -# -# spec file for package boost (Version 1.42.0) -# -# Copyright (c) 2008 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 -# upon. The license for this file, and modifications and additions to the -# file, is the same license as for the pristine package itself (unless the -# license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "Open Source License" is a -# license that conforms to the Open Source Definition (Version 1.9) -# published by the Open Source Initiative. - -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - -# 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_time@lib_appendix@ libboost_filesystem@lib_appendix@ libboost_graph@lib_appendix@ libboost_iostreams@lib_appendix@ libboost_math@lib_appendix@ libboost_test@lib_appendix@ libboost_program_options@lib_appendix@ libboost_python@lib_appendix@ libboost_serialization@lib_appendix@ libboost_signals@lib_appendix@ libboost_system@lib_appendix@ libboost_thread@lib_appendix@ libboost_wave@lib_appendix@ libboost_regex@lib_appendix@ - -%if %build_mpi -%define all_libs %{most_libs} libboost_mpi@lib_appendix@ -%else -%define all_libs %{most_libs} -%endif - -%define debug_package_requires %{all_libs} - -Name: boost -BuildRequires: boost-jam >= 3.1.17 dos2unix gcc-c++ libbz2-devel libicu-devel python-devel xorg-x11-devel -BuildRequires: libexpat-devel -%if %build_mpi -BuildRequires: openmpi-devel -%endif -%if 0%suse_version > 1020 -BuildRequires: fdupes -%endif -Url: http://www.boost.org -License: BSD 3-Clause -Group: Development/Libraries/C and C++ -Summary: Boost C++ Libraries -BuildRoot: %{_tmppath}/%{name}-%{version}-build -Version: 1.42.0 -Provides: boost-license = %{version} -Obsoletes: boost-license < %{version} -Release: 1 -Source0: %{name}_@file_version@.tar.bz2 -Source1: boost-rpmlintrc -Source2: boost_@man_file_version@_man.tar.bz2 -Source3: existing_extra_docs -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 -Recommends: %{all_libs} - -%define _docdir %{_datadir}/doc/packages/boost-%{version} - -%description -Boost provides free peer-reviewed portable C++ source libraries. The -emphasis is on libraries that work well with the C++ Standard Library. -One goal is to establish "existing practice" and provide reference -implementations so that the Boost libraries are suitable for eventual -standardization. Some of the libraries have already been proposed for -inclusion in the C++ Standards Committee's upcoming C++ Standard -Library Technical Report. - -Although Boost was begun by members of the C++ Standards Committee -Library Working Group, membership has expanded to include nearly two -thousand members of the C++ community at large. - -This package is mainly needed for updating from a prior version, the -dynamic libraries are found in their respective packge. For development -using Boost, you also need the boost-devel package. For documentation, -see the boost-doc package. - - - -%package devel -License: BSD 3-Clause -Summary: Development package for Boost C++ -Group: Development/Libraries/C and C++ -Requires: %{all_libs} libstdc++-devel -AutoReqProv: on - -%description devel -This package contains all that is needed to develop/compile -applications that use the Boost C++ libraries. For documentation see -the package boost-doc. - - - -%package -n boost-license@lib_appendix@ -License: BSD 3-Clause -Summary: Boost License -Group: Development/Libraries/C and C++ -AutoReqProv: on - -%description -n boost-license@lib_appendix@ -This package contains the license boost is provided under. - - - -%package doc -License: BSD 3-Clause -Summary: Documentation for the Boost C++ Libraries -Group: Development/Libraries/C and C++ -AutoReqProv: on -%if 0%{?suse_version} >= 1120 -BuildArch: noarch -%endif - -%description doc -This package contains documentation about the boost dynamic libraries. - - - -%package -n libboost_date_time@lib_appendix@ -License: BSD 3-Clause -Summary: Boost::Date.Time Runtime libraries -Group: System/Libraries -Requires: boost-license@lib_appendix@ -AutoReqProv: on - -%description -n libboost_date_time@lib_appendix@ -This package contains the Boost Date.Time runtime libraries. - - - -%package -n libboost_filesystem@lib_appendix@ -License: BSD 3-Clause -Summary: Boost::Filesystem Runtime Libraries -Group: System/Localization -Requires: boost-license@lib_appendix@ -AutoReqProv: on - -%description -n libboost_filesystem@lib_appendix@ -This package contains the Boost::Filesystem libraries. - - - -%package -n libboost_graph@lib_appendix@ -License: BSD 3-Clause -Summary: Boost::Graph Runtime Libraries -Group: System/Libraries -Requires: boost-license@lib_appendix@ -AutoReqProv: on - -%description -n libboost_graph@lib_appendix@ -This package contains the Boost::Graph Runtime libraries. - - - -%package -n libboost_iostreams@lib_appendix@ -License: BSD 3-Clause -Summary: Boost::IOStreams Runtime Libraries -Group: System/Libraries -Requires: boost-license@lib_appendix@ -AutoReqProv: on - -%description -n libboost_iostreams@lib_appendix@ -This package contains the Boost::IOStreams Runtime libraries. - - - -%package -n libboost_math@lib_appendix@ -License: BSD 3-Clause -Summary: Boost::Math Runtime Libraries -Group: System/Libraries -Requires: boost-license@lib_appendix@ -AutoReqProv: on - -%description -n libboost_math@lib_appendix@ -This package contains the Boost::Math Runtime libraries. - - -%if %build_mpi -%package -n libboost_mpi@lib_appendix@ -License: BSD 3-Clause -Summary: Boost::MPI Runtime libraries -Group: System/Libraries -Requires: boost-license@lib_appendix@ -AutoReqProv: on - -%description -n libboost_mpi@lib_appendix@ -This package contains the Boost::MPI Runtime libraries. - -%endif - -%package -n libboost_test@lib_appendix@ -License: BSD 3-Clause -Summary: Boost::Test Runtime Libraries -Group: System/Libraries -Requires: boost-license@lib_appendix@ -AutoReqProv: on - -%description -n libboost_test@lib_appendix@ -This package contains the Boost::Test runtime libraries. - - - -%package -n libboost_program_options@lib_appendix@ -License: BSD 3-Clause -Summary: Boost::ProgramOptions Runtime libraries -Group: System/Libraries -Requires: boost-license@lib_appendix@ -AutoReqProv: on - -%description -n libboost_program_options@lib_appendix@ -This package contains the Boost::ProgramOptions Runtime libraries. - - - -%package -n libboost_python@lib_appendix@ -License: BSD 3-Clause -Summary: Boost::Python Runtime Libraries -Group: System/Libraries -Requires: boost-license@lib_appendix@ -AutoReqProv: on - -%description -n libboost_python@lib_appendix@ -This package contains the Boost::Python Runtime libraries. - - - -%package -n libboost_serialization@lib_appendix@ -License: BSD 3-Clause -Summary: Boost::Serialization Runtime Libraries -Group: System/Libraries -Requires: boost-license@lib_appendix@ -AutoReqProv: on - -%description -n libboost_serialization@lib_appendix@ -This package contains the Boost::Serialization Runtime libraries. - - - -%package -n libboost_signals@lib_appendix@ -License: BSD 3-Clause -Summary: Boost::Signals Runtime Libraries -Group: System/Libraries -Requires: boost-license@lib_appendix@ -AutoReqProv: on - -%description -n libboost_signals@lib_appendix@ -This package contains the Boost::Signals Runtime libraries. - - - -%package -n libboost_system@lib_appendix@ -License: BSD 3-Clause -Summary: Boost::System Runtime Libraries -Group: System/Libraries -Requires: boost-license@lib_appendix@ -AutoReqProv: on - -%description -n libboost_system@lib_appendix@ -This package contains the Boost::System runtime libraries. - - - -%package -n libboost_thread@lib_appendix@ -License: BSD 3-Clause -Summary: Boost::Thread Runtime Libraries -Group: System/Libraries -Requires: boost-license@lib_appendix@ -AutoReqProv: on - -%description -n libboost_thread@lib_appendix@ -This package contains the Boost::Thread runtime libraries. - - - -%package -n libboost_wave@lib_appendix@ -License: BSD 3-Clause -Summary: Boost::Wave Runtime Libraries -Group: System/Libraries -Requires: boost-license@lib_appendix@ -AutoReqProv: on - -%description -n libboost_wave@lib_appendix@ -This package contains the Boost::Wave runtime libraries. - - - -%package -n libboost_regex@lib_appendix@ -License: BSD 3-Clause -Summary: The Boost::Regex runtime library -Group: System/Libraries -Requires: boost-license@lib_appendix@ -AutoReqProv: on - -%description -n libboost_regex@lib_appendix@ -This package contains the Boost::Regex runtime library. - - - -%prep -%setup -q -n %{name}_@file_version@ -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 -#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 - test 1 -gt "$JOBS" && JOBS=1 -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 - test 1 -gt "$JOBS" && JOBS=1 -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-@short_version@/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}) -# SONAME_MT="$BASE-mt.so" -# ln -sf $NAME $SONAME_MT -#done -#popd - -pushd %{buildroot}%{_libdir} -for lib in $(find . -name \*.so.%{version}); do - BASE=$(basename ${lib} .so.%{version}) - SONAME_MT="$BASE-mt.so" - ln -sf ${lib} $SONAME_MT -done -popd - - -# mv stage/lib/*.so* %{buildroot}%{_libdir} -# install include files -#for i in $(find boost -type d); do -# mkdir -p %{buildroot}%{_includedir}/$i -#done -#for i in $(find boost -type f); do -# install -p -m 644 $i %{buildroot}%{_includedir}/$i -#done -#chmod +x %{buildroot}%{_includedir}/boost/signals/detail/gen_signal_N.pl \ -# %{buildroot}%{_includedir}/boost/pool/detail/pool_construct_simple.sh \ -# %{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 -pushd boost-@man_version@/doc/man -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 \ - libs/parameter/doc/html/index.html \ - libs/iostreams/doc/tree/tree.js \ - libs/graph/doc/lengauer_tarjan_dominator.htm \ - libs/test/test/test_files/errors_handling_test.pattern \ - libs/test/test/test_files/result_report_test.pattern -find . -name \*.htm\* -o -name \*.gif -o -name \*.css -o -name \*.jpg -o -name \*.png -o -name \*.ico | \ - tar --files-from=%{S:3} -cf - --files-from=- | tar -C %{buildroot}%{_docdir} -xf - -rm -rf %{buildroot}%{_docdir}/boost -ln -s /usr/include/boost %{buildroot}%{_docdir} -ln -s ../LICENSE_1_0.txt %{buildroot}%{_docdir}/libs -#only for documentation, doesn't need to be executable -find %{buildroot}%{_docdir} -name \*.py -exec chmod -x {} + -rm -f %{buildroot}%{_libdir}/*.a -#symlink dupes -%if 0%suse_version > 1020 -%fdupes %buildroot -%endif - -%post -n libboost_date_time@lib_appendix@ -p /sbin/ldconfig -%post -n libboost_filesystem@lib_appendix@ -p /sbin/ldconfig -%post -n libboost_iostreams@lib_appendix@ -p /sbin/ldconfig -%post -n libboost_test@lib_appendix@ -p /sbin/ldconfig -%post -n libboost_program_options@lib_appendix@ -p /sbin/ldconfig -%post -n libboost_python@lib_appendix@ -p /sbin/ldconfig -%post -n libboost_regex@lib_appendix@ -p /sbin/ldconfig -%post -n libboost_serialization@lib_appendix@ -p /sbin/ldconfig -%post -n libboost_signals@lib_appendix@ -p /sbin/ldconfig -%post -n libboost_thread@lib_appendix@ -p /sbin/ldconfig -%post -n libboost_math@lib_appendix@ -p /sbin/ldconfig -%if %build_mpi -%post -n libboost_mpi@lib_appendix@ -p /sbin/ldconfig -%endif -%post -n libboost_graph@lib_appendix@ -p /sbin/ldconfig -%post -n libboost_system@lib_appendix@ -p /sbin/ldconfig -%post -n libboost_wave@lib_appendix@ -p /sbin/ldconfig - -%postun -n libboost_date_time@lib_appendix@ -p /sbin/ldconfig -%postun -n libboost_filesystem@lib_appendix@ -p /sbin/ldconfig -%postun -n libboost_iostreams@lib_appendix@ -p /sbin/ldconfig -%postun -n libboost_test@lib_appendix@ -p /sbin/ldconfig -%postun -n libboost_program_options@lib_appendix@ -p /sbin/ldconfig -%postun -n libboost_python@lib_appendix@ -p /sbin/ldconfig -%postun -n libboost_regex@lib_appendix@ -p /sbin/ldconfig -%postun -n libboost_serialization@lib_appendix@ -p /sbin/ldconfig -%postun -n libboost_signals@lib_appendix@ -p /sbin/ldconfig -%postun -n libboost_thread@lib_appendix@ -p /sbin/ldconfig -%postun -n libboost_math@lib_appendix@ -p /sbin/ldconfig -%if %build_mpi -%postun -n libboost_mpi@lib_appendix@ -p /sbin/ldconfig -%endif -%postun -n libboost_graph@lib_appendix@ -p /sbin/ldconfig -%postun -n libboost_system@lib_appendix@ -p /sbin/ldconfig -%postun -n libboost_wave@lib_appendix@ -p /sbin/ldconfig - -%files -n boost-license@lib_appendix@ -%defattr(-, root, root, -) -%dir %{_docdir} -%doc %{_docdir}/LICENSE_1_0.txt - -%files -n libboost_date_time@lib_appendix@ -%defattr(-, root, root, -) -%{_libdir}/libboost_date_time*.so.* - -%files -n libboost_filesystem@lib_appendix@ -%defattr(-, root, root, -) -%{_libdir}/libboost_filesystem*.so.* - -%files -n libboost_graph@lib_appendix@ -%defattr(-, root, root, -) -%{_libdir}/libboost_graph*.so.* - -%files -n libboost_iostreams@lib_appendix@ -%defattr(-, root, root, -) -%{_libdir}/libboost_iostreams*.so.* - -%files -n libboost_math@lib_appendix@ -%defattr(-, root, root, -) -%{_libdir}/libboost_math_*.so.* - -%if %build_mpi -%files -n libboost_mpi@lib_appendix@ -%defattr(-, root, root, -) -%{_libdir}/libboost_mpi*.so.* -%{_libdir}/mpi.so -%endif - -%files -n libboost_test@lib_appendix@ -%defattr(-, root, root, -) -%{_libdir}/libboost_prg_exec_monitor*.so.* -%{_libdir}/libboost_unit_test_framework*.so.* - -%files -n libboost_program_options@lib_appendix@ -%defattr(-, root, root, -) -%{_libdir}/libboost_program_options*.so.* - -%files -n libboost_python@lib_appendix@ -%defattr(-, root, root, -) -%{_libdir}/libboost_python*.so.* - -%files -n libboost_serialization@lib_appendix@ -%defattr(-, root, root, -) -%{_libdir}/libboost_*serialization*.so.* - -%files -n libboost_signals@lib_appendix@ -%defattr(-, root, root, -) -%{_libdir}/libboost_signals*.so.* - -%files -n libboost_system@lib_appendix@ -%defattr(-, root, root, -) -%{_libdir}/libboost_system*.so.* - -%files -n libboost_thread@lib_appendix@ -%defattr(-, root, root, -) -%{_libdir}/libboost_thread*.so.* - -%files -n libboost_wave@lib_appendix@ -%defattr(-, root, root, -) -%{_libdir}/libboost_wave*.so.* - -%files -n libboost_regex@lib_appendix@ -%defattr(-, root, root, -) -%{_libdir}/libboost_regex*.so.* - -%files devel -%defattr(-, root, root, -) -%{_includedir}/boost -%{_libdir}/*.so -%if %build_mpi -%exclude %{_libdir}/mpi.so -%endif -%{_datadir}/aclocal/*.m4 - -%files doc -%defattr(-, root, root, -) -%doc %{_docdir} -%exclude %{_docdir} -%doc %{_mandir}/man3/*.3.gz -%doc %{_mandir}/man7/*.7.gz - -%changelog diff --git a/boost_1_33_1_man.tar.bz2 b/boost_1_33_1_man.tar.bz2 deleted file mode 100644 index d71fbb9..0000000 --- a/boost_1_33_1_man.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:800e67c4a489d54787eb91a5da56343b6f446cea2d36eb1f93c99ff019356f28 -size 78423 diff --git a/boost_man_1_42_0.tar.bz2 b/boost_man_1_42_0.tar.bz2 new file mode 100644 index 0000000..dac5a6f --- /dev/null +++ b/boost_man_1_42_0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3774cbbcb00d128a852ac21a063e1c75c6ad15723a25b7a1d89fd66c7591bba8 +size 454394 diff --git a/boost_pdf_1_42_0.tar.bz2 b/boost_pdf_1_42_0.tar.bz2 new file mode 100644 index 0000000..88738bd --- /dev/null +++ b/boost_pdf_1_42_0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f09dd8a70e0da917104c86a7ef2a95c23669ff983bffbd5cc43981c7461e0f76 +size 24365143 diff --git a/existing_extra_docs b/existing_extra_docs index 455c597..9f9c011 100644 --- a/existing_extra_docs +++ b/existing_extra_docs @@ -280,8 +280,6 @@ libs/preprocessor/doc/examples/delay.c libs/preprocessor/doc/examples/duffs_device.c libs/preprocessor/doc/examples/is_integral.cpp libs/preprocessor/doc/examples/linear_fib.c -libs/property_map/example1.cpp -libs/property_map/example3.cpp libs/ptr_container/test/incomplete_type_test.cpp libs/ptr_container/test/ptr_array.cpp libs/ptr_container/test/simple_test.cpp diff --git a/mkspec.sh b/mkspec.sh deleted file mode 100644 index defeb52..0000000 --- a/mkspec.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -version=1.42.0 -man_version=1.33.1 - -file_version="$(echo $version|tr '.' '_')" -short_version="$(echo $file_version | cut -d_ -f 1,2)" -man_file_version="$(echo $man_version|tr '.' '_')" - -lib_appendix="${file_version}" - -sed -e "s/@lib_appendix@/$lib_appendix/g" \ - -e "s/@man_version@/$man_version/g" \ - -e "s/@man_file_version@/$man_file_version/g" \ - -e "s/@file_version@/$file_version/g" \ - -e "s/@short_version@/$short_version/g" \ - boost.spec.in >boost.spec - -if [ $? -eq 0 ]; then - echo "boost.spec generated" -else - echo "error when generating boost.spec" - rm -f boost.spec -fi diff --git a/pre_checkin.sh b/pre_checkin.sh deleted file mode 100644 index 838f8c5..0000000 --- a/pre_checkin.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -# This script is called automatically during autobuild checkin -# and ensures that boost.spec is up-to-date - -case $0 in - \./*) - here=$PWD - ;; - */*) - here=${0%/*} - ;; - *) - here=$PWD - ;; -esac - -. ${here}/mkspec.sh -