## ## boost.spec -- OpenPKG RPM Package Specification ## Copyright (c) 2000-2019 OpenPKG Project ## ## Permission to use, copy, modify, and distribute this software for ## any purpose with or without fee is hereby granted, provided that ## the above copyright notice and this permission notice appear in all ## copies. ## ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## # package version %define V_openpkg 1.70.0 %define V_dist 1_70_0 # package information Name: boost Summary: Peer-Reviewed Portable C++ Libraries URL: http://www.boost.org/ Vendor: Boost Community Packager: OpenPKG Project Distribution: OpenPKG Community Class: PLUS Group: Language License: Boost Software License Version: %{V_openpkg} Release: 20190413 # package options %option with_threads yes %option with_zlib yes %option with_bzip2 yes %option with_optimize yes %option with_inlining no %option with_debug no %option with_pch no # list of sources Source0: https://dl.bintray.com/boostorg/release/%{V_openpkg}/source/boost_%{V_dist}.tar.bz2 Patch0: boost.patch # build information BuildPreReq: OpenPKG, openpkg >= 20160101, gcc, gcc::with_cxx = yes PreReq: OpenPKG, openpkg >= 20160101 %if "%{with_zlib}" == "yes" BuildPreReq: zlib PreReq: zlib %endif %if "%{with_bzip2}" == "yes" BuildPreReq: bzip2 PreReq: bzip2 %endif %description Boost provides peer-reviewed portable C++ class libraries, placing emphasis on libraries which work well with the C++ Standard Library. The libraries are intended to be widely useful, and are in regular use by thousands of programmers across a broad spectrum of applications. Aiming to provide missing functionality in current standards, Boost was begun by members of the C++ Standards Committee Library Working Group. Today, logic from a subset of the boost collection is under review by the ISO C++ Standards Committee and considered for inclusion in its future standards documents. %track prog boost = { version = %{V_openpkg} url = http://www.boost.org/ regex = https://dl.bintray.com/boostorg/release/(\d+\.\d+\.\d+)/source/ } %prep %setup -q -n boost_%{V_dist} %patch -p0 %build # set compiler export CC="%{l_cc}" export CFLAGS="%{l_cflags -O} -Wno-deprecated-declarations" export CXX="%{l_cxx}" export CXXFLAGS="%{l_cxxflags -O} -Wno-deprecated-declarations" # bootstrap bjam(1), the boost build system ./bootstrap.sh \ --prefix=%{l_prefix} \ --exec-prefix=%{l_prefix} \ --includedir=%{l_prefix}/include \ --libdir=%{l_prefix}/lib \ --without-libraries=python \ --with-toolset=gcc %{l_shtool} mkdir -p obj # configure build options for bjam(1) -sBUILD parameter debugopts="release" optimizeopts="off" threadopts="single" %if "%{with_debug}" == "yes" debugopts="$debugopts debug" %endif %if "%{with_optimize}" == "yes" optimizeopts="speed" %endif %if "%{with_inlining}" == "yes" optimizeopts="$optimizeopts full" %endif %if "%{with_pch}" == "yes" optimizeopts="$optimizeopts on" %else optimizeopts="$optimizeopts off" %endif %if "%{with_threads}" == "yes" threadopts="single/multi" %endif # build all libraries ./b2 --toolset=gcc --layout=system --builddir=obj "-sBUILD=$debugopts $optimizeopts $threadopts" \ %if "%{with_zlib}" == "yes" "-sNO_COMPRESSION=0" "-sZLIB_INCLUDE=%{l_prefix}/include" "-sZLIB_LIBPATH=%{l_prefix}/lib" \ %else "-sNOZLIB=1" \ %endif %if "%{with_bzip2}" == "yes" "-sNO_COMPRESSION=0" "-sBZIP2_INCLUDE=%{l_prefix}/include" "-sBZIP2_LIBPATH=%{l_prefix}/lib" \ %else "-sNOBZIP2=1" \ %endif link=static stage %install ./bjam --toolset=gcc --layout=system --prefix=$RPM_BUILD_ROOT%{l_prefix} \ %if "%{with_zlib}" == "yes" "-sNO_COMPRESSION=0" "-sZLIB_INCLUDE=%{l_prefix}/include" "-sZLIB_LIBPATH=%{l_prefix}/lib" \ %else "-sNOZLIB=1" \ %endif %if "%{with_bzip2}" == "yes" "-sNO_COMPRESSION=0" "-sBZIP2_INCLUDE=%{l_prefix}/include" "-sBZIP2_LIBPATH=%{l_prefix}/lib" \ %else "-sNOBZIP2=1" \ %endif link=static install rm -rf $RPM_BUILD_ROOT%{l_prefix}/include/boost-* find $RPM_BUILD_ROOT%{l_prefix}/lib/ \ -name "*.so" -print -o \ -name "libboost_*.so.%{V_openpkg}" \ -print | xargs rm -f %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/bin %{l_shtool} install -c -m 755 \ bjam $RPM_BUILD_ROOT%{l_prefix}/bin/ %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} %files -f files %clean