Blame boost169.spec

d9e1b5f
# Support for documentation installation As the %%doc macro erases the
d9e1b5f
# target directory ($RPM_BUILD_ROOT%%{_docdir}/%%{name}), manually
d9e1b5f
# installed documentation must be saved into a temporary dedicated
d9e1b5f
# directory.
d9e1b5f
# XXX note that as of rpm 4.9.1, this shouldn't be necessary anymore.
d9e1b5f
# We should be able to install directly.
d9e1b5f
%global boost_docdir __tmp_docdir
d9e1b5f
%global boost_examplesdir __tmp_examplesdir
d9e1b5f
d9e1b5f
%if 0%{?rhel} >= 7
d9e1b5f
%ifarch ppc64le
d9e1b5f
  %bcond_with mpich
d9e1b5f
%else
d9e1b5f
  %bcond_without mpich
d9e1b5f
%endif
d9e1b5f
%endif
d9e1b5f
%if 0%{?rhel} == 6
d9e1b5f
%ifarch %{arm} ppc64
d9e1b5f
  %bcond_with mpich
d9e1b5f
%else
d9e1b5f
  %bcond_without mpich
d9e1b5f
%endif
d9e1b5f
%endif
d9e1b5f
%if 0%{?rhel} >= 5
d9e1b5f
  %bcond_without mpich2
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%if 0%{?rhel} >= 7
d9e1b5f
%ifarch s390 s390x ppc64le
d9e1b5f
  # No OpenMPI support on these arches
d9e1b5f
  %bcond_with openmpi
d9e1b5f
%else
d9e1b5f
  %bcond_without openmpi
d9e1b5f
%endif
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%ifnarch %{ix86} x86_64 %{arm} ppc64 ppc64le
d9e1b5f
  %bcond_with context
d9e1b5f
%else
d9e1b5f
  %bcond_without context
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%bcond_without python3
d9e1b5f
d9e1b5f
%ifnarch %{ix86} x86_64
d9e1b5f
  %bcond_with quadmath
d9e1b5f
%else
d9e1b5f
  %bcond_without quadmath
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%global version_suffix 169
d9e1b5f
%global version_enc 1_69_0
d9e1b5f
Name: boost%{version_suffix}
d9e1b5f
%global real_name boost
d9e1b5f
Summary: The free peer-reviewed portable C++ source libraries
d9e1b5f
Version: 1.69.0
d881263
Release: 6%{?dist}
d9e1b5f
License: Boost and MIT and Python
d9e1b5f
d9e1b5f
%global toplev_dirname %{real_name}_%{version_enc}
d9e1b5f
URL: http://www.boost.org
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
d9e1b5f
Source0: https://sourceforge.net/projects/boost/files/%{real_name}/%{version}/%{toplev_dirname}.tar.bz2
d9e1b5f
Source1: libboost_thread.so
d9e1b5f
Source2: ver.py
d9e1b5f
d9e1b5f
# Since Fedora 13, the Boost libraries are delivered with sonames
d9e1b5f
# equal to the Boost version (e.g., 1.41.0).
d9e1b5f
%global sonamever %{version}
d9e1b5f
d9e1b5f
# boost is an "umbrella" package that pulls in all boost shared library
d9e1b5f
# components, except for MPI and Python sub-packages.  Those are special
d9e1b5f
# in that there are alternative implementations to choose from
d9e1b5f
# (Open MPI and MPICH, and Python 2 and 3), and it's not a big burden
d9e1b5f
# to have interested parties install them explicitly.
d9e1b5f
# The subpackages that don't install shared libraries are also not pulled in
d9e1b5f
# (doc, doctools, examples, jam, static).
d9e1b5f
Requires: %{name}-atomic%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-chrono%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-container%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-contract%{?_isa} = %{version}-%{release}
d9e1b5f
%if %{with context}
d9e1b5f
Requires: %{name}-context%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-coroutine%{?_isa} = %{version}-%{release}
d9e1b5f
%endif
d9e1b5f
Requires: %{name}-date-time%{?_isa} = %{version}-%{release}
d9e1b5f
%if %{with context}
d9e1b5f
Requires: %{name}-fiber%{?_isa} = %{version}-%{release}
d9e1b5f
%endif
d9e1b5f
Requires: %{name}-filesystem%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-graph%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-iostreams%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-locale%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-log%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-math%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-program-options%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-random%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-regex%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-serialization%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-stacktrace%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-system%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-test%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-thread%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-timer%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-type_erasure%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-wave%{?_isa} = %{version}-%{release}
d9e1b5f
d9e1b5f
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
d9e1b5f
BuildRequires: gcc-c++
d9e1b5f
BuildRequires: m4
d9e1b5f
BuildRequires: libstdc++-devel
d9e1b5f
BuildRequires: bzip2-devel
d9e1b5f
BuildRequires: zlib-devel
d9e1b5f
%if %{with python3}
44195ce
BuildRequires: python3-devel
44195ce
BuildRequires: python3-numpy
d9e1b5f
%endif
d9e1b5f
BuildRequires: libicu-devel
d9e1b5f
%if %{with quadmath}
d9e1b5f
BuildRequires: libquadmath-devel
d9e1b5f
%endif
d9e1b5f
d9e1b5f
# https://svn.boost.org/trac/boost/ticket/6150
d9e1b5f
Patch4: boost-1.50.0-fix-non-utf8-files.patch
d9e1b5f
d9e1b5f
# Add a manual page for bjam, based on the on-line documentation:
d9e1b5f
# http://www.boost.org/boost-build2/doc/html/bbv2/overview.html
d9e1b5f
Patch5: boost-1.48.0-add-bjam-man-page.patch
d9e1b5f
d9e1b5f
# https://bugzilla.redhat.com/show_bug.cgi?id=828856
d9e1b5f
# https://bugzilla.redhat.com/show_bug.cgi?id=828857
d9e1b5f
# https://svn.boost.org/trac/boost/ticket/6701
d9e1b5f
Patch15: boost-1.58.0-pool.patch
d9e1b5f
d9e1b5f
# https://svn.boost.org/trac/boost/ticket/5637
d9e1b5f
Patch25: boost-1.57.0-mpl-print.patch
d9e1b5f
d9e1b5f
# https://svn.boost.org/trac/boost/ticket/9038
d9e1b5f
Patch51: boost-1.58.0-pool-test_linking.patch
d9e1b5f
d9e1b5f
# https://bugzilla.redhat.com/show_bug.cgi?id=1102667
d9e1b5f
Patch61: boost-1.57.0-python-libpython_dep.patch
d9e1b5f
Patch62: boost-1.66.0-python-abi_letters.patch
d9e1b5f
d9e1b5f
# https://bugzilla.redhat.com/show_bug.cgi?id=1190039
d9e1b5f
Patch65: boost-1.66.0-build-optflags.patch
d9e1b5f
d9e1b5f
# https://bugzilla.redhat.com/show_bug.cgi?id=1318383
d9e1b5f
Patch82: boost-1.66.0-no-rpath.patch
d9e1b5f
d9e1b5f
# https://bugzilla.redhat.com/show_bug.cgi?id=1541035
d9e1b5f
Patch83: boost-1.66.0-bjam-build-flags.patch
d9e1b5f
d9e1b5f
%bcond_with tests
d9e1b5f
%bcond_with docs_generated
d9e1b5f
d9e1b5f
%description
d9e1b5f
Boost provides free peer-reviewed portable C++ source libraries.  The
d9e1b5f
emphasis is on libraries which work well with the C++ Standard
d9e1b5f
Library, in the hopes of establishing "existing practice" for
d9e1b5f
extensions and providing reference implementations so that the Boost
d9e1b5f
libraries are suitable for eventual standardization. (Some of the
d9e1b5f
libraries have already been included in the C++ 2011 standard and
d9e1b5f
others have been proposed to the C++ Standards Committee for inclusion
d9e1b5f
in future standards.)
d9e1b5f
d9e1b5f
%package atomic
d9e1b5f
Summary: Run-time component of boost atomic library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
d9e1b5f
%description atomic
d9e1b5f
d9e1b5f
Run-time support for Boost.Atomic, a library that provides atomic data
d9e1b5f
types and operations on these data types, as well as memory ordering
d9e1b5f
constraints required for coordinating multiple threads through atomic
d9e1b5f
variables.
d9e1b5f
d9e1b5f
%package chrono
d9e1b5f
Summary: Run-time component of boost chrono library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
Requires: %{name}-system%{?_isa} = %{version}-%{release}
d9e1b5f
d9e1b5f
%description chrono
d9e1b5f
d9e1b5f
Run-time support for Boost.Chrono, a set of useful time utilities.
d9e1b5f
d9e1b5f
%package container
d9e1b5f
Summary: Run-time component of boost container library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
d9e1b5f
%description container
d9e1b5f
d9e1b5f
Boost.Container library implements several well-known containers,
d9e1b5f
including STL containers. The aim of the library is to offer advanced
d9e1b5f
features not present in standard containers or to offer the latest
d9e1b5f
standard draft features for compilers that comply with C++03.
d9e1b5f
d9e1b5f
%package contract
d9e1b5f
Summary: Run-time component of boost contract library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
d9e1b5f
%description contract
d9e1b5f
d9e1b5f
Run-time support for boost contract library.
d9e1b5f
Contract programming for C++. All contract programming features are supported:
d9e1b5f
Subcontracting, class invariants, postconditions (with old and return values),
d9e1b5f
preconditions, customizable actions on assertion failure (e.g., terminate
d9e1b5f
or throw), optional compilation and checking of assertions, etc,
d9e1b5f
from Lorenzo Caminiti.
d9e1b5f
d9e1b5f
%if %{with context}
d9e1b5f
%package context
d9e1b5f
Summary: Run-time component of boost context switching library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
d9e1b5f
%description context
d9e1b5f
d9e1b5f
Run-time support for Boost.Context, a foundational library that
d9e1b5f
provides a sort of cooperative multitasking on a single thread.
d9e1b5f
d9e1b5f
%package coroutine
d9e1b5f
Summary: Run-time component of boost coroutine library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
d9e1b5f
%description coroutine
d9e1b5f
Run-time support for Boost.Coroutine, a library that provides
d9e1b5f
generalized subroutines which allow multiple entry points for
d9e1b5f
suspending and resuming execution.
d9e1b5f
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%package date-time
d9e1b5f
Summary: Run-time component of boost date-time library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
d9e1b5f
%description date-time
d9e1b5f
d9e1b5f
Run-time support for Boost Date Time, a set of date-time libraries based
d9e1b5f
on generic programming concepts.
d9e1b5f
d9e1b5f
%if %{with context}
d9e1b5f
%package fiber
d9e1b5f
Summary: Run-time component of boost fiber library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
d9e1b5f
%description fiber
d9e1b5f
d9e1b5f
Run-time support for the Boost Fiber library, a framework for
d9e1b5f
micro-/userland-threads (fibers) scheduled cooperatively.
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%package filesystem
d9e1b5f
Summary: Run-time component of boost filesystem library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
Requires: %{name}-system%{?_isa} = %{version}-%{release}
d9e1b5f
d9e1b5f
%description filesystem
d9e1b5f
d9e1b5f
Run-time support for the Boost Filesystem Library, which provides
d9e1b5f
portable facilities to query and manipulate paths, files, and
d9e1b5f
directories.
d9e1b5f
d9e1b5f
%package graph
d9e1b5f
Summary: Run-time component of boost graph library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
Requires: %{name}-regex%{?_isa} = %{version}-%{release}
d9e1b5f
d9e1b5f
%description graph
d9e1b5f
d9e1b5f
Run-time support for the BGL graph library.  BGL interface and graph
d9e1b5f
components are generic, in the same sense as the Standard Template
d9e1b5f
Library (STL).
d9e1b5f
d9e1b5f
%package iostreams
d9e1b5f
Summary: Run-time component of boost iostreams library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
d9e1b5f
%description iostreams
d9e1b5f
d9e1b5f
Run-time support for Boost.Iostreams, a framework for defining streams,
d9e1b5f
stream buffers and i/o filters.
d9e1b5f
d9e1b5f
%package locale
d9e1b5f
Summary: Run-time component of boost locale library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
Requires: %{name}-chrono%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-system%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-thread%{?_isa} = %{version}-%{release}
d9e1b5f
d9e1b5f
%description locale
d9e1b5f
d9e1b5f
Run-time support for Boost.Locale, a set of localization and Unicode
d9e1b5f
handling tools.
d9e1b5f
d9e1b5f
%package log
d9e1b5f
Summary: Run-time component of boost logging library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
d9e1b5f
%description log
d9e1b5f
d9e1b5f
Boost.Log library aims to make logging significantly easier for the
d9e1b5f
application developer.  It provides a wide range of out-of-the-box
d9e1b5f
tools along with public interfaces for extending the library.
d9e1b5f
d9e1b5f
%package math
d9e1b5f
Summary: Math functions for boost TR1 library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
d9e1b5f
%description math
d9e1b5f
d9e1b5f
Run-time support for C99 and C++ TR1 C-style Functions from the math
d9e1b5f
portion of Boost.TR1.
d9e1b5f
d9e1b5f
%if %{with python3}
d9e1b5f
d9e1b5f
%package numpy3
d9e1b5f
Summary: Run-time component of boost numpy library for Python 3
d9e1b5f
Requires: %{name}-python3%{?_isa} = %{version}-%{release}
7ca2778
Requires: python3-numpy
d9e1b5f
d9e1b5f
%description numpy3
d9e1b5f
d9e1b5f
The Boost Python Library is a framework for interfacing Python and
d9e1b5f
C++. It allows you to quickly and seamlessly expose C++ classes,
d9e1b5f
functions and objects to Python, and vice versa, using no special
d9e1b5f
tools -- just your C++ compiler.  This package contains run-time
d9e1b5f
support for the NumPy extension of the Boost Python Library for Python 3.
d9e1b5f
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%package program-options
d9e1b5f
Summary:  Run-time component of boost program_options library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
d9e1b5f
%description program-options
d9e1b5f
d9e1b5f
Run-time support of boost program options library, which allows program
d9e1b5f
developers to obtain (name, value) pairs from the user, via
d9e1b5f
conventional methods such as command-line and configuration file.
d9e1b5f
d9e1b5f
%if %{with python3}
d9e1b5f
d9e1b5f
%package python3
d9e1b5f
Summary: Run-time component of boost python library for Python 3
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
d9e1b5f
%description python3
d9e1b5f
d9e1b5f
The Boost Python Library is a framework for interfacing Python and
d9e1b5f
C++. It allows you to quickly and seamlessly expose C++ classes,
d9e1b5f
functions and objects to Python, and vice versa, using no special
d9e1b5f
tools -- just your C++ compiler.  This package contains run-time
d9e1b5f
support for the Boost Python Library compiled for Python 3.
d9e1b5f
d9e1b5f
%package python3-devel
d9e1b5f
Summary: Shared object symbolic links for Boost.Python 3
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
Requires: %{name}-numpy3%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-python3%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
d9e1b5f
d9e1b5f
%description python3-devel
d9e1b5f
d9e1b5f
Shared object symbolic links for Python 3 variant of Boost.Python.
d9e1b5f
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%package random
d9e1b5f
Summary: Run-time component of boost random library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
d9e1b5f
%description random
d9e1b5f
d9e1b5f
Run-time support for boost random library.
d9e1b5f
d9e1b5f
%package regex
d9e1b5f
Summary: Run-time component of boost regular expression library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
d9e1b5f
%description regex
d9e1b5f
d9e1b5f
Run-time support for boost regular expression library.
d9e1b5f
d9e1b5f
%package serialization
d9e1b5f
Summary: Run-time component of boost serialization library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
d9e1b5f
%description serialization
d9e1b5f
d9e1b5f
Run-time support for serialization for persistence and marshaling.
d9e1b5f
d9e1b5f
%package stacktrace
d9e1b5f
Summary: Run-time component of boost stacktrace library
d9e1b5f
d9e1b5f
%description stacktrace
d9e1b5f
d9e1b5f
Run-time component of the Boost stacktrace library.
d9e1b5f
d9e1b5f
%package system
d9e1b5f
Summary: Run-time component of boost system support library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
d9e1b5f
%description system
d9e1b5f
d9e1b5f
Run-time component of Boost operating system support library, including
d9e1b5f
the diagnostics support that is part of the C++11 standard library.
d9e1b5f
d9e1b5f
%package test
d9e1b5f
Summary: Run-time component of boost test library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
d9e1b5f
%description test
d9e1b5f
d9e1b5f
Run-time support for simple program testing, full unit testing, and for
d9e1b5f
program execution monitoring.
d9e1b5f
d9e1b5f
%package thread
d9e1b5f
Summary: Run-time component of boost thread library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
Requires: %{name}-system%{?_isa} = %{version}-%{release}
d9e1b5f
d9e1b5f
%description thread
d9e1b5f
d9e1b5f
Run-time component Boost.Thread library, which provides classes and
d9e1b5f
functions for managing multiple threads of execution, and for
d9e1b5f
synchronizing data between the threads or providing separate copies of
d9e1b5f
data specific to individual threads.
d9e1b5f
d9e1b5f
%package timer
d9e1b5f
Summary: Run-time component of boost timer library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
Requires: %{name}-chrono%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-system%{?_isa} = %{version}-%{release}
d9e1b5f
d9e1b5f
%description timer
d9e1b5f
d9e1b5f
"How long does my C++ code take to run?"
d9e1b5f
The Boost Timer library answers that question and does so portably,
d9e1b5f
with as little as one #include and one additional line of code.
d9e1b5f
d9e1b5f
%package type_erasure
d9e1b5f
Summary: Run-time component of boost type erasure library
d9e1b5f
Requires: %{name}-chrono%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-system%{?_isa} = %{version}-%{release}
d9e1b5f
d9e1b5f
%description type_erasure
d9e1b5f
d9e1b5f
The Boost.TypeErasure library provides runtime polymorphism in C++
d9e1b5f
that is more flexible than that provided by the core language.
d9e1b5f
d9e1b5f
%package wave
d9e1b5f
Summary: Run-time component of boost C99/C++ preprocessing library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
Requires: %{name}-chrono%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-date-time%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-filesystem%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-system%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-thread%{?_isa} = %{version}-%{release}
d9e1b5f
d9e1b5f
%description wave
d9e1b5f
d9e1b5f
Run-time support for the Boost.Wave library, a Standards conforming,
d9e1b5f
and highly configurable implementation of the mandated C99/C++
d9e1b5f
preprocessor functionality.
d9e1b5f
d9e1b5f
%package devel
d9e1b5f
Summary: The Boost C++ headers and shared development libraries
d9e1b5f
Group: Development/Libraries
d9e1b5f
Requires: %{name}%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: libicu-devel%{?_isa}
d9e1b5f
%if %{with quadmath}
d9e1b5f
Requires: libquadmath-devel%{?_isa}
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%description devel
d9e1b5f
Headers and shared object symbolic links for the Boost C++ libraries.
d9e1b5f
d9e1b5f
%package static
d9e1b5f
Summary: The Boost C++ static development libraries
d9e1b5f
Group: Development/Libraries
d9e1b5f
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
d9e1b5f
d9e1b5f
%description static
d9e1b5f
Static Boost C++ libraries.
d9e1b5f
d9e1b5f
%package doc
d9e1b5f
Summary: HTML documentation for the Boost C++ libraries
d9e1b5f
Group: Documentation
d9e1b5f
%if 0%{?rhel} >= 6
d9e1b5f
BuildArch: noarch
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%description doc
d9e1b5f
This package contains the documentation in the HTML format of the Boost C++
d9e1b5f
libraries. The documentation provides the same content as that on the Boost
d9e1b5f
web page (http://www.boost.org/doc/libs/%{version_enc}).
d9e1b5f
d9e1b5f
%package examples
d9e1b5f
Summary: Source examples for the Boost C++ libraries
d9e1b5f
Group: Documentation
d9e1b5f
%if 0%{?rhel} >= 6
d9e1b5f
BuildArch: noarch
d9e1b5f
%endif
d9e1b5f
Requires: %{name}-devel = %{version}-%{release}
d9e1b5f
d9e1b5f
%description examples
d9e1b5f
This package contains example source files distributed with boost.
d9e1b5f
d9e1b5f
d9e1b5f
%if %{with openmpi}
d9e1b5f
d9e1b5f
%package openmpi
d9e1b5f
Summary: Run-time component of Boost.MPI library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
BuildRequires: openmpi-devel
d9e1b5f
Requires: %{name}-serialization%{?_isa} = %{version}-%{release}
d9e1b5f
d9e1b5f
%description openmpi
d9e1b5f
d9e1b5f
Run-time support for Boost.MPI-OpenMPI, a library providing a clean C++
d9e1b5f
API over the OpenMPI implementation of MPI.
d9e1b5f
d9e1b5f
%package openmpi-devel
d9e1b5f
Summary: Shared library symbolic links for Boost.MPI
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-openmpi%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-graph-openmpi%{?_isa} = %{version}-%{release}
d9e1b5f
d9e1b5f
%description openmpi-devel
d9e1b5f
d9e1b5f
Devel package for Boost.MPI-OpenMPI, a library providing a clean C++
d9e1b5f
API over the OpenMPI implementation of MPI.
d9e1b5f
d9e1b5f
%if %{with python3}
d9e1b5f
d9e1b5f
%package openmpi-python3
d9e1b5f
Summary: Python 3 run-time component of Boost.MPI library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
Requires: %{name}-openmpi%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-python3%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-serialization%{?_isa} = %{version}-%{release}
d9e1b5f
d9e1b5f
%description openmpi-python3
d9e1b5f
d9e1b5f
Python 3 support for Boost.MPI-OpenMPI, a library providing a clean C++
d9e1b5f
API over the OpenMPI implementation of MPI.
d9e1b5f
d9e1b5f
%package openmpi-python3-devel
d9e1b5f
Summary: Shared library symbolic links for Boost.MPI Python 3 component
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-python3-devel%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-openmpi-devel%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-openmpi-python3%{?_isa} = %{version}-%{release}
d9e1b5f
d9e1b5f
%description openmpi-python3-devel
d9e1b5f
d9e1b5f
Devel package for the Python 3 interface of Boost.MPI-OpenMPI, a library
d9e1b5f
providing a clean C++ API over the OpenMPI implementation of MPI.
d9e1b5f
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%package graph-openmpi
d9e1b5f
Summary: Run-time component of parallel boost graph library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
Requires: %{name}-openmpi%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-serialization%{?_isa} = %{version}-%{release}
d9e1b5f
d9e1b5f
%description graph-openmpi
d9e1b5f
d9e1b5f
Run-time support for the Parallel BGL graph library.  The interface and
d9e1b5f
graph components are generic, in the same sense as the Standard
d9e1b5f
Template Library (STL).  This libraries in this package use OpenMPI
d9e1b5f
back-end to do the parallel work.
d9e1b5f
d9e1b5f
%endif
d9e1b5f
d9e1b5f
d9e1b5f
%if %{with mpich}
d9e1b5f
d9e1b5f
%package mpich
d9e1b5f
Summary: Run-time component of Boost.MPI library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
BuildRequires: mpich-devel
d9e1b5f
Requires: %{name}-serialization%{?_isa} = %{version}-%{release}
d9e1b5f
d9e1b5f
%description mpich
d9e1b5f
d9e1b5f
Run-time support for Boost.MPI-MPICH, a library providing a clean C++
d9e1b5f
API over the MPICH implementation of MPI.
d9e1b5f
d9e1b5f
%package mpich-devel
d9e1b5f
Summary: Shared library symbolic links for Boost.MPI
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-mpich%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-graph-mpich%{?_isa} = %{version}-%{release}
d9e1b5f
d9e1b5f
%description mpich-devel
d9e1b5f
d9e1b5f
Devel package for Boost.MPI-MPICH, a library providing a clean C++
d9e1b5f
API over the MPICH implementation of MPI.
d9e1b5f
d9e1b5f
%if %{with python3}
d9e1b5f
d9e1b5f
%package mpich-python3
d9e1b5f
Summary: Python 3 run-time component of Boost.MPI library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
Requires: %{name}-mpich%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-python3%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-serialization%{?_isa} = %{version}-%{release}
d9e1b5f
d9e1b5f
%description mpich-python3
d9e1b5f
d9e1b5f
Python 3 support for Boost.MPI-MPICH, a library providing a clean C++
d9e1b5f
API over the MPICH implementation of MPI.
d9e1b5f
d9e1b5f
%package mpich-python3-devel
d9e1b5f
Summary: Shared library symbolic links for Boost.MPI Python 3 component
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-python3-devel%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-mpich-devel%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-mpich-python3%{?_isa} = %{version}-%{release}
d9e1b5f
d9e1b5f
%description mpich-python3-devel
d9e1b5f
d9e1b5f
Devel package for the Python 3 interface of Boost.MPI-MPICH, a library
d9e1b5f
providing a clean C++ API over the MPICH implementation of MPI.
d9e1b5f
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%package graph-mpich
d9e1b5f
Summary: Run-time component of parallel boost graph library
d9e1b5f
Group: System Environment/Libraries
d9e1b5f
Requires: %{name}-mpich%{?_isa} = %{version}-%{release}
d9e1b5f
Requires: %{name}-serialization%{?_isa} = %{version}-%{release}
d9e1b5f
d9e1b5f
%description graph-mpich
d9e1b5f
d9e1b5f
Run-time support for the Parallel BGL graph library.  The interface and
d9e1b5f
graph components are generic, in the same sense as the Standard
d9e1b5f
Template Library (STL).  This libraries in this package use MPICH
d9e1b5f
back-end to do the parallel work.
d9e1b5f
d9e1b5f
%endif # with mpich
d9e1b5f
d9e1b5f
%package build
d9e1b5f
Summary: Cross platform build system for C++ projects
d9e1b5f
Group: Development/Tools
d9e1b5f
Requires: %{name}-jam
d9e1b5f
BuildArch: noarch
d9e1b5f
d9e1b5f
%description build
d9e1b5f
Boost.Build is an easy way to build C++ projects, everywhere. You name
d9e1b5f
your pieces of executable and libraries and list their sources.  Boost.Build
d9e1b5f
takes care about compiling your sources with the right options,
d9e1b5f
creating static and shared libraries, making pieces of executable, and other
d9e1b5f
chores -- whether you are using GCC, MSVC, or a dozen more supported
d9e1b5f
C++ compilers -- on Windows, OSX, Linux and commercial UNIX systems.
d9e1b5f
d9e1b5f
%package doctools
d9e1b5f
Summary: Tools for working with Boost documentation
d9e1b5f
Group: Applications/Publishing
d9e1b5f
Requires: docbook-dtds
d9e1b5f
Requires: docbook-style-xsl
d9e1b5f
d9e1b5f
%description doctools
d9e1b5f
d9e1b5f
Tools for working with Boost documentation in BoostBook or QuickBook format.
d9e1b5f
d9e1b5f
%package jam
d9e1b5f
Summary: A low-level build tool
d9e1b5f
Group: Development/Tools
d9e1b5f
d9e1b5f
%description jam
d9e1b5f
Boost.Jam (BJam) is the low-level build engine tool for Boost.Build.
d9e1b5f
Historically, Boost.Jam is based on on FTJam and on Perforce Jam but has grown
d9e1b5f
a number of significant features and is now developed independently.
d9e1b5f
d9e1b5f
%prep
d9e1b5f
%setup -q -n %{toplev_dirname}
d9e1b5f
find ./boost -name '*.hpp' -perm /111 | xargs chmod a-x
d9e1b5f
d9e1b5f
%patch4 -p1
d9e1b5f
%patch5 -p1
d9e1b5f
%patch15 -p0
d9e1b5f
%patch25 -p1
d9e1b5f
%patch51 -p1
d9e1b5f
%patch61 -p1
d9e1b5f
%patch62 -p1
d9e1b5f
%patch65 -p1
d9e1b5f
%patch82 -p1
d9e1b5f
%patch83 -p1
d9e1b5f
d9e1b5f
%build
d9e1b5f
# Dump the versions being used into the build logs.
d9e1b5f
%if %{with python3}
d9e1b5f
%global python3_version %(/usr/bin/python3 %{SOURCE2})
d9e1b5f
%global python3_abiflags %(/usr/bin/python3-config --abiflags)
d9e1b5f
: PYTHON3_VERSION=%{python3_version}
d9e1b5f
: PYTHON3_ABIFLAGS=%{python3_abiflags}
d9e1b5f
%endif
d9e1b5f
d9e1b5f
# There are many strict aliasing warnings, and it's not feasible to go
d9e1b5f
# through them all at this time.
d9e1b5f
# There are also lots of noisy but harmless unused local typedef warnings.
d9e1b5f
export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations"
d9e1b5f
export RPM_LD_FLAGS
d9e1b5f
d9e1b5f
cat > ./tools/build/src/user-config.jam << "EOF"
d9e1b5f
import os ;
d9e1b5f
local RPM_OPT_FLAGS = [ os.environ RPM_OPT_FLAGS ] ;
d9e1b5f
local RPM_LD_FLAGS = [ os.environ RPM_LD_FLAGS ] ;
d9e1b5f
d9e1b5f
using gcc : : : <compileflags>$(RPM_OPT_FLAGS) <linkflags>$(RPM_LD_FLAGS) ;
d9e1b5f
%if %{with openmpi} || %{with mpich}
d9e1b5f
using mpi ;
d9e1b5f
%endif
d9e1b5f
EOF
d9e1b5f
d9e1b5f
./bootstrap.sh --with-toolset=gcc --with-icu
d9e1b5f
d9e1b5f
# N.B. When we build the following with PCH, parts of boost (math
d9e1b5f
# library in particular) end up being built second time during
d9e1b5f
# installation.  Unsure why that is, but all sub-builds need to be
d9e1b5f
# built with pch=off to avoid this.
d9e1b5f
d9e1b5f
echo ============================= build serial ==================
d9e1b5f
./b2 -d+2 -q %{?_smp_mflags} \
d9e1b5f
	--without-mpi --without-graph_parallel --build-dir=serial \
d9e1b5f
%if !%{with context}
d9e1b5f
	--without-context --without-coroutine \
d9e1b5f
	--without-fiber \
d9e1b5f
%endif
d9e1b5f
	variant=release threading=multi debug-symbols=on pch=off \
d9e1b5f
	stage
d9e1b5f
d9e1b5f
# See libs/thread/build/Jamfile.v2 for where this file comes from.
d9e1b5f
if [ $(find serial -type f -name has_atomic_flag_lockfree \
d9e1b5f
		-print -quit | wc -l) -ne 0 ]; then
d9e1b5f
	DEF=D
d9e1b5f
else
d9e1b5f
	DEF=U
d9e1b5f
fi
d9e1b5f
d9e1b5f
m4 -${DEF}HAS_ATOMIC_FLAG_LOCKFREE -DVERSION=%{version} \
d9e1b5f
	%{SOURCE1} > $(basename %{SOURCE1})
d9e1b5f
d9e1b5f
%if %{with python3}
d9e1b5f
d9e1b5f
# Previously, we built python 2.x and 3.x interfaces simultaneously.
d9e1b5f
# However, this does not work once trying to build other Python components
d9e1b5f
# such as libboost_numpy.  Therefore, we build for each separately, while
d9e1b5f
# minimizing duplicate compilation as much as possible.
d9e1b5f
d9e1b5f
cat > python3-config.jam << "EOF"
d9e1b5f
import os ;
d9e1b5f
local RPM_OPT_FLAGS = [ os.environ RPM_OPT_FLAGS ] ;
d9e1b5f
local RPM_LD_FLAGS = [ os.environ RPM_LD_FLAGS ] ;
d9e1b5f
d9e1b5f
using gcc : : : <compileflags>$(RPM_OPT_FLAGS) <linkflags>$(RPM_LD_FLAGS) ;
d9e1b5f
%if %{with openmpi} || %{with mpich}
d9e1b5f
using mpi ;
d9e1b5f
%endif
d9e1b5f
EOF
d9e1b5f
d9e1b5f
cat >> python3-config.jam << EOF
d9e1b5f
using python : %{python3_version} : /usr/bin/python3 : /usr/include/python%{python3_version}%{python3_abiflags} : : : : %{python3_abiflags} ;
d9e1b5f
EOF
d9e1b5f
d9e1b5f
echo ============================= build serial-py3 ==================
d9e1b5f
./b2 -d+2 -q %{?_smp_mflags} \
d9e1b5f
	--user-config=./python3-config.jam \
d9e1b5f
	--with-python --build-dir=serial-py3 \
d9e1b5f
	variant=release threading=multi debug-symbols=on pch=off \
d9e1b5f
	python=%{python3_version} stage
d9e1b5f
d9e1b5f
%endif
d9e1b5f
d9e1b5f
# Build MPI parts of Boost with OpenMPI support
d9e1b5f
d9e1b5f
%if %{with openmpi} || %{with mpich}
d9e1b5f
# First, purge all modules so that user environment does not conflict
d9e1b5f
# with the build.
d9e1b5f
module purge ||:
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%if %{with openmpi}
d9e1b5f
%{_openmpi_load}
d9e1b5f
d9e1b5f
%if %{with python3}
d9e1b5f
echo ============================= build $MPI_COMPILER-py3 ==================
d9e1b5f
./b2 -d+2 -q %{?_smp_mflags} \
d9e1b5f
	--user-config=./python3-config.jam \
d9e1b5f
	--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER-py3 \
d9e1b5f
	variant=release threading=multi debug-symbols=on pch=off \
d9e1b5f
	python=%{python3_version} stage
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%{_openmpi_unload}
d9e1b5f
export PATH=/bin${PATH:+:}$PATH
d9e1b5f
%endif
d9e1b5f
d9e1b5f
# Build MPI parts of Boost with MPICH support
d9e1b5f
%if %{with mpich}
d9e1b5f
%{_mpich_load}
d9e1b5f
d9e1b5f
%if %{with python3}
d9e1b5f
echo ============================= build $MPI_COMPILER-py3 ==================
d9e1b5f
./b2 -d+2 -q %{?_smp_mflags} \
d9e1b5f
	--user-config=./python3-config.jam \
d9e1b5f
	--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER-py3 \
d9e1b5f
	variant=release threading=multi debug-symbols=on pch=off \
d9e1b5f
	python=%{python3_version} stage
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%{_mpich_unload}
d9e1b5f
export PATH=/bin${PATH:+:}$PATH
d9e1b5f
%endif # with mpich
d9e1b5f
d9e1b5f
echo ============================= build Boost.Build ==================
d9e1b5f
(cd tools/build
d9e1b5f
 ./bootstrap.sh --with-toolset=gcc)
d9e1b5f
d9e1b5f
%check
d9e1b5f
:
d9e1b5f
d9e1b5f
d9e1b5f
%install
d9e1b5f
rm -rf $RPM_BUILD_ROOT
d9e1b5f
cd %{_builddir}/%{toplev_dirname}
d9e1b5f
d9e1b5f
%if %{with openmpi} || %{with mpich}
d9e1b5f
# First, purge all modules so that user environment does not conflict
d9e1b5f
# with the build.
d9e1b5f
module purge ||:
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%if %{with openmpi}
d9e1b5f
%{_openmpi_load}
d9e1b5f
# XXX We want to extract this from RPM flags
d9e1b5f
# b2 instruction-set=i686 etc.
d9e1b5f
d9e1b5f
%if %{with python3}
d9e1b5f
echo ============================= install $MPI_COMPILER-py3 ==================
d9e1b5f
./b2 -q %{?_smp_mflags} \
d9e1b5f
	--user-config=./python3-config.jam \
d9e1b5f
	--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER-py3 \
d9e1b5f
	--stagedir=${RPM_BUILD_ROOT}${MPI_HOME} \
d9e1b5f
	variant=release threading=multi debug-symbols=on pch=off \
d9e1b5f
	python=%{python3_version} stage
d9e1b5f
d9e1b5f
# Move Python module to proper location for automatic loading
d9e1b5f
mkdir -p ${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost
d9e1b5f
touch ${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost/__init__.py
d9e1b5f
mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/mpi.so \
d9e1b5f
   ${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost/
d9e1b5f
%endif
d9e1b5f
d9e1b5f
# Remove generic parts of boost that were built for dependencies.
d9e1b5f
rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}*
d9e1b5f
d9e1b5f
%{_openmpi_unload}
d9e1b5f
export PATH=/bin${PATH:+:}$PATH
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%if %{with mpich}
d9e1b5f
%{_mpich_load}
d9e1b5f
d9e1b5f
%if %{with python3}
d9e1b5f
echo ============================= install $MPI_COMPILER-py3 ==================
d9e1b5f
./b2 -q %{?_smp_mflags} \
d9e1b5f
	--user-config=./python3-config.jam \
d9e1b5f
	--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER-py3 \
d9e1b5f
	--stagedir=${RPM_BUILD_ROOT}${MPI_HOME} \
d9e1b5f
	variant=release threading=multi debug-symbols=on pch=off \
d9e1b5f
	python=%{python3_version} stage
d9e1b5f
d9e1b5f
# Move Python module to proper location for automatic loading
d9e1b5f
mkdir -p ${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost
d9e1b5f
touch ${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost/__init__.py
d9e1b5f
mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/mpi.so \
d9e1b5f
   ${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost/
d9e1b5f
%endif
d9e1b5f
d9e1b5f
# Remove generic parts of boost that were built for dependencies.
d9e1b5f
rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}*
d9e1b5f
d9e1b5f
%{_mpich_unload}
d9e1b5f
export PATH=/bin${PATH:+:}$PATH
d9e1b5f
%endif # with mpich
d9e1b5f
d9e1b5f
echo ============================= install serial ==================
d9e1b5f
./b2 -d+2 -q %{?_smp_mflags} \
d9e1b5f
	--without-mpi --without-graph_parallel --build-dir=serial \
d9e1b5f
%if !%{with context}
d9e1b5f
	--without-context --without-coroutine \
d9e1b5f
	--without-fiber \
d9e1b5f
%endif
d9e1b5f
	--prefix=$RPM_BUILD_ROOT%{_prefix} \
d9e1b5f
	--libdir=$RPM_BUILD_ROOT%{_libdir} \
d9e1b5f
	variant=release threading=multi debug-symbols=on pch=off \
d9e1b5f
	install
d9e1b5f
d9e1b5f
# Override DSO symlink with a linker script.  See the linker script
d9e1b5f
# itself for details of why we need to do this.
d9e1b5f
[ -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread.so ] # Must be present
d9e1b5f
rm -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread.so
d9e1b5f
install -p -m 644 $(basename %{SOURCE1}) $RPM_BUILD_ROOT%{_libdir}/
d9e1b5f
d9e1b5f
%if %{with python3}
d9e1b5f
echo ============================= install serial-py3 ==================
d9e1b5f
./b2 -d+2 -q %{?_smp_mflags} \
d9e1b5f
	--user-config=python3-config.jam \
d9e1b5f
	--with-python --build-dir=serial-py3 \
d9e1b5f
	--prefix=$RPM_BUILD_ROOT%{_prefix} \
d9e1b5f
	--libdir=$RPM_BUILD_ROOT%{_libdir} \
d9e1b5f
	variant=release threading=multi debug-symbols=on pch=off \
d9e1b5f
	python=%{python3_version} install
d9e1b5f
d9e1b5f
%endif
d9e1b5f
d9e1b5f
echo ============================= install Boost.Build ==================
d9e1b5f
(cd tools/build
d9e1b5f
 ./b2 --prefix=$RPM_BUILD_ROOT%{_prefix} install
d9e1b5f
 # Fix some permissions
d9e1b5f
 chmod -x $RPM_BUILD_ROOT%{_datadir}/boost-build/src/build/alias.py
d9e1b5f
 chmod -x $RPM_BUILD_ROOT%{_datadir}/boost-build/src/kernel/boost-build.jam
d9e1b5f
 chmod -x $RPM_BUILD_ROOT%{_datadir}/boost-build/src/options/help.jam
d9e1b5f
 chmod +x $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxproc.py
d9e1b5f
 # Fix shebang using unversioned python
d9e1b5f
 sed -i '1s@^#!/usr/bin.python$@&3@' $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxproc.py
d9e1b5f
 # We don't want to distribute this
d9e1b5f
 rm -f $RPM_BUILD_ROOT%{_bindir}/b2
d9e1b5f
 # Not a real file
d9e1b5f
 rm -f $RPM_BUILD_ROOT%{_datadir}/boost-build/src/build/project.ann.py
d9e1b5f
 # Empty file
d9e1b5f
 rm -f $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxygen/windows-paths-check.hpp
d9e1b5f
 # Install the manual page
d9e1b5f
 %{__install} -p -m 644 v2/doc/bjam.1 -D $RPM_BUILD_ROOT%{_mandir}/man1/bjam.1
d9e1b5f
)
d9e1b5f
d9e1b5f
echo ============================= install Boost.QuickBook ==================
d9e1b5f
(cd tools/quickbook
d9e1b5f
 ../build/b2 --prefix=$RPM_BUILD_ROOT%{_prefix}
d9e1b5f
 %{__install} -p -m 755 ../../dist/bin/quickbook $RPM_BUILD_ROOT%{_bindir}/
d9e1b5f
 cd ../boostbook
d9e1b5f
 find dtd -type f -name '*.dtd' | while read tobeinstalledfiles; do
d9e1b5f
   install -p -m 644 $tobeinstalledfiles -D $RPM_BUILD_ROOT%{_datadir}/boostbook/$tobeinstalledfiles
d9e1b5f
 done
d9e1b5f
 find xsl -type f | while read tobeinstalledfiles; do
d9e1b5f
   install -p -m 644 $tobeinstalledfiles -D $RPM_BUILD_ROOT%{_datadir}/boostbook/$tobeinstalledfiles
d9e1b5f
 done
d9e1b5f
)
d9e1b5f
d9e1b5f
# Install documentation files (HTML pages) within the temporary place
d9e1b5f
echo ============================= install documentation ==================
d9e1b5f
# Prepare the place to temporarily store the generated documentation
d9e1b5f
rm -rf %{boost_docdir} && %{__mkdir_p} %{boost_docdir}/html
d9e1b5f
DOCPATH=%{boost_docdir}
d9e1b5f
DOCREGEX='.*\.\(html?\|css\|png\|gif\)'
d9e1b5f
d9e1b5f
find libs doc more -type f -regex $DOCREGEX \
d9e1b5f
    | sed -n '/\//{s,/[^/]*$,,;p}' \
d9e1b5f
    | sort -u > tmp-doc-directories
d9e1b5f
d9e1b5f
sed "s:^:$DOCPATH/:" tmp-doc-directories \
d9e1b5f
    | xargs -P 0 --no-run-if-empty %{__install} -d
d9e1b5f
d9e1b5f
cat tmp-doc-directories | while read tobeinstalleddocdir; do
d9e1b5f
    find $tobeinstalleddocdir -mindepth 1 -maxdepth 1 -regex $DOCREGEX -print0 \
d9e1b5f
    | xargs -P 0 -0 %{__install} -p -m 644 -t $DOCPATH/$tobeinstalleddocdir
d9e1b5f
done
d9e1b5f
rm -f tmp-doc-directories
d9e1b5f
%{__install} -p -m 644 -t $DOCPATH LICENSE_1_0.txt index.htm index.html boost.png rst.css boost.css
d9e1b5f
d9e1b5f
echo ============================= install examples ==================
d9e1b5f
# Fix a few non-standard issues (DOS and/or non-UTF8 files)
d9e1b5f
sed -i -e 's/\r//g' libs/geometry/example/ml02_distance_strategy.cpp
d9e1b5f
for tmp_doc_file in flyweight/example/Jamfile.v2 \
d9e1b5f
 format/example/sample_new_features.cpp multi_index/example/Jamfile.v2 \
d9e1b5f
 multi_index/example/hashed.cpp serialization/example/demo_output.txt
d9e1b5f
do
d9e1b5f
  mv libs/${tmp_doc_file} libs/${tmp_doc_file}.iso8859
d9e1b5f
  iconv -f ISO8859-1 -t UTF8 < libs/${tmp_doc_file}.iso8859 > libs/${tmp_doc_file}
d9e1b5f
  touch -r libs/${tmp_doc_file}.iso8859 libs/${tmp_doc_file}
d9e1b5f
  rm -f libs/${tmp_doc_file}.iso8859
d9e1b5f
done
d9e1b5f
d9e1b5f
# Prepare the place to temporarily store the examples
d9e1b5f
rm -rf %{boost_examplesdir} && mkdir -p %{boost_examplesdir}/html
d9e1b5f
EXAMPLESPATH=%{boost_examplesdir}
d9e1b5f
find libs -type d -name example -exec find {} -type f \; \
d9e1b5f
    | sed -n '/\//{s,/[^/]*$,,;p}' \
d9e1b5f
    | sort -u > tmp-doc-directories
d9e1b5f
sed "s:^:$EXAMPLESPATH/:" tmp-doc-directories \
d9e1b5f
    | xargs -P 0 --no-run-if-empty %{__install} -d
d9e1b5f
rm -f tmp-doc-files-to-be-installed && touch tmp-doc-files-to-be-installed
d9e1b5f
cat tmp-doc-directories | while read tobeinstalleddocdir
d9e1b5f
do
d9e1b5f
  find $tobeinstalleddocdir -mindepth 1 -maxdepth 1 -type f \
d9e1b5f
    >> tmp-doc-files-to-be-installed
d9e1b5f
done
d9e1b5f
cat tmp-doc-files-to-be-installed | while read tobeinstalledfiles
d9e1b5f
do
d9e1b5f
  if test -s $tobeinstalledfiles
d9e1b5f
  then
d9e1b5f
    tobeinstalleddocdir=`dirname $tobeinstalledfiles`
d9e1b5f
    %{__install} -p -m 644 -t $EXAMPLESPATH/$tobeinstalleddocdir $tobeinstalledfiles
d9e1b5f
  fi
d9e1b5f
done
d9e1b5f
rm -f tmp-doc-files-to-be-installed
d9e1b5f
rm -f tmp-doc-directories
d9e1b5f
%{__install} -p -m 644 -t $EXAMPLESPATH LICENSE_1_0.txt
d9e1b5f
d9e1b5f
##
d9e1b5f
# Perform the necessary renaming according to package renaming
d9e1b5f
# Build Tools
d9e1b5f
mv -f $RPM_BUILD_ROOT%{_datadir}/{%{real_name}-build,%{name}-build}
d9e1b5f
mv -f $RPM_BUILD_ROOT%{_bindir}/{bjam,bjam%{version_suffix}}
d9e1b5f
mv -f $RPM_BUILD_ROOT%{_mandir}/man1/{bjam.1,bjam%{version_suffix}.1}
d9e1b5f
d9e1b5f
# MPI
d9e1b5f
mkdir -p $RPM_BUILD_ROOT{%{_includedir},%{_libdir}/{.,{mpich,mpich2,openmpi}/lib}}/%{name}
d9e1b5f
mv -f $RPM_BUILD_ROOT%{_includedir}/{%{real_name},%{name}}
d9e1b5f
mv -f $RPM_BUILD_ROOT%{_libdir}/{*.a,%{name}}
d9e1b5f
for library in $RPM_BUILD_ROOT%{_libdir}/*.so
d9e1b5f
do
d9e1b5f
  rm -f $library
d9e1b5f
  ln -s ../$(basename $library).%{sonamever} $RPM_BUILD_ROOT%{_libdir}/%{name}/$(basename $library)
d9e1b5f
done
d9e1b5f
d9e1b5f
%if %{with mpich}
d9e1b5f
mv -f $RPM_BUILD_ROOT%{_libdir}/mpich/lib/{*.a,%{name}}
d9e1b5f
for library in $RPM_BUILD_ROOT%{_libdir}/mpich/lib/*.so
d9e1b5f
do
d9e1b5f
  rm -f $library
d9e1b5f
  ln -s ../$(basename $library).%{sonamever} $RPM_BUILD_ROOT%{_libdir}/mpich/lib/%{name}/$(basename $library)
d9e1b5f
done
d9e1b5f
%endif # with mpich
d9e1b5f
d9e1b5f
%if %{with openmpi}
d9e1b5f
	%if 0%{?rhel} == 5
d9e1b5f
		mv -f $RPM_BUILD_ROOT%{_libdir}/openmpi/{1.4-gcc/lib/*,lib}
d9e1b5f
	%endif
d9e1b5f
mv -f $RPM_BUILD_ROOT%{_libdir}/openmpi/lib/{*.a,%{name}}
d9e1b5f
for library in $RPM_BUILD_ROOT%{_libdir}/openmpi/lib/*.so
d9e1b5f
do
d9e1b5f
  rm -f $library
d9e1b5f
  ln -s ../$(basename $library).%{sonamever} $RPM_BUILD_ROOT%{_libdir}/openmpi/lib/%{name}/$(basename $library)
d9e1b5f
done
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%clean
d9e1b5f
rm -rf $RPM_BUILD_ROOT
d9e1b5f
d9e1b5f
d9e1b5f
# MPI subpackages don't need the ldconfig magic.  They are hidden by
d9e1b5f
# default, in MPI back-end-specific directory, and only show to the
d9e1b5f
# user after the relevant environment module has been loaded.
d9e1b5f
# rpmlint will report that as errors, but it is fine.
d9e1b5f
d9e1b5f
%post atomic -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun atomic -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%post chrono -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun chrono -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%post container -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun container -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%post contract -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun contract -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%if %{with context}
d9e1b5f
%post context -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun context -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%post coroutine -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun coroutine -p /sbin/ldconfig
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%post date-time -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun date-time -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%post filesystem -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun filesystem -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%post graph -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun graph -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%post iostreams -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun iostreams -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%post locale -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun locale -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%post log -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun log -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%post math -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun math -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%post program-options -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun program-options -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%if %{with python3}
d9e1b5f
%post python3 -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun python3 -p /sbin/ldconfig
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%post random -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun random -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%post regex -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun regex -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%post serialization -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun serialization -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%post system -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun system -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%post test -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun test -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%post thread -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun thread -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%post timer -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun timer -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%post type_erasure -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun type_erasure -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%post wave -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%postun wave -p /sbin/ldconfig
d9e1b5f
d9e1b5f
%post doctools
d9e1b5f
CATALOG=%{_sysconfdir}/xml/catalog
d9e1b5f
%{_bindir}/xmlcatalog --noout --add "rewriteSystem" \
d9e1b5f
 "http://www.boost.org/tools/boostbook/dtd" \
d9e1b5f
 "file://%{_datadir}/boostbook/dtd" $CATALOG
d9e1b5f
%{_bindir}/xmlcatalog --noout --add "rewriteURI" \
d9e1b5f
 "http://www.boost.org/tools/boostbook/dtd" \
d9e1b5f
 "file://%{_datadir}/boostbook/dtd" $CATALOG
d9e1b5f
%{_bindir}/xmlcatalog --noout --add "rewriteSystem" \
d9e1b5f
 "http://www.boost.org/tools/boostbook/xsl" \
d9e1b5f
 "file://%{_datadir}/boostbook/xsl" $CATALOG
d9e1b5f
%{_bindir}/xmlcatalog --noout --add "rewriteURI" \
d9e1b5f
 "http://www.boost.org/tools/boostbook/xsl" \
d9e1b5f
 "file://%{_datadir}/boostbook/xsl" $CATALOG
d9e1b5f
d9e1b5f
%postun doctools
d9e1b5f
# remove entries only on removal of package
d9e1b5f
if [ "$1" = 0 ]; then
d9e1b5f
  CATALOG=%{_sysconfdir}/xml/catalog
d9e1b5f
  %{_bindir}/xmlcatalog --noout --del \
d9e1b5f
    "file://%{_datadir}/boostbook/dtd" $CATALOG
d9e1b5f
  %{_bindir}/xmlcatalog --noout --del \
d9e1b5f
    "file://%{_datadir}/boostbook/xsl" $CATALOG
d9e1b5f
fi
d9e1b5f
d9e1b5f
d9e1b5f
%files
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
d9e1b5f
%files atomic
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_atomic*.so.%{sonamever}
d9e1b5f
d9e1b5f
%files chrono
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_chrono*.so.%{sonamever}
d9e1b5f
d9e1b5f
%files container
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_container*.so.%{sonamever}
d9e1b5f
d9e1b5f
%if %{with context}
d9e1b5f
d9e1b5f
%files context
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_context*.so.%{sonamever}
d9e1b5f
d9e1b5f
%files coroutine
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_coroutine*.so.%{sonamever}
d9e1b5f
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%files date-time
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_date_time*.so.%{sonamever}
d9e1b5f
d9e1b5f
%if %{with context}
d9e1b5f
%files fiber
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
a832fe8
%{_libdir}/libboost_fiber*.so.%{sonamever}
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%files filesystem
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_filesystem*.so.%{sonamever}
d9e1b5f
d9e1b5f
%files graph
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_graph*.so.%{sonamever}
d9e1b5f
d9e1b5f
%files iostreams
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_iostreams*.so.%{sonamever}
d9e1b5f
d9e1b5f
%files locale
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_locale*.so.%{sonamever}
d9e1b5f
d9e1b5f
%files log
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_log*.so.%{sonamever}
d9e1b5f
d9e1b5f
%files math
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_math_c99.so.%{sonamever}
d9e1b5f
%{_libdir}/libboost_math_c99f*.so.%{sonamever}
d9e1b5f
%{_libdir}/libboost_math_c99l*.so.%{sonamever}
d9e1b5f
%{_libdir}/libboost_math_tr1.so.%{sonamever}
d9e1b5f
%{_libdir}/libboost_math_tr1f*.so.%{sonamever}
d9e1b5f
%{_libdir}/libboost_math_tr1l*.so.%{sonamever}
d9e1b5f
d9e1b5f
%if %{with python3}
d9e1b5f
%files numpy3
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_numpy3*.so.%{sonamever}
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%files test
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_prg_exec_monitor*.so.%{sonamever}
d9e1b5f
%{_libdir}/libboost_unit_test_framework*.so.%{sonamever}
d9e1b5f
d9e1b5f
%files program-options
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_program_options*.so.%{sonamever}
d9e1b5f
d9e1b5f
%if %{with python3}
d9e1b5f
%files python3
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_python3*.so.%{sonamever}
d9e1b5f
d9e1b5f
%files python3-devel
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
#%%{_libdir}/libboost_numpy3*.so
d9e1b5f
#%%{_libdir}/libboost_python3*.so
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%files random
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_random*.so.%{sonamever}
d9e1b5f
d9e1b5f
%files regex
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_regex*.so.%{sonamever}
d9e1b5f
d9e1b5f
%files serialization
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_serialization*.so.%{sonamever}
d9e1b5f
%{_libdir}/libboost_wserialization*.so.%{sonamever}
d9e1b5f
d9e1b5f
%files stacktrace
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_stacktrace_addr2line*.so.%{sonamever}
d9e1b5f
%{_libdir}/libboost_stacktrace_basic*.so.%{sonamever}
d9e1b5f
%{_libdir}/libboost_stacktrace_noop*.so.%{sonamever}
d9e1b5f
d9e1b5f
%files system
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_system*.so.%{sonamever}
d9e1b5f
d9e1b5f
%files thread
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_thread*.so.%{sonamever}
d9e1b5f
d9e1b5f
%files timer
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_timer*.so.%{sonamever}
d9e1b5f
d9e1b5f
%files type_erasure
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_type_erasure*.so.%{sonamever}
d9e1b5f
d9e1b5f
%files wave
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_wave*.so.%{sonamever}
d9e1b5f
d9e1b5f
%files contract
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/libboost_contract*.so.%{sonamever}
d9e1b5f
d9e1b5f
%files doc
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%doc %{boost_docdir}/*
d9e1b5f
d9e1b5f
%files examples
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%doc %{boost_examplesdir}/*
d9e1b5f
d9e1b5f
%files devel
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_includedir}/%{name}
d9e1b5f
%{_libdir}/%{name}/libboost_*.so
d9e1b5f
d9e1b5f
%files static
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/%{name}/*.a
d9e1b5f
%if %{with mpich}
d9e1b5f
%{_libdir}/mpich/lib/%{name}/*.a
d9e1b5f
%endif # with mpich
d9e1b5f
%if %{with openmpi}
d9e1b5f
%{_libdir}/openmpi/lib/%{name}/*.a
d9e1b5f
%endif
d9e1b5f
d9e1b5f
# OpenMPI packages
d9e1b5f
%if %{with openmpi}
d9e1b5f
d9e1b5f
%files openmpi
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/openmpi/lib/libboost_mpi*.so.%{sonamever}
d9e1b5f
d9e1b5f
%files openmpi-devel
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/openmpi/lib/%{name}/libboost_*.so
d9e1b5f
d9e1b5f
%if %{with python3}
d9e1b5f
d9e1b5f
%files openmpi-python3
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/openmpi/lib/libboost_mpi_python3*.so.%{sonamever}
d9e1b5f
%{python3_sitearch}/openmpi/boost/
d9e1b5f
d9e1b5f
%files openmpi-python3-devel
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/openmpi/lib/%{name}/libboost_mpi_python3*.so
d9e1b5f
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%files graph-openmpi
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/openmpi/lib/libboost_graph_parallel*.so.%{sonamever}
d9e1b5f
d9e1b5f
%endif
d9e1b5f
d9e1b5f
# MPICH packages
d9e1b5f
%if %{with mpich}
d9e1b5f
d9e1b5f
%files mpich
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/mpich/lib/libboost_mpi*.so.%{sonamever}
d9e1b5f
d9e1b5f
%files mpich-devel
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/mpich/lib/%{name}/libboost_*.so
d9e1b5f
d9e1b5f
%if %{with python3}
d9e1b5f
d9e1b5f
%files mpich-python3
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/mpich/lib/libboost_mpi_python3*.so.%{sonamever}
d9e1b5f
%{python3_sitearch}/mpich/boost/
d9e1b5f
d9e1b5f
%files mpich-python3-devel
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/mpich/lib/%{name}/libboost_mpi_python3*.so
d9e1b5f
d9e1b5f
%endif
d9e1b5f
d9e1b5f
%files graph-mpich
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_libdir}/mpich/lib/libboost_graph_parallel*.so.%{sonamever}
d9e1b5f
d9e1b5f
%endif # with mpich
d9e1b5f
d9e1b5f
%files build
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_datadir}/%{name}-build/
d9e1b5f
d9e1b5f
%files doctools
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_bindir}/quickbook
d9e1b5f
%{_datadir}/boostbook/
d9e1b5f
d9e1b5f
%files jam
d9e1b5f
%defattr(-, root, root, -)
d9e1b5f
%license LICENSE_1_0.txt
d9e1b5f
%{_bindir}/bjam%{version_suffix}
d9e1b5f
%{_mandir}/man1/bjam%{version_suffix}.1*
d9e1b5f
d9e1b5f
%changelog
d881263
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.69.0-6
d881263
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
d881263
7ca2778
* Mon Nov 11 2019 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 1.69.0-5
7ca2778
- Fixed the dependency on Python3 NumPy
7ca2778
- Dropped support for Python 2
7ca2778
9f3122b
* Fri Nov 01 2019 Pete Walter <pwalter@fedoraproject.org> - 1.69.0-4
9f3122b
- Rebuild for ICU 65
9f3122b
a832fe8
* Fri Nov 1 2019 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 1.69.0-3
a832fe8
- First build on EPEL 8
a832fe8
dcb3796
* Tue Apr 23 2019 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 1.69.0-2
dcb3796
- Rebuild for Python 3.6 (upgraded from Python 3.4 by default)
dcb3796
d9e1b5f
* Wed Jan 23 2019 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 1.69.0-1
d9e1b5f
- Transformed boost-1.69.0-1 into boost169-1.69.0-1 (BZ#1667725)
d9e1b5f