--- /dev/null
+%define __strip %{_mingw32_strip}
+%define __objdump %{_mingw32_objdump}
+%define _use_internal_dependency_generator 0
+%define __find_requires %{_mingw32_findrequires}
+%define __find_provides %{_mingw32_findprovides}
+
+%define boost_version 1_37_0_beta1
+
+Name: mingw32-boost
+Version: 1.37.0_beta1
+Release: 1%{?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/boost_%{boost_version}.tar.bz2
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+# On the advice of #boost, we're using 1.37.0 beta1 which is
+# quite different from the native Fedora package.
+#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
+
+BuildArch: noarch
+
+BuildRequires: mingw32-filesystem >= 30
+BuildRequires: mingw32-gcc
+BuildRequires: mingw32-gcc-c++
+BuildRequires: mingw32-binutils
+BuildRequires: mingw32-bzip2
+BuildRequires: mingw32-zlib
+# 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.)
+
+
+%prep
+%setup -q -n boost_%{boost_version}
+#%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`
+
+# Make it use the cross-compiler instead of gcc.
+echo "using gcc : : %{_mingw32_cc} : ;" > user-config.jam
+
+$BJAM \
+ --user-config=user-config.jam \
+ --toolset=gcc-4.3.2-mingw \
+ --with-program_options \
+ link=static,shared \
+ runtime-link=static,shared \
+ --target-os=windows \
+ --prefix=%{_mingw32_prefix} \
+ --threadapi=win32 \
+ release
+
+exit 1
+
+
+%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}
+
+# Boost doesn't build shared libraries for some reason. However it
+# builds *.a files which we can trivially convert to *.dll (they
+# contain objects which are already compiled for PIC).
+function a2dll
+{
+ rm -rf .a2dll
+ mkdir .a2dll
+ pushd .a2dll
+ ar x ../$1
+ error=0
+ i686-pc-mingw32-gcc -shared \
+ -o ../$2.dll \
+ -Wl,--out-implib,../$2.dll.a \
+ *.o -lbz2 -lz -lstdc++ || error=1
+ popd
+ rm -rf .a2dll
+ return $error
+}
+
+for f in `find bin.v2 -name '*.a'`; do
+ b=`basename $f .a`
+ d=`dirname $f`
+ if a2dll $f $d/$b; then
+ install $d/$b.dll $RPM_BUILD_ROOT%{_mingw32_bindir}
+ install $d/$b.dll.a $RPM_BUILD_ROOT%{_mingw32_libdir}
+ else
+ echo '*** FAILED TO BUILD' $d/$b.dll
+ 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)
+%{_mingw32_includedir}/boost
+%{_mingw32_bindir}/libboost_date_time.dll
+%{_mingw32_libdir}/libboost_date_time.dll.a
+%{_mingw32_bindir}/libboost_date_time-mt.dll
+%{_mingw32_libdir}/libboost_date_time-mt.dll.a
+%{_mingw32_bindir}/libboost_filesystem.dll
+%{_mingw32_libdir}/libboost_filesystem.dll.a
+%{_mingw32_bindir}/libboost_filesystem-mt.dll
+%{_mingw32_libdir}/libboost_filesystem-mt.dll.a
+%{_mingw32_bindir}/libboost_graph.dll
+%{_mingw32_libdir}/libboost_graph.dll.a
+%{_mingw32_bindir}/libboost_graph-mt.dll
+%{_mingw32_libdir}/libboost_graph-mt.dll.a
+%{_mingw32_bindir}/libboost_iostreams.dll
+%{_mingw32_libdir}/libboost_iostreams.dll.a
+%{_mingw32_bindir}/libboost_iostreams-mt.dll
+%{_mingw32_libdir}/libboost_iostreams-mt.dll.a
+%{_mingw32_bindir}/libboost_program_options.dll
+%{_mingw32_libdir}/libboost_program_options.dll.a
+%{_mingw32_bindir}/libboost_program_options-mt.dll
+%{_mingw32_libdir}/libboost_program_options-mt.dll.a
+%{_mingw32_bindir}/libboost_regex.dll
+%{_mingw32_libdir}/libboost_regex.dll.a
+%{_mingw32_bindir}/libboost_regex-mt.dll
+%{_mingw32_libdir}/libboost_regex-mt.dll.a
+%{_mingw32_bindir}/libboost_serialization.dll
+%{_mingw32_libdir}/libboost_serialization.dll.a
+%{_mingw32_bindir}/libboost_serialization-mt.dll
+%{_mingw32_libdir}/libboost_serialization-mt.dll.a
+%{_mingw32_bindir}/libboost_signals.dll
+%{_mingw32_libdir}/libboost_signals.dll.a
+%{_mingw32_bindir}/libboost_signals-mt.dll
+%{_mingw32_libdir}/libboost_signals-mt.dll.a
+%{_mingw32_bindir}/libboost_wave.dll
+%{_mingw32_libdir}/libboost_wave.dll.a
+%{_mingw32_bindir}/libboost_wave-mt.dll
+%{_mingw32_libdir}/libboost_wave-mt.dll.a
+# These fail to build: they depend on linking with other parts of boost.
+#libboost_prg_exec_monitor.dll
+#libboost_test_exec_monitor.dll
+#libboost_unit_test_framework.dll
+#libboost_unit_test_framework-mt.dll
+#libboost_test_exec_monitor-mt.dll
+#libboost_prg_exec_monitor-mt.dll
+#libboost_wserialization.dll
+#libboost_wserialization-mt.dll
+#libboost_thread-mt.dll
+
+
+%changelog
+* Sat Oct 24 2008 Richard W.M. Jones <rjones@redhat.com> - 1.34.1-2
+- Initial RPM release.