From be1435b2acb6000bc417fbf2d318b41ac4821adf Mon Sep 17 00:00:00 2001 From: Andrey Bondrov Date: Mon, 5 Sep 2016 03:50:48 +1000 Subject: [PATCH] New version 1.61.0 Add new shared libraries boost_container and boost_type_erasure --- .abf.yml | 2 +- ...h => boost-1.57.0-python-abi_letters.patch | 4 +- ...=> boost-1.57.0-python-libpython_dep.patch | 6 +- ...50.0-pool.patch => boost-1.61.0-pool.patch | 6 +- boost.spec | 64 +++++++++++++++---- 5 files changed, 61 insertions(+), 21 deletions(-) rename boost-1.55.0-python-abi_letters.patch => boost-1.57.0-python-abi_letters.patch (92%) rename boost-1.55.0-python-libpython_dep.patch => boost-1.57.0-python-libpython_dep.patch (59%) rename boost-1.50.0-pool.patch => boost-1.61.0-pool.patch (96%) diff --git a/.abf.yml b/.abf.yml index fed7eb3..58ac0a7 100644 --- a/.abf.yml +++ b/.abf.yml @@ -1,2 +1,2 @@ sources: - boost_1_55_0.tar.bz2: cef9a0cc7084b1d639e06cd3bc34e4251524c840 + boost_1_61_0.tar.bz2: f84b1a1ce764108ec3c2b7bd7704cf8dfd3c9d01 diff --git a/boost-1.55.0-python-abi_letters.patch b/boost-1.57.0-python-abi_letters.patch similarity index 92% rename from boost-1.55.0-python-abi_letters.patch rename to boost-1.57.0-python-abi_letters.patch index 71fa9bd..7df3ee7 100644 --- a/boost-1.55.0-python-abi_letters.patch +++ b/boost-1.57.0-python-abi_letters.patch @@ -1,5 +1,5 @@ ---- boost_1_55_0/tools/build/v2/tools/python.jam 2013-05-21 06:14:18.000000000 +0200 -+++ boost_1_55_0/tools/build/v2/tools/python.jam 2014-05-29 19:09:12.115413877 +0200 +--- boost_1_57_0/tools/build/src/tools/python.jam 2013-05-21 06:14:18.000000000 +0200 ++++ boost_1_55_0/tools/build/src/tools/python.jam 2014-05-29 19:09:12.115413877 +0200 @@ -94,7 +94,7 @@ feature.feature pythonpath : : free opti # using python : 2.3 : /usr/local/bin/python ; # diff --git a/boost-1.55.0-python-libpython_dep.patch b/boost-1.57.0-python-libpython_dep.patch similarity index 59% rename from boost-1.55.0-python-libpython_dep.patch rename to boost-1.57.0-python-libpython_dep.patch index 202f4ec..57bfc26 100644 --- a/boost-1.55.0-python-libpython_dep.patch +++ b/boost-1.57.0-python-libpython_dep.patch @@ -1,7 +1,7 @@ -Index: boost/tools/build/v2/tools/python.jam +Index: boost_1_57_0/tools/build/src/tools/python.jam =================================================================== ---- boost/tools/build/v2/tools/python.jam (revision 50406) -+++ boost/tools/build/v2/tools/python.jam (working copy) +--- boost_1_57_0/tools/build/src/tools/python.jam (revision 50406) ++++ boost_1_57_0/tools/build/src/tools/python.jam (working copy) @@ -994,7 +994,7 @@ else { diff --git a/boost-1.50.0-pool.patch b/boost-1.61.0-pool.patch similarity index 96% rename from boost-1.50.0-pool.patch rename to boost-1.61.0-pool.patch index 5154027..cec6bf3 100644 --- a/boost-1.50.0-pool.patch +++ b/boost-1.61.0-pool.patch @@ -7,15 +7,15 @@ Index: boost/pool/pool.hpp +// std::numeric_limits +#include - // boost::math::static_lcm - #include + // boost::integer::static_lcm + #include @@ -358,4 +360,13 @@ } + size_type max_chunks() const + { //! Calculated maximum number of memory chunks that can be allocated in a single call by this Pool. + size_type partition_size = alloc_size(); -+ size_type POD_size = math::static_lcm::value + sizeof(size_type); ++ size_type POD_size = integer::static_lcm::value + sizeof(size_type); + size_type max_chunks = (std::numeric_limits::max() - POD_size) / alloc_size(); + + return max_chunks; diff --git a/boost.spec b/boost.spec index 7302408..0faa92b 100644 --- a/boost.spec +++ b/boost.spec @@ -2,6 +2,7 @@ %define libatomic %mklibname boost_atomic %{version} %define libchrono %mklibname boost_chrono %{version} +%define libcontainer %mklibname boost_container %{version} %define libcontext %mklibname boost_context %{version} %define libcoroutine %mklibname boost_coroutine %{version} %define libdatetime %mklibname boost_date_time %{version} @@ -28,6 +29,7 @@ %define libsystem %mklibname boost_system %{version} %define libthread %mklibname boost_thread %{version} %define libtimer %mklibname boost_timer %{version} +%define libtypeerasure %mklibname boost_type_erasure %{version} %define libunittestframework %mklibname boost_unit_test_framework %{version} %define libwave %mklibname boost_wave %{version} %define libwserialization %mklibname boost_wserialization %{version} @@ -49,16 +51,16 @@ Summary: Portable C++ libraries Name: boost -Version: 1.55.0 -Release: 10 +Version: 1.61.0 +Release: 1 License: Boost Group: Development/C++ Url: http://boost.org/ Source0: http://download.sourceforge.net/boost/boost_%{packver}.tar.bz2 Source100: %{name}.rpmlintrc # https://bugzilla.redhat.com/show_bug.cgi?id=1102667 -Patch0: boost-1.55.0-python-abi_letters.patch -Patch1: boost-1.55.0-python-libpython_dep.patch +Patch0: boost-1.57.0-python-abi_letters.patch +Patch1: boost-1.57.0-python-libpython_dep.patch Patch2: boost-1.55.0-python-test-PyImport_AppendInittab.patch # https://svn.boost.org/trac/boost/ticket/6150 Patch4: boost-1.50.0-fix-non-utf8-files.patch @@ -76,7 +78,7 @@ Patch10: boost-1.50.0-long-double-1.patch Patch12: boost-1.50.0-polygon.patch # https://bugzilla.redhat.com/show_bug.cgi?id=828856 # https://bugzilla.redhat.com/show_bug.cgi?id=828857 -Patch15: boost-1.50.0-pool.patch +Patch15: boost-1.61.0-pool.patch BuildRequires: doxygen BuildRequires: xsltproc BuildRequires: bzip2-devel @@ -167,6 +169,24 @@ running programs dynamically linked against Boost chrono. #---------------------------------------------------------------------------- +%package -n %{libcontainer} +Summary: Boost container shared library +Group: System/Libraries +# no one should require this, but provided anyway for maximum compatibility: +Provides: boost = %{EVRD} + +%description -n %{libcontainer} +Boost is a collection of free peer-reviewed portable C++ source +libraries. The emphasis is on libraries which work well with the C++ +Standard Library. This package contains the shared library needed for +running programs dynamically linked against Boost context. + +%files -n %{libcontainer} +%doc LICENSE_1_0.txt +%{_libdir}/libboost_container.so.%{version} + +#---------------------------------------------------------------------------- + %package -n %{libcontext} Summary: Boost context shared library Group: System/Libraries @@ -635,6 +655,24 @@ running programs dynamically linked against Boost timer. #---------------------------------------------------------------------------- +%package -n %{libtypeerasure} +Summary: Boost type erasure shared library +Group: System/Libraries +# no one should require this, but provided anyway for maximum compatibility: +Provides: boost = %{EVRD} + +%description -n %{libtypeerasure} +Boost is a collection of free peer-reviewed portable C++ source +libraries. The emphasis is on libraries which work well with the C++ +Standard Library. This package contains the shared library needed for +running programs dynamically linked against Boost timer. + +%files -n %{libtypeerasure} +%doc LICENSE_1_0.txt +%{_libdir}/libboost_type_erasure.so.%{version} + +#---------------------------------------------------------------------------- + %package -n %{libunittestframework} Summary: Boost unit_test_framework shared library Group: System/Libraries @@ -694,6 +732,7 @@ Summary: The libraries and headers needed for Boost development Group: Development/C++ Requires: %{libatomic} = %{EVRD} Requires: %{libchrono} = %{EVRD} +Requires: %{libcontainer} = %{EVRD} Requires: %{libcontext} = %{EVRD} Requires: %{libcoroutine} = %{EVRD} Requires: %{libdatetime} = %{EVRD} @@ -719,6 +758,7 @@ Requires: %{libsignals} = %{EVRD} Requires: %{libsystem} = %{EVRD} Requires: %{libthread} = %{EVRD} Requires: %{libtimer} = %{EVRD} +Requires: %{libtypeerasure} = %{EVRD} Requires: %{libunittestframework} = %{EVRD} Requires: %{libwave} = %{EVRD} Requires: %{libwserialization} = %{EVRD} @@ -813,7 +853,7 @@ find libs -type f \( -name "*.?pp" ! -path "*test*" ! -path "*src*" ! -path "*to %build %define gcc_ver %(rpm -q --queryformat="%%{VERSION}" gcc) -cat > ./tools/build/v2/user-config.jam << EOF +cat > ./tools/build/src/user-config.jam << EOF using gcc : %{gcc_ver} : gcc : "%{optflags}" "%{optflags}" "%{ldflags}" ; using python : %{py3_ver} : %{_bindir}/python%{py3_ver} : %{_includedir}/python%{py3_ver}m : %{_libdir} : : : ; using python : %{py_ver} : %{_bindir}/python%{py_ver} : %{_includedir}/python%{py_ver} : %{_libdir} : : : ; @@ -831,7 +871,7 @@ EOF # Taken from the Fedora .src.rpm. echo ============================= build Boost.Build ================== -(cd tools/build/v2 +(cd tools/build ./bootstrap.sh --with-toolset=gcc) %install @@ -845,17 +885,17 @@ echo ============================= build Boost.Build ================== install echo ============================= install Boost.Build ================== -(cd tools/build/v2 +(cd tools/build ./b2 --prefix=%{buildroot}%{_prefix} install # Fix some permissions - chmod -x %{buildroot}%{_datadir}/boost-build/build/alias.py - chmod +x %{buildroot}%{_datadir}/boost-build/tools/doxproc.py + chmod -x %{buildroot}%{_datadir}/boost-build/src/build/alias.py + chmod +x %{buildroot}%{_datadir}/boost-build/src/tools/doxproc.py # We don't want to distribute this rm -f %{buildroot}%{_bindir}/b2 # Not a real file - rm -f %{buildroot}%{_datadir}/boost-build/build/project.ann.py + rm -f %{buildroot}%{_datadir}/boost-build/src/build/project.ann.py # Empty file - rm -f %{buildroot}%{_datadir}/boost-build/tools/doxygen/windows-paths-check.hpp + rm -f %{buildroot}%{_datadir}/boost-build/src/tools/doxygen/windows-paths-check.hpp ) rm -f %{buildroot}/%{_bindir}/bjam rm -f %{buildroot}/%{_mandir}/man1/bjam.1*