From: thierry Date: Fri, 9 Oct 2009 07:30:35 +0000 (+0000) Subject: init X-Git-Tag: boost-1.37.0-6~5 X-Git-Url: http://git.onelab.eu/?p=boost.git;a=commitdiff_plain;h=d864fbb404c45b2576eef765c3e37b80547b4263 init --- d864fbb404c45b2576eef765c3e37b80547b4263 diff --git a/Makefile b/Makefile new file mode 100644 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 index 0000000..7ce1a52 --- /dev/null +++ b/boost-configure.patch @@ -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 index 0000000..f26b033 --- /dev/null +++ b/boost-gcc-soname.patch @@ -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 index 0000000..af64bd0 --- /dev/null +++ b/boost-gcc43.patch @@ -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 + #include + #include ++#include + + /////////////////////////////////////////////////////////////////////////////// + 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 ++ + 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 ++ + 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 ++ + 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 + #include ++#include + + #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 ++ + 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 ++ + 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 ++ + 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 // for std::size_t + #include ++#include + + #include + +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 + #include + #include ++#include ++ + #if defined(BOOST_SPIRIT_DEBUG) + #include + #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 + #include + #include ++#include + + // 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 + #include + ++#include ++ + // 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 + #include + ++#include ++ + // 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 string_type; + typedef CharT char_type; + typedef boost::date_time::period_parser period_parser_type; +- typedef special_values_parser special_values_parser_type; ++ typedef boost::date_time::special_values_parser special_values_parser_type; + typedef std::vector > input_collection_type; + typedef format_date_parser 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 time_zone_names; +- typedef dst_adjustment_offsets dst_adjustment_offsets; ++ typedef dst_adjustment_offsets dst_adjustment_offsets_t; + typedef std::basic_string string_type; + + //! Constructs an empty database +@@ -346,18 +346,18 @@ namespace boost { + time_duration_type utc_offset = + str_from_delimited_time_duration(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 rules; + + if(has_dst){ +- adjust = dst_adjustment_offsets( +- str_from_delimited_time_duration(result[DSTADJUST]), +- str_from_delimited_time_duration(result[START_TIME]), +- str_from_delimited_time_duration(result[END_TIME]) +- ); ++ adjust = dst_adjustment_offsets_t( ++ str_from_delimited_time_duration(result[DSTADJUST]), ++ str_from_delimited_time_duration(result[START_TIME]), ++ str_from_delimited_time_duration(result[END_TIME]) ++ ); + + rules = + boost::shared_ptr(parse_rules(result[START_DATE_RULE], diff --git a/boost-regex.patch b/boost-regex.patch new file mode 100644 index 0000000..9260afc --- /dev/null +++ b/boost-regex.patch @@ -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:: +*** 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:: +*** 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(this->insert_state(expected_alt_point, syntax_element_alt, sizeof(re_alt))); +*************** bool basic_regex_parser:: +*** 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(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 index 0000000..ee39db0 --- /dev/null +++ b/boost-run-tests.patch @@ -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 "

begin time: " `date` "

" >> "$comment_path" +! "$bjam" $bjam_flags $tool --dump-tests 2>&1 | tee regress.log +! echo "

end time: " `date` "

" >> "$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 index 0000000..6fe2960 --- /dev/null +++ b/boost-use-rpm-optflags.patch @@ -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 on : off : -O0 ; +! flags gcc.compile OPTIONS speed : -O3 ; + flags gcc.compile OPTIONS space : -Os ; + + flags gcc.compile OPTIONS off : -fno-inline ; +--- 268,274 ---- + + # Declare flags and action for compilation + flags gcc.compile OPTIONS off : -O0 ; +! flags gcc.compile OPTIONS speed : "$RPM_OPT_FLAGS" ; + flags gcc.compile OPTIONS space : -Os ; + + flags gcc.compile OPTIONS off : -fno-inline ; diff --git a/boost.spec b/boost.spec new file mode 100644 index 0000000..ac767ca --- /dev/null +++ b/boost.spec @@ -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 "

" `uname -a` "

" > status/regression_comment.html +echo "" >> status/regression_comment.html +echo "

" `g++ --version` "

" >> 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 - 1.34.1-17 +- Fix gcc43 patch to apply cleanly under --fuzz=0 +- Resolves: #465003 + +* Thu Jun 12 2008 Petr Machata - 1.34.1-16 +- Fix "changes meaning of keywords" in boost date_time +- Related: #450718 + +* Thu May 29 2008 Tom "spot" Callaway - 1.34.1-15 +- fix license tag + +* Thu Mar 27 2008 Petr Machata - 1.34.1-14 +- Change devel-static back to static. +- Related: #225622 + +* Wed Mar 26 2008 Petr Machata - 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 - 1.34.1-12 +- Fix "changes meaning of keywords" in boost python +- Resolves: #432694 + +* Wed Feb 13 2008 Petr Machata - 1.34.1-11 +- Fix "changes meaning of special_values_parser" in boost date_time +- Resolves: #432433 + +* Wed Feb 6 2008 Petr Machata - 1.34.1-10 +- Fixes for GCC 4.3 +- Resolves: #431609 + +* Mon Jan 14 2008 Benjamin Kosnik 1.34.1-7 +- Fixes for boost.regex (rev 42674). + +* Wed Sep 19 2007 Benjamin Kosnik 1.34.1-5 +- (#283771: Linking against boost libraries fails). + +* Tue Aug 21 2007 Benjamin Kosnik 1.34.1-4 +- Rebuild. + +* Wed Aug 08 2007 Benjamin Kosnik 1.34.1-3 +- Rebuild for icu 3.8 bump. + +* Thu Aug 02 2007 Benjamin Kosnik 1.34.1-2 +- SONAME to 3. + +* Tue Jul 31 2007 Benjamin Kosnik 1.34.1-1 +- Update to boost_1_34_1. +- Source via http. +- Philipp Thomas fix for RPM_OPT_FLAGS +- Philipp Thomas fix for .so sym links. +- (#225622) Patrice Dumas review comments. + +* Tue Jun 26 2007 Benjamin Kosnik 1.34.1.rc1-0.1 +- Update to boost_1_34_1_RC1. + +* Mon Apr 02 2007 Benjamin Kosnik 1.33.1-13 +- (#225622: Merge Review: boost) + Change static to devel-static. + +* Mon Mar 26 2007 Benjamin Kosnik 1.33.1-12 +- (#233523: libboost_python needs rebuild against python 2.5) + Use patch. + +* Mon Mar 26 2007 Benjamin Kosnik 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 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 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 1.33.1-9 +- (#154784: boost-debuginfo package is empty) + +* Tue Nov 14 2006 Benjamin Kosnik 1.33.1-8 +- (#205866: Revert scanner.hpp change.) + +* Mon Nov 13 2006 Benjamin Kosnik 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 - 1.33.1-6.1 +- rebuild + +* Tue May 16 2006 Karsten Hopp 1.33.1-6 +- buildrequire python-devel for Python.h + +* Thu Feb 16 2006 Florian La Roche - 1.33.1-5 +- use the real version number to point to the shared libs + +* Fri Feb 10 2006 Jesse Keating - 1.33.1-4.2 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 1.33.1-4.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Thu Jan 05 2006 Benjamin Kosnik 1.33.1-4 +- Fix symbolic links. + +* Wed Jan 04 2006 Benjamin Kosnik 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 1.33.1-2 +- rebuilt + +* Mon Nov 14 2005 Benjamin Kosnik 1.33.1-1 +- Update to boost-1.33.1 beta. +- Run testsuite, gather results. + +* Tue Oct 11 2005 Nils Philippsen 1.33.0-4 +- build require bzip2-devel and zlib-devel + +* Tue Aug 23 2005 Benjamin Kosnik 1.33.0-3 +- Create doc package again. +- Parts of the above by Neal Becker . + +* Fri Aug 12 2005 Benjamin Kosnik 1.33.0-1 +- Update to boost-1.33.0, update SONAME to 2 due to ABI changes. +- Simplified PYTHON_VERSION by Philipp Thomas + +* Tue May 24 2005 Benjamin Kosnik 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 1.32.0-5 +- Revert boost-base.patch to old behavior. +- Use SONAMEVERSION instead of dllversion. + +* Wed Mar 16 2005 Benjamin Kosnik 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 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 1.32.0-2 +- Remove bogus Obsoletes. + +* Mon Nov 29 2004 Benjamin Kosnik 1.32.0-1 +- Update to 1.32.0 + +* Wed Sep 22 2004 Than Ngo 1.31.0-9 +- cleanup specfile +- fix multiarch problem + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Wed May 05 2004 Warren Togami 1.31.0-7 +- missing Obsoletes boost-python + +* Mon May 03 2004 Benjamin Kosnik +- (#121630: gcc34 patch needed) + +* Wed Apr 21 2004 Warren Togami +- #121415 FC2 BLOCKER: Obsoletes boost-python-devel, boost-doc +- other cleanups + +* Tue Mar 30 2004 Benjamin Kosnik +- 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 +- rebuilt + +* Mon Feb 09 2004 Benjamin Kosnik 1.31.0-2 +- Update to boost-1.31.0 + +* Thu Jan 22 2004 Benjamin Kosnik 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 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 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 +- rebuilt + +* Tue May 13 2003 Florian La Roche +- remove packager, change to new Group: + +* Tue May 06 2003 Tim Powers 1.30.0-3 +- add deffattr's so we don't have unknown users owning files