%define build_compat32 %{?_with_compat32:1}%{!?_with_compat32:0} %define _unpackaged_files_terminate_build 1 # Support for documentation installation As the %%doc macro erases the # target directory ($RPM_BUILD_ROOT%%{_docdir}/%%{name}), manually # installed documentation must be saved into a temporary dedicated # directory. # XXX note that as of rpm 4.9.1, this shouldn't be necessary anymore. # We should be able to install directly. %global boost_docdir __tmp_docdir %global boost_examplesdir __tmp_examplesdir %bcond_without context %bcond_without python3 %bcond_with mpich %bcond_with openmpi %ifnarch %{ix86} x86_64 # Avoid using Boost.Context on non-x86 arches. s390 is not # supported at all and there were _syntax errors_ in PPC code. This # should be enabled on a case-by-case basis as the arches are tested # and fixed. %bcond_with context %else %bcond_without context %endif Summary: Portable C++ source libraries Summary(ja): ポータブルな C++ ソースライブラリ Name: libboost Version: 1.83.0 Release: 1%{?_dist_release} Group: system Vendor: Project Vine Distribution: Vine Linux License: Boost and MIT and Python URL: https://www.boost.org/ %global tarver %(echo %{version} | tr '.' '_') %global shortver %(echo %{version} | sed -e 's/\.[0-9]*$//' | tr '.' '_') Source0: https://boostorg.jfrog.io/artifactory/main/release/%{version}/source/boost_%{tarver}.tar.bz2 Source1: ver.py Source2: libboost_thread.so BuildRequires: bzip2-devel zlib-devel xz-devel BuildRequires: libzstd-devel BuildRequires: libicu-devel BuildRequires: libquadmath-devel %if %{with python3} BuildRequires: python3-devel BuildRequires: python3-numpy %endif BuildRoot: %{_tmppath}/%{name}-%{version}-root # https://bugzilla.redhat.com/show_bug.cgi?id=1541035 Patch0: boost-1.83.0-build-optflags.patch # https://bugzilla.redhat.com/show_bug.cgi?id=1318383 Patch1: boost-1.83.0-no-rpath.patch # https://lists.boost.org/Archives/boost/2020/04/248812.php Patch2: boost-1.73.0-cmakedir.patch # https://bugzilla.redhat.com/show_bug.cgi?id=1541035 Patch3: boost-1.78.0-b2-build-flags.patch # https://github.com/boostorg/random/issues/82 Patch4: boost-1.76.0-random-test.patch # PR https://github.com/boostorg/interval/pull/30 # Fixes narrowing conversions for ppc - # https://github.com/boostorg/interval/issues/29 Patch5: boost-1.76.0-fix-narrowing-conversions-for-ppc.patch # https://bugzilla.redhat.com/show_bug.cgi?id=2178210 # https://github.com/boostorg/phoenix/issues/111 # https://github.com/boostorg/phoenix/issues/115 Patch6: boost-1.81-phoenix-multiple-defn.patch # https://github.com/boostorg/random/commit/7561690135c67ecf88c2133bad7680ebd2665c36 # https://github.com/boostorg/random/commit/4239d93dad32a11e4c3829050f8070d456266133 Patch8: boost-1.81.0-random-test-fixes.patch Obsoletes: %{name}-date-time-devel < %{version} Obsoletes: %{name}-filesystem-devel < %{version} Obsoletes: %{name}-graph-devel < %{version} Obsoletes: %{name}-iostreams-devel < %{version} Obsoletes: %{name}-program-options-devel < %{version} Obsoletes: %{name}-python-devel < %{version} Obsoletes: %{name}-regex-devel < %{version} Obsoletes: %{name}-serialization-devel < %{version} Obsoletes: %{name}-signals-devel < %{version} Obsoletes: %{name}-test-devel < %{version} Obsoletes: %{name}-thread-devel < %{version} Obsoletes: %{name}-wave-devel < %{version} %description Boost provides free peer-reviewed portable C++ source libraries. The emphasis is on libraries which work well with the C++ Standard Library. The libraries are intended to be widely useful, and are in regular use by thousands of programmers across a broad spectrum of applications. A further goal is to establish "existing practice" and provide reference implementations so that Boost libraries are suitable for eventual standardization. Ten Boost libraries will be included in the C++ Standards Committee's upcoming C++ Standard Library Technical Report as a step toward becoming part of a future C++ Standard. %description -l ja Boost は公開レビューされたフリーのC++ライブラリ群です。 C++ の標準ライブラリに 準拠することに重点を置いて開発されています。使いやすく、広い分野のアプリ ケーションにおいて日常的に多くの開発者に用いられることを目指しています。 さらなる目標は、最終的な標準化に適合した「存在する実例」としてリファレンス実装 を提供することです。10 の Boost ライブラリが、将来の C++ 標準になるための一歩 として、C++ 標準化委員会が策定中の C++ 標準ライブラリテクニカルレポートに 含まれる予定です。 %package atomic Summary: Run-Time component of boost atomic library Group: system %description atomic Run-Time support for Boost.Atomic, a library that provides atomic data types and operations on these data types, as well as memory ordering constraints required for coordinating multiple threads through atomic variables. %package chrono Summary: Run-Time component of boost chrono library Group: system Requires: %{name}-system = %{version}-%{release} %description chrono Run-Time support for Boost.Chrono, a set of useful time utilities. %package container Summary: Run-Time component of boost container library Group: system Requires: %{name} = %{version}-%{release} %description container Boost.Container library implements several well-known containers, including STL containers. The aim of the library is to offers advanced features not present in standard containers or to offer the latest standard draft features for compilers that comply with C++03. %if %{with context} %package context Summary: Run-Time component of boost context switching library Group: system Requires: %{name} = %{version}-%{release} %description context Run-Time support for Boost.Context, a foundational library that provides a sort of cooperative multitasking on a single thread. %package coroutine Summary: Run-Time component of boost coroutine library Group: system Requires: %{name} = %{version}-%{release} %description coroutine Run-Time support for Boost.Coroutine, a library that provides generalized subroutines which allow multiple entry points for suspending and resuming execution. %endif %package contract Summary: Run-time component of boost contract library Group: system Requires: %{name} = %{version}-%{release} %description contract Run-time support for boost contract library. Contract programming for C++. All contract programming features are supported: Subcontracting, class invariants, postconditions (with old and return values), preconditions, customizable actions on assertion failure (e.g., terminate or throw), optional compilation and checking of assertions, etc, from Lorenzo Caminiti. %package date-time Summary: Set of data-time libralies in %{name} Group: system Requires: %{name} = %{version}-%{release} %description date-time Set of data-time libralies in %{name} %package fiber Summary: Set of fiber libralies in %{name} Group: system Requires: %{name} = %{version}-%{release} %description fiber Set of fiber libralies in %{name} %package filesystem Summary: Set of filesystem operation libralies in %{name} Group: system Requires: %{name} = %{version}-%{release} %description filesystem Set of filesystem operation libralies in %{name} %package graph Summary: Set of Graphviz libralies in %{name} Group: system Requires: %{name} = %{version}-%{release} %description graph Set of Graphviz libralies in %{name} %package iostreams Summary: Set of streams and i/o filters libralies in %{name} Group: system Requires: %{name} = %{version}-%{release} %description iostreams Set of streams and i/o filters libralies in %{name} %package json Summary: Run-time component of boost json library Group: system %description json Run-time support for Boost.Json, a portable C++ library which provides containers and algorithms that implement JavaScript Object Notation, or simply "JSON" %package locale Summary: Run-Time component of boost locale library Group: system Requires: %{name}-chrono = %{version}-%{release} Requires: %{name}-system = %{version}-%{release} Requires: %{name}-thread = %{version}-%{release} %description locale Run-Time support for Boost.Locale, a set of localization and Unicode handling tools. %package log Summary: Run-Time component of boost logging library Group: system %description log Boost.Log library aims to make logging significantly easier for the application developer. It provides a wide range of out-of-the-box tools along with public interfaces for extending the library. %package math Summary: Set of math libralies in %{name} Group: system Requires: %{name} = %{version}-%{release} %description math Set of math libralies in %{name} %package nowide Summary: Standard library functions with UTF-8 API on Windows Group: system %description nowide Run-time support for Boost.Nowide. %if %{with python3} %package numpy3 Summary: Run-time component of boost numpy library for Python 3 Group: system Requires: %{name}-python3%{?_isa} = %{version}-%{release} Requires: python3-numpy %description numpy3 The Boost Python Library is a framework for interfacing Python and C++. It allows you to quickly and seamlessly expose C++ classes, functions and objects to Python, and vice versa, using no special tools -- just your C++ compiler. This package contains run-time support for the NumPy extension of the Boost Python Library for Python 3. %endif %package program-options Summary: Set of program options libralies in %{name} Group: system Requires: %{name} = %{version}-%{release} %description program-options Set of program options libralies in %{name} %package python Summary: Set of Python libralies in %{name} Group: programming Requires: %{name} = %{version}-%{release} %description python Set of Python libralies in %{name} %if %{with python3} %package python3 Summary: Run-Time component of boost python library for Python 3 Group: programming %description python3 The Boost Python Library is a framework for interfacing Python and C++. It allows you to quickly and seamlessly expose C++ classes, functions and objects to Python, and vice versa, using no special tools -- just your C++ compiler. This package contains run-time support for Boost Python Library compiled for Python 3. %package python3-devel Summary: Shared object symbolic links for Boost.Python 3 Group: programming Requires: %{name}-python3 = %{version}-%{release} Requires: %{name}-devel = %{version}-%{release} %description python3-devel Shared object symbolic links for Python 3 variant of Boost.Python. %endif %package random Summary: Set of random number generation libralies in %{name} Group: system Requires: %{name} = %{version}-%{release} %description random Set of random number generation libralies in %{name} %package regex Summary: Set of regular expression libralies in %{name} Group: system Requires: %{name} = %{version}-%{release} %description regex Set of regular expression libralies in %{name} %package serialization Summary: Set of serialization libralies in %{name} Group: system Requires: %{name} = %{version}-%{release} %description serialization Set of serialization libralies in %{name} %package stacktrace Summary: Call-stack libraries in %{name} Group: system Requires: %{name} = %{version}-%{release} %description stacktrace simple C++03 library that provides information about call sequence in a human-readable form %package system Summary: Operating system support Requires: %{name} = %{version}-%{release} %description system Operating system support, including the diagnostics support that will be part of the C++0x standard library %package test Summary: Set of libraries for writing and executing tests in %{name} Group: system Requires: %{name} = %{version}-%{release} %description test Set of libraries for writing and executing tests in %{name} %package thread Summary: Set of multi-thread libraries in %{name} Group: system Requires: %{name} = %{version}-%{release} %description thread Set of multi-thread libraries in %{name} %package timer Summary: Run-Time component of boost timer library Group: system Requires: %{name}-chrono = %{version}-%{release} Requires: %{name}-system = %{version}-%{release} %description timer "How long does my C++ code take to run?" The Boost Timer library answers that question and does so portably, with as little as one #include and one additional line of code. %package type_erasure Summary: Run-Time component of boost type erasure library Group: system Requires: %{name}-chrono = %{version}-%{release} Requires: %{name}-system = %{version}-%{release} %description type_erasure The Boost.TypeErasure library provides runtime polymorphism in C++ that is more flexible than that provided by the core language. %package url Summary: Runtime component of boost URL library %description url Run-time support for the Boost.URL library, a Standards conforming library for parsing Uniform Resource Locators. %package wave Summary: Set of wave libraries in %{name} Group: system Requires: %{name} = %{version}-%{release} %description wave Set of wave libraries in %{name} %package devel Summary: Header files and libraries for developing apps which will use %{name} Summary(ja): %{name}の開発に必要なヘッダファイル及びライブラリ Group: programming Requires: %{name} = %{version}-%{release} Requires: libicu-devel Requires: libquadmath-devel %description devel The %{name}-devel package contains the header files and libraries needed to develop programs that use the Boost library. %description devel -l ja %{name}-devel パッケージは Boost ライブラリを使うプログラムの開発に必要な ヘッダファイルやライブラリを含んでいます。 %package doc Summary: Documents of %{name} Summary(ja): %{name}のドキュメント Group: documentation Requires: %{name} = %{version}-%{release} %description doc The %{name}-doc package contains the documents about the boost library. %description doc -l ja %{name}-doc パッケージは Boost ライブラリについてのドキュメントを含んでいます。 %package build Summary: Cross platform build system for C++ projects Group: programming Requires: %{name}-b2 BuildArch: noarch %description build Boost.Build is an easy way to build C++ projects, everywhere. You name your pieces of executable and libraries and list their sources. Boost.Build takes care about compiling your sources with the right options, creating static and shared libraries, making pieces of executable, and other chores -- whether you're using GCC, MSVC, or a dozen more supported C++ compilers -- on Windows, OSX, Linux and commercial UNIX systems. %package doctools Summary: Tools for working with Boost documentation Group: publishing Requires: docbook-dtds Requires: docbook-style-xsl %description doctools Tools for working with Boost documentation in BoostBook or QuickBook format. %if %{with openmpi} %package openmpi Summary: Run-Time component of Boost.MPI library Group: system BuildRequires: openmpi-devel Requires: %{name}-serialization = %{version}-%{release} %description openmpi Run-Time support for Boost.MPI-OpenMPI, a library providing a clean C++ API over the OpenMPI implementation of MPI. %package openmpi-python Summary: Python run-time component of Boost.MPI library Group: programming Requires: %{name}-openmpi%{?_isa} = %{version}-%{release} Requires: %{name}-python%{?_isa} = %{version}-%{release} Requires: %{name}-serialization%{?_isa} = %{version}-%{release} %description openmpi-python Python support for Boost.MPI-OpenMPI, a library providing a clean C++ API over the OpenMPI implementation of MPI. %package graph-openmpi Summary: Run-Time component of parallel boost graph library Group: system Requires: %{name}-openmpi%{?_isa} = %{version}-%{release} Requires: %{name}-serialization%{?_isa} = %{version}-%{release} %description graph-openmpi Run-Time support for the Parallel BGL graph library. The interface and graph components are generic, in the same sense as the the Standard Template Library (STL). This libraries in this package use OpenMPI back-end to do the parallel work. %endif %if %{with mpich} %package mpich Summary: Run-Time component of Boost.MPI library Group: system BuildRequires: mpich-devel Requires: %{name}-serialization%{?_isa} = %{version}-%{release} Provides: boost-mpich2 = %{version}-%{release} Obsoletes: boost-mpich2 < 1.53.0-9 %description mpich Run-Time support for Boost.MPI-MPICH, a library providing a clean C++ API over the MPICH implementation of MPI. %package mpich-python Summary: Python run-time component of Boost.MPI library Group: programming Requires: %{name}-mpich%{?_isa} = %{version}-%{release} Requires: %{name}-python%{?_isa} = %{version}-%{release} Requires: %{name}-serialization%{?_isa} = %{version}-%{release} Provides: boost-mpich2-python = %{version}-%{release} Obsoletes: boost-mpich2-python < 1.53.0-9 %description mpich-python Python support for Boost.MPI-MPICH, a library providing a clean C++ API over the MPICH implementation of MPI. %package graph-mpich Summary: Run-Time component of parallel boost graph library Group: system Requires: %{name}-mpich%{?_isa} = %{version}-%{release} Requires: %{name}-serialization%{?_isa} = %{version}-%{release} Provides: boost-graph-mpich2 = %{version}-%{release} Obsoletes: boost-graph-mpich2 < 1.53.0-9 %description graph-mpich Run-Time support for the Parallel BGL graph library. The interface and graph components are generic, in the same sense as the the Standard Template Library (STL). This libraries in this package use MPICH back-end to do the parallel work. %endif %package b2 Summary: A low-level build tool Group: programming # Added for F33, remove for F35: Obsoletes: libboost-jam < 1.75.0 Provides: libboost-jam = %{version} Provides: libboost-jam%{?_isa} = %{version} %description b2 B2 (formerly Boost.Jam) is the low-level build engine tool for Boost.Build. Historically, B2 was based on on FTJam and on Perforce Jam but has grown a number of significant features and is now developed independently. #### compat32 packages #### %package -n compat32-%{name}-atomic Summary: Run-Time component of boost atomic library Group: system %description -n compat32-%{name}-atomic Run-Time support for Boost.Atomic, a library that provides atomic data types and operations on these data types, as well as memory ordering constraints required for coordinating multiple threads through atomic variables. %package -n compat32-%{name}-chrono Summary: Run-Time component of boost chrono library Group: system Requires: compat32-%{name}-system = %{version}-%{release} %description -n compat32-%{name}-chrono Run-Time support for Boost.Chrono, a set of useful time utilities. %package -n compat32-%{name}-container Summary: Run-Time component of boost container library Group: system %description -n compat32-%{name}-container Boost.Container library implements several well-known containers, including STL containers. The aim of the library is to offers advanced features not present in standard containers or to offer the latest standard draft features for compilers that comply with C++03. %if %{with context} %package -n compat32-%{name}-context Summary: Run-Time component of boost context switching library Group: system %description -n compat32-%{name}-context Run-Time support for Boost.Context, a foundational library that provides a sort of cooperative multitasking on a single thread. %package -n compat32-%{name}-coroutine Summary: Run-Time component of boost coroutine library Group: system %description -n compat32-%{name}-coroutine Run-Time support for Boost.Coroutine, a library that provides generalized subroutines which allow multiple entry points for suspending and resuming execution. %endif %package -n compat32-%{name}-contract Summary: Run-time component of boost contract library Group: system Requires: %{name} = %{version}-%{release} %description -n compat32-%{name}-contract Run-time support for boost contract library. Contract programming for C++. All contract programming features are supported: Subcontracting, class invariants, postconditions (with old and return values), preconditions, customizable actions on assertion failure (e.g., terminate or throw), optional compilation and checking of assertions, etc, from Lorenzo Caminiti. %package -n compat32-%{name}-date-time Summary: Set of data-time libralies in %{name} Group: system %description -n compat32-%{name}-date-time Set of data-time libralies in %{name} %package -n compat32-%{name}-fiber Summary: Set of fiber libralies in %{name} Group: system %description -n compat32-%{name}-fiber Set of filesystem operation libralies in %{name} %package -n compat32-%{name}-filesystem Summary: Set of filesystem operation libralies in %{name} Group: system %description -n compat32-%{name}-filesystem Set of filesystem operation libralies in %{name} %if 0 %package -n compat32-%{name}-graph Summary: Set of Graphviz libralies in %{name} Group: system %description -n compat32-%{name}-graph Set of Graphviz libralies in %{name} %endif %package -n compat32-%{name}-iostreams Summary: Set of streams and i/o filters libralies in %{name} Group: system %description -n compat32-%{name}-iostreams Set of streams and i/o filters libralies in %{name} %package -n compat32-%{name}-json Summary: Run-time component of boost json library Group: system %description -n compat32-%{name}-json Run-time support for Boost.Json, a portable C++ library which provides containers and algorithms that implement JavaScript Object Notation, or simply "JSON" %if 0 %package -n compat32-%{name}-locale Summary: Run-Time component of boost locale library Group: system Requires: compat32-%{name}-chrono = %{version}-%{release} Requires: compat32-%{name}-system = %{version}-%{release} Requires: compat32-%{name}-thread = %{version}-%{release} %description -n compat32-%{name}-locale Run-Time support for Boost.Locale, a set of localization and Unicode handling tools. %endif %if 0 %package -n compat32-%{name}-log Summary: Run-Time component of boost logging library Group: system %description -n compat32-%{name}-log Boost.Log library aims to make logging significantly easier for the application developer. It provides a wide range of out-of-the-box tools along with public interfaces for extending the library. %endif %package -n compat32-%{name}-math Summary: Set of math libralies in %{name} Group: system %description -n compat32-%{name}-math Set of math libralies in %{name} %package -n compat32-%{name}-nowide Summary: Standard library functions with UTF-8 API on Windows Group: system %description -n compat32-%{name}-nowide Run-time support for Boost.Nowide. %if %{with python3} %package -n compat32-%{name}-numpy3 Summary: Run-time component of boost numpy library for Python 3 Group: system Requires: %{name}-python3%{?_isa} = %{version}-%{release} Requires: python3-numpy %description -n compat32-%{name}-numpy3 The Boost Python Library is a framework for interfacing Python and C++. It allows you to quickly and seamlessly expose C++ classes, functions and objects to Python, and vice versa, using no special tools -- just your C++ compiler. This package contains run-time support for the NumPy extension of the Boost Python Library for Python 3. %endif %package -n compat32-%{name}-program-options Summary: Set of program options libralies in %{name} Group: system %description -n compat32-%{name}-program-options Set of program options libralies in %{name} %if 0 %package -n compat32-%{name}-python Summary: Set of Python libralies in %{name} Group: programming %description -n compat32-%{name}-python Set of Python libralies in %{name} %endif %if 0 %if %{with python3} %package -n compat32-%{name}-python3 Summary: Run-Time component of boost python library for Python 3 Group: programming %description -n compat32-%{name}-python3 The Boost Python Library is a framework for interfacing Python and C++. It allows you to quickly and seamlessly expose C++ classes, functions and objects to Python, and vice versa, using no special tools -- just your C++ compiler. This package contains run-time support for Boost Python Library compiled for Python 3. %endif %endif %package -n compat32-%{name}-random Summary: Set of random number generation libralies in %{name} Group: system %description -n compat32-%{name}-random Set of random number generation libralies in %{name} %if 0 %package -n compat32-%{name}-regex Summary: Set of regular expression libralies in %{name} Group: system %description -n compat32-%{name}-regex Set of regular expression libralies in %{name} %endif %package -n compat32-%{name}-serialization Summary: Set of serialization libralies in %{name} Group: system %description -n compat32-%{name}-serialization Set of serialization libralies in %{name} %package -n compat32-%{name}-stacktrace Summary: Call-stack libraries in %{name} Group: system Requires: %{name} = %{version}-%{release} %description -n compat32-%{name}-stacktrace simple C++03 library that provides information about call sequence in a human-readable form %package -n compat32-%{name}-system Summary: Operating system support Group: system %description -n compat32-%{name}-system Operating system support, including the diagnostics support that will be part of the C++0x standard library %package -n compat32-%{name}-test Summary: Set of libraries for writing and executing tests in %{name} Group: system %description -n compat32-%{name}-test Set of libraries for writing and executing tests in %{name} %package -n compat32-%{name}-thread Summary: Set of multi-thread libraries in %{name} Group: system %description -n compat32-%{name}-thread Set of multi-thread libraries in %{name} %package -n compat32-%{name}-timer Summary: Run-Time component of boost timer library Group: system Requires: compat32-%{name}-chrono = %{version}-%{release} Requires: compat32-%{name}-system = %{version}-%{release} %description -n compat32-%{name}-timer "How long does my C++ code take to run?" The Boost Timer library answers that question and does so portably, with as little as one #include and one additional line of code. %package -n compat32-%{name}-type_erasure Summary: Run-Time component of boost type erasure library Group: system Requires: compat32-%{name}-chrono = %{version}-%{release} Requires: compat32-%{name}-system = %{version}-%{release} %description -n compat32-%{name}-type_erasure The Boost.TypeErasure library provides runtime polymorphism in C++ that is more flexible than that provided by the core language. %package -n compat32-%{name}-url Summary: Runtime component of boost URL library %description -n compat32-%{name}-url Run-time support for the Boost.URL library, a Standards conforming library for parsing Uniform Resource Locators. %package -n compat32-%{name}-wave Summary: Set of wave libraries in %{name} Group: system %description -n compat32-%{name}-wave Set of wave libraries in %{name} %debug_package %prep %autosetup -p1 -n boost_%{tarver} find ./boost -name '*.hpp' -perm /111 | xargs --no-run-if-empty chmod a-x # At least python2_version needs to be a macro so that it's visible in # %%install as well. %global python2_version %(/usr/bin/python %{SOURCE1}) %if %{with python3} %global python3_version %(/usr/bin/python3 %{SOURCE1}) %global python3_abiflags %(/usr/bin/python3-config --abiflags) %endif %build : PYTHON2_VERSION=%{python2_version} %if %{with python3} : PYTHON3_VERSION=%{python3_version} : PYTHON3_ABIFLAGS=%{python3_abiflags} %endif # There are many strict aliasing warnings, and it's not feasible to go # through them all at this time. # There are also lots of noisy but harmless unused local typedef warnings. export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations" export RPM_LD_FLAGS cat > ./tools/build/src/user-config.jam << "EOF" import os ; local RPM_OPT_FLAGS = [ os.environ RPM_OPT_FLAGS ] ; local RPM_LD_FLAGS = [ os.environ RPM_LD_FLAGS ] ; using gcc : : : $(RPM_OPT_FLAGS) $(RPM_LD_FLAGS) ; %if %{with openmpi} || %{with mpich} using mpi ; %endif EOF %if %{with python3} cat >> ./tools/build/src/user-config.jam << EOF using python : %{python3_version} : /usr/bin/python3 : /usr/include/python%{python3_version}${PYTHON3_ABIFLAGS} : : : ; EOF %endif ./bootstrap.sh --with-toolset=gcc --with-icu # N.B. When we build the following with PCH, parts of boost (math # library in particular) end up being built second time during # installation. Unsure why that is, but all sub-builds need to be # built with pch=off to avoid this. echo ============================= build serial ================== ./b2 -d+2 -q %{?_smp_mflags} \ --without-mpi --without-graph_parallel --build-dir=serial \ %if !%{with context} --without-context --without-coroutine \ --without-fiber \ %endif variant=release threading=multi debug-symbols=on pch=off \ %if %{with python3} python=%{python3_version} \ %endif stage # See libs/thread/build/Jamfile.v2 for where this file comes from. if [ $(find serial -type f -name has_atomic_flag_lockfree \ -print -quit | wc -l) -ne 0 ]; then DEF=D else DEF=U fi m4 -${DEF}HAS_ATOMIC_FLAG_LOCKFREE -DVERSION=%{version} \ %{SOURCE2} > $(basename %{SOURCE2}) # Build MPI parts of Boost with OpenMPI support %if %{with openmpi} || %{with mpich} # First, purge all modules so that user environment doesn't conflict # with the build. module purge ||: %endif %if %{with openmpi} %{_openmpi_load} %if %{with python3} echo ============================= build $MPI_COMPILER ================== ./b2 -d+2 -q %{?_smp_mflags} \ --user-config=./python3-config.jam \ --with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \ variant=release threading=multi debug-symbols=on pch=off \ python=%{python3_version} stage %endif %{_openmpi_unload} export PATH=/bin${PATH:+:}$PATH %endif # Build MPI parts of Boost with MPICH support %if %{with mpich} %{_mpich_load} %if %{with python3} echo ============================= build $MPI_COMPILER ================== ./b2 -d+2 -q %{?_smp_mflags} \ --user-config=./python3-config.jam \ --with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \ variant=release threading=multi debug-symbols=on pch=off \ python=%{python3_version} stage %endif %{_mpich_unload} export PATH=/bin${PATH:+:}$PATH %endif echo ============================= build Boost.Build ================== (cd tools/build ./bootstrap.sh --with-toolset=gcc) %check : %install rm -rf $RPM_BUILD_ROOT #cd %{_builddir}/%{name}_%{tarver} %if %{with openmpi} || %{with mpich} # First, purge all modules so that user environment doesn't conflict # with the build. module purge ||: %endif %if %{with openmpi} %{_openmpi_load} # XXX We want to extract this from RPM flags # b2 instruction-set=i686 etc. %if %{with python3} echo ============================= install $MPI_COMPILER ================== ./b2 -q %{?_smp_mflags} \ --user-config=./python3-config.jam \ --with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \ --stagedir=${RPM_BUILD_ROOT}${MPI_HOME} \ variant=release threading=multi debug-symbols=on pch=off \ python=%{python3_version} stage # Move Python module to proper location for automatic loading mkdir -p ${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost touch ${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost/__init__.py mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/boost-python%{python3_version}/mpi.so \ ${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost/ %endif # Remove generic parts of boost that were built for dependencies. rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}* rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_numpy* %{_openmpi_unload} export PATH=/bin${PATH:+:}$PATH %endif %if %{with mpich} %{_mpich_load} %if %{with python3} echo ============================= install $MPI_COMPILER ================== ./b2 -q %{?_smp_mflags} \ --user-config=./python3-config.jam \ --with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \ --stagedir=${RPM_BUILD_ROOT}${MPI_HOME} \ variant=release threading=multi debug-symbols=on pch=off \ python=%{python3_version} stage # Move Python module to proper location for automatic loading mkdir -p ${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost touch ${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost/__init__.py mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/boost-python%{python3_version}/mpi.so \ ${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost/ %endif # Remove generic parts of boost that were built for dependencies. rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}* rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_numpy* %{_mpich_unload} export PATH=/bin${PATH:+:}$PATH %endif echo ============================= install serial ================== ./b2 -d+2 -q %{?_smp_mflags} \ --without-mpi --without-graph_parallel --build-dir=serial \ %if !%{with context} --without-context --without-coroutine \ --without-fiber \ %endif --prefix=$RPM_BUILD_ROOT%{_prefix} \ --libdir=$RPM_BUILD_ROOT%{_libdir} \ variant=release threading=multi debug-symbols=on pch=off \ %if %{with python3} python=%{python3_version} \ %endif install # Override DSO symlink with a linker script. See the linker script # itself for details of why we need to do this. [ -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread.so ] # Must be present rm -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread.so install -p -m 644 $(basename %{SOURCE2}) $RPM_BUILD_ROOT%{_libdir}/ # Remove cmake files until we know somebody wants them. #rm -r $RPM_BUILD_ROOT/%{_libdir}/cmake echo ============================= install Boost.Build ================== (cd tools/build ./b2 --prefix=$RPM_BUILD_ROOT%{_prefix} install # Fix some permissions chmod +x $RPM_BUILD_ROOT%{_datadir}/b2/src/tools/doxproc.py # Fix shebang using unversioned python sed -i '1s@^#!/usr/bin.python$@&3@' $RPM_BUILD_ROOT%{_datadir}/b2/src/tools/doxproc.py # Empty file rm -f $RPM_BUILD_ROOT%{_datadir}/b2/src/tools/doxygen/windows-paths-check.hpp # Install the manual page %{__install} -p -m 644 %{SOURCE2} -D $RPM_BUILD_ROOT%{_mandir}/man1/b2.1 ) echo ============================= install Boost.QuickBook ================== (cd tools/quickbook ../build/b2 --prefix=$RPM_BUILD_ROOT%{_prefix} %{__install} -p -m 755 ../../dist/bin/quickbook $RPM_BUILD_ROOT%{_bindir}/ cd ../boostbook find dtd -type f -name '*.dtd' | while read tobeinstalledfiles; do install -p -m 644 $tobeinstalledfiles -D $RPM_BUILD_ROOT%{_datadir}/boostbook/$tobeinstalledfiles done find xsl -type f | while read tobeinstalledfiles; do install -p -m 644 $tobeinstalledfiles -D $RPM_BUILD_ROOT%{_datadir}/boostbook/$tobeinstalledfiles done ) # Install documentation files (HTML pages) within the temporary place echo ============================= install documentation ================== # Prepare the place to temporarily store the generated documentation rm -rf %{boost_docdir} && %{__mkdir_p} %{boost_docdir}/html DOCPATH=%{boost_docdir} DOCREGEX='.*\.\(html?\|css\|png\|gif\)' find libs doc more -type f -regex $DOCREGEX \ | sed -n '/\//{s,/[^/]*$,,;p}' \ | sort -u > tmp-doc-directories sed "s:^:$DOCPATH/:" tmp-doc-directories \ | xargs -P 0 --no-run-if-empty %{__install} -d cat tmp-doc-directories | while read tobeinstalleddocdir; do find $tobeinstalleddocdir -mindepth 1 -maxdepth 1 -regex $DOCREGEX -print0 \ | xargs -P 0 -0 %{__install} -p -m 644 -t $DOCPATH/$tobeinstalleddocdir done rm -f tmp-doc-directories %{__install} -p -m 644 -t $DOCPATH LICENSE_1_0.txt index.htm index.html boost.png rst.css boost.css echo ============================= install examples ================== # Fix a few non-standard issues (DOS and/or non-UTF8 files) sed -i -e 's/\r//g' libs/geometry/example/ml02_distance_strategy.cpp for tmp_doc_file in flyweight/example/Jamfile.v2 \ format/example/sample_new_features.cpp multi_index/example/Jamfile.v2 \ multi_index/example/hashed.cpp serialization/example/demo_output.txt do mv libs/${tmp_doc_file} libs/${tmp_doc_file}.iso8859 iconv -f ISO8859-1 -t UTF8 < libs/${tmp_doc_file}.iso8859 > libs/${tmp_doc_file} touch -r libs/${tmp_doc_file}.iso8859 libs/${tmp_doc_file} rm -f libs/${tmp_doc_file}.iso8859 done # Prepare the place to temporarily store the examples rm -rf %{boost_examplesdir} && mkdir -p %{boost_examplesdir}/html EXAMPLESPATH=%{boost_examplesdir} find libs -type d -name example -exec find {} -type f \; \ | sed -n '/\//{s,/[^/]*$,,;p}' \ | sort -u > tmp-doc-directories sed "s:^:$EXAMPLESPATH/:" tmp-doc-directories \ | xargs -P 0 --no-run-if-empty %{__install} -d rm -f tmp-doc-files-to-be-installed && touch tmp-doc-files-to-be-installed cat tmp-doc-directories | while read tobeinstalleddocdir do find $tobeinstalleddocdir -mindepth 1 -maxdepth 1 -type f \ >> tmp-doc-files-to-be-installed done cat tmp-doc-files-to-be-installed | while read tobeinstalledfiles do if test -s $tobeinstalledfiles then tobeinstalleddocdir=`dirname $tobeinstalledfiles` %{__install} -p -m 644 -t $EXAMPLESPATH/$tobeinstalleddocdir $tobeinstalledfiles fi done rm -f tmp-doc-files-to-be-installed rm -f tmp-doc-directories %{__install} -p -m 644 -t $EXAMPLESPATH LICENSE_1_0.txt # remove unuse files rm -f ${RPM_BUILD_ROOT}/%{_libdir}/%{name}_*.a %clean rm -rf $RPM_BUILD_ROOT # MPI subpackages don't need the ldconfig magic. They are hidden by # default, in MPI back-end-specific directory, and only show to the # user after the relevant environment module has been loaded. # rpmlint will report that as errors, but it is fine. %if 0 %post atomic -p /sbin/ldconfig %post chrono -p /sbin/ldconfig %post container -p /sbin/ldconfig %if %{with context} %post context -p /sbin/ldconfig %post coroutine -p /sbin/ldconfig %endif %post contract -p /sbin/ldconfig %post date-time -p /sbin/ldconfig %post filesystem -p /sbin/ldconfig %post graph -p /sbin/ldconfig %post iostreams -p /sbin/ldconfig %post json -p /sbin/ldconfig %post locale -p /sbin/ldconfig %post log -p /sbin/ldconfig %post math -p /sbin/ldconfig %post nowide -p /sbin/ldconfig %post program-options -p /sbin/ldconfig %post random -p /sbin/ldconfig %post regex -p /sbin/ldconfig %post serialization -p /sbin/ldconfig %post system -p /sbin/ldconfig %post test -p /sbin/ldconfig %post thread -p /sbin/ldconfig %post timer -p /sbin/ldconfig %post type_erasure -p /sbin/ldconfig %post wave -p /sbin/ldconfig %postun atomic -p /sbin/ldconfig %postun chrono -p /sbin/ldconfig %postun container -p /sbin/ldconfig %if %{with context} %postun context -p /sbin/ldconfig %postun coroutine -p /sbin/ldconfig %endif %postun contract -p /sbin/ldconfig %postun date-time -p /sbin/ldconfig %postun filesystem -p /sbin/ldconfig %postun graph -p /sbin/ldconfig %postun iostreams -p /sbin/ldconfig %postun json -p /sbin/ldconfig %postun locale -p /sbin/ldconfig %postun log -p /sbin/ldconfig %postun math -p /sbin/ldconfig %postun nowide -p /sbin/ldconfig %postun program-options -p /sbin/ldconfig %postun random -p /sbin/ldconfig %postun regex -p /sbin/ldconfig %postun serialization -p /sbin/ldconfig %postun system -p /sbin/ldconfig %postun test -p /sbin/ldconfig %postun thread -p /sbin/ldconfig %postun timer -p /sbin/ldconfig %postun type_erasure -p /sbin/ldconfig %postun wave -p /sbin/ldconfig %endif %files %defattr(-,root,root) %license LICENSE_1_0.txt %files atomic %defattr(-, root, root, -) %license LICENSE_1_0.txt %{_libdir}/libboost_atomic.so.* %files chrono %defattr(-, root, root, -) %license LICENSE_1_0.txt %{_libdir}/libboost_chrono.so.* %files container %license LICENSE_1_0.txt %{_libdir}/libboost_container.so.* %if %{with context} %files context %defattr(-, root, root, -) %license LICENSE_1_0.txt %{_libdir}/libboost_context.so.* %files coroutine %license LICENSE_1_0.txt %{_libdir}/libboost_coroutine.so.* %endif %files contract %defattr(-, root, root, -) %license LICENSE_1_0.txt %{_libdir}/libboost_contract.so.* %files date-time %license LICENSE_1_0.txt %{_libdir}/%{name}_date_time*.so.* %files filesystem %license LICENSE_1_0.txt %{_libdir}/%{name}_filesystem*.so.* %files fiber %license LICENSE_1_0.txt %{_libdir}/%{name}_fiber*.so.* %files graph %license LICENSE_1_0.txt %{_libdir}/%{name}_graph*.so.* %files iostreams %license LICENSE_1_0.txt %{_libdir}/%{name}_iostreams*.so.* %files json %license LICENSE_1_0.txt %{_libdir}/libboost_json.so.* %files locale %defattr(-, root, root, -) %license LICENSE_1_0.txt %{_libdir}/libboost_locale.so.* %files log %defattr(-, root, root, -) %license LICENSE_1_0.txt %{_libdir}/libboost_log.so.* %{_libdir}/libboost_log_setup.so.* %files math %license LICENSE_1_0.txt %{_libdir}/%{name}_math_*.so.* %files nowide %license LICENSE_1_0.txt %{_libdir}/libboost_nowide.so.* %if %{with python3} %files numpy3 %license LICENSE_1_0.txt %{_libdir}/libboost_numpy3*.so.* %endif %files program-options %license LICENSE_1_0.txt %{_libdir}/%{name}_program_options*.so.* %if %{with python3} %files python3 %license LICENSE_1_0.txt %{_libdir}/libboost_python3*.so.* %files python3-devel %license LICENSE_1_0.txt %{_libdir}/libboost_python3*.so %endif %files random %license LICENSE_1_0.txt %{_libdir}/%{name}_random*.so.* %files regex %license LICENSE_1_0.txt %{_libdir}/%{name}_regex*.so.* %files serialization %license LICENSE_1_0.txt %{_libdir}/%{name}_serialization*.so.* %{_libdir}/%{name}_wserialization*.so.* %files stacktrace %license LICENSE_1_0.txt %{_libdir}/%{name}_stacktrace*.so.* %files system %license LICENSE_1_0.txt %{_libdir}/%{name}_system*.so.* %files test %license LICENSE_1_0.txt %{_libdir}/%{name}_prg_exec_monitor*.so.* %{_libdir}/%{name}_unit_test_framework*.so.* %files thread %license LICENSE_1_0.txt %{_libdir}/%{name}_thread*.so.* %files timer %defattr(-, root, root, -) %license LICENSE_1_0.txt %{_libdir}/libboost_timer.so.* %files type_erasure %license LICENSE_1_0.txt %{_libdir}/libboost_type_erasure.so.* %files url %license LICENSE_1_0.txt %{_libdir}/libboost_url.so.* %files wave %license LICENSE_1_0.txt %{_libdir}/%{name}_wave*.so.* %files devel %defattr(-,root,root) %{_includedir}/boost/ %{_libdir}/%{name}_*.so %dir %{_libdir}/cmake %{_libdir}/cmake/* %files doc %doc index.htm index.html boost.css boost.png rst.css doc libs more %files build %license LICENSE_1_0.txt %{_datadir}/b2 %files doctools %license LICENSE_1_0.txt %{_bindir}/quickbook %{_datadir}/boostbook/ # OpenMPI packages %if %{with openmpi} %files openmpi %license LICENSE_1_0.txt %{_libdir}/openmpi/lib/libboost_mpi.so.* %files openmpi-python %license LICENSE_1_0.txt %{_libdir}/openmpi/lib/libboost_mpi_python.so.* %{_libdir}/openmpi/lib/mpi.so %files graph-openmpi %license LICENSE_1_0.txt %{_libdir}/openmpi/lib/libboost_graph_parallel.so.* %endif # MPICH packages %if %{with mpich} %files mpich %license LICENSE_1_0.txt %{_libdir}/mpich/lib/libboost_mpi.so.* %files mpich-python %license LICENSE_1_0.txt %{_libdir}/mpich/lib/libboost_mpi_python.so.* %{_libdir}/mpich/lib/mpi.so %files graph-mpich %license LICENSE_1_0.txt %{_libdir}/mpich/lib/libboost_graph_parallel.so.* %endif %files b2 %license LICENSE_1_0.txt %{_bindir}/b2 %{_mandir}/man1/b2.1* %if %{build_compat32} %files -n compat32-%{name}-atomic %defattr(-, root, root, -) %license LICENSE_1_0.txt %{_libdir}/libboost_atomic.so.* %files -n compat32-%{name}-chrono %defattr(-, root, root, -) %license LICENSE_1_0.txt %{_libdir}/libboost_chrono.so.* %files -n compat32-%{name}-container %license LICENSE_1_0.txt %{_libdir}/libboost_container.so.* %if %{with context} %files -n compat32-%{name}-context %defattr(-, root, root, -) %license LICENSE_1_0.txt %{_libdir}/libboost_context.so.* %files -n compat32-%{name}-coroutine %license LICENSE_1_0.txt %{_libdir}/libboost_coroutine.so.* %endif %files -n compat32-%{name}-contract %defattr(-, root, root, -) %license LICENSE_1_0.txt %{_libdir}/libboost_contract.so.* %files -n compat32-%{name}-date-time %license LICENSE_1_0.txt %{_libdir}/%{name}_date_time*.so.* %files -n compat32-%{name}-fiber %license LICENSE_1_0.txt %{_libdir}/%{name}_fiber*.so.* %files -n compat32-%{name}-filesystem %license LICENSE_1_0.txt %{_libdir}/%{name}_filesystem*.so.* %if 0 %files -n compat32-%{name}-graph %license LICENSE_1_0.txt %{_libdir}/%{name}_graph*.so.* %endif %files -n compat32-%{name}-iostreams %license LICENSE_1_0.txt %{_libdir}/%{name}_iostreams*.so.* %files -n compat32-%{name}-json %license LICENSE_1_0.txt %{_libdir}/libboost_json.so.* %if 0 %files -n compat32-%{name}-locale %defattr(-, root, root, -) %license LICENSE_1_0.txt %{_libdir}/libboost_locale.so.* %endif %if 0 %files -n compat32-%{name}-log %defattr(-, root, root, -) %license LICENSE_1_0.txt %{_libdir}/libboost_log.so.* %{_libdir}/libboost_log_setup.so.* %endif %files -n compat32-%{name}-math %license LICENSE_1_0.txt %{_libdir}/%{name}_math_*.so.* %files -n compat32-%{name}-nowide %license LICENSE_1_0.txt %{_libdir}/libboost_nowide.so.* %if %{with python3} %files -n compat32-%{name}-numpy3 %license LICENSE_1_0.txt %{_libdir}/libboost_numpy3*.so.* %endif %files -n compat32-%{name}-program-options %license LICENSE_1_0.txt %{_libdir}/%{name}_program_options*.so.* %if 0 %if %{with python3} %files -n compat32-%{name}-python3 %license LICENSE_1_0.txt %{_libdir}/libboost_python3*.so.* %endif %endif %files -n compat32-%{name}-random %license LICENSE_1_0.txt %{_libdir}/%{name}_random*.so.* %if 0 %files -n compat32-%{name}-regex %license LICENSE_1_0.txt %{_libdir}/%{name}_regex*.so.* %endif %files -n compat32-%{name}-serialization %license LICENSE_1_0.txt %{_libdir}/%{name}_serialization*.so.* %{_libdir}/%{name}_wserialization*.so.* %files -n compat32-%{name}-stacktrace %license LICENSE_1_0.txt %{_libdir}/%{name}_stacktrace*.so.* %files -n compat32-%{name}-system %license LICENSE_1_0.txt %{_libdir}/%{name}_system*.so.* %files -n compat32-%{name}-test %license LICENSE_1_0.txt %{_libdir}/%{name}_prg_exec_monitor*.so.* %{_libdir}/%{name}_unit_test_framework*.so.* %files -n compat32-%{name}-thread %license LICENSE_1_0.txt %{_libdir}/%{name}_thread*.so.* %files -n compat32-%{name}-timer %defattr(-, root, root, -) %license LICENSE_1_0.txt %{_libdir}/libboost_timer.so.* %files -n compat32-%{name}-type_erasure %license LICENSE_1_0.txt %{_libdir}/libboost_type_erasure.so.* %files -n compat32-%{name}-url %license LICENSE_1_0.txt %{_libdir}/libboost_url.so.* %files -n compat32-%{name}-wave %license LICENSE_1_0.txt %{_libdir}/%{name}_wave*.so.* %endif %changelog * Wed Nov 01 2023 Tomohiro "Tomo-p" KATO 1.83.0-1 - new upstream release. * Thu Oct 20 2022 Tomohiro "Tomo-p" KATO 1.80.0-1 - new upstream release. * Thu Apr 08 2021 Tomohiro "Tomo-p" KATO 1.75.0-2 - built with icu-69. * Fri Feb 19 2021 Tomohiro "Tomo-p" KATO 1.75.0-1 - new upstream release. - dropped libboost-jam. - new subpackage: json, nowide, numpy3 and b2. - dropped python2 support. - re-imported all patches from rawhide. * Mon Aug 17 2020 Tomohiro "Tomo-p" KATO 1.72.0-2 - rebuilt with python-3.8. * Fri Apr 24 2020 Tomohiro "Tomo-p" KATO 1.72.0-1 - new upstream release. - built with icu-67. - updated patches. - imported Patch86 from rawhide. * Fri Mar 20 2020 Tomohiro "Tomo-p" KATO 1.66.0-5 - rebuilt with gcc-9 and icu-66. * Sun Oct 13 2019 Tomohiro "Tomo-p" KATO 1.66.0-4 - rebuilt with icu-65. * Wed Sep 11 2019 Tomohiro "Tomo-p" KATO 1.66.0-3 - rebuilt with gcc-8. - added a subpackage 'libboost-fiber'. * Mon Jan 08 2018 Tomohiro "Tomo-p" KATO 1.66.0-2 - rebuilt with libicu-60.2. * Sun Jan 07 2018 Tomohiro "Tomo-p" KATO 1.66.0-1 - updated to boost_1_66_0. - dropped Patch36, 63 and 81. - updated Patch65. - imported Patch82 from rawhide. - added a subpackage 'libboost-stacktrace'. * Sat Jul 16 2016 Tomohiro "Tomo-p" KATO 1.60.0-3 - added compat32-* packages. * Tue Jun 28 2016 Yoji TOYODA 1.60.0-2 - rebuild with python3-3.5.2 * Mon Jun 6 2016 Tomohiro "Tomo-p" KATO 1.60.0-1 - updated to boost_1_60_0. - dropped all patches. - imported patches from rawhide. - moved *.so into libboost-devel. * Mon Nov 25 2013 IWAI, Masaharu 1.54.0-1 - update to boost_1_54_0 - all package: including license file - drop boost_filesystem patch (Patch0) - sync Fedora boost-1.54.0-5.fc21 - new packages: atomic, chrono, context, locale, log, timer - add patches - Patch4, 5, 9, 15, 18..28, 31..38, 42..55 * Sun Feb 20 2011 Munehiro Yamamoto 1.45.0-2 - fixed crashing throwing exception "std::runtime_error: locale::facet::_S_create_c_locale name not valid" on some systems (FreeBSD and some linuxes) when current locale (LANG,LC_ALL) is not "C" * Tue Jan 18 2011 Shu KONNO 1.45.0-1 - updated to boost_1_45_0 - added random sub-package * Wed Apr 14 2010 MATSUBAYASHI Kohji - 1.42.0-4 - rebuilt again on ppc * Sat Apr 10 2010 Ryoichi INAGAKI 1.42.0-3 - rebuilt with libicu-4.4 * Mon Feb 08 2010 Shu KONNO 1.42.0-2 - added "-licui18n" to bjam - added BR: lam * Sun Feb 07 2010 Shu KONNO 1.42.0-1 - updated to boost_1_42_0 - rebuilt with new toolchain and python-2.6 - added user-config.jam to make libboost_mpi - added BR: libaio-devel - added %%{post,postun} -p /sbin/ldconfig - dropt no use parameter EXPAT_INCLUDE and EXPAT_LIBPATH - dropt %{_libdir}/%{name}_test_exec_monitor-*.a in %%files %{name}-test - dropt %%{post,postun} devel section * Sun Mar 22 2009 Ryoichi INAGAKI 1.36.0-2vl5 - rebuilt with libicu-4.0.1 - changed Group to System Environment/Libraries (except devel package) * Sat Aug 16 2008 Daisuke SUZUKI 1.36.0-1vl5 - new upstream release - add -math subpackage * Fri Aug 15 2008 Daisuke SUZUKI 1.35.0-2vl5 - build with python-2.5 - add libboost_XXXX.so symlinks * Thu May 8 2008 KANEKO Seiji 1.35.0-1vl5 - upstream release - applied new versioning policy - add EXPAT_INCLUDE and EXPAT_LIBPATH to enable GraphML support - add new package libboost-system - Obsolete: *-devel packages * Sat Sep 8 2007 Ryoichi INAGAKI 1.34.1-0vl3 - rebuilt with libicu-3.6 - changed doc Group to Applications/Documentation * Sat Aug 18 2007 KANEKO Seiji 1.34.1-0vl2 - upstream release * Thu Jun 14 2007 KANEKO Seiji 1.34.0-0vl3 - add --libdir=%%{_libdir} to cope with x86_64 environment * Sun Jun 10 2007 KANEKO Seiji 1.34.0-0vl2 - upstream release - use Easy Build and Install process with ./configure - add BuildRequires: libicu-devel - remove %%{_libdir}/libboost_test_exec_monitor-*.so* from %%files -n libboost-test - add new packages: libboost-graph, libboost-graph-devel, libboost-wave - add files to doc package * Sun May 13 2007 MATSUBAYASHI Kohji 1.33.1-0vl2 - rebuilt with new toolchain * Sat Feb 4 2006 KANEKO Seiji 1.33.1-0vl1 - upstream release * Mon Dec 12 2005 Ryoichi INAGAKI 1.33.0-0vl3 - fixed typo in Groups: - devel packages also moved to Development/Libraries group * Mon Sep 19 2005 MATSUBAYASHI Kohji 1.33.0-0vl2 - spec modified to avoid errors on non-ix86 archtecture (previously the path linuxx86 was explicitly used) * Sun Sep 11 2005 KANEKO Seiji 1.33.0-0vl1 - initial release for Vine Linux * Sat Sep 10 2005 KANEKO Seiji 1.33.0-0vl0.3 - link /usr/include/boost_%{lnkver}/boost to /usr/include/boost * Sat Sep 10 2005 KANEKO Seiji 1.33.0-0vl0.2 - change package name from boost to libboost - separated into sub-packages * Fri Jun 17 2005 KANEKO Seiji 1.33.0-0vl0.1 - upstream release - add BuildRequires: bzip2-devel zlib-devel * Fri Jun 17 2005 KANEKO Seiji 1.32.0-0vl0.7 - added so.* file * Mon Apr 25 2005 KANEKO Seiji 1.32.0-0vl0.6 - moved %post, %postun script to -devel package * Mon Apr 25 2005 KANEKO Seiji 1.32.0-0vl0.5 - moved doc/html to -devel package - make a symbolic link on %{_includedir}/boost * Mon Apr 25 2005 KANEKO Seiji 1.32.0-0vl0.4 - fixed character code to euc-jp * Mon Apr 25 2005 KANEKO Seiji 1.32.0-0vl0.3 - add %doc files * Fri Apr 22 2005 KANEKO Seiji 1.32.0-0vl0.2 - remove Requires - split -devel package * Fri Apr 22 2005 KANEKO Seiji 1.32.0-0vl0.1 - initial build for Vine Linux