X-Git-Url: http://git.pld-linux.org/?p=packages%2Fboost.git;a=blobdiff_plain;f=boost.spec;h=2cc9ee5c89445d7eb4d0741db933c590f3d86165;hp=3da20a6ad0b6e5331c09f1f6a719dae79fbd38da;hb=HEAD;hpb=fa26295eb98b0269cea2a4dbb7aeeac5a82d2c88 diff --git a/boost.spec b/boost.spec index 3da20a6..b3f27b0 100644 --- a/boost.spec +++ b/boost.spec @@ -4,93 +4,63 @@ # - split shared libs from core package into -iostreams/-serialization. # # Conditional build: -%bcond_without python # without boost-python support -# +%bcond_without python2 # boost-python[2] support +%bcond_without python3 # boost-python3 support +%bcond_without numpy # boost-numpy support +%bcond_without doc # don't package documentation + %define fver %(echo %{version} | tr . _) Summary: The Boost C++ Libraries Summary(pl.UTF-8): Biblioteki C++ "Boost" Name: boost -Version: 1.54.0 -Release: 4 +Version: 1.82.0 +Release: 1 License: Boost Software License and others Group: Libraries -Source0: http://downloads.sourceforge.net/boost/%{name}_%{fver}.tar.bz2 -# Source0-md5: 15cb8c0803064faef0c4ddf5bc5ca279 +Source0: https://boostorg.jfrog.io/artifactory/main/release/%{version}/source/%{name}_%{fver}.tar.bz2 +# Source0-md5: b45dac8b54b58c087bfbed260dbfc03a Patch0: %{name}-link.patch -Patch1: %{name}-stdint.patch - -# Upstream patches posted as release notes: -# http://www.boost.org/users/history/version_1_54_0.html -Patch100: 001-coroutine.patch -Patch101: 002-date-time.patch -Patch102: 003-log.patch - +Patch1: %{name}-clean-gcc-flags.patch +Patch2: %{name}-fallthrough.patch +Patch3: uarg-def.patch # FC Patches: -# https://svn.boost.org/trac/boost/ticket/8826 -Patch200: boost-1.54.0-context-execstack.patch -# https://svn.boost.org/trac/boost/ticket/8844 -Patch201: boost-1.54.0-bind-static_assert.patch -# https://svn.boost.org/trac/boost/ticket/8847 -Patch202: boost-1.54.0-concept-unused_typedef.patch +Patch201: %{name}-python-abi_letters.patch # https://svn.boost.org/trac/boost/ticket/5637 -Patch203: boost-1.54.0-mpl-print.patch -# https://svn.boost.org/trac/boost/ticket/8859 -Patch204: boost-1.54.0-static_warning-unused_typedef.patch -# https://svn.boost.org/trac/boost/ticket/8855 -Patch205: boost-1.54.0-math-unused_typedef.patch -Patch206: boost-1.54.0-math-unused_typedef-2.patch -# https://svn.boost.org/trac/boost/ticket/8853 -Patch207: boost-1.54.0-tuple-unused_typedef.patch -# https://svn.boost.org/trac/boost/ticket/8854 -Patch208: boost-1.54.0-random-unused_typedef.patch -# https://svn.boost.org/trac/boost/ticket/8856 -Patch209: boost-1.54.0-date_time-unused_typedef.patch -Patch210: boost-1.54.0-date_time-unused_typedef-2.patch -# https://svn.boost.org/trac/boost/ticket/8870 -Patch211: boost-1.54.0-spirit-unused_typedef.patch -Patch212: boost-1.54.0-spirit-unused_typedef-2.patch -# https://svn.boost.org/trac/boost/ticket/8871 -Patch213: boost-1.54.0-numeric-unused_typedef.patch -# https://svn.boost.org/trac/boost/ticket/8872 -Patch214: boost-1.54.0-multiprecision-unused_typedef.patch -# https://svn.boost.org/trac/boost/ticket/8874 -Patch215: boost-1.54.0-unordered-unused_typedef.patch -# https://svn.boost.org/trac/boost/ticket/8876 -Patch216: boost-1.54.0-algorithm-unused_typedef.patch -# https://svn.boost.org/trac/boost/ticket/8877 -Patch217: boost-1.54.0-graph-unused_typedef.patch -# https://svn.boost.org/trac/boost/ticket/8878 -Patch218: boost-1.54.0-locale-unused_typedef.patch -# https://svn.boost.org/trac/boost/ticket/8879 -Patch219: boost-1.54.0-property_tree-unused_typedef.patch -# https://svn.boost.org/trac/boost/ticket/8880 -Patch220: boost-1.54.0-xpressive-unused_typedef.patch +Patch203: %{name}-1.54.0-mpl-print.patch # https://svn.boost.org/trac/boost/ticket/8881 -Patch221: boost-1.54.0-mpi-unused_typedef.patch -# https://svn.boost.org/trac/boost/ticket/8888 -Patch222: boost-1.54.0-python-unused_typedef.patch -# https://svn.boost.org/trac/boost/ticket/8941 -Patch223: boost-1.54.0-lexical_cast-int128.patch -# https://svn.boost.org/trac/boost/ticket/9038 -Patch224: boost-1.54.0-pool-test_linking.patch -# https://svn.boost.org/trac/boost/ticket/9037 -Patch225: boost-1.54.0-thread-cond_variable_shadow.patch -# https://svn.boost.org/trac/boost/ticket/9041 -Patch226: boost-1.54.0-thread-link_atomic.patch +Patch221: %{name}-1.54.0-mpi-unused_typedef.patch URL: http://www.boost.org/ BuildRequires: bzip2-devel BuildRequires: expat-devel BuildRequires: libicu-devel -BuildRequires: libstdc++-devel +BuildRequires: libstdc++-devel >= 6:4.7 BuildRequires: perl-base -%{?with_python:BuildRequires: python-devel >= 2.2} +%if %{with python2} +BuildRequires: python-devel >= 2.2 +%{?with_numpy:BuildRequires: python-numpy-devel} +%endif +%if %{with python3} +BuildRequires: python3-devel +%{?with_numpy:BuildRequires: python3-numpy-devel} +%endif +BuildRequires: rpm-build >= 4.6 BuildRequires: rpm-pythonprov +BuildRequires: rpmbuild(macros) >= 1.750 BuildRequires: zlib-devel -BuildConflicts: gcc = 5:3.3.1 +Obsoletes: boost-signals < 1.69 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define specflags -DBOOST_IOSTREAMS_USE_DEPRECATED=1 +%define py2v %(echo %{py_ver} | tr -d .) +%define py3v %(echo %{py3_ver} | tr -d .) + +%if %{_ver_ge "%{py3_ver}" "3.8"} +%define py3v_suffix "" +%else +%define py3v_suffix "m" +%endif + %description The Boost web site provides free peer-reviewed portable C++ source libraries. The emphasis is on libraries which work well with the C++ @@ -117,51 +87,54 @@ Requires: %{name} = %{version}-%{release} Requires: %{name}-chrono = %{version}-%{release} Requires: %{name}-context = %{version}-%{release} Requires: %{name}-date_time = %{version}-%{release} +Requires: %{name}-fiber = %{version}-%{release} Requires: %{name}-filesystem = %{version}-%{release} Requires: %{name}-graph = %{version}-%{release} +Requires: %{name}-json = %{version}-%{release} Requires: %{name}-locale = %{version}-%{release} +Requires: %{name}-log = %{version}-%{release} Requires: %{name}-program_options = %{version}-%{release} Requires: %{name}-regex = %{version}-%{release} -Requires: %{name}-signals = %{version}-%{release} Requires: %{name}-system = %{version}-%{release} Requires: %{name}-test = %{version}-%{release} Requires: %{name}-thread = %{version}-%{release} Requires: %{name}-timer = %{version}-%{release} +Requires: %{name}-url = %{version}-%{release} Requires: %{name}-wave = %{version}-%{release} -Requires: libstdc++-devel -Obsoletes: boost-any-devel -Obsoletes: boost-array-devel -Obsoletes: boost-asio -Obsoletes: boost-bind-devel -Obsoletes: boost-call_traits-devel -Obsoletes: boost-compatibility-devel -Obsoletes: boost-compose-devel -Obsoletes: boost-compressed_pair-devel -Obsoletes: boost-concept_check-devel -Obsoletes: boost-conversion-devel -Obsoletes: boost-crc-devel -Obsoletes: boost-date_time-devel -Obsoletes: boost-filesystem-devel -Obsoletes: boost-graph-devel -Obsoletes: boost-mem_fn-devel -Obsoletes: boost-mpl-devel -Obsoletes: boost-preprocessor-devel -Obsoletes: boost-program_options-devel -Obsoletes: boost-ref-devel -Obsoletes: boost-regex-devel -Obsoletes: boost-signals-devel -Obsoletes: boost-spirit-devel -Obsoletes: boost-statechart-devel -Obsoletes: boost-static_assert-devel -Obsoletes: boost-test-devel -Obsoletes: boost-thread-devel -Obsoletes: boost-tr1-devel -Obsoletes: boost-type_traits-devel -Obsoletes: boost-typeof-devel -Obsoletes: boost-uBLAS-devel -Obsoletes: boost-utility-devel -Obsoletes: boost-wave-devel -Obsoletes: boost-xpressive-devel +Requires: libstdc++-devel >= 6:4.7 +Obsoletes: boost-any-devel < 1.35 +Obsoletes: boost-array-devel < 1.35 +Obsoletes: boost-asio < 1.3.0 +Obsoletes: boost-bind-devel < 1.35 +Obsoletes: boost-call_traits-devel < 1.34.1-2 +Obsoletes: boost-compatibility-devel < 1.35 +Obsoletes: boost-compose-devel < 1.31 +Obsoletes: boost-compressed_pair-devel < 1.35 +Obsoletes: boost-concept_check-devel < 1.33.1-1 +Obsoletes: boost-conversion-devel < 1.33.1-1 +Obsoletes: boost-crc-devel < 1.35 +Obsoletes: boost-date_time-devel < 1.35 +Obsoletes: boost-filesystem-devel < 1.35 +Obsoletes: boost-graph-devel < 1.35 +Obsoletes: boost-mem_fn-devel < 1.33.1-1 +Obsoletes: boost-mpl-devel < 1.33.1-1 +Obsoletes: boost-preprocessor-devel < 1.33.1-1 +Obsoletes: boost-program_options-devel < 1.35 +Obsoletes: boost-ref-devel < 1.34.1-2 +Obsoletes: boost-regex-devel < 1.35 +Obsoletes: boost-signals-devel < 1.35 +Obsoletes: boost-spirit-devel < 1.35 +Obsoletes: boost-statechart-devel < 1.35 +Obsoletes: boost-static_assert-devel < 1.33.1-1 +Obsoletes: boost-test-devel < 1.35 +Obsoletes: boost-thread-devel < 1.35 +Obsoletes: boost-tr1-devel < 1.35 +Obsoletes: boost-type_traits-devel < 1.33.1-1 +Obsoletes: boost-typeof-devel < 1.35 +Obsoletes: boost-uBLAS-devel < 1.35 +Obsoletes: boost-utility-devel < 1.33.1-1 +Obsoletes: boost-wave-devel < 1.35 +Obsoletes: boost-xpressive-devel < 1.35 %description devel Header files for the Boost C++ libraries. @@ -174,7 +147,15 @@ Summary: Static version of base Boost C++ libraries Summary(pl.UTF-8): Statyczne wersje podstawowych bibliotek C++ Boost Group: Development/Libraries Requires: %{name}-devel = %{version}-%{release} -Obsoletes: boost-static < 1.33 +Obsoletes: boost-date_time-static < 1.35 +Obsoletes: boost-filesystem-static < 1.35 +Obsoletes: boost-graph-static < 1.35 +Obsoletes: boost-program_options-static < 1.35 +Obsoletes: boost-regex-static < 1.35 +Obsoletes: boost-signals-static < 1.35 +Obsoletes: boost-test-static < 1.35 +Obsoletes: boost-thread-static < 1.35 +Obsoletes: boost-wave-static < 1.35 %description static Static version of base Boost C++ libraries. @@ -182,53 +163,117 @@ Static version of base Boost C++ libraries. %description static -l pl.UTF-8 Statyczne wersje podstawowych bibliotek C++ Boost. +%package python-devel-common +Summary: Boost.Python development headers +Summary(pl.UTF-8): Pliki nagłówkowe biblioteki Boost.Python +Group: Development/Libraries +Requires: %{name}-devel = %{version}-%{release} + +%description python-devel-common +Headers for the Boost.Python library. + +%description python-devel-common -l pl.UTF-8 +Pliki nagłówkowe biblioteki Boost.Python. + %package python -Summary: Boost.Python library -Summary(pl.UTF-8): biblioteka Boost.Python +Summary: Boost.Python library for Python 2 +Summary(pl.UTF-8): Biblioteka Boost.Python dla Pythona 2 Group: Libraries -%pyrequires_eq python +Requires: python-libs %description python Use the Boost Python Library to quickly and easily export a C++ -library to Python such that the Python interface is very similar to -the C++ interface. It is designed to be minimally intrusive on your +library to Python 2 such that the Python 2 interface is very similar +to the C++ interface. It is designed to be minimally intrusive on your C++ design. In most cases, you should not have to alter your C++ classes in any way in order to use them with Boost.Python. The system -should simply ``reflect'' your C++ classes and functions into Python. +should simply ``reflect'' your C++ classes and functions into Python +3. %description python -l pl.UTF-8 Biblioteka Boost Python służy do szybkiego i prostego eksportu -biblioteki C++ do Pythona, tak że interfejs Pythona jest bardzo +biblioteki C++ do Pythona 2, tak że interfejs Pythona 2 jest bardzo podobny do interfejsu C++. Biblioteka jest zaprojektowana tak, żeby narzucać jak najmniej wymagań dotyczących konstrukcjii C++. W większości przypadków nie trzeba w ogóle zmieniać własnych klas C++, żeby używać ich z Boost.Python. System powinien po prostu ,,odbić'' -klasy C++ i funkcje do Pythona. +klasy C++ i funkcje do Pythona 3. %package python-devel -Summary: Boost.Python development headers -Summary(pl.UTF-8): Pliki nagłówkowe dla Boost.Python +Summary: Boost.Python development files for Python 2 +Summary(pl.UTF-8): Pliki programistyczne biblioteki Boost.Python dla Pythona 2 Group: Development/Libraries Requires: %{name}-devel = %{version}-%{release} Requires: %{name}-python = %{version}-%{release} +Requires: %{name}-python-devel-common = %{version}-%{release} %description python-devel -Headers for the Boost.Python library. +Boost.Python development files for Python 2. %description python-devel -l pl.UTF-8 -Pliki nagłówkowe dla biblioteki Boost.Python. +Pliki programistyczne biblioteki Boost.Python dla Pythona 2. %package python-static -Summary: Static version of Boost.Python library -Summary(pl.UTF-8): Statyczna wersja biblioteki Boost.Python +Summary: Static version of Boost.Python library for Python 2 +Summary(pl.UTF-8): Statyczna wersja biblioteki Boost.Python dla Pythona 2 Group: Development/Libraries Requires: %{name}-python-devel = %{version}-%{release} %description python-static -Static version of Boost.Python library. +Static version of Boost.Python library for Python 2. %description python-static -l pl.UTF-8 -Statyczna wersja biblioteki Boost.Python. +Statyczna wersja biblioteki Boost.Python dla Pythona 2. + +%package python3 +Summary: Boost.Python library for Python 3 +Summary(pl.UTF-8): biblioteka Boost.Python dla Pythona 3 +Group: Libraries +Requires: python3-libs + +%description python3 +Use the Boost Python Library to quickly and easily export a C++ +library to Python 3 such that the Python 3 interface is very similar +to the C++ interface. It is designed to be minimally intrusive on your +C++ design. In most cases, you should not have to alter your C++ +classes in any way in order to use them with Boost.Python. The system +should simply ``reflect'' your C++ classes and functions into Python +3. + +%description python3 -l pl.UTF-8 +Biblioteka Boost Python służy do szybkiego i prostego eksportu +biblioteki C++ do Pythona 3, tak że interfejs Pythona 3 jest bardzo +podobny do interfejsu C++. Biblioteka jest zaprojektowana tak, żeby +narzucać jak najmniej wymagań dotyczących konstrukcjii C++. W +większości przypadków nie trzeba w ogóle zmieniać własnych klas C++, +żeby używać ich z Boost.Python. System powinien po prostu ,,odbić'' +klasy C++ i funkcje do Pythona 3. + +%package python3-devel +Summary: Boost.Python development files for Python 3 +Summary(pl.UTF-8): Pliki programistyczne biblioteki Boost.Python dla Pythona 3 +Group: Development/Libraries +Requires: %{name}-devel = %{version}-%{release} +Requires: %{name}-python-devel-common = %{version}-%{release} +Requires: %{name}-python3 = %{version}-%{release} + +%description python3-devel +Boost.Python development files for Python 3. + +%description python3-devel -l pl.UTF-8 +Pliki programistyczne biblioteki Boost.Python dla Pythona 3. + +%package python3-static +Summary: Static version of Boost.Python library for Python 3 +Summary(pl.UTF-8): Statyczna wersja biblioteki Boost.Python dla Pythona 3 +Group: Development/Libraries +Requires: %{name}-python3-devel = %{version}-%{release} + +%description python3-static +Static version of Boost.Python library for Python 3. + +%description python3-static -l pl.UTF-8 +Statyczna wersja biblioteki Boost.Python dla Pythona 3. %package chrono Summary: Useful time utilities @@ -267,6 +312,21 @@ A set of date-time libraries. %description date_time -l pl.UTF-8 Zbiór bibliotek daty-czasu. +%package fiber +Summary: A framework for micro-/userland-threads (fibers) scheduled cooperatively +Summary(pl.UTF-8): Szkielet mikrowątków przestrzeni użytkownika (fibers), szeregowanych kooperacyjnie +Group: Libraries + +%description fiber +boost::fiber provides a framework for micro-/userland-threads (fibers) +scheduled cooperatively. The API contains classes and functions +to manage and synchronize fibers similiar to boost.thread. + +%description fiber -l pl.UTF-8 +boost::fiber to szkielt mikrowątków przestrzeni użytkownika (fibers) +szeregowanych kooperacyjnie. API zawiera klasy i funkcje służące do +zarządzania i synchronizacji wątków podobne do boost.thread. + %package filesystem Summary: Portable paths, iteration over directories, and other useful filesystem operations Summary(pl.UTF-8): Przenośne ścieżki, iteracje katalogów i inne użyteczne operacje na systemie plików @@ -296,6 +356,21 @@ Przenośna biblioteka boost::graph dostarcza ułatwienia w operacjach na strukturach danych typu graf za pomocą algorytmów związanych z grafami. +%package json +Summary: Boost.JSON - a portable C++ JSON library +Summary(pl.UTF-8): Boost.JSON - przenośna biblioteka C++ dla formatu JSON +Group: Development/Libraries + +%description json +Boost.JSON is a portable C++ library which provides containers and +algorithms that implement JavaScript Object Notation, or simply +"JSON", a lightweight data-interchange format. + +%description json -l pl.UTF-8 +Boost.JSON to przenośna biblioteka C++, która dostarcza kontenery oraz +algorytmy implementujące JavaScript Object Notation, lub po prostu +"JSON", lekki format wymiany danych. + %package locale Summary: Provide localization and Unicode handling tools for C++ Summary(pl.UTF-8): Narzędzia do obsługi lokalizacji i Unikodu w C++ @@ -344,20 +419,6 @@ Shared library for Boost C++ regular expressions. %description regex -l pl.UTF-8 Biblioteka współdzielona do obsługi wyrażeń regularnych w C++. -%package signals -Summary: Signals & slots callback implementation -Summary(pl.UTF-8): Implementacja sygnałów i slotów -Group: Libraries -Obsoletes: boost < 1.33 - -%description signals -The boost::signals library is an implementation of a signals and slots -system. - -%description signals -l pl.UTF-8 -Biblioteka boost::signals jest implementacją systemu sygnałów i -slotów. - %package system Summary: Support for getting system specific error codes Summary(pl.UTF-8): Wsparcie dla pobierania specyficznych dla systemu kodów błędów @@ -412,6 +473,17 @@ Event timer, progress timer, and progress display classes. %description timer -l pl.UTF-8 Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu. +%package url +Summary: Library for manipulating Uniform Resource Identifiers and Locators +Summary(pl.UTF-8): Biblioteka do manipulacji Unfiform Resource Identifier i Locator +Group: Libraries + +%description url +Library for manipulating Uniform Resource Identifiers and Locators. + +%description url -l pl.UTF-8 +Biblioteka do manipulacji Unfiform Resource Identifier i Locator. + %package wave Summary: Boost.Wave - a standard compliant C++ preprocessor library Summary(pl.UTF-8): Boost.Wave - zgodna ze standardem biblioteka preprocesora C++ @@ -427,7 +499,7 @@ Boost.Wave - zgodna ze standardem biblioteka preprocesora C++. Summary: Boost C++ Library documentation Summary(pl.UTF-8): Dokumentacja dla biblioteki Boost C++ Group: Documentation -Requires: %{name}-devel = %{version}-%{release} +BuildArch: noarch %description doc Documentation for the Boost C++ Library. @@ -438,69 +510,72 @@ Dokumentacja dla biblioteki Boost C++. %prep %setup -q -n %{name}_%{fver} %patch0 -p1 -%patch1 -p2 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 -%patch100 -p1 -%patch101 -p1 -%patch102 -p1 - -%patch200 -p1 %patch201 -p1 -%patch202 -p1 %patch203 -p0 -%patch204 -p1 -%patch205 -p1 -%patch206 -p0 -%patch207 -p0 -%patch208 -p0 -%patch209 -p0 -%patch210 -p1 -%patch211 -p1 -%patch212 -p1 -%patch213 -p1 -%patch214 -p1 -%patch215 -p1 -%patch216 -p1 -%patch217 -p1 -%patch218 -p1 -%patch219 -p1 -%patch220 -p1 %patch221 -p1 -%patch222 -p1 -%patch223 -p0 -%patch224 -p1 -%patch225 -p1 -%patch226 -p1 - -# - don't know how to pass it through (b)jam -s (no way?) -# due to oversophisticated build flags system. -# - pass -fPIC due to removal. -%{__sed} -i "s/speed : -O3/speed : ${CXXFLAGS:-%rpmcxxflags} -fPIC/" tools/build/v2/tools/gcc.jam - -# cleanup -g switch to avoid override debuginfocflags. -%{__sed} -i 's/on : -g/on :/' tools/build/v2/tools/gcc.jam -# link against shared expat library. -%{__sed} -i 's:find-static:find-shared:' libs/graph/build/Jamfile.v2 - -cat << EOF > tools/build/v2/user-config.jam -using gcc : %(%{__cxx} -dumpversion) : %{__cxx} ; -EOF -%build -%if %{with python} -PYTHON_VERSION=$(%{__python} -c 'import sys; print sys.version[0:3]') -PYTHON_ROOT=%{_prefix} +%if "%{cc_version}" < "6.0" +CPPSTD="-std=c++11" %else -PYTHON_ROOT= -PYTHON_VERSION= +CPPSTD= %endif +cat << EOF > tools/build/src/user-config.jam +using gcc : %{cxx_version} : %{__cxx} : "%{rpmcflags} -fPIC" "%{rpmcxxflags} $CPPSTD -fPIC" "%{rpmldflags}" ; +EOF + +# cleanup backups after patching +find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f + +%build EXPAT_INCLUDE=%{_includedir} \ EXPAT_LIBPATH=%{_libdir} \ ICU_PATH=%{_prefix} \ -./bootstrap.sh --prefix=%{_prefix} +./bootstrap.sh \ + --prefix=%{_prefix} \ + -without-libraries=python + ./b2 \ + %{?__jobs:-j %{__jobs}} \ -d2 --toolset=gcc \ - variant=release debug-symbols=on inlining=on link=static,shared threading=multi +%ifarch x32 + abi=x32 \ +%endif + debug-symbols=on \ + inlining=on \ + link=static,shared \ + threading=multi \ + variant=release + +%if %{with python3} +echo "using python : %{py3_ver} : %{py3_prefix} : %{py3_incdir} : : : : %{py3v_suffix} ;" >> project-config.jam +./b2 \ + %{?__jobs:-j %{__jobs}} \ + --with-python python=%{py3_ver} \ + -a -d2 --toolset=gcc \ + debug-symbols=on \ + inlining=on \ + link=static,shared \ + threading=multi \ + variant=release +%endif + +%if %{with python2} +%{__sed} -i -e '/^using python : 3/d' project-config.jam +echo "using python : %{py_ver} : %{py_prefix} : %{py_incdir} ;" >> project-config.jam +./b2 \ + %{?__jobs:-j %{__jobs}} \ + --with-python python=%{py_ver} \ + -a -d2 --toolset=gcc \ + debug-symbols=on \ + inlining=on \ + link=static,shared \ + threading=multi \ + variant=release +%endif %install rm -rf $RPM_BUILD_ROOT @@ -512,6 +587,7 @@ install -p stage/lib/lib*.a $RPM_BUILD_ROOT%{_libdir} install -p stage/lib/lib*.so.*.*.* $RPM_BUILD_ROOT%{_libdir} cp -a stage/lib/lib*.so $RPM_BUILD_ROOT%{_libdir} +%if %{with doc} # documentation install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version} @@ -558,6 +634,7 @@ EOT`; do fi done }; installdocs +%endif %clean rm -rf $RPM_BUILD_ROOT @@ -574,27 +651,33 @@ rm -rf $RPM_BUILD_ROOT %post date_time -p /sbin/ldconfig %postun date_time -p /sbin/ldconfig +%post fiber -p /sbin/ldconfig +%postun fiber -p /sbin/ldconfig + %post filesystem -p /sbin/ldconfig %postun filesystem -p /sbin/ldconfig %post graph -p /sbin/ldconfig %postun graph -p /sbin/ldconfig +%post json -p /sbin/ldconfig +%postun json -p /sbin/ldconfig + %post locale -p /sbin/ldconfig %postun locale -p /sbin/ldconfig %post python -p /sbin/ldconfig %postun python -p /sbin/ldconfig +%post python3 -p /sbin/ldconfig +%postun python3 -p /sbin/ldconfig + %post program_options -p /sbin/ldconfig %postun program_options -p /sbin/ldconfig %post regex -p /sbin/ldconfig %postun regex -p /sbin/ldconfig -%post signals -p /sbin/ldconfig -%postun signals -p /sbin/ldconfig - %post system -p /sbin/ldconfig %postun system -p /sbin/ldconfig @@ -607,41 +690,58 @@ rm -rf $RPM_BUILD_ROOT %post timer -p /sbin/ldconfig %postun timer -p /sbin/ldconfig +%post url -p /sbin/ldconfig +%postun url -p /sbin/ldconfig + %post wave -p /sbin/ldconfig %postun wave -p /sbin/ldconfig %files %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libboost_atomic.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_container.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_contract.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_coroutine.so.*.*.* %attr(755,root,root) %{_libdir}/libboost_iostreams.so.*.*.* %attr(755,root,root) %{_libdir}/libboost_math_*.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_nowide.so.*.*.* %attr(755,root,root) %{_libdir}/libboost_random.so.*.*.* %attr(755,root,root) %{_libdir}/libboost_serialization.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_stacktrace_*.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_type_erasure.so.*.*.* %attr(755,root,root) %{_libdir}/libboost_wserialization.so.*.*.* %files devel %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libboost_atomic.so %attr(755,root,root) %{_libdir}/libboost_chrono.so +%attr(755,root,root) %{_libdir}/libboost_container.so %attr(755,root,root) %{_libdir}/libboost_context.so +%attr(755,root,root) %{_libdir}/libboost_contract.so +%attr(755,root,root) %{_libdir}/libboost_coroutine.so %attr(755,root,root) %{_libdir}/libboost_date_time.so +%attr(755,root,root) %{_libdir}/libboost_fiber.so %attr(755,root,root) %{_libdir}/libboost_filesystem.so %attr(755,root,root) %{_libdir}/libboost_graph.so %attr(755,root,root) %{_libdir}/libboost_iostreams.so +%attr(755,root,root) %{_libdir}/libboost_json.so %attr(755,root,root) %{_libdir}/libboost_locale.so %attr(755,root,root) %{_libdir}/libboost_log.so %attr(755,root,root) %{_libdir}/libboost_log_setup.so %attr(755,root,root) %{_libdir}/libboost_math_*.so +%attr(755,root,root) %{_libdir}/libboost_nowide.so %attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so %attr(755,root,root) %{_libdir}/libboost_program_options.so %attr(755,root,root) %{_libdir}/libboost_regex.so %attr(755,root,root) %{_libdir}/libboost_random.so %attr(755,root,root) %{_libdir}/libboost_serialization.so -%attr(755,root,root) %{_libdir}/libboost_signals.so +%attr(755,root,root) %{_libdir}/libboost_stacktrace_*.so %attr(755,root,root) %{_libdir}/libboost_system.so %attr(755,root,root) %{_libdir}/libboost_thread.so %attr(755,root,root) %{_libdir}/libboost_timer.so +%attr(755,root,root) %{_libdir}/libboost_type_erasure.so %attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so +%attr(755,root,root) %{_libdir}/libboost_url.so %attr(755,root,root) %{_libdir}/libboost_wave.so %attr(755,root,root) %{_libdir}/libboost_wserialization.so %{_includedir}/boost @@ -652,45 +752,89 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %{_libdir}/libboost_atomic.a %{_libdir}/libboost_chrono.a +%{_libdir}/libboost_container.a %{_libdir}/libboost_context.a +%{_libdir}/libboost_contract.a %{_libdir}/libboost_coroutine.a %{_libdir}/libboost_date_time.a %{_libdir}/libboost_exception.a +%{_libdir}/libboost_fiber.a %{_libdir}/libboost_filesystem.a %{_libdir}/libboost_graph.a %{_libdir}/libboost_iostreams.a +%{_libdir}/libboost_json.a %{_libdir}/libboost_locale.a %{_libdir}/libboost_log.a %{_libdir}/libboost_log_setup.a %{_libdir}/libboost_math_*.a +%{_libdir}/libboost_nowide.a %{_libdir}/libboost_prg_exec_monitor.a %{_libdir}/libboost_program_options.a %{_libdir}/libboost_random.a %{_libdir}/libboost_regex.a %{_libdir}/libboost_serialization.a -%{_libdir}/libboost_signals.a +%{_libdir}/libboost_stacktrace_*.a %{_libdir}/libboost_system.a %{_libdir}/libboost_test_exec_monitor.a %{_libdir}/libboost_timer.a +%{_libdir}/libboost_url.a %{_libdir}/libboost_thread.a +%{_libdir}/libboost_type_erasure.a %{_libdir}/libboost_unit_test_framework.a %{_libdir}/libboost_wave.a %{_libdir}/libboost_wserialization.a -%if %{with python} +%if %{with python2} || %{with python3} +%files python-devel-common +%defattr(644,root,root,755) +%{_includedir}/boost/python +%{_includedir}/boost/python.hpp +%endif + +%if %{with python2} %files python %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libboost_python.so.*.*.* +%if %{with numpy} +%attr(755,root,root) %{_libdir}/libboost_numpy%{py2v}.so.*.*.* +%endif +%attr(755,root,root) %{_libdir}/libboost_python%{py2v}.so.*.*.* %files python-devel %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libboost_python.so -%{_includedir}/boost/python -%{_includedir}/boost/python.hpp +%if %{with numpy} +%attr(755,root,root) %{_libdir}/libboost_numpy%{py2v}.so +%endif +%attr(755,root,root) %{_libdir}/libboost_python%{py2v}.so %files python-static %defattr(644,root,root,755) -%{_libdir}/libboost_python.a +%if %{with numpy} +%{_libdir}/libboost_numpy%{py2v}.a +%endif +%{_libdir}/libboost_python%{py2v}.a +%endif + +%if %{with python3} +%files python3 +%defattr(644,root,root,755) +%if %{with numpy} +%attr(755,root,root) %{_libdir}/libboost_numpy%{py3v}.so.*.*.* +%endif +%attr(755,root,root) %{_libdir}/libboost_python%{py3v}.so.*.*.* + +%files python3-devel +%defattr(644,root,root,755) +%if %{with numpy} +%attr(755,root,root) %{_libdir}/libboost_numpy%{py3v}.so +%endif +%attr(755,root,root) %{_libdir}/libboost_python%{py3v}.so + +%files python3-static +%defattr(644,root,root,755) +%if %{with numpy} +%{_libdir}/libboost_numpy%{py3v}.a +%endif +%{_libdir}/libboost_python%{py3v}.a %endif %files chrono @@ -705,6 +849,10 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libboost_date_time.so.*.*.* +%files fiber +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libboost_fiber.so.*.*.* + %files filesystem %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libboost_filesystem.so.*.*.* @@ -713,6 +861,10 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libboost_graph.so.*.*.* +%files json +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libboost_json.so.*.*.* + %files locale %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libboost_locale.so.*.*.* @@ -730,10 +882,6 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libboost_regex.so.*.*.* -%files signals -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libboost_signals.so.*.*.* - %files system %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libboost_system.so.*.*.* @@ -751,10 +899,16 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libboost_timer.so.*.*.* +%files url +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libboost_url.so.*.*.* + %files wave %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libboost_wave.so.*.*.* +%if %{with doc} %files doc %defattr(644,root,root,755) %{_docdir}/%{name}-%{version} +%endif