1SUMMARY="A set of libraries for the C++ programming language" 2DESCRIPTION="Boost is a set of libraries for the��C++ programming language \ 3that provide support for tasks and structures such as linear algebra, \ 4pseudorandom number generation, multithreading, image processing, regular \ 5expressions, and unit testing. It contains over eighty individual libraries." 6HOMEPAGE="https://www.boost.org/" 7SOURCE_URI="https://boostorg.jfrog.io/artifactory/main/release/$portVersion/source/boost_${portVersion//./_}.tar.bz2" 8CHECKSUM_SHA256="430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778" 9REVISION="9" 10LICENSE="Boost v1.0" 11COPYRIGHT="1998-2018 Beman Dawes, David Abrahams, Rene Rivera, et al." 12SOURCE_DIR="boost_${portVersion//./_}" 13PATCHES="boost-$portVersion.patchset" 14 15ARCHITECTURES="all !x86_gcc2 ?x86" 16SECONDARY_ARCHITECTURES="x86" 17 18libVersion="$portVersion compat >= 1.70.0" 19 20PROVIDES=" 21 boost170$secondaryArchSuffix = $portVersion 22 lib:libboost_atomic$secondaryArchSuffix = $libVersion 23 lib:libboost_chrono$secondaryArchSuffix = $libVersion 24 lib:libboost_container$secondaryArchSuffix = $libVersion 25 lib:libboost_context$secondaryArchSuffix = $libVersion 26 lib:libboost_contract$secondaryArchSuffix = $libVersion 27 lib:libboost_coroutine$secondaryArchSuffix = $libVersion 28 lib:libboost_date_time$secondaryArchSuffix = $libVersion 29 lib:libboost_filesystem$secondaryArchSuffix = $libVersion 30 lib:libboost_graph$secondaryArchSuffix = $libVersion 31 lib:libboost_iostreams$secondaryArchSuffix = $libVersion 32 lib:libboost_locale$secondaryArchSuffix = $libVersion 33 lib:libboost_log_setup$secondaryArchSuffix = $libVersion 34 lib:libboost_log$secondaryArchSuffix = $libVersion 35 lib:libboost_math_c99$secondaryArchSuffix = $libVersion 36 lib:libboost_math_c99f$secondaryArchSuffix = $libVersion 37 lib:libboost_math_tr1$secondaryArchSuffix = $libVersion 38 lib:libboost_math_tr1f$secondaryArchSuffix = $libVersion 39 lib:libboost_prg_exec_monitor$secondaryArchSuffix = $libVersion 40 lib:libboost_program_options$secondaryArchSuffix = $libVersion 41 lib:libboost_random$secondaryArchSuffix = $libVersion 42 lib:libboost_regex$secondaryArchSuffix = $libVersion 43 lib:libboost_serialization$secondaryArchSuffix = $libVersion 44 lib:libboost_stacktrace_basic$secondaryArchSuffix = $libVersion 45 lib:libboost_stacktrace_noop$secondaryArchSuffix = $libVersion 46 lib:libboost_system$secondaryArchSuffix = $libVersion 47 lib:libboost_thread$secondaryArchSuffix = $libVersion 48 lib:libboost_timer$secondaryArchSuffix = $libVersion 49 lib:libboost_type_erasure$secondaryArchSuffix = $libVersion 50 lib:libboost_unit_test_framework$secondaryArchSuffix = $libVersion 51 lib:libboost_wave$secondaryArchSuffix = $libVersion 52 lib:libboost_wserialization$secondaryArchSuffix = $libVersion 53 " 54REQUIRES=" 55 haiku$secondaryArchSuffix 56 lib:libbz2$secondaryArchSuffix 57 lib:libiconv$secondaryArchSuffix 58 lib:libicudata$secondaryArchSuffix 59 lib:libicui18n$secondaryArchSuffix 60 lib:libicuuc$secondaryArchSuffix 61 lib:libz$secondaryArchSuffix 62 " 63 64# List of devel entries matching an actual library (for use in prepareInstalledDevelLibs) 65# Boost also provides header-only libraries (because templates) 66devel_libs=" 67 devel:libboost_atomic$secondaryArchSuffix = $libVersion 68 devel:libboost_chrono$secondaryArchSuffix = $libVersion 69 devel:libboost_container$secondaryArchSuffix = $libVersion 70 devel:libboost_context$secondaryArchSuffix = $libVersion 71 devel:libboost_contract$secondaryArchSuffix = $libVersion 72 devel:libboost_coroutine$secondaryArchSuffix = $libVersion 73 devel:libboost_date_time$secondaryArchSuffix = $libVersion 74 devel:libboost_exception$secondaryArchSuffix = $libVersion 75 devel:libboost_filesystem$secondaryArchSuffix = $libVersion 76 devel:libboost_graph$secondaryArchSuffix = $libVersion 77 devel:libboost_iostreams$secondaryArchSuffix = $libVersion 78 devel:libboost_locale$secondaryArchSuffix = $libVersion 79 devel:libboost_log_setup$secondaryArchSuffix = $libVersion 80 devel:libboost_log$secondaryArchSuffix = $libVersion 81 devel:libboost_math_c99$secondaryArchSuffix = $libVersion 82 devel:libboost_math_c99f$secondaryArchSuffix = $libVersion 83 devel:libboost_math_tr1$secondaryArchSuffix = $libVersion 84 devel:libboost_math_tr1f$secondaryArchSuffix = $libVersion 85 devel:libboost_prg_exec_monitor$secondaryArchSuffix = $libVersion 86 devel:libboost_program_options$secondaryArchSuffix = $libVersion 87 devel:libboost_random$secondaryArchSuffix = $libVersion 88 devel:libboost_regex$secondaryArchSuffix = $libVersion 89 devel:libboost_serialization$secondaryArchSuffix = $libVersion 90 devel:libboost_stacktrace_basic$secondaryArchSuffix = $libVersion 91 devel:libboost_stacktrace_noop$secondaryArchSuffix = $libVersion 92 devel:libboost_system$secondaryArchSuffix = $libVersion 93 devel:libboost_test_exec_monitor$secondaryArchSuffix = $libVersion 94 devel:libboost_thread$secondaryArchSuffix = $libVersion 95 devel:libboost_timer$secondaryArchSuffix = $libVersion 96 devel:libboost_type_erasure$secondaryArchSuffix = $libVersion 97 devel:libboost_unit_test_framework$secondaryArchSuffix = $libVersion 98 devel:libboost_wave$secondaryArchSuffix = $libVersion 99 devel:libboost_wserialization$secondaryArchSuffix = $libVersion 100 " 101 102PROVIDES_devel=" 103 boost170${secondaryArchSuffix}_devel = $portVersion 104 $devel_libs 105 devel:libboost_config$secondaryArchSuffix = $libVersion 106 " 107REQUIRES_devel=" 108 boost170$secondaryArchSuffix == $portVersion base 109 " 110CONFLICTS_devel=" 111 boost169${secondaryArchSuffix}_devel 112 " 113 114BUILD_REQUIRES=" 115 haiku${secondaryArchSuffix}_devel >= r1~alpha4_pm_hrev51470 116 devel:libbz2$secondaryArchSuffix 117 devel:libiconv$secondaryArchSuffix 118 devel:libicudata$secondaryArchSuffix >= 74 119 devel:libicui18n$secondaryArchSuffix >= 74 120 devel:libicuuc$secondaryArchSuffix >= 74 121 devel:libz$secondaryArchSuffix 122 " 123 124BUILD_PREREQUIRES=" 125 cmd:gcc$secondaryArchSuffix 126 cmd:ld$secondaryArchSuffix 127 cmd:find 128 cmd:sed 129 cmd:which 130 " 131 132defineDebugInfoPackage boost170$secondaryArchSuffix \ 133 "$libDir"/libboost_atomic.so.$portVersion \ 134 "$libDir"/libboost_chrono.so.$portVersion \ 135 "$libDir"/libboost_container.so.$portVersion \ 136 "$libDir"/libboost_context.so.$portVersion \ 137 "$libDir"/libboost_contract.so.$portVersion \ 138 "$libDir"/libboost_coroutine.so.$portVersion \ 139 "$libDir"/libboost_date_time.so.$portVersion \ 140 "$libDir"/libboost_filesystem.so.$portVersion \ 141 "$libDir"/libboost_graph.so.$portVersion \ 142 "$libDir"/libboost_iostreams.so.$portVersion \ 143 "$libDir"/libboost_locale.so.$portVersion \ 144 "$libDir"/libboost_log_setup.so.$portVersion \ 145 "$libDir"/libboost_log.so.$portVersion \ 146 "$libDir"/libboost_math_c99.so.$portVersion \ 147 "$libDir"/libboost_math_c99f.so.$portVersion \ 148 "$libDir"/libboost_math_tr1.so.$portVersion \ 149 "$libDir"/libboost_math_tr1f.so.$portVersion \ 150 "$libDir"/libboost_prg_exec_monitor.so.$portVersion \ 151 "$libDir"/libboost_program_options.so.$portVersion \ 152 "$libDir"/libboost_random.so.$portVersion \ 153 "$libDir"/libboost_regex.so.$portVersion \ 154 "$libDir"/libboost_serialization.so.$portVersion \ 155 "$libDir"/libboost_stacktrace_basic.so.$portVersion \ 156 "$libDir"/libboost_stacktrace_noop.so.$portVersion \ 157 "$libDir"/libboost_system.so.$portVersion \ 158 "$libDir"/libboost_thread.so.$portVersion \ 159 "$libDir"/libboost_timer.so.$portVersion \ 160 "$libDir"/libboost_type_erasure.so.$portVersion \ 161 "$libDir"/libboost_unit_test_framework.so.$portVersion \ 162 "$libDir"/libboost_wave.so.$portVersion \ 163 "$libDir"/libboost_wserialization.so.$portVersion 164 165BUILD() 166{ 167 ./bootstrap.sh \ 168 --prefix=$prefix \ 169 --exec-prefix=$binDir \ 170 --libdir=$libDir \ 171 --includedir=$includeDir 172 173 ./b2 -q $jobArgs \ 174 --without-mpi \ 175 --enable-threads=posix \ 176 --enable-thread-local-alloc \ 177 --enable-parallel-mark \ 178 inlining=on \ 179 threading=multi \ 180 variant=release \ 181 link=shared \ 182 runtime-link=shared \ 183 --without-python 184} 185 186INSTALL() 187{ 188 ./b2 -q $jobArgs \ 189 --without-mpi \ 190 --enable-threads=posix \ 191 --enable-thread-local-alloc \ 192 --enable-parallel-mark \ 193 inlining=on \ 194 threading=multi \ 195 variant=release \ 196 link=shared \ 197 runtime-link=shared \ 198 --without-python \ 199 install 200 201 prepareInstalledDevelLibs `echo "$devel_libs" | sed -n \ 202 -e "s/devel:\(.*\)$secondaryArchSuffix =.*/\1/p"` 203 204 # Correct boost cmake static files 205 # https://github.com/boostorg/boost_install/issues/49 206 for i in $(find $libDir/cmake -name "libboost_*-variant-static.cmake"); do 207 echo "Replacing LIBDIR in $i"; 208 sed -i "s%\${_BOOST_LIBDIR}%$prefix/$relativeDevelopLibDir%g" $i; 209 done; 210 211 packageEntries devel \ 212 $developDir \ 213 $libDir/cmake 214} 215 216TEST() 217{ 218 cd status 219 ../bjam $jobArgs 220} 221