rpms/mingw32-boost/devel boost-1_37_0-smp.patch, NONE, 1.1 boost-bitset.patch, NONE, 1.1 boost-configure.patch, NONE, 1.1 boost-function_template.patch, NONE, 1.1 boost-gcc-implib.patch, NONE, 1.1 boost-gcc43.patch, NONE, 1.1 boost-regexdll.patch, NONE, 1.1 boost-run-tests.patch, NONE, 1.1 boost-unneccessary_iostreams.patch, NONE, 1.1 mingw32-boost.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

sailer sailer at fedoraproject.org
Wed Jun 17 17:31:34 UTC 2009


Author: sailer

Update of /cvs/extras/rpms/mingw32-boost/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv21670

Modified Files:
	.cvsignore sources 
Added Files:
	boost-1_37_0-smp.patch boost-bitset.patch 
	boost-configure.patch boost-function_template.patch 
	boost-gcc-implib.patch boost-gcc43.patch boost-regexdll.patch 
	boost-run-tests.patch boost-unneccessary_iostreams.patch 
	mingw32-boost.spec 
Log Message:
import from review


boost-1_37_0-smp.patch:

--- NEW FILE boost-1_37_0-smp.patch ---
diff -up boost_1_37_0/configure.smp boost_1_37_0/configure
--- boost_1_37_0/configure.smp	2009-02-05 18:49:01.000000000 +0100
+++ boost_1_37_0/configure	2009-02-05 18:53:55.000000000 +0100
@@ -347,7 +347,7 @@ 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 || \\
+	@\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) !!!SMP_FLAGS!!! stage || \\
 	echo "Not all Boost libraries built properly."
 
 clean: .dummy

boost-bitset.patch:

--- NEW FILE boost-bitset.patch ---
--- boost_1_37_0/boost/dynamic_bitset/dynamic_bitset.hpp.debug	2008-10-22 03:13:59.000000000 +0900
+++ boost_1_37_0/boost/dynamic_bitset/dynamic_bitset.hpp	2009-03-23 03:36:40.000000000 +0900
@@ -1017,8 +1017,11 @@
                           ? access_by_bytes
                           : access_by_blocks;
 
+    if (mode)
+       return do_count(m_bits.begin(), num_blocks(), Block(0),
+                                          static_cast<value_to_type<true> *>(0));
     return do_count(m_bits.begin(), num_blocks(), Block(0),
-                                       static_cast<value_to_type<mode> *>(0));
+                                       static_cast<value_to_type<false> *>(0));
 }
 
 

boost-configure.patch:

--- NEW FILE boost-configure.patch ---
*** 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 threading=single,multi 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

boost-function_template.patch:

--- NEW FILE boost-function_template.patch ---
--- boost/function/function_template.hpp.orig	2008-12-19 10:32:27.000000000 +0000
+++ boost/function/function_template.hpp	2008-12-19 10:33:27.000000000 +0000
@@ -950,10 +950,10 @@
           f.vtable->manager(f.functor, this->functor,
                             boost::detail::function::move_functor_tag);
 		  f.vtable = 0;
-#if !defined(BOOST_NO_EXCEPTIONS)      
         } else {
           clear();
         }
+#if !defined(BOOST_NO_EXCEPTIONS)      
       } catch (...) {
         vtable = 0;
         throw;

boost-gcc-implib.patch:

--- NEW FILE boost-gcc-implib.patch ---
--- ./tools/build/v2/tools/gcc.jam.x	2009-05-28 09:26:23.000000000 +0200
+++ ./tools/build/v2/tools/gcc.jam	2009-05-28 09:28:46.000000000 +0200
@@ -501,34 +501,17 @@
     }
 }
 
-.IMPLIB-COMMAND = ;
-if [ os.on-windows ]
-{
-    .IMPLIB-COMMAND = "-Wl,--out-implib," ;
-    generators.register
-        [ new gcc-linking-generator gcc.link
-            : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB
-            : EXE
-            : <toolset>gcc ] ;
-    generators.register
-        [ new gcc-linking-generator gcc.link.dll
-            : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB
-            : IMPORT_LIB SHARED_LIB
-            : <toolset>gcc ] ;
-}
-else
-{
-    generators.register
-        [ new gcc-linking-generator gcc.link
-            : LIB OBJ
-            : EXE
-            : <toolset>gcc ] ;
-    generators.register
-        [ new gcc-linking-generator gcc.link.dll
-            : LIB OBJ
-            : SHARED_LIB
-            : <toolset>gcc ] ;
-}
+.IMPLIB-COMMAND = "-Wl,--out-implib," ;
+generators.register
+    [ new gcc-linking-generator gcc.link
+        : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB
+        : EXE
+        : <toolset>gcc ] ;
+generators.register
+    [ new gcc-linking-generator gcc.link.dll
+        : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB
+        : IMPORT_LIB SHARED_LIB
+        : <toolset>gcc ] ;
 
 # Declare flags for linking.
 # First, the common flags.

boost-gcc43.patch:

--- NEW FILE boost-gcc43.patch ---
diff -urp boost_1_36_0_beta1-orig/boost/archive/polymorphic_iarchive.hpp boost_1_36_0_beta1/boost/archive/polymorphic_iarchive.hpp
--- boost_1_36_0_beta1-orig/boost/archive/polymorphic_iarchive.hpp	2008-08-11 23:49:44.000000000 +0200
+++ boost_1_36_0_beta1/boost/archive/polymorphic_iarchive.hpp	2008-08-11 23:50:38.000000000 +0200
@@ -35,6 +35,8 @@ namespace std{
 #include <boost/serialization/nvp.hpp>
 #include <boost/archive/detail/register_archive.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
Only in boost_1_36_0_beta1/boost/archive: polymorphic_iarchive.hpp.orig
diff -urp boost_1_36_0_beta1-orig/boost/archive/polymorphic_oarchive.hpp boost_1_36_0_beta1/boost/archive/polymorphic_oarchive.hpp
--- boost_1_36_0_beta1-orig/boost/archive/polymorphic_oarchive.hpp	2008-08-11 23:49:44.000000000 +0200
+++ boost_1_36_0_beta1/boost/archive/polymorphic_oarchive.hpp	2008-08-11 23:50:38.000000000 +0200
@@ -34,6 +34,8 @@ namespace std{
 #include <boost/serialization/nvp.hpp>
 #include <boost/archive/detail/register_archive.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
Only in boost_1_36_0_beta1/boost/archive: polymorphic_oarchive.hpp.orig
diff -urp boost_1_36_0_beta1-orig/boost/date_time/tz_db_base.hpp boost_1_36_0_beta1/boost/date_time/tz_db_base.hpp
--- boost_1_36_0_beta1-orig/boost/date_time/tz_db_base.hpp	2008-08-11 23:49:45.000000000 +0200
+++ boost_1_36_0_beta1/boost/date_time/tz_db_base.hpp	2008-08-11 23:50:38.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],
Only in boost_1_36_0_beta1/boost/date_time: tz_db_base.hpp.orig
diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_creator.hpp boost_1_36_0_beta1/boost/regex/v4/basic_regex_creator.hpp
--- boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_creator.hpp	2008-08-11 23:49:48.000000000 +0200
+++ boost_1_36_0_beta1/boost/regex/v4/basic_regex_creator.hpp	2008-08-11 23:50:38.000000000 +0200
@@ -36,6 +36,8 @@
 #  pragma warning(disable: 4800)
 #endif
 
+#include <limits.h>
+
 namespace boost{
 
 namespace re_detail{
Only in boost_1_36_0_beta1/boost/regex/v4: basic_regex_creator.hpp.orig
diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex.hpp boost_1_36_0_beta1/boost/regex/v4/basic_regex.hpp
--- boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex.hpp	2008-08-11 23:49:48.000000000 +0200
+++ boost_1_36_0_beta1/boost/regex/v4/basic_regex.hpp	2008-08-11 23:50:38.000000000 +0200
@@ -30,6 +30,8 @@
 #pragma warning(pop)
 #endif
 
+#include <limits.h>
+
 namespace boost{
 #ifdef BOOST_MSVC
 #pragma warning(push)
Only in boost_1_36_0_beta1/boost/regex/v4: basic_regex.hpp.orig
diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_parser.hpp boost_1_36_0_beta1/boost/regex/v4/basic_regex_parser.hpp
--- boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_parser.hpp	2008-08-11 23:49:48.000000000 +0200
+++ boost_1_36_0_beta1/boost/regex/v4/basic_regex_parser.hpp	2008-08-11 23:50:38.000000000 +0200
@@ -30,6 +30,8 @@
 #pragma warning(pop)
 #endif
 
+#include <limits.h>
+
 namespace boost{
 namespace re_detail{
 
Only in boost_1_36_0_beta1/boost/regex/v4: basic_regex_parser.hpp.orig
diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/perl_matcher.hpp boost_1_36_0_beta1/boost/regex/v4/perl_matcher.hpp
--- boost_1_36_0_beta1-orig/boost/regex/v4/perl_matcher.hpp	2008-08-11 23:49:48.000000000 +0200
+++ boost_1_36_0_beta1/boost/regex/v4/perl_matcher.hpp	2008-08-11 23:50:38.000000000 +0200
@@ -30,6 +30,8 @@
 #  pragma warning(disable: 4800)
 #endif
 
+#include <limits.h>
+
 namespace boost{
 namespace re_detail{
 
Only in boost_1_36_0_beta1/boost/regex/v4: perl_matcher.hpp.orig
diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/regex_split.hpp boost_1_36_0_beta1/boost/regex/v4/regex_split.hpp
--- boost_1_36_0_beta1-orig/boost/regex/v4/regex_split.hpp	2008-08-11 23:49:48.000000000 +0200
+++ boost_1_36_0_beta1/boost/regex/v4/regex_split.hpp	2008-08-11 23:50:38.000000000 +0200
@@ -21,6 +21,8 @@
 #ifndef BOOST_REGEX_SPLIT_HPP
 #define BOOST_REGEX_SPLIT_HPP
 
+#include <limits.h>
+
 namespace boost{
 
 #ifdef BOOST_MSVC
Only in boost_1_36_0_beta1/boost/regex/v4: regex_split.hpp.orig
diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/states.hpp boost_1_36_0_beta1/boost/regex/v4/states.hpp
--- boost_1_36_0_beta1-orig/boost/regex/v4/states.hpp	2008-08-11 23:49:48.000000000 +0200
+++ boost_1_36_0_beta1/boost/regex/v4/states.hpp	2008-08-11 23:50:38.000000000 +0200
@@ -30,6 +30,8 @@
 #pragma warning(pop)
 #endif
 
+#include <limits.h>
+
 namespace boost{
 namespace re_detail{
 
Only in boost_1_36_0_beta1/boost/regex/v4: states.hpp.orig
diff -urp boost_1_36_0_beta1-orig/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp boost_1_36_0_beta1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp
--- boost_1_36_0_beta1-orig/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp	2008-08-11 23:49:45.000000000 +0200
+++ boost_1_36_0_beta1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp	2008-08-11 23:50:38.000000000 +0200
@@ -16,6 +16,8 @@
 #include <string>
 #include <cstdio>
 #include <cstdarg>
+#include <cstring>
+
 #if defined(BOOST_SPIRIT_DEBUG)
 #include <iostream>
 #endif // defined(BOOST_SPIRIT_DEBUG)
Only in boost_1_36_0_beta1/boost/wave/cpplexer/re2clex: cpp_re2c_lexer.hpp.orig

boost-regexdll.patch:

--- NEW FILE boost-regexdll.patch ---
--- libs/regex/build/Jamfile.v2.orig	2009-05-29 05:12:31.000000000 +0200
+++ libs/regex/build/Jamfile.v2	2009-05-29 05:12:58.000000000 +0200
@@ -255,9 +255,6 @@
         #<link>static:<define>BOOST_REGEX_NO_LIB=1
         #<link>static:<define>BOOST_REGEX_STATIC_LINK=1
 	     <link>shared:<define>BOOST_REGEX_DYN_LINK=1
-	     <toolset>gcc-mw:<link>static
-	     <toolset>gcc-mingw:<link>static
-	     <toolset>gcc-cygwin:<link>static
 	     $(BOOST_REGEX_ICU_OPTS)
     ;
 

boost-run-tests.patch:

--- NEW FILE boost-run-tests.patch ---
*** tools/regression/src/run_tests.sh.orig	2007-07-31 19:44:25.000000000 -0500
--- tools/regression/src/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!"
  
  

boost-unneccessary_iostreams.patch:

--- NEW FILE boost-unneccessary_iostreams.patch ---
diff -ru boost_1_37_0.orig/boost/spirit/home/classic/iterator/multi_pass.hpp boost_1_37_0/boost/spirit/home/classic/iterator/multi_pass.hpp
--- boost/spirit/home/classic/iterator/multi_pass.hpp	2009-01-09 10:38:36.000000000 +0000
+++ boost/spirit/home/classic/iterator/multi_pass.hpp	2009-01-09 10:39:41.000000000 +0000
@@ -12,7 +12,6 @@
 #include <boost/throw_exception.hpp>
 #include <deque>
 #include <iterator>
-#include <iostream>
 #include <algorithm>    // for std::swap
 #include <exception>    // for std::exception
 #include <boost/limits.hpp>


--- NEW FILE mingw32-boost.spec ---
%global __strip %{_mingw32_strip}
%global __objdump %{_mingw32_objdump}
%global _use_internal_dependency_generator 0
%global __find_requires %{_mingw32_findrequires}
%global __find_provides %{_mingw32_findprovides}

%global sonamever 4

%global name1 boost
%global vermajor 1
%global verminor 37
%global verrelease 0

%global verdot %{vermajor}.%{verminor}.%{verrelease}
%global verunderscore %{vermajor}_%{verminor}_%{verrelease}

Name:           mingw32-%{name1}
Version:        %{verdot}
Release:        4%{?dist}
Summary:        MinGW Windows port of Boost C++ Libraries

License:        Boost
Group:          Development/Libraries
URL:            http://www.boost.org/
Source0:        http://downloads.sourceforge.net/boost/%{name1}_%{verunderscore}.tar.bz2
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

Patch0:  boost-configure.patch
Patch2:  boost-run-tests.patch
Patch3:  boost-gcc43.patch
Patch5:  boost-function_template.patch
Patch6:  boost-unneccessary_iostreams.patch
Patch7:  boost-1_37_0-smp.patch
Patch8:  boost-bitset.patch
Patch9:  boost-gcc-implib.patch
Patch10: boost-regexdll.patch

BuildArch:      noarch

BuildRequires:  file
BuildRequires:  mingw32-filesystem >= 30
BuildRequires:  mingw32-gcc
BuildRequires:  mingw32-gcc-c++
BuildRequires:  mingw32-binutils
BuildRequires:  mingw32-bzip2
BuildRequires:  mingw32-zlib
BuildRequires:  mingw32-expat
BuildRequires:  mingw32-pthreads
BuildRequires:  perl
# These are required by the native package:
#BuildRequires:  mingw32-python
#BuildRequires:  mingw32-libicu


%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 static
Summary:        Static version of the MinGW Windows Boost C++ library
Requires:       %{name} = %{version}-%{release}
Group:          Development/Libraries

%description static
Static version of the MinGW Windows Boost C++ library.



%prep
%setup -q -n %{name1}_%{verunderscore}
%patch0 -p0
%patch2 -p0
%patch3 -p1
%patch5 -p0
%patch6 -p0
sed 's/!!!SMP_FLAGS!!!/%{?_smp_mflags}/' %{PATCH7} | %{__patch} -p1 --fuzz=0
%patch8 -p1
%patch9 -p0
%patch10 -p0

%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 --with-bjam=$BJAM"
#PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]')
#PYTHON_FLAGS="--with-python-root=/usr --with-python-version=$PYTHON_VERSION"
PYTHON_FLAGS="--without-libraries=python"
#REGEX_FLAGS="--with-icu"
REGEX_FLAGS="--without-icu"
EXPAT_INCLUDE=/usr/i686-pc-mingw32/sys-root/mingw/include
EXPAT_LIBPATH=/usr/i686-pc-mingw32/sys-root/mingw/lib
PTW32_INCLUDE=/usr/i686-pc-mingw32/sys-root/mingw/include
PTW32_LIB=/usr/i686-pc-mingw32/sys-root/mingw/lib
export EXPAT_INCLUDE EXPAT_LIBPATH PTW32_INCLUDE PTW32_LIB

./configure $BUILD_FLAGS $PYTHON_FLAGS $REGEX_FLAGS

# Make it use the cross-compiler instead of gcc.
rm user-config.jam
echo "using gcc : : %{_mingw32_cxx}" > user-config.jam
echo "        : # options" >> user-config.jam
echo "          <rc>%{_mingw32_windres}" >> user-config.jam
echo "          <archiver>%{_mingw32_ar}" >> user-config.jam
echo "        ;" >> user-config.jam

perl -i -pe 's/^BJAM_CONFIG=(.*)$/BJAM_CONFIG=\1 link=static,shared target-os=windows/' Makefile

make %{?_smp_mflags} all


%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{_mingw32_bindir}
mkdir -p $RPM_BUILD_ROOT%{_mingw32_libdir}
mkdir -p $RPM_BUILD_ROOT%{_mingw32_includedir}

for i in `find bin.v2 -name '*.lib'`; do
  b=`basename $i .lib`
  d=`dirname $i`
  if [ -f $d/$b.dll ]; then
    install -m 644 -p $d/$b.dll $RPM_BUILD_ROOT%{_mingw32_bindir}/$b.dll
    install -m 644 -p $d/$b.lib $RPM_BUILD_ROOT%{_mingw32_libdir}/lib$b.dll.a
    %{_mingw32_ranlib} $RPM_BUILD_ROOT%{_mingw32_libdir}/lib$b.dll.a
  else
    install -m 644 -p $d/$b.lib $RPM_BUILD_ROOT%{_mingw32_libdir}/$b.a
    %{_mingw32_ranlib} $RPM_BUILD_ROOT%{_mingw32_libdir}/$b.a
  fi
done

# install include files
find boost -type d | while read a; do
  mkdir -p $RPM_BUILD_ROOT%{_mingw32_includedir}/$a
  find $a -mindepth 1 -maxdepth 1 -type f \
    | xargs -r install -m 644 -p -t $RPM_BUILD_ROOT%{_mingw32_includedir}/$a
done

# remove scripts used to generate include files
find $RPM_BUILD_ROOT%{_mingw32_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec rm {} \;


%clean
rm -rf $RPM_BUILD_ROOT


%files
%defattr(-,root,root,-)
%doc LICENSE_1_0.txt
%{_mingw32_includedir}/boost
%{_mingw32_bindir}/boost_date_time.dll
%{_mingw32_libdir}/libboost_date_time.dll.a
%{_mingw32_bindir}/boost_date_time-mt.dll
%{_mingw32_libdir}/libboost_date_time-mt.dll.a
%{_mingw32_bindir}/boost_filesystem.dll
%{_mingw32_libdir}/libboost_filesystem.dll.a
%{_mingw32_bindir}/boost_filesystem-mt.dll
%{_mingw32_libdir}/libboost_filesystem-mt.dll.a
%{_mingw32_bindir}/boost_graph.dll
%{_mingw32_libdir}/libboost_graph.dll.a
%{_mingw32_bindir}/boost_graph-mt.dll
%{_mingw32_libdir}/libboost_graph-mt.dll.a
%{_mingw32_bindir}/boost_iostreams.dll
%{_mingw32_libdir}/libboost_iostreams.dll.a
%{_mingw32_bindir}/boost_iostreams-mt.dll
%{_mingw32_libdir}/libboost_iostreams-mt.dll.a
%{_mingw32_bindir}/boost_math_c99.dll
%{_mingw32_libdir}/libboost_math_c99.dll.a
%{_mingw32_bindir}/boost_math_c99f.dll
%{_mingw32_libdir}/libboost_math_c99f.dll.a
%{_mingw32_bindir}/boost_math_c99f-mt.dll
%{_mingw32_libdir}/libboost_math_c99f-mt.dll.a
%{_mingw32_bindir}/boost_math_c99l.dll
%{_mingw32_libdir}/libboost_math_c99l.dll.a
%{_mingw32_bindir}/boost_math_c99l-mt.dll
%{_mingw32_libdir}/libboost_math_c99l-mt.dll.a
%{_mingw32_bindir}/boost_math_c99-mt.dll
%{_mingw32_libdir}/libboost_math_c99-mt.dll.a
%{_mingw32_bindir}/boost_math_tr1.dll
%{_mingw32_libdir}/libboost_math_tr1.dll.a
%{_mingw32_bindir}/boost_math_tr1f.dll
%{_mingw32_libdir}/libboost_math_tr1f.dll.a
%{_mingw32_bindir}/boost_math_tr1f-mt.dll
%{_mingw32_libdir}/libboost_math_tr1f-mt.dll.a
%{_mingw32_bindir}/boost_math_tr1l.dll
%{_mingw32_libdir}/libboost_math_tr1l.dll.a
%{_mingw32_bindir}/boost_math_tr1l-mt.dll
%{_mingw32_libdir}/libboost_math_tr1l-mt.dll.a
%{_mingw32_bindir}/boost_math_tr1-mt.dll
%{_mingw32_libdir}/libboost_math_tr1-mt.dll.a
%{_mingw32_bindir}/boost_prg_exec_monitor.dll
%{_mingw32_libdir}/libboost_prg_exec_monitor.dll.a
%{_mingw32_bindir}/boost_prg_exec_monitor-mt.dll
%{_mingw32_libdir}/libboost_prg_exec_monitor-mt.dll.a
%{_mingw32_bindir}/boost_program_options.dll
%{_mingw32_libdir}/libboost_program_options.dll.a
%{_mingw32_bindir}/boost_program_options-mt.dll
%{_mingw32_libdir}/libboost_program_options-mt.dll.a
%{_mingw32_bindir}/boost_regex.dll
%{_mingw32_libdir}/libboost_regex.dll.a
%{_mingw32_bindir}/boost_regex-mt.dll
%{_mingw32_libdir}/libboost_regex-mt.dll.a
%{_mingw32_bindir}/boost_serialization.dll
%{_mingw32_libdir}/libboost_serialization.dll.a
%{_mingw32_bindir}/boost_serialization-mt.dll
%{_mingw32_libdir}/libboost_serialization-mt.dll.a
%{_mingw32_bindir}/boost_signals.dll
%{_mingw32_libdir}/libboost_signals.dll.a
%{_mingw32_bindir}/boost_signals-mt.dll
%{_mingw32_libdir}/libboost_signals-mt.dll.a
%{_mingw32_bindir}/boost_system.dll
%{_mingw32_libdir}/libboost_system.dll.a
%{_mingw32_bindir}/boost_system-mt.dll
%{_mingw32_libdir}/libboost_system-mt.dll.a
%{_mingw32_bindir}/boost_thread-mt.dll
%{_mingw32_libdir}/libboost_thread-mt.dll.a
%{_mingw32_bindir}/boost_unit_test_framework.dll
%{_mingw32_libdir}/libboost_unit_test_framework.dll.a
%{_mingw32_bindir}/boost_unit_test_framework-mt.dll
%{_mingw32_libdir}/libboost_unit_test_framework-mt.dll.a
%{_mingw32_bindir}/boost_wave.dll
%{_mingw32_libdir}/libboost_wave.dll.a
%{_mingw32_bindir}/boost_wave-mt.dll
%{_mingw32_libdir}/libboost_wave-mt.dll.a
%{_mingw32_bindir}/boost_wserialization.dll
%{_mingw32_libdir}/libboost_wserialization.dll.a
%{_mingw32_bindir}/boost_wserialization-mt.dll
%{_mingw32_libdir}/libboost_wserialization-mt.dll.a


%files static
%defattr(-,root,root,-)
%{_mingw32_libdir}/libboost_date_time.a
%{_mingw32_libdir}/libboost_date_time-mt.a
%{_mingw32_libdir}/libboost_filesystem.a
%{_mingw32_libdir}/libboost_filesystem-mt.a
%{_mingw32_libdir}/libboost_graph.a
%{_mingw32_libdir}/libboost_graph-mt.a
%{_mingw32_libdir}/libboost_iostreams.a
%{_mingw32_libdir}/libboost_iostreams-mt.a
%{_mingw32_libdir}/libboost_math_c99f.a
%{_mingw32_libdir}/libboost_math_c99f-mt.a
%{_mingw32_libdir}/libboost_math_c99.a
%{_mingw32_libdir}/libboost_math_c99l.a
%{_mingw32_libdir}/libboost_math_c99l-mt.a
%{_mingw32_libdir}/libboost_math_c99-mt.a
%{_mingw32_libdir}/libboost_math_tr1f.a
%{_mingw32_libdir}/libboost_math_tr1f-mt.a
%{_mingw32_libdir}/libboost_math_tr1.a
%{_mingw32_libdir}/libboost_math_tr1l.a
%{_mingw32_libdir}/libboost_math_tr1l-mt.a
%{_mingw32_libdir}/libboost_math_tr1-mt.a
%{_mingw32_libdir}/libboost_prg_exec_monitor.a
%{_mingw32_libdir}/libboost_prg_exec_monitor-mt.a
%{_mingw32_libdir}/libboost_program_options.a
%{_mingw32_libdir}/libboost_program_options-mt.a
%{_mingw32_libdir}/libboost_regex.a
%{_mingw32_libdir}/libboost_regex-mt.a
%{_mingw32_libdir}/libboost_serialization.a
%{_mingw32_libdir}/libboost_serialization-mt.a
%{_mingw32_libdir}/libboost_signals.a
%{_mingw32_libdir}/libboost_signals-mt.a
%{_mingw32_libdir}/libboost_system.a
%{_mingw32_libdir}/libboost_system-mt.a
%{_mingw32_libdir}/libboost_test_exec_monitor.a
%{_mingw32_libdir}/libboost_test_exec_monitor-mt.a
%{_mingw32_libdir}/libboost_thread-mt.a
%{_mingw32_libdir}/libboost_unit_test_framework.a
%{_mingw32_libdir}/libboost_unit_test_framework-mt.a
%{_mingw32_libdir}/libboost_wave.a
%{_mingw32_libdir}/libboost_wave-mt.a
%{_mingw32_libdir}/libboost_wserialization.a
%{_mingw32_libdir}/libboost_wserialization-mt.a


%changelog
* Thu May 28 2009 Thomas Sailer <t.sailer at alumni.ethz.ch> - 1.37.0-4
- use boost buildsystem to build DLLs

* Wed May 27 2009 Thomas Sailer <t.sailer at alumni.ethz.ch> - 1.37.0-3
- use mingw32 ar

* Tue May 26 2009 Thomas Sailer <t.sailer at alumni.ethz.ch> - 1.37.0-2
- fix %%defattr
- fix description of static package
- add comments that detail the failures linking the test framework / exec monitor DLL's

* Sun May 24 2009 Thomas Sailer <t.sailer at alumni.ethz.ch> - 1.37.0-1
- update to 1.37.0
- actually tell the build system about the target os
- build also boost DLL's that depend on other boost DLL's

* Fri Jan 23 2009 Richard W.M. Jones <rjones at redhat.com> - 1.34.1-4
- Include license file.

* Fri Jan 23 2009 Richard W.M. Jones <rjones at redhat.com> - 1.34.1-3
- Use _smp_mflags.

* Sat Oct 24 2008 Richard W.M. Jones <rjones at redhat.com> - 1.34.1-2
- Initial RPM release.


Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/mingw32-boost/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- .cvsignore	17 Jun 2009 16:35:30 -0000	1.1
+++ .cvsignore	17 Jun 2009 17:31:33 -0000	1.2
@@ -0,0 +1 @@
+boost_1_37_0.tar.bz2


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/mingw32-boost/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- sources	17 Jun 2009 16:35:30 -0000	1.1
+++ sources	17 Jun 2009 17:31:34 -0000	1.2
@@ -0,0 +1 @@
+8d9f990bfb7e83769fa5f1d6f065bc92  boost_1_37_0.tar.bz2




More information about the fedora-extras-commits mailing list