init
authorthierry <thierry@41d37cc5-eb28-0410-a9bf-d37491348ade>
Fri, 9 Oct 2009 07:30:35 +0000 (07:30 +0000)
committerthierry <thierry@41d37cc5-eb28-0410-a9bf-d37491348ade>
Fri, 9 Oct 2009 07:30:35 +0000 (07:30 +0000)
Makefile [new file with mode: 0644]
boost-configure.patch [new file with mode: 0644]
boost-gcc-soname.patch [new file with mode: 0644]
boost-gcc43.patch [new file with mode: 0644]
boost-regex.patch [new file with mode: 0644]
boost-run-tests.patch [new file with mode: 0644]
boost-use-rpm-optflags.patch [new file with mode: 0644]
boost.spec [new file with mode: 0644]

diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..51678ba
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,51 @@
+# $Id$
+WEBFETCH       := wget
+SHA1SUM        = sha1sum
+
+# default - overridden by the build
+SPECFILE = gnuradio.spec
+
+main.URL       := http://mirror.onelab.eu/third-party/boost_1_40_0.tar.bz2
+main.SHA1SUM    := 9dbaa06ce1d99ce310011c2eaf816ecb003b3096
+main.FILE      := $(notdir $(main.URL))
+
+# Thierry - when called from within the build, PWD is /build
+SOURCEFILES := $(main.FILE)
+
+$(main.FILE): #FORCE
+       @if [ ! -e "$@" ] ; then echo "$(WEBFETCH) $(main.URL)" ; $(WEBFETCH) $(main.URL) ; fi
+       @if [ ! -e "$@" ] ; then echo "Could not download source file: $@ does not exist" ; exit 1 ; fi
+       @if test "$$(sha1sum $@ | awk '{print $$1}')" != "$(main.SHA1SUM)" ; then \
+           echo "sha1sum of the downloaded $@ does not match the one from 'sources' file" ; \
+           echo "Local copy: $$(sha1sum $@)" ; \
+           echo "In sources: $$(grep $@ sources)" ; \
+           exit 1 ; \
+       else \
+           ls -l $@ ; \
+       fi
+
+sources: $(SOURCEFILES)
+.PHONY: sources
+
+PWD=$(shell pwd)
+PREPARCH ?= noarch
+RPMDIRDEFS = --define "_sourcedir $(PWD)" --define "_builddir $(PWD)" --define "_srcrpmdir $(PWD)" --define "_rpmdir $(PWD)"
+trees: sources
+       rpmbuild $(RPMDIRDEFS) $(RPMDEFS) --nodeps -bp --target $(PREPARCH) $(SPECFILE)
+
+srpm: sources
+       rpmbuild $(RPMDIRDEFS) $(RPMDEFS) --nodeps -bs $(SPECFILE)
+
+TARGET ?= $(shell uname -m)
+rpm: sources
+       rpmbuild $(RPMDIRDEFS) $(RPMDEFS) --nodeps --target $(TARGET) -bb $(SPECFILE)
+
+clean:
+       rm -f *.rpm *.tgz *.bz2 *.gz
+
+++%: varname=$(subst +,,$@)
+++%:
+       @echo "$(varname)=$($(varname))"
++%: varname=$(subst +,,$@)
++%:
+       @echo "$($(varname))"
diff --git a/boost-configure.patch b/boost-configure.patch
new file mode 100644 (file)
index 0000000..7ce1a52
--- /dev/null
@@ -0,0 +1,38 @@
+*** configure.orig     2007-01-16 01:39:00.000000000 +0100
+--- configure  2007-01-19 03:53:08.000000000 +0100
+***************
+*** 9,15 ****
+  
+  BJAM=""
+  TOOLSET=""
+! BJAM_CONFIG=""
+  BUILD=""
+  PREFIX=/usr/local
+  EPREFIX=
+--- 9,15 ----
+  
+  BJAM=""
+  TOOLSET=""
+! BJAM_CONFIG="-d2 --layout=system variant=release debug-symbols=on"
+  BUILD=""
+  PREFIX=/usr/local
+  EPREFIX=
+*************** INCLUDEDIR=$INCLUDEDIR
+*** 325,332 ****
+  LIBS=$LIBS
+  
+  all: .dummy
+!      @echo "\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS)"
+!      @\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) || \\
+       echo "Not all Boost libraries built properly."
+  
+  clean: .dummy
+--- 325,332 ----
+  LIBS=$LIBS
+  
+  all: .dummy
+!      @echo "\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) stage"
+!      @\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) stage || \\
+       echo "Not all Boost libraries built properly."
+  
+  clean: .dummy
diff --git a/boost-gcc-soname.patch b/boost-gcc-soname.patch
new file mode 100644 (file)
index 0000000..f26b033
--- /dev/null
@@ -0,0 +1,37 @@
+*** tools/build/v2/tools/gcc.jam.orig  2007-05-03 08:09:04.000000000 +0200
+--- tools/build/v2/tools/gcc.jam       2007-06-26 20:37:44.000000000 +0200
+*************** if [ os.name ] != NT && [ os.name ] != O
+*** 316,322 ****
+      # expected, therefore it has been disabled.
+  
+      HAVE_SONAME   = "" ;
+!     SONAME_OPTION = -h ;
+  }
+  
+  
+--- 316,323 ----
+      # expected, therefore it has been disabled.
+  
+      HAVE_SONAME   = "" ;
+!     SONAME_OPTION = -soname ;
+!     SONAME_VERSION = 3 ;
+  }
+  
+  
+*************** rule link.dll ( targets * : sources * : 
+*** 631,637 ****
+  # Differ from 'link' above only by -shared.
+  actions link.dll bind LIBRARIES
+  {
+!     "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
+  }
+  
+  # Set up threading support. It's somewhat contrived, so perform it at the end,
+--- 632,638 ----
+  # Differ from 'link' above only by -shared.
+  actions link.dll bind LIBRARIES
+  {
+!     "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=).$(SONAME_VERSION) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
+  }
+  
+  # Set up threading support. It's somewhat contrived, so perform it at the end,
diff --git a/boost-gcc43.patch b/boost-gcc43.patch
new file mode 100644 (file)
index 0000000..af64bd0
--- /dev/null
@@ -0,0 +1,215 @@
+diff -urp boost_1_34_1/boost/spirit/phoenix/operators.hpp boost_1_34_1.pm/boost/spirit/phoenix/operators.hpp
+--- boost_1_34_1/boost/spirit/phoenix/operators.hpp    2006-08-25 18:27:30.000000000 +0200
++++ boost_1_34_1.pm/boost/spirit/phoenix/operators.hpp 2008-02-06 16:29:32.000000000 +0100
+@@ -24,6 +24,7 @@
+ #include <boost/spirit/phoenix/composite.hpp>
+ #include <boost/config.hpp>
+ #include <boost/mpl/if.hpp>
++#include <limits.h>
+ ///////////////////////////////////////////////////////////////////////////////
+ namespace phoenix {
+diff -urp boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp boost_1_34_1.pm/boost/regex/v4/basic_regex_creator.hpp
+--- boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp        2006-07-16 18:06:38.000000000 +0200
++++ boost_1_34_1.pm/boost/regex/v4/basic_regex_creator.hpp     2008-02-06 17:36:42.000000000 +0100
+@@ -24,6 +24,8 @@
+ #  include BOOST_ABI_PREFIX
+ #endif
++#include <limits.h>
++
+ namespace boost{
+ namespace re_detail{
+diff -urp boost_1_34_1/boost/regex/v4/basic_regex.hpp boost_1_34_1.pm/boost/regex/v4/basic_regex.hpp
+--- boost_1_34_1/boost/regex/v4/basic_regex.hpp        2007-06-05 19:28:18.000000000 +0200
++++ boost_1_34_1.pm/boost/regex/v4/basic_regex.hpp     2008-02-06 17:33:30.000000000 +0100
+@@ -23,6 +23,8 @@
+ #  include BOOST_ABI_PREFIX
+ #endif
++#include <limits.h>
++
+ namespace boost{
+ #ifdef BOOST_MSVC
+ #pragma warning(push)
+diff -urp boost_1_34_1/boost/regex/v4/basic_regex_parser.hpp boost_1_34_1.pm/boost/regex/v4/basic_regex_parser.hpp
+--- boost_1_34_1/boost/regex/v4/basic_regex_parser.hpp 2008-02-06 17:45:26.000000000 +0100
++++ boost_1_34_1.pm/boost/regex/v4/basic_regex_parser.hpp      2008-02-06 17:38:58.000000000 +0100
+@@ -23,6 +23,8 @@
+ #  include BOOST_ABI_PREFIX
+ #endif
++#include <limits.h>
++
+ namespace boost{
+ namespace re_detail{
+diff -urp boost_1_34_1/boost/regex/v4/cpp_regex_traits.hpp boost_1_34_1.pm/boost/regex/v4/cpp_regex_traits.hpp
+--- boost_1_34_1/boost/regex/v4/cpp_regex_traits.hpp   2007-01-15 12:09:44.000000000 +0100
++++ boost_1_34_1.pm/boost/regex/v4/cpp_regex_traits.hpp        2008-02-06 17:26:51.000000000 +0100
+@@ -41,6 +41,7 @@
+ #include <istream>
+ #include <ios>
++#include <limits.h>
+ #ifdef BOOST_HAS_ABI_HEADERS
+ #  include BOOST_ABI_PREFIX
+diff -urp boost_1_34_1/boost/regex/v4/perl_matcher.hpp boost_1_34_1.pm/boost/regex/v4/perl_matcher.hpp
+--- boost_1_34_1/boost/regex/v4/perl_matcher.hpp       2006-10-18 14:55:30.000000000 +0200
++++ boost_1_34_1.pm/boost/regex/v4/perl_matcher.hpp    2008-02-06 17:39:44.000000000 +0100
+@@ -18,6 +18,8 @@
+ #  include BOOST_ABI_PREFIX
+ #endif
++#include <limits.h>
++
+ namespace boost{
+ namespace re_detail{
+diff -urp boost_1_34_1/boost/regex/v4/regex_split.hpp boost_1_34_1.pm/boost/regex/v4/regex_split.hpp
+--- boost_1_34_1/boost/regex/v4/regex_split.hpp        2005-01-21 18:22:38.000000000 +0100
++++ boost_1_34_1.pm/boost/regex/v4/regex_split.hpp     2008-02-06 17:42:13.000000000 +0100
+@@ -21,6 +21,8 @@
+ #ifndef BOOST_REGEX_SPLIT_HPP
+ #define BOOST_REGEX_SPLIT_HPP
++#include <limits.h>
++
+ namespace boost{
+ #ifdef BOOST_HAS_ABI_HEADERS
+diff -urp boost_1_34_1/boost/regex/v4/states.hpp boost_1_34_1.pm/boost/regex/v4/states.hpp
+--- boost_1_34_1/boost/regex/v4/states.hpp     2005-09-20 14:01:25.000000000 +0200
++++ boost_1_34_1.pm/boost/regex/v4/states.hpp  2008-02-06 17:32:42.000000000 +0100
+@@ -23,6 +23,8 @@
+ #  include BOOST_ABI_PREFIX
+ #endif
++#include <limits.h>
++
+ namespace boost{
+ namespace re_detail{
+diff -urp boost_1_34_1/boost/test/test_tools.hpp boost_1_34_1.pm/boost/test/test_tools.hpp
+--- boost_1_34_1/boost/test/test_tools.hpp     2007-02-22 18:57:29.000000000 +0100
++++ boost_1_34_1.pm/boost/test/test_tools.hpp  2008-02-06 17:18:20.000000000 +0100
+@@ -44,6 +44,7 @@
+ // STL
+ #include <cstddef>          // for std::size_t
+ #include <iosfwd>
++#include <limits.h>
+ #include <boost/test/detail/suppress_warnings.hpp>
+diff -urp boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp boost_1_34_1.pm/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp
+--- boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp        2006-12-20 17:38:24.000000000 +0100
++++ boost_1_34_1.pm/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp     2008-02-06 17:25:00.000000000 +0100
+@@ -16,6 +16,8 @@
+ #include <string>
+ #include <cstdio>
+ #include <cstdarg>
++#include <cstring>
++
+ #if defined(BOOST_SPIRIT_DEBUG)
+ #include <iostream>
+ #endif // defined(BOOST_SPIRIT_DEBUG)
+diff -urp boost_1_34_1/boost/wave/util/flex_string.hpp boost_1_34_1.pm/boost/wave/util/flex_string.hpp
+--- boost_1_34_1/boost/wave/util/flex_string.hpp       2006-04-25 19:21:01.000000000 +0200
++++ boost_1_34_1.pm/boost/wave/util/flex_string.hpp    2008-02-06 17:22:31.000000000 +0100
+@@ -94,6 +94,7 @@ class StoragePolicy
+ #include <limits>
+ #include <stdexcept>
+ #include <cstddef>
++#include <cstring>
+ // this must occur after all of the includes and before any code appears
+ #ifdef BOOST_HAS_ABI_HEADERS
+diff -urp boost_1_34_1/boost/archive/polymorphic_iarchive.hpp boost_1_34_1.pm/boost/archive/polymorphic_iarchive.hpp
+--- boost_1_34_1/boost/archive/polymorphic_iarchive.hpp        2005-12-11 07:12:51.000000000 +0100
++++ boost_1_34_1.pm/boost/archive/polymorphic_iarchive.hpp     2008-02-06 18:42:07.000000000 +0100
+@@ -33,6 +33,8 @@ namespace std{
+ #include <boost/archive/detail/interface_iarchive.hpp>
+ #include <boost/serialization/nvp.hpp>
++#include <limits.h>
++
+ // determine if its necessary to handle (u)int64_t specifically
+ // i.e. that its not a synonym for (unsigned) long
+ // if there is no 64 bit int or if its the same as a long
+diff -urp boost_1_34_1.orig/boost/archive/polymorphic_oarchive.hpp boost_1_34_1/boost/archive/polymorphic_oarchive.hpp
+--- boost_1_34_1.orig/boost/archive/polymorphic_oarchive.hpp   2008-10-06 15:38:51.000000000 +0200
++++ boost_1_34_1/boost/archive/polymorphic_oarchive.hpp        2008-10-06 15:38:57.000000000 +0200
+@@ -32,6 +32,8 @@ namespace std{
+ #include <boost/archive/detail/interface_oarchive.hpp>
+ #include <boost/serialization/nvp.hpp>
++#include <limits.h>
++
+ // determine if its necessary to handle (u)int64_t specifically
+ // i.e. that its not a synonym for (unsigned) long
+ // if there is no 64 bit int or if its the same as a long
+diff -urp boost_1_34_1/boost/date_time/date_facet.hpp boost_1_34_1-pm/boost/date_time/date_facet.hpp
+--- boost_1_34_1/boost/date_time/date_facet.hpp        2005-09-05 23:10:50.000000000 +0200
++++ boost_1_34_1-pm/boost/date_time/date_facet.hpp     2008-02-13 16:07:59.000000000 +0100
+@@ -429,7 +429,7 @@ namespace boost { namespace date_time {
+     typedef std::basic_string<CharT> string_type;
+     typedef CharT                    char_type;
+     typedef boost::date_time::period_parser<date_type, CharT>  period_parser_type;
+-    typedef special_values_parser<date_type,CharT> special_values_parser_type; 
++    typedef boost::date_time::special_values_parser<date_type,CharT> special_values_parser_type; 
+     typedef std::vector<std::basic_string<CharT> > input_collection_type;
+     typedef format_date_parser<date_type, CharT> format_date_parser_type;
+     // date_generators stuff goes here
+diff -urp boost_1_34_1/boost/python/detail/def_helper.hpp boost_1_34_1-pm/boost/python/detail/def_helper.hpp
+--- boost_1_34_1/boost/python/detail/def_helper.hpp    2004-09-16 03:00:28.000000000 +0200
++++ boost_1_34_1-pm/boost/python/detail/def_helper.hpp 2008-02-14 13:26:23.000000000 +0100
+@@ -155,7 +155,7 @@ namespace detail
+           , T3 const&
+           , T4 const&
+           , default_call_policies
+-          , keywords<0>
++          , boost::python::detail::keywords<0>
+           , char const*
+           , void(not_specified::*)()   // A function pointer type which is never an
+                                        // appropriate default implementation
+diff -urp new-boost/date_time/tz_db_base.hpp old-boost/date_time/tz_db_base.hpp
+--- boost_1_34_1/boost/date_time/tz_db_base.hpp        2008-06-12 13:03:34.000000000 +0200
++++ boost_1_34_1-pm/boost/date_time/tz_db_base.hpp     2008-06-12 12:59:43.000000000 +0200
+@@ -158,7 +158,7 @@ namespace boost {
+       typedef typename time_zone_type::base_type time_zone_base_type;
+       typedef typename time_zone_type::time_duration_type time_duration_type;
+       typedef time_zone_names_base<char_type> time_zone_names;
+-      typedef dst_adjustment_offsets<time_duration_type> dst_adjustment_offsets;
++      typedef dst_adjustment_offsets<time_duration_type> dst_adjustment_offsets_t;
+       typedef std::basic_string<char_type> string_type;
+       //! Constructs an empty database
+@@ -346,18 +346,18 @@ namespace boost {
+         time_duration_type utc_offset = 
+           str_from_delimited_time_duration<time_duration_type,char_type>(result[GMTOFFSET]);
+         
+-        dst_adjustment_offsets adjust(time_duration_type(0,0,0),
+-                                      time_duration_type(0,0,0),
+-                                      time_duration_type(0,0,0));
++        dst_adjustment_offsets_t adjust(time_duration_type(0,0,0),
++                                      time_duration_type(0,0,0),
++                                      time_duration_type(0,0,0));
+         boost::shared_ptr<rule_type> rules;
+         if(has_dst){
+-          adjust = dst_adjustment_offsets(
+-                                          str_from_delimited_time_duration<time_duration_type,char_type>(result[DSTADJUST]),
+-                                          str_from_delimited_time_duration<time_duration_type,char_type>(result[START_TIME]),
+-                                          str_from_delimited_time_duration<time_duration_type,char_type>(result[END_TIME])
+-                                          );
++          adjust = dst_adjustment_offsets_t(
++                                          str_from_delimited_time_duration<time_duration_type,char_type>(result[DSTADJUST]),
++                                          str_from_delimited_time_duration<time_duration_type,char_type>(result[START_TIME]),
++                                          str_from_delimited_time_duration<time_duration_type,char_type>(result[END_TIME])
++                                          );
+           rules = 
+             boost::shared_ptr<rule_type>(parse_rules(result[START_DATE_RULE],
diff --git a/boost-regex.patch b/boost-regex.patch
new file mode 100644 (file)
index 0000000..9260afc
--- /dev/null
@@ -0,0 +1,40 @@
+*** boost/regex/v4/basic_regex_parser.hpp.orig 2008-01-14 12:53:01.000000000 -0600
+--- boost/regex/v4/basic_regex_parser.hpp      2008-01-14 12:57:25.000000000 -0600
+*************** bool basic_regex_parser<charT, traits>::
+*** 777,782 ****
+--- 777,783 ----
+        case syntax_element_restart_continue:
+        case syntax_element_jump:
+        case syntax_element_startmark:
++       case syntax_element_backstep:
+           // can't legally repeat any of the above:
+           fail(regex_constants::error_badrepeat, m_position - m_base);
+           return false;
+*************** bool basic_regex_parser<charT, traits>::
+*** 1862,1867 ****
+--- 1863,1869 ----
+     if(markid == -4)
+     {
+        re_syntax_base* b = this->getaddress(expected_alt_point);
++       // Make sure we have exactly one alternative following this state:
+        if(b->type != syntax_element_alt)
+        {
+           re_alt* alt = static_cast<re_alt*>(this->insert_state(expected_alt_point, syntax_element_alt, sizeof(re_alt)));
+*************** bool basic_regex_parser<charT, traits>::
+*** 1872,1877 ****
+--- 1874,1888 ----
+           fail(regex_constants::error_bad_pattern, m_position - m_base);
+           return false;
+        }
++       // check for invalid repetition of next state:
++       b = this->getaddress(expected_alt_point);
++       b = this->getaddress(static_cast<re_alt*>(b)->next.i, b);
++       if((b->type != syntax_element_assert_backref)
++          && (b->type != syntax_element_startmark))
++       {
++          fail(regex_constants::error_badrepeat, m_position - m_base);
++          return false;
++       }
+     }
+     //
+     // append closing parenthesis state:
diff --git a/boost-run-tests.patch b/boost-run-tests.patch
new file mode 100644 (file)
index 0000000..ee39db0
--- /dev/null
@@ -0,0 +1,168 @@
+*** tools/regression/run_tests.sh.orig 2007-07-31 19:44:25.000000000 -0500
+--- tools/regression/run_tests.sh      2007-08-01 12:17:25.000000000 -0500
+***************
+*** 15,21 ****
+  # This can be either a non-exitent directory or an already complete Boost
+  # source tree.
+  #
+! boost_root="$HOME/CVSROOTs/Boost/boost_regression"
+  
+  #
+  # Wether to fetch the most current Boost code from CVS (yes/no):
+--- 15,21 ----
+  # This can be either a non-exitent directory or an already complete Boost
+  # source tree.
+  #
+! boost_root="/usr/src/redhat/BUILD/boost_1_34_1"
+  
+  #
+  # Wether to fetch the most current Boost code from CVS (yes/no):
+*************** test_tools=gcc
+*** 42,58 ****
+  toolset=gcc
+  
+  #
+- # "comment_path" is the path to an html-file describing the test environment.
+- # The content of this file will be embedded in the status pages being produced.
+- #
+- comment_path="$boost_root/../regression_comment.html"
+- #
+  # "test_dir" is the relative path to the directory to run the tests in,
+  # defaults to "status" and runs all the tests, but could be a sub-directory
+  # for example "libs/regex/test" to run the regex tests alone.
+  #
+  test_dir="status"
+  
+  
+  ### DEFAULTS ARE OK FOR THESE.
+  
+--- 42,59 ----
+  toolset=gcc
+  
+  #
+  # "test_dir" is the relative path to the directory to run the tests in,
+  # defaults to "status" and runs all the tests, but could be a sub-directory
+  # for example "libs/regex/test" to run the regex tests alone.
+  #
+  test_dir="status"
+  
++ #
++ # "comment_path" is the path to an html-file describing the test environment.
++ # The content of this file will be embedded in the status pages being produced.
++ #
++ comment_path="$boost_root/$test_dir/regression_comment.html"
++ 
+  
+  ### DEFAULTS ARE OK FOR THESE.
+  
+*************** exe_suffix=
+*** 71,76 ****
+--- 72,80 ----
+  #
+  bjam="$boost_root/tools/jam/src/bin/bjam$exe_suffix"
+  
++ # bjam options
++ bjam_flags="--layout=system variant=release -sICU_PATH=/usr --user-config=$boost_root/user-config.jam"
++ 
+  #
+  # "process_jam_log", and "compiler_status" paths to built helper programs:
+  # The location of the executables of the regression help programs. These
+*************** else
+*** 98,103 ****
+--- 102,115 ----
+  fi
+  export BOOST_BUILD_PATH
+  
++ # For shared objects.
++ old_ld_library_path=$LD_LIBRARY_PATH
++ old_ld_run_path=$LD_RUN_PATH
++ LD_LIBRARY_PATH="$boost_root/stage/lib:$old_ld_library_path"
++ LD_RUN_PATH="$boost_root/stage/lib:$old_ld_run_path"
++ export LD_LIBRARY_PATH
++ export LD_RUN_PATH
++ 
+  #
+  # STEP 0:
+  #
+*************** fi
+*** 126,137 ****
+  # STEP 1:
+  # rebuild bjam if required:
+  #
+! echo building bjam:
+! cd "$boost_root/tools/jam/src" && \
+! LOCATE_TARGET=bin sh ./build.sh
+! if test $? != 0 ; then
+!     echo "bjam build failed."
+!     exit 256
+  fi
+  
+  #
+--- 138,152 ----
+  # STEP 1:
+  # rebuild bjam if required:
+  #
+! echo "finding or building bjam":
+! if test ! -f "$bjam" ; then
+!   echo "building bjam":
+!     cd "$boost_root/tools/jam/src" && \
+!     LOCATE_TARGET=bin sh ./build.sh
+!     if test $? != 0 ; then
+!       echo "bjam build failed."
+!       exit 256
+!     fi
+  fi
+  
+  #
+*************** fi
+*** 139,146 ****
+  # rebuild the regression test helper programs if required:
+  #
+  echo building regression test helper programs:
+! cd "$boost_root/tools/regression/build" && \
+! "$bjam" $toolset release
+  if test $? != 0 ; then
+      echo "helper program build failed."
+      exit 256
+--- 154,160 ----
+  # rebuild the regression test helper programs if required:
+  #
+  echo building regression test helper programs:
+! cd "$boost_root/tools/regression/build" && "$bjam" $bjam_flags $toolset
+  if test $? != 0 ; then
+      echo "helper program build failed."
+      exit 256
+*************** for tool in $test_tools ; do
+*** 158,164 ****
+  #
+  echo running the $tool regression tests:
+  cd "$boost_root/$test_dir"
+! "$bjam" $tool --dump-tests 2>&1 | tee regress.log
+  
+  #
+  # STEP 4:
+--- 172,180 ----
+  #
+  echo running the $tool regression tests:
+  cd "$boost_root/$test_dir"
+! echo "<p> begin time: " `date` "</p>" >> "$comment_path"
+! "$bjam" $bjam_flags $tool --dump-tests 2>&1 | tee regress.log
+! echo "<p> end time: " `date` "</p>" >> "$comment_path"
+  
+  #
+  # STEP 4:
+*************** if test $? != 0 ; then
+*** 185,190 ****
+--- 201,212 ----
+      exit 256
+  fi
+  
++ # cleanup
++ LD_LIBRARY_PATH="$old_ld_library_path"
++ LD_RUN_PATH="$old_ld_run_path"
++ export LD_LIBRARY_PATH
++ export LD_RUN_PATH
++ 
+  echo "done!"
+  
+  
diff --git a/boost-use-rpm-optflags.patch b/boost-use-rpm-optflags.patch
new file mode 100644 (file)
index 0000000..6fe2960
--- /dev/null
@@ -0,0 +1,19 @@
+*** tools/build/v2/tools/gcc.jam.orig  2007-08-01 01:17:16.000000000 -0500
+--- tools/build/v2/tools/gcc.jam       2007-08-01 01:17:46.000000000 -0500
+*************** flags gcc.compile PCH_FILE <pch>on : <pc
+*** 268,274 ****
+  
+  # Declare flags and action for compilation
+  flags gcc.compile OPTIONS <optimization>off : -O0 ;
+! flags gcc.compile OPTIONS <optimization>speed : -O3 ;
+  flags gcc.compile OPTIONS <optimization>space : -Os ;
+  
+  flags gcc.compile OPTIONS <inlining>off : -fno-inline ;
+--- 268,274 ----
+  
+  # Declare flags and action for compilation
+  flags gcc.compile OPTIONS <optimization>off : -O0 ;
+! flags gcc.compile OPTIONS <optimization>speed : "$RPM_OPT_FLAGS" ;
+  flags gcc.compile OPTIONS <optimization>space : -Os ;
+  
+  flags gcc.compile OPTIONS <inlining>off : -fno-inline ;
diff --git a/boost.spec b/boost.spec
new file mode 100644 (file)
index 0000000..ac767ca
--- /dev/null
@@ -0,0 +1,437 @@
+%bcond_with tests
+
+Name: boost
+Summary: The Boost C++ Libraries
+Version: 1.34.1
+Release: 17%{?dist}
+License: Boost
+URL: http://www.boost.org/
+Group: System Environment/Libraries
+Source: http://downloads.sourceforge.net/boost/boost_1_34_1.tar.bz2
+Obsoletes: boost-doc <= 1.30.2
+Obsoletes: boost-python <= 1.30.2
+Provides: boost-python = %{version}-%{release}
+Provides: boost-doc = %{version}-%{release}
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRequires: libstdc++-devel
+BuildRequires: bzip2-libs
+BuildRequires: bzip2-devel
+BuildRequires: zlib-devel
+BuildRequires: python-devel
+BuildRequires: libicu-devel
+Patch0: boost-configure.patch
+Patch1: boost-gcc-soname.patch
+Patch2: boost-use-rpm-optflags.patch
+Patch3: boost-run-tests.patch
+Patch4: boost-regex.patch
+Patch5: boost-gcc43.patch
+
+%description
+Boost provides free peer-reviewed portable C++ source libraries.  The
+emphasis is on libraries which work well with the C++ Standard
+Library, in the hopes of establishing "existing practice" for
+extensions and providing 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.)
+
+%package devel
+Summary: The Boost C++ headers and shared development libraries
+Group: Development/Libraries
+Requires: boost = %{version}-%{release}
+Provides: boost-python-devel = %{version}-%{release}
+
+%description devel
+Headers and shared object symlinks for the Boost C++ libraries.
+
+%package static
+Summary: The Boost C++ static development libraries
+Group: Development/Libraries
+Requires: boost-devel = %{version}-%{release}
+Obsoletes: boost-devel-static < 1.34.1-14
+Provides: boost-devel-static = %{version}-%{release}
+
+%description static
+Static Boost C++ libraries.
+
+%package doc
+Summary: The Boost C++ html docs
+Group: Documentation
+Provides: boost-python-docs = %{version}-%{release}
+
+%description doc
+HTML documentation files for Boost C++ libraries.
+
+%prep
+%setup -q -n %{name}_1_34_1
+%patch0 -p0
+%patch1 -p0
+%patch2 -p0
+%patch3 -p0
+%patch4 -p0
+%patch5 -p1
+
+%build
+BOOST_ROOT=`pwd`
+staged_dir=stage
+export BOOST_ROOT
+
+# build make tools, ie bjam, necessary for building libs, docs, and testing
+(cd tools/jam/src && ./build.sh)
+BJAM=`find tools/jam/src/ -name bjam -a -type f`
+
+#BUILD_FLAGS="--with-toolset=gcc --prefix=$RPM_BUILD_ROOT%{_prefix}"
+BUILD_FLAGS="--with-toolset=gcc"
+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"
+./configure $BUILD_FLAGS $PYTHON_FLAGS $REGEX_FLAGS 
+make all
+
+# build docs, requires a network connection for docbook XSLT stylesheets
+#cd ./doc
+#chmod +x ../tools/boostbook/setup_boostbook.sh
+#../tools/boostbook/setup_boostbook.sh
+#$BOOST_ROOT/$BJAM --v2 -sICU_PATH=/usr --user-config=../user-config.jam html
+#cd ..
+
+%check
+%if %{with tests}
+echo "<p>" `uname -a` "</p>" > status/regression_comment.html
+echo "" >> status/regression_comment.html
+echo "<p>" `g++ --version` "</p>" >> status/regression_comment.html
+echo "" >> status/regression_comment.html
+
+chmod +x tools/regression/run_tests.sh
+./tools/regression/run_tests.sh
+
+results1=status/cs-`uname`.html
+results2=status/cs-`uname`-links.html
+email=benjamin.kosnik@gmail.com
+if [ -f $results1 ] && [ -f $results2 ]; then
+  echo "sending results starting"
+  testdate=`date +%Y%m%d`
+  testarch=`uname -m`
+  results=boost-results-$testdate-$testarch.tar.bz2
+  tar -cvf boost-results-$testdate-$testarch.tar $results1 $results2
+  bzip2 -f boost-results-$testdate-$testarch.tar 
+  echo | mutt -s "$testdate boost regression $testarch" -a $results $email 
+  echo "sending results finished"
+else
+  echo "error sending results"
+fi
+%endif
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT%{_libdir}
+mkdir -p $RPM_BUILD_ROOT%{_includedir}
+mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
+
+# install lib
+for i in `find stage -type f -name \*.a`; do
+  NAME=`basename $i`;
+  install -p -m 0644 $i $RPM_BUILD_ROOT%{_libdir}/$NAME;
+done;
+for i in `find stage -type f -name \*.so`; do
+  NAME=$i;
+  SONAME=$i.3;
+  VNAME=$i.%{version};
+  base=`basename $i`;
+  NAMEbase=$base;
+  SONAMEbase=$base.3;
+  VNAMEbase=$base.%{version};
+  mv $i $VNAME;
+  ln -s $VNAMEbase $SONAME;
+  ln -s $VNAMEbase $NAME;
+  install -p -m 755 $VNAME $RPM_BUILD_ROOT%{_libdir}/$VNAMEbase;
+  mv $SONAME $RPM_BUILD_ROOT%{_libdir}/$SONAMEbase;
+  mv $NAME $RPM_BUILD_ROOT%{_libdir}/$NAMEbase;
+done;
+
+# install include files
+find %{name} -type d | while read a; do
+  mkdir -p $RPM_BUILD_ROOT%{_includedir}/$a
+  find $a -mindepth 1 -maxdepth 1 -type f \
+    | xargs -r install -m 644 -p -t $RPM_BUILD_ROOT%{_includedir}/$a
+done
+
+# install doc files
+DOCPATH=$RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/
+find libs doc more -type f \( -name \*.htm -o -name \*.html \) \
+    | sed -n '/\//{s,/[^/]*$,,;p}' \
+    | sort -u > tmp-doc-directories
+sed "s:^:$DOCPATH:" tmp-doc-directories | xargs -r mkdir -p
+cat tmp-doc-directories | while read a; do
+    find $a -mindepth 1 -maxdepth 1 -name \*.htm\* \
+        | xargs install -m 644 -p -t $DOCPATH$a
+done
+rm tmp-doc-directories
+install -p -m 644 -t $DOCPATH LICENSE_1_0.txt index.htm
+
+# remove scripts used to generate include files
+find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec rm {} \;
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(-, root, root, -)
+%{_libdir}/*.so.%{version}
+%{_libdir}/*.so.3
+
+%files devel
+%defattr(-, root, root, -)
+%{_includedir}/boost
+%{_libdir}/*.so
+
+%files static
+%defattr(-, root, root, -)
+%{_libdir}/*.a
+
+%files doc
+%defattr(-, root, root, -)
+%doc %{_docdir}/%{name}-%{version}
+
+%changelog
+* Mon Oct  6 2008 Petr Machata <pmachata@redhat.com> - 1.34.1-17
+- Fix gcc43 patch to apply cleanly under --fuzz=0
+- Resolves: #465003
+
+* Thu Jun 12 2008 Petr Machata <pmachata@redhat.com> - 1.34.1-16
+- Fix "changes meaning of keywords" in boost date_time
+- Related: #450718
+
+* Thu May 29 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 1.34.1-15
+- fix license tag
+
+* Thu Mar 27 2008 Petr Machata <pmachata@redhat.com> - 1.34.1-14
+- Change devel-static back to static.
+- Related: #225622
+
+* Wed Mar 26 2008 Petr Machata <pmachata@redhat.com> - 1.34.1-13
+- Install library doc files
+- Revamp %%install phase to speed up overall build time
+- Some cleanups per merge review
+- Resolves: #437032
+
+* Thu Feb 14 2008 Petr Machata <pmachata@redhat.com> - 1.34.1-12
+- Fix "changes meaning of keywords" in boost python
+- Resolves: #432694
+
+* Wed Feb 13 2008 Petr Machata <pmachata@redhat.com> - 1.34.1-11
+- Fix "changes meaning of special_values_parser" in boost date_time
+- Resolves: #432433
+
+* Wed Feb  6 2008 Petr Machata <pmachata@redhat.com> - 1.34.1-10
+- Fixes for GCC 4.3
+- Resolves: #431609
+
+* Mon Jan 14 2008 Benjamin Kosnik <bkoz@redhat.com> 1.34.1-7
+- Fixes for boost.regex (rev 42674).
+
+* Wed Sep 19 2007 Benjamin Kosnik <bkoz@redhat.com> 1.34.1-5
+- (#283771: Linking against boost libraries fails).
+
+* Tue Aug 21 2007 Benjamin Kosnik <bkoz@redhat.com> 1.34.1-4
+- Rebuild.
+
+* Wed Aug 08 2007 Benjamin Kosnik <bkoz@redhat.com> 1.34.1-3
+- Rebuild for icu 3.8 bump.
+
+* Thu Aug 02 2007 Benjamin Kosnik <bkoz@redhat.com> 1.34.1-2
+- SONAME to 3.
+
+* Tue Jul 31 2007 Benjamin Kosnik <bkoz@redhat.com> 1.34.1-1
+- Update to boost_1_34_1.
+- Source via http.
+- Philipp Thomas <pth.suse.de> fix for RPM_OPT_FLAGS
+- Philipp Thomas <pth.suse.de> fix for .so sym links.
+- (#225622) Patrice Dumas review comments. 
+
+* Tue Jun 26 2007 Benjamin Kosnik <bkoz@redhat.com> 1.34.1.rc1-0.1
+- Update to boost_1_34_1_RC1.
+
+* Mon Apr 02 2007 Benjamin Kosnik <bkoz@redhat.com> 1.33.1-13
+- (#225622: Merge Review: boost)
+  Change static to devel-static.
+
+* Mon Mar 26 2007 Benjamin Kosnik <bkoz@redhat.com> 1.33.1-12
+- (#233523: libboost_python needs rebuild against python 2.5)
+  Use patch.
+
+* Mon Mar 26 2007 Benjamin Kosnik <bkoz@redhat.com> 1.33.1-11
+- (#225622: Merge Review: boost)
+  Source to http.
+  BuildRoot to preferred value.
+  PreReq to post/postun -p
+  Clarified BSL as GPL-Compatible, Free Software License.
+  Remove Obsoletes.
+  Add Provides boost-python.
+  Remove mkdir -p $RPM_BUILD_ROOT%%{_docdir}
+  Added periods for decription text. 
+  Fix Group field.
+  Remove doc Requires boost.
+  Preserve timestamps on install.
+  Use %%defattr(-, root, root, -)
+  Added static package for .a libs.
+  Install static libs with 0644 permissions.
+  Use %%doc for doc files.
+
+* Mon Jan 22 2007 Benjamin Kosnik <bkoz@redhat.com> 1.34.0-0.5
+- Update to boost.RC_1_34_0 snapshot as of 2007-01-19.
+- Modify build procedures for boost build v2.
+- Add *-mt variants for libraries, or at least variants that use
+  threads (regex and thread).
+
+* Thu Nov 23 2006 Benjamin Kosnik <bkoz@redhat.com> 1.33.1-10
+- (#182414: boost: put tests in %%check section) via Rex Dieter
+- Fix EVR with %%{?dist} tag via Gianluca Sforna
+
+* Wed Nov 15 2006 Benjamin Kosnik <bkoz@redhat.com> 1.33.1-9
+- (#154784: boost-debuginfo package is empty)
+
+* Tue Nov 14 2006 Benjamin Kosnik <bkoz@redhat.com> 1.33.1-8
+- (#205866: Revert scanner.hpp change.)
+
+* Mon Nov 13 2006 Benjamin Kosnik <bkoz@redhat.com> 1.33.1-7
+- (#205866: boost::spirit generates warnings with -Wshadow)
+- (#205863: serialization lib generates warnings)
+- (#204326: boost RPM missing dependencies)
+- (#193465: [SIGNAL/BIND] Regressions with GCC 4.1)
+- BUILD_FLAGS, add, to see actual compile line.
+- REGEX_FLAGS, add, to compile regex with ICU support.
+
+* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 1.33.1-6.1
+- rebuild
+
+* Tue May 16 2006 Karsten Hopp <karsten@redhat.de> 1.33.1-6
+- buildrequire python-devel for Python.h
+
+* Thu Feb 16 2006 Florian La Roche <laroche@redhat.com> - 1.33.1-5
+- use the real version number to point to the shared libs
+
+* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 1.33.1-4.2
+- bump again for double-long bug on ppc(64)
+
+* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 1.33.1-4.1
+- rebuilt for new gcc4.1 snapshot and glibc changes
+
+* Thu Jan 05 2006 Benjamin Kosnik <bkoz@redhat.com> 1.33.1-4
+- Fix symbolic links.
+
+* Wed Jan 04 2006 Benjamin Kosnik <bkoz@redhat.com> 1.33.1-3
+- Update to boost-1.33.1.
+- (#176485: Missing BuildRequires)
+- (#169271: /usr/lib/libboost*.so.? links missing in package)
+
+* Thu Dec 22 2005 Jesse Keating <jkeating@redhat.com> 1.33.1-2
+- rebuilt
+
+* Mon Nov 14 2005 Benjamin Kosnik <bkoz@redhat.com> 1.33.1-1
+- Update to boost-1.33.1 beta.
+- Run testsuite, gather results.
+
+* Tue Oct 11 2005 Nils Philippsen <nphilipp@redhat.com> 1.33.0-4
+- build require bzip2-devel and zlib-devel
+
+* Tue Aug 23 2005 Benjamin Kosnik <bkoz@redhat.com> 1.33.0-3
+- Create doc package again.
+- Parts of the above by Neal Becker <ndbecker2@gmail.com>.
+
+* Fri Aug 12 2005 Benjamin Kosnik <bkoz@redhat.com> 1.33.0-1
+- Update to boost-1.33.0, update SONAME to 2 due to ABI changes.
+- Simplified PYTHON_VERSION by Philipp Thomas <pth@suse.de>
+
+* Tue May 24 2005 Benjamin Kosnik <bkoz@redhat.com> 1.32.0-6
+- (#153093: boost warns that gcc 4.0.0 is an unknown compiler)
+- (#152205: development .so symlinks should be in -devel subpackage)
+- (#154783: linker .so symlinks missing from boost-devel package)
+
+* Fri Mar 18 2005 Benjamin Kosnik <bkoz@redhat.com> 1.32.0-5
+- Revert boost-base.patch to old behavior.
+- Use SONAMEVERSION instead of dllversion.
+
+* Wed Mar 16 2005 Benjamin Kosnik <bkoz@redhat.com> 1.32.0-4
+- (#142612: Compiling Boost 1.32.0 Failed in RHEL 3.0 on Itanium2) 
+- (#150069: libboost_python.so is missing)
+- (#141617: bad patch boost-base.patch)
+- (#122817: libboost_*.so symlinks missing)
+- Re-add boost-thread.patch.
+- Change boost-base.patch to show thread tags.
+- Change boost-gcc-tools.patch to use SOTAG, compile with dllversion.
+- Add symbolic links to files.
+- Sanity check can compile with gcc-3.3.x, gcc-3.4.2, gcc-4.0.x., gcc-4.1.x.
+
+* Thu Dec 02 2004 Benjamin Kosnik <bkoz@redhat.com> 1.32.0-3
+- (#122817: libboost_*.so symlinks missing)
+- (#141574: half of the package is missing)
+- (#141617: bad patch boost-base.patch)
+
+* Wed Dec 01 2004 Benjamin Kosnik <bkoz@redhat.com> 1.32.0-2
+- Remove bogus Obsoletes.
+
+* Mon Nov 29 2004 Benjamin Kosnik <bkoz@redhat.com> 1.32.0-1
+- Update to 1.32.0
+
+* Wed Sep 22 2004 Than Ngo <than@redhat.com> 1.31.0-9
+- cleanup specfile
+- fix multiarch problem
+
+* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
+- rebuilt
+
+* Wed May 05 2004 Warren Togami <wtogami@redhat.com> 1.31.0-7
+- missing Obsoletes boost-python
+
+* Mon May 03 2004 Benjamin Kosnik <bkoz@redhat.com> 
+- (#121630: gcc34 patch needed)
+
+* Wed Apr 21 2004 Warren Togami <wtogami@redhat.com>
+- #121415 FC2 BLOCKER: Obsoletes boost-python-devel, boost-doc
+- other cleanups
+
+* Tue Mar 30 2004 Benjamin Kosnik <bkoz@redhat.com> 
+- Remove bjam dependency. (via Graydon).
+- Fix installed library names.
+- Fix SONAMEs in shared libraries.
+- Fix installed header location.
+- Fix installed permissions.
+
+* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
+- rebuilt
+
+* Mon Feb 09 2004 Benjamin Kosnik <bkoz@redhat.com> 1.31.0-2
+- Update to boost-1.31.0
+
+* Thu Jan 22 2004 Benjamin Kosnik <bkoz@redhat.com> 1.31.0-1
+- Update to boost-1.31.0.rc2
+- (#109307:  Compile Failure with boost libraries)
+- (#104831:  Compile errors in apps using Boost.Python...)
+- Unify into boost, boost-devel rpms.
+- Simplify installation using bjam and prefix install.
+
+* Tue Sep 09 2003 Nalin Dahyabhai <nalin@redhat.com> 1.30.2-2
+- require boost-devel instead of devel in subpackages which require boost-devel
+- remove stray Prefix: tag
+
+* Mon Sep 08 2003 Benjamin Kosnik <bkoz@redhat.com> 1.30.2-1
+- change license to Freely distributable
+- verify installation of libboost_thread
+- more boost-devel removals
+- deal with lack of _REENTRANT on ia64/s390
+- (#99458) rpm -e fixed via explict dir additions
+- (#103293) update to 1.30.2
+
+* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
+- rebuilt
+
+* Tue May 13 2003 Florian La Roche <Florian.LaRoche@redhat.de>
+- remove packager, change to new Group:
+
+* Tue May 06 2003 Tim Powers <timp@redhat.com> 1.30.0-3
+- add deffattr's so we don't have unknown users owning files