boost/boost.spec

Mon, 28 Jan 2013 17:37:18 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 28 Jan 2013 17:37:18 +0100
changeset 758
a2c6460cfb16
parent 496
c4f4c533995f
permissions
-rw-r--r--

Correct socket error reporting improvement with IPv6 portable code,
after helpful recommendation by Saúl Ibarra Corretgé on OSips devlist.

michael@496 1 ##
michael@496 2 ## boost.spec -- OpenPKG RPM Package Specification
michael@496 3 ## Copyright (c) 2000-2012 OpenPKG Foundation e.V. <http://openpkg.net/>
michael@496 4 ##
michael@496 5 ## Permission to use, copy, modify, and distribute this software for
michael@496 6 ## any purpose with or without fee is hereby granted, provided that
michael@496 7 ## the above copyright notice and this permission notice appear in all
michael@496 8 ## copies.
michael@496 9 ##
michael@496 10 ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
michael@496 11 ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
michael@496 12 ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
michael@496 13 ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
michael@496 14 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
michael@496 15 ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
michael@496 16 ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
michael@496 17 ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
michael@496 18 ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
michael@496 19 ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
michael@496 20 ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
michael@496 21 ## SUCH DAMAGE.
michael@496 22 ##
michael@496 23
michael@496 24 # package version
michael@497 25 %define V_openpkg 1.50.0
michael@497 26 %define V_dist 1_50_0
michael@496 27
michael@496 28 # package information
michael@496 29 Name: boost
michael@496 30 Summary: Peer-Reviewed Portable C++ Libraries
michael@496 31 URL: http://www.boost.org/
michael@496 32 Vendor: Boost Community
michael@496 33 Packager: OpenPKG Foundation e.V.
michael@496 34 Distribution: OpenPKG Community
michael@496 35 Class: EVAL
michael@496 36 Group: Language
michael@496 37 License: Boost Software License
michael@496 38 Version: %{V_openpkg}
michael@497 39 Release: 20120800
michael@496 40
michael@496 41 # package options
michael@496 42 %option with_debug yes
michael@496 43 %option with_optimize yes
michael@496 44 %option with_threads yes
michael@496 45 %option with_zlib yes
michael@496 46 %option with_bzip2 yes
michael@496 47
michael@496 48 # list of sources
michael@496 49 Source0: http://switch.dl.sourceforge.net/boost/boost_%{V_dist}.tar.bz2
michael@496 50 Patch0: boost.patch
michael@496 51
michael@496 52 # build information
michael@496 53 BuildPreReq: OpenPKG, openpkg >= 20100101, gcc, gcc::with_cxx = yes
michael@496 54 PreReq: OpenPKG, openpkg >= 20100101
michael@496 55 %if "%{with_zlib}" == "yes"
michael@496 56 BuildPreReq: zlib
michael@496 57 PreReq: zlib
michael@496 58 %endif
michael@496 59 %if "%{with_bzip2}" == "yes"
michael@496 60 BuildPreReq: bzip2
michael@496 61 PreReq: bzip2
michael@496 62 %endif
michael@496 63
michael@496 64 %description
michael@496 65 Boost provides peer-reviewed portable C++ class libraries, placing
michael@496 66 emphasis on libraries which work well with the C++ Standard
michael@496 67 Library. The libraries are intended to be widely useful, and are in
michael@496 68 regular use by thousands of programmers across a broad spectrum of
michael@496 69 applications.
michael@496 70
michael@496 71 Aiming to provide missing functionality in current standards,
michael@496 72 Boost was begun by members of the C++ Standards Committee Library
michael@496 73 Working Group. Today, logic from a subset of the boost collection is
michael@496 74 under review by the ISO C++ Standards Committee and considered for
michael@496 75 inclusion in its future standards documents.
michael@496 76
michael@496 77 %track
michael@496 78 prog boost = {
michael@496 79 version = %{V_dist}
michael@496 80 url = http://sourceforge.net/projects/boost/files/
michael@496 81 regex = boost_(\d+_\d+\_\d+)\.tar\.bz2
michael@496 82 }
michael@496 83
michael@496 84 %prep
michael@496 85 %setup -q -n boost_%{V_dist}
michael@496 86 %patch -p0
michael@496 87
michael@496 88 %build
michael@496 89 # bootstrap bjam(1), the boost build system
michael@496 90 ./bootstrap.sh \
michael@496 91 --prefix=%{l_prefix} \
michael@496 92 --exec-prefix=%{l_prefix} \
michael@496 93 --includedir=%{l_prefix}/include \
michael@496 94 --libdir=%{l_prefix}/lib \
michael@496 95 --without-libraries=python
michael@496 96
michael@497 97 %{l_shtool} mkdir -p objbld
michael@496 98
michael@496 99 # configure build options for bjam(1) -sBUILD parameter
michael@496 100 debugopts="release"
michael@496 101 optimizeopts="<optimization>off"
michael@497 102 threadopts="threading=single"
michael@496 103 %if "%{with_debug}" == "yes"
michael@496 104 debugopts="$debugopts debug"
michael@496 105 %endif
michael@496 106 %if "%{with_optimize}" == "yes"
michael@496 107 optimizeopts="<optimization>speed <inlining>full"
michael@496 108 %endif
michael@496 109 %if "%{with_threads}" == "yes"
michael@497 110 threadopts="threading=single,multi"
michael@496 111 %endif
michael@497 112 cpusmp=`echo %{l_mflags -O} | %{l_shtool} subst -e 's;.*\(\-j *[1-9][0-9]*\).*;\1;'`
michael@496 113
michael@496 114 # build all libraries
michael@497 115 ./b2 --toolset=gcc --layout=tagged --builddir=objbld "-sBUILD=$debugopts $optimizeopts" \
michael@496 116 %if "%{with_zlib}" == "yes"
michael@496 117 "-sNO_COMPRESSION=0" "-sZLIB_INCLUDE=%{l_prefix}/include" "-sZLIB_LIBPATH=%{l_prefix}/lib" \
michael@496 118 %else
michael@496 119 "-sNOZLIB=1" \
michael@496 120 %endif
michael@496 121 %if "%{with_bzip2}" == "yes"
michael@496 122 "-sNO_COMPRESSION=0" "-sBZIP2_INCLUDE=%{l_prefix}/include" "-sBZIP2_LIBPATH=%{l_prefix}/lib" \
michael@496 123 %else
michael@496 124 "-sNOBZIP2=1" \
michael@496 125 %endif
michael@497 126 $threadopts link=static stage $cpusmp
michael@496 127
michael@496 128 %install
michael@497 129 threadopts="threading=single"
michael@497 130 %if "%{with_threads}" == "yes"
michael@497 131 threadopts="threading=single,multi"
michael@496 132 %endif
michael@497 133 ./bjam --toolset=gcc --layout=tagged --prefix=$RPM_BUILD_ROOT%{l_prefix} \
michael@497 134 $threadopts link=static install
michael@496 135 %{l_shtool} mkdir -f -p -m 755 \
michael@496 136 $RPM_BUILD_ROOT%{l_prefix}/bin
michael@496 137 %{l_shtool} install -c -m 755 \
michael@496 138 bjam $RPM_BUILD_ROOT%{l_prefix}/bin/
michael@496 139 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
michael@496 140
michael@496 141 %files -f files
michael@496 142
michael@496 143 %clean
michael@496 144

mercurial