diff --git a/boost.spec b/boost.spec index c0482b407fed2b746ec57ea0bce0e4d4c94dc3ef..3398d79496bc930acd46682a0275bcf32b2c6a9a 100644 --- a/boost.spec +++ b/boost.spec @@ -9,7 +9,7 @@ Name: boost Version: 1.78.0 -Release: 3 +Release: 4 Summary: The free peer-reviewed portable C++ source libraries License: Boost Software License 1.0 URL: http://www.boost.org @@ -31,16 +31,19 @@ Requires: %{name}-atomic%{?_isa} = %{version}-%{release} Requires: %{name}-chrono%{?_isa} = %{version}-%{release} Requires: %{name}-container%{?_isa} = %{version}-%{release} Requires: %{name}-context%{?_isa} = %{version}-%{release} +Requires: %{name}-contract%{?_isa} = %{version}-%{release} Requires: %{name}-coroutine%{?_isa} = %{version}-%{release} Requires: %{name}-date-time%{?_isa} = %{version}-%{release} Requires: %{name}-filesystem%{?_isa} = %{version}-%{release} Requires: %{name}-graph%{?_isa} = %{version}-%{release} Requires: %{name}-iostreams%{?_isa} = %{version}-%{release} +Requires: %{name}-json%{?_isa} = %{version}-%{release} Requires: %{name}-locale%{?_isa} = %{version}-%{release} Requires: %{name}-log%{?_isa} = %{version}-%{release} Requires: %{name}-math%{?_isa} = %{version}-%{release} Requires: %{name}-nowide%{?_isa} = %{version}-%{release} Requires: %{name}-program-options%{?_isa} = %{version}-%{release} +Requires: %{name}-python3%{?_isa} = %{version}-%{release} Requires: %{name}-random%{?_isa} = %{version}-%{release} Requires: %{name}-regex%{?_isa} = %{version}-%{release} Requires: %{name}-serialization%{?_isa} = %{version}-%{release} @@ -50,298 +53,194 @@ Requires: %{name}-thread%{?_isa} = %{version}-%{release} Requires: %{name}-timer%{?_isa} = %{version}-%{release} Requires: %{name}-type_erasure%{?_isa} = %{version}-%{release} Requires: %{name}-wave%{?_isa} = %{version}-%{release} -Requires: %{name}-contract%{?_isa} = %{version}-%{release} BuildRequires: gcc-c++ -BuildRequires: bzip2-devel zlib-devel libicu-devel -BuildRequires: python3-devel python3-numpy +# required by python3 +BuildRequires: python3-devel +# optional library for asio +BuildRequires: openssl-devel +# optional libraries for iostreams +BuildRequires: bzip2-devel libzstd-devel xz-devel zlib-devel +# optional library for multiprecision BuildRequires: libquadmath-devel +# optional library for python3 +BuildRequires: python3-numpy +# optional library for regex +BuildRequires: libicu-devel -Obsoletes: boost-signals +Obsoletes: boost-signals < 1.69.0 %description -Boost provides free peer-reviewed portable C++ source libraries. The -emphasis is on libraries which work well with the C++ Standard -Library. In order to establish "existing practice" and provide -reference implementations so that the Boost libraries are suitable -for eventual standardization. Ten Boost libraries are included in -the C++ Standards Committee's Library Technical Report (TR1) and in -the new C++11 Standard. C++11 also includes several more Boost -libraries in addition to those from TR1. More Boost libraries are -proposed for standardization in C++17. +Boost provides free peer-reviewed portable C++ source libraries. -%package contract -Summary: Boost.Contract runtime library - -%description contract -Runtime support for Boost.Contract, a library that implements -Design by Contract or DbC or contract programming. +We emphasize libraries that work well with the C++ Standard Library. +Boost libraries are intended to be widely useful, and usable across +a broad spectrum of applications. The Boost license encourages +the use of Boost libraries for all users with minimal restrictions. %package atomic -Summary: C++11-style atomic<> +Summary: Run-time component for boost atomic. %description atomic - -Boost.Atomic is 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. -It implements the interface as defined by the C++11 standard,but makes -this feature available for platforms lacking system/compiler support -for this particular C++11 feature. +C++11-style atomic<>. %package chrono -Summary: Useful time utilities C++11 +Summary: Run-time component for boost chrono. %description chrono - -Boost.Chrono implements the new time facilities in C++11, as proposed in -N2661 - A Foundation to Sleep On. That document provides background and -motivation for key design decisions and is the source of a good deal of -information in this documentation. In addition to the clocks provided by -the standard proposal, Boost.Chrono provides specific process and thread -clocks. +Useful time utilities. %package container -Summary: Standard library containers and extensions +Summary: Run-time component for boost container. %description container - -Boost.Container library implements several well-known containers, -including STL containers. The aim of the library is to offer advanced -features not present in standard containers or to offer the latest -standard draft features for compilers that don't comply with the latest -C++. +Standard library containers and extensions. %package context -Summary: (C++11) Context switching library +Summary: Run-time component for boost context. %description context +(C++11) Context switching library. -Boost.Context is a foundational library that provides a sort of -cooperative multitasking on a single thread. By providing an abstraction -of the current execution state in the current thread, including the stack -(with local variables) and stack pointer, all registers and CPU flags, -and the instruction pointer, a execution context represents a specific -point in the application's execution path. This is useful for building -higher-level abstractions, like coroutines, cooperative threads -(userland threads) or an equivalent to C# keyword yield in C++. +%package contract +Summary: Run-time component for boost contract. + +%description contract +Contract programming for C++. %package coroutine -Summary: Run-time component of boost coroutine library +Summary: Run-time component for boost coroutine. %description coroutine -Boost.Coroutine provides templates for generalized subroutines which -allow suspending and resuming execution at certain locations. It -preserves the local state of execution and allows re-entering -subroutines more than once (useful if state must be kept across function -calls). +(deprecated) Coroutine library. %package date-time -Summary: A set of date-time libraries based on generic programming concepts +Summary: Run-time component for boost date-time. %description date-time - -Boost Date Time is a set of date-time libraries based on generic -programming concepts. +A set of date-time libraries based on generic programming concepts. %package filesystem -Summary: Run-time component of boost filesystem library +Summary: Run-time component for boost filesystem. %description filesystem - -The Boost Filesystem Library provides portable facilities to query and -manipulate paths, files, and directories. +Portable facilities to query and manipulate paths, files, and directories. %package graph -Summary: Run-time component of boost graph library +Summary: Run-time component for boost graph. Requires: boost-regex%{?_isa} = %{version}-%{release} %description graph - -BGL interface and graph components are generic, in the same sense as -the Standard Template Library (STL). +The BGL graph interface and graph components are generic. %package iostreams -Summary: Run-time component of boost iostreams library +Summary: Run-time component for boost iostreams. %description iostreams - -Boost.Iostreams provides a framework for defining streams, stream -buffers and i/o filters. +A framework for defining streams, stream buffers and i/o filters. %package json -Summary: Run-time component of boost json library +Summary: Run-time component for boost json. %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" +JSON parsing, serialization, and DOM in C++11 %package locale -Summary: Run-time component of boost locale library +Summary: Run-time component for boost locale. Requires: boost-chrono%{?_isa} = %{version}-%{release} Requires: boost-thread%{?_isa} = %{version}-%{release} %description locale - -Boost.Locale provide a set of localization and Unicode handling tools. +Provide localization and Unicode handling tools for C++. %package log -Summary: Run-time component of boost logging library +Summary: Run-time component for boost log. %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. +Logging library. %package math -Summary: Math functions for boost TR1 library +Summary: Run-time component for boost math. %description math - -Boost.Math includes several contributions in the domain of mathematics: -The Greatest Common Divisor and Least Common Multiple library provides -run-time and compile-time evaluation of the greatest common divisor -(GCD) or least common multiple (LCM) of two integers. The Special -Functions library currently provides eight templated special functions, -in namespace boost. The Complex Number Inverse Trigonometric Functions -are the inverses of trigonometric functions currently present in the C++ -standard. Quaternions are a relative of complex numbers often used to -parameterise rotations in three dimentional space. Octonions, like -quaternions, are a relative of complex numbers. +Boost.Math includes several contributions in the domain of mathematics. %package nowide -Summary: Standard library functions with UTF-8 API on Windows +Summary: Run-time component for boost nowide. %description nowide +Standard library functions with UTF-8 API on Windows. -Run-time support for Boost.Nowide. - -%package numpy3 -Summary: Run-time component of boost numpy library for Python 3 -Requires: boost-python3%{?_isa} = %{version}-%{release} -Requires: python3-numpy - -%description numpy3 +%package program-options +Summary: Run-time component for boost program-options. -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. +%description program-options +The program_options library allows program developers to obtain program options. %package python3 -Summary: Run-time component of boost python library for Python 3 +Summary: Run-time component for boost python. %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 the Boost Python Library compiled for Python 3. - -%package python3-devel -Summary: Shared object symbolic links for Boost.Python 3 -Requires: boost-numpy3%{?_isa} = %{version}-%{release} -Requires: boost-python3%{?_isa} = %{version}-%{release} -Requires: boost-devel%{?_isa} = %{version}-%{release} - -%description python3-devel - -Shared object symbolic links for Python 3 variant of Boost.Python. - -%package program-options -Summary: Run-time component of boost program_options library - -%description program-options - -Boost program options library allows program developers to obtain -(name, value) pairs from the user, via conventional methods such as -command line and config file. +A framework for interfacing Python and C++. %package random -Summary: A complete system for random number generation +Summary: Run-time component for boost random. %description random - -The Boost Random Number Library provides a variety of generators and -distributions to produce random numbers having useful properties, -such as uniform distribution. +A complete system for random number generation. %package regex -Summary: Run-time component of boost regular expression library +Summary: Run-time component for boost regex. %description regex - Regular expression library. %package serialization -Summary: Run-time component of boost serialization library +Summary: Run-time component for boost serialization. %description serialization - -Run-time support for serialization for persistence and marshaling. +Serialization for persistence and marshalling. %package system -Summary: Run-time component of boost system support library +Summary: Run-time component for boost system. %description system - -Boost operating system support library, including the diagnostics support -that will be part of the C++0x standard library. +Extensible error reporting. %package test -Summary: Run-time component of boost test library +Summary: Run-time component for boost test. %description test - -Support for simple program testing, full unit testing, and for program -execution monitoring. +Support for simple program testing, full unit testing, and for program execution monitoring. %package thread -Summary: Run-time component of boost thread library +Summary: Run-time component for boost thread. %description thread - -Boost.Thread enables the use of multiple threads of execution with shared -data in portable C++ code. It provides classes and functions for managing -the threads themselves, along with others for synchronizing data between -the threads or providing separate copies of data specific to individual -threads. +Portable C++ multi-threading. %package timer -Summary: Event timer, progress timer, and progress display classes +Summary: Run-time component for boost timer. Requires: boost-chrono%{?_isa} = %{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. +Event timer, progress timer, and progress display classes. %package type_erasure -Summary: Run-time component of boost type erasure library +Summary: Run-time component for boost type-erasure. Requires: boost-chrono%{?_isa} = %{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. +Runtime polymorphism based on concepts. %package wave -Summary: Run-time component of boost C99/C++ preprocessing library +Summary: Run-time component for boost wave. Requires: boost-chrono%{?_isa} = %{version}-%{release} Requires: boost-filesystem%{?_isa} = %{version}-%{release} Requires: boost-thread%{?_isa} = %{version}-%{release} %description wave - -The Boost.Wave library is a Standards conforming, and highly -configurable implementation of the mandated C99/C++ preprocessor -functionality packed behind an easy to use iterator interface. +An implementation of the mandated C99/C++ preprocessor functionality. %package devel Summary: The Boost C++ headers, shared and static development libraries @@ -349,7 +248,7 @@ Requires: boost%{?_isa} = %{version}-%{release} Requires: libicu-devel%{?_isa} Requires: libquadmath-devel%{?_isa} Provides: boost-static -Obsoletes: boost-static +Obsoletes: boost-static < %{version} %description devel Headers shared object symbolic links for the Boost C++ libraries and static @@ -746,14 +645,9 @@ if [ "$1" = 0 ]; then %{_bindir}/xmlcatalog --noout --del "file://%{_datadir}/boostbook/xsl" $CATALOG fi - %files %license LICENSE_1_0.txt -%files contract -%license LICENSE_1_0.txt -%{_libdir}/libboost_contract.so.%{version} - %files atomic %license LICENSE_1_0.txt %{_libdir}/libboost_atomic.so.%{version} @@ -770,6 +664,10 @@ fi %license LICENSE_1_0.txt %{_libdir}/libboost_context.so.%{version} +%files contract +%license LICENSE_1_0.txt +%{_libdir}/libboost_contract.so.%{version} + %files coroutine %license LICENSE_1_0.txt %{_libdir}/libboost_coroutine.so.%{version} @@ -816,27 +714,14 @@ fi %license LICENSE_1_0.txt %{_libdir}/libboost_nowide.so.%{version} -%files numpy3 +%files program-options %license LICENSE_1_0.txt -%{_libdir}/libboost_numpy%{python3_version_nodots}.so.%{version} +%{_libdir}/libboost_program_options.so.%{version} %files python3 %license LICENSE_1_0.txt %{_libdir}/libboost_python%{python3_version_nodots}.so.%{version} - -%files python3-devel -%license LICENSE_1_0.txt -%{_libdir}/libboost_numpy%{python3_version_nodots}.so -%{_libdir}/libboost_python%{python3_version_nodots}.so - -%files test -%license LICENSE_1_0.txt -%{_libdir}/libboost_prg_exec_monitor.so.%{version} -%{_libdir}/libboost_unit_test_framework.so.%{version} - -%files program-options -%license LICENSE_1_0.txt -%{_libdir}/libboost_program_options.so.%{version} +%{_libdir}/libboost_numpy%{python3_version_nodots}.so.%{version} %files random %license LICENSE_1_0.txt @@ -855,6 +740,11 @@ fi %license LICENSE_1_0.txt %{_libdir}/libboost_system.so.%{version} +%files test +%license LICENSE_1_0.txt +%{_libdir}/libboost_prg_exec_monitor.so.%{version} +%{_libdir}/libboost_unit_test_framework.so.%{version} + %files thread %license LICENSE_1_0.txt %{_libdir}/libboost_thread.so.%{version} @@ -875,8 +765,6 @@ fi %doc %{boost_docdir}/* %files devel -%exclude %{_libdir}/libboost_numpy%{python3_version_nodots}.so -%exclude %{_libdir}/libboost_python%{python3_version_nodots}.so %license LICENSE_1_0.txt %{_includedir}/%{name} %{_libdir}/*.so @@ -956,6 +844,10 @@ fi %{_mandir}/man1/bjam.1* %changelog +* Fri Dec 24 2021 sdlzx - 1.78.0-4 +- Update package info +- Reference: https://www.boost.org/doc/libs/1_78_0/ + * Sun Dec 19 2021 sdlzx - 1.78.0-3 - Simplify spec: extract common b2 configs into b2_config