From af174e27ca5f0774a97c72b0e7d1b0cb5fcaec7d Mon Sep 17 00:00:00 2001 From: Chris Roberts Date: Sun, 29 Dec 2013 01:17:00 -0700 Subject: [PATCH] Make boost into a usable recipe ... since apparently it wasn't tested when being merged * Fixed the _devel package so that it actually contains devel stuff (in particular the static libs and shared lib symlinks) * Fixed all of the REQUIRES/PROVIDES entries * Enable ICU support * Enable parallel building There should probably be a _doc package and we might want to split the _devel package with a separate package for each of the libs. --- dev-libs/boost/boost-1.55.0.recipe | 294 +++++++++++++++++++++-------- 1 file changed, 215 insertions(+), 79 deletions(-) diff --git a/dev-libs/boost/boost-1.55.0.recipe b/dev-libs/boost/boost-1.55.0.recipe index a7c54ba93..9ea43b1ff 100644 --- a/dev-libs/boost/boost-1.55.0.recipe +++ b/dev-libs/boost/boost-1.55.0.recipe @@ -9,12 +9,14 @@ SUMMARY="Boost is a set of libraries for the C++ programming language." HOMEPAGE="http://www.boost.org/" SRC_URI="http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.bz2" CHECKSUM_MD5="d6eef4b4cacb2183f2bf265a5a03a354" -REVISION="1" +REVISION="2" LICENSE="Boost v1.0" COPYRIGHT="1998-2013 Beman Dawes, David Abrahams, Rene Rivera, et al." ARCHITECTURES="x86 ?x86_64" if [ $effectiveTargetArchitecture != x86_gcc2 ]; then ARCHITECTURES="$ARCHITECTURES x86_gcc2" +else + ARCHITECTURES="$ARCHITECTURES !x86_gcc2" fi SECONDARY_ARCHITECTURES="x86 ?x86_64" @@ -23,106 +25,189 @@ SOURCE_DIR="boost_1_55_0" PATCHES="boost-1.55.0.patchset" PROVIDES=" - lib:boost = 1.55.0 + boost$secondaryArchSuffix = $portVersion " REQUIRES=" haiku$secondaryArchSuffix >= $haikuVersion - lib:libiconv$secondaryArchSuffix - lib:libbz2$secondaryArchSuffix - lib:libz$secondaryArchSuffix + boost_atomic$secondaryArchSuffix == $portVersion + boost_chrono$secondaryArchSuffix == $portVersion + boost_context$secondaryArchSuffix == $portVersion + boost_coroutine$secondaryArchSuffix == $portVersion + boost_date_time$secondaryArchSuffix == $portVersion + boost_filesystem$secondaryArchSuffix == $portVersion + boost_graph$secondaryArchSuffix == $portVersion + boost_iostreams$secondaryArchSuffix == $portVersion + boost_locale$secondaryArchSuffix == $portVersion + boost_log$secondaryArchSuffix == $portVersion + boost_math$secondaryArchSuffix == $portVersion + boost_program_options$secondaryArchSuffix == $portVersion + boost_random$secondaryArchSuffix == $portVersion + boost_regex$secondaryArchSuffix == $portVersion + boost_serialization$secondaryArchSuffix == $portVersion + boost_signals$secondaryArchSuffix == $portVersion + boost_system$secondaryArchSuffix == $portVersion + boost_test$secondaryArchSuffix == $portVersion + boost_thread$secondaryArchSuffix == $portVersion + boost_timer$secondaryArchSuffix == $portVersion + boost_unit_test_framework$secondaryArchSuffix == $portVersion + boost_wave$secondaryArchSuffix == $portVersion " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel >= $haikuVersion - devel:libiconv$secondaryArchSuffix devel:libbz2$secondaryArchSuffix devel:libz$secondaryArchSuffix + devel:libicuuc$secondaryArchSuffix + devel:libicui18n$secondaryArchSuffix + devel:libicudata$secondaryArchSuffix " BUILD_PREREQUIRES=" - boehm_gc cmd:gcc$secondaryArchSuffix cmd:ld$secondaryArchSuffix - cmd:jam - cmd:iconv - cmd:make - binutils " BUILD() { ./bootstrap.sh \ - --without-icu \ --prefix=$prefix \ --exec-prefix=$binDir \ --libdir=$libDir \ --includedir=$includeDir - ./bjam \ - -sICU_PATH=$prefix \ - -sICONV_PATH=$prefix \ - -d2 \ + + ./b2 $jobArgs \ --without-mpi \ - --prefix=$prefix \ - --exec-prefix=$binDir \ - --libdir=$libDir \ - --includedir=$includeDir \ --enable-threads=posix \ --enable-thread-local-alloc \ --enable-parallel-mark \ inlining=on \ - linkflags=-L$libDir \ threading=multi \ variant=release \ - link=shared \ + link=static,shared \ runtime-link=shared \ - --without-python \ - --disable-icu + --without-python } INSTALL() { - mkdir -p $includeDir - mkdir -p $libDir - - cp -rf boost $includeDir - cp stage/lib/* $libDir - - packageEntries devel $includeDir - packageEntries atomic $libDir/*atomic* - packageEntries chrono $libDir/*chrono* - packageEntries context $libDir/*context* - packageEntries coroutine $libDir/*coroutine* - packageEntries date_time $libDir/*date_time* - packageEntries exception $libDir/*exception* - packageEntries filesystem $libDir/*filesystem* - packageEntries graph $libDir/*graph* - packageEntries iostreams $libDir/*iostreams* - packageEntries locale $libDir/*locale* - packageEntries log $libDir/*log* - packageEntries math $libDir/*math* - packageEntries program_options $libDir/*program_options* - packageEntries random $libDir/*random* - packageEntries regex $libDir/*regex* - packageEntries serialization $libDir/*serialization* - packageEntries signals $libDir/*signals* - packageEntries system $libDir/*system* - packageEntries test $libDir/*test* - packageEntries thread $libDir/*thread* - packageEntries timer $libDir/*timer* - packageEntries wave $libDir/*wave* + ./b2 $jobArgs \ + --without-mpi \ + --enable-threads=posix \ + --enable-thread-local-alloc \ + --enable-parallel-mark \ + inlining=on \ + threading=multi \ + variant=release \ + link=static,shared \ + runtime-link=shared \ + --without-python \ + install + + prepareInstalledDevelLibs libboost_atomic \ + libboost_chrono libboost_context libboost_coroutine \ + libboost_date_time libboost_filesystem libboost_iostreams \ + libboost_locale libboost_log libboost_log_setup \ + libboost_math_c99 libboost_math_c99f libboost_math_c99l \ + libboost_math_tr1 libboost_math_tr1f libboost_math_tr1l \ + libboost_program_options libboost_random libboost_regex \ + libboost_serialization libboost_signals libboost_system \ + libboost_thread libboost_timer libboost_unit_test_framework \ + libboost_wave libboost_wserialization libboost_prg_exec_monitor \ + libboost_exception libboost_graph libboost_test_exec_monitor + + packageEntries devel $developDir + packageEntries atomic $libDir/libboost_atomic* + packageEntries chrono $libDir/libboost_chrono* + packageEntries context $libDir/libboost_context* + packageEntries coroutine $libDir/libboost_coroutine* + packageEntries date_time $libDir/libboost_date_time* +# packageEntries exception $libDir/libboost_exception* + packageEntries filesystem $libDir/libboost_filesystem* + packageEntries graph $libDir/libboost_graph* + packageEntries iostreams $libDir/libboost_iostreams* + packageEntries locale $libDir/libboost_locale* + packageEntries log $libDir/libboost_log* + packageEntries math $libDir/libboost_math* + packageEntries program_options $libDir/libboost_program_options* + packageEntries random $libDir/libboost_random* + packageEntries regex $libDir/libboost_regex* + packageEntries serialization $libDir/libboost_serialization* $libDir/libboost_wserialization* + packageEntries signals $libDir/libboost_signals* + packageEntries system $libDir/libboost_system* + packageEntries test $libDir/libboost_prg_exec_monitor* + packageEntries thread $libDir/libboost_thread* + packageEntries timer $libDir/libboost_timer* + packageEntries unit_test_framework $libDir/libboost_unit_test_framework* + packageEntries wave $libDir/libboost_wave* } PROVIDES_devel=" boost_devel$secondaryArchSuffix = $portVersion + devel:libboost_atomic$secondaryArchSuffix = $portVersion + devel:libboost_chrono$secondaryArchSuffix = $portVersion + devel:libboost_context$secondaryArchSuffix = $portVersion + devel:libboost_coroutine$secondaryArchSuffix = $portVersion + devel:libboost_date_time$secondaryArchSuffix = $portVersion + devel:libboost_exception$secondaryArchSuffix = $portVersion + devel:libboost_filesystem$secondaryArchSuffix = $portVersion + devel:libboost_graph$secondaryArchSuffix = $portVersion + devel:libboost_iostreams$secondaryArchSuffix = $portVersion + devel:libboost_locale$secondaryArchSuffix = $portVersion + devel:libboost_log$secondaryArchSuffix = $portVersion + devel:libboost_log_setup$secondaryArchSuffix = $portVersion + devel:libboost_math_c99$secondaryArchSuffix = $portVersion + devel:libboost_math_c99f$secondaryArchSuffix = $portVersion + devel:libboost_math_c99l$secondaryArchSuffix = $portVersion + devel:libboost_math_tr1$secondaryArchSuffix = $portVersion + devel:libboost_math_tr1f$secondaryArchSuffix = $portVersion + devel:libboost_math_tr1l$secondaryArchSuffix = $portVersion + devel:libboost_prg_exec_monitor$secondaryArchSuffix = $portVersion + devel:libboost_program_options$secondaryArchSuffix = $portVersion + devel:libboost_random$secondaryArchSuffix = $portVersion + devel:libboost_regex$secondaryArchSuffix = $portVersion + devel:libboost_serialization$secondaryArchSuffix = $portVersion + devel:libboost_signals$secondaryArchSuffix = $portVersion + devel:libboost_system$secondaryArchSuffix = $portVersion + devel:libboost_test_exec_monitor$secondaryArchSuffix = $portVersion + devel:libboost_thread$secondaryArchSuffix = $portVersion + devel:libboost_timer$secondaryArchSuffix = $portVersion + devel:libboost_unit_test_framework$secondaryArchSuffix = $portVersion + devel:libboost_wave$secondaryArchSuffix = $portVersion + devel:libboost_wserialization$secondaryArchSuffix = $portVersion " REQUIRES_devel=" haiku$secondaryArchSuffix >= $haikuVersion + boost$secondaryArchSuffix == $portVersion + boost_atomic$secondaryArchSuffix == $portVersion + boost_chrono$secondaryArchSuffix == $portVersion + boost_context$secondaryArchSuffix == $portVersion + boost_coroutine$secondaryArchSuffix == $portVersion + boost_date_time$secondaryArchSuffix == $portVersion +# boost_exception$secondaryArchSuffix == $portVersion + boost_filesystem$secondaryArchSuffix == $portVersion + boost_graph$secondaryArchSuffix == $portVersion + boost_iostreams$secondaryArchSuffix == $portVersion + boost_locale$secondaryArchSuffix == $portVersion + boost_log$secondaryArchSuffix == $portVersion + boost_math$secondaryArchSuffix == $portVersion + boost_program_options$secondaryArchSuffix == $portVersion + boost_random$secondaryArchSuffix == $portVersion + boost_regex$secondaryArchSuffix == $portVersion + boost_serialization$secondaryArchSuffix == $portVersion + boost_signals$secondaryArchSuffix == $portVersion + boost_system$secondaryArchSuffix == $portVersion + boost_test$secondaryArchSuffix == $portVersion + boost_thread$secondaryArchSuffix == $portVersion + boost_timer$secondaryArchSuffix == $portVersion + boost_unit_test_framework$secondaryArchSuffix == $portVersion + boost_wave$secondaryArchSuffix == $portVersion " PROVIDES_atomic=" boost_atomic$secondaryArchSuffix = $portVersion + lib:libboost_atomic$secondaryArchSuffix = $portVersion " REQUIRES_atomic=" @@ -131,15 +216,17 @@ REQUIRES_atomic=" PROVIDES_chrono=" boost_chrono$secondaryArchSuffix = $portVersion + lib:libboost_chrono$secondaryArchSuffix = $portVersion " REQUIRES_chrono=" haiku$secondaryArchSuffix >= $haikuVersion - boost_system$secondaryArchSuffix == $portVersion + lib:libboost_system$secondaryArchSuffix == $portVersion " PROVIDES_context=" boost_context$secondaryArchSuffix = $portVersion + lib:libboost_context$secondaryArchSuffix = $portVersion " REQUIRES_context=" @@ -148,81 +235,107 @@ REQUIRES_context=" PROVIDES_coroutine=" boost_coroutine$secondaryArchSuffix = $portVersion + lib:libboost_coroutine$secondaryArchSuffix = $portVersion " REQUIRES_coroutine=" - boost_context$secondaryArchSuffix == $portVersion + haiku$secondaryArchSuffix >= $haikuVersion + lib:libboost_context$secondaryArchSuffix == $portVersion + lib:libboost_system$secondaryArchSuffix == $portVersion " PROVIDES_date_time=" boost_date_time$secondaryArchSuffix = $portVersion + lib:libboost_date_time$secondaryArchSuffix = $portVersion " REQUIRES_date_time=" haiku$secondaryArchSuffix >= $haikuVersion " -PROVIDES_exception=" - boost_exception$secondaryArchSuffix = $portVersion - " +#PROVIDES_exception=" +# boost_exception$secondaryArchSuffix = $portVersion +# lib:libboost_exception$secondaryArchSuffix = $portVersion +# " -REQUIRES_exception=" - haiku$secondaryArchSuffix >= $haikuVersion - " +#REQUIRES_exception=" +# haiku$secondaryArchSuffix >= $haikuVersion +# " PROVIDES_filesystem=" boost_filesystem$secondaryArchSuffix = $portVersion + lib:libboost_filesystem$secondaryArchSuffix = $portVersion " REQUIRES_filesystem=" haiku$secondaryArchSuffix >= $haikuVersion - boost_system$secondaryArchSuffix == $portVersion + lib:libboost_system$secondaryArchSuffix == $portVersion lib:libz$secondaryArchSuffix lib:libbz2$secondaryArchSuffix " PROVIDES_graph=" boost_graph$secondaryArchSuffix = $portVersion + lib:libboost_graph$secondaryArchSuffix = $portVersion " REQUIRES_graph=" haiku$secondaryArchSuffix >= $haikuVersion - boost_regex$secondaryArchSuffix == $portVersion + lib:libboost_regex$secondaryArchSuffix == $portVersion + lib:libicuuc$secondaryArchSuffix + lib:libicui18n$secondaryArchSuffix + lib:libicudata$secondaryArchSuffix " PROVIDES_iostreams=" boost_iostreams$secondaryArchSuffix = $portVersion + lib:libboost_iostreams$secondaryArchSuffix = $portVersion " REQUIRES_iostreams=" haiku$secondaryArchSuffix >= $haikuVersion + lib:libz$secondaryArchSuffix + lib:libbz2$secondaryArchSuffix " PROVIDES_locale=" boost_locale$secondaryArchSuffix = $portVersion + lib:libboost_locale$secondaryArchSuffix = $portVersion " REQUIRES_locale=" haiku$secondaryArchSuffix >= $haikuVersion - boost_chrono$secondaryArchSuffix == $portVersion - boost_system$secondaryArchSuffix == $portVersion - boost_thread$secondaryArchSuffix == $portVersion + lib:libboost_chrono$secondaryArchSuffix == $portVersion + lib:libboost_system$secondaryArchSuffix == $portVersion + lib:libboost_thread$secondaryArchSuffix == $portVersion + lib:libicuuc$secondaryArchSuffix + lib:libicui18n$secondaryArchSuffix + lib:libicudata$secondaryArchSuffix " PROVIDES_log=" boost_log$secondaryArchSuffix = $portVersion + lib:libboost_log$secondaryArchSuffix = $portVersion + lib:libboost_log_setup$secondaryArchSuffix = $portVersion " REQUIRES_log=" haiku$secondaryArchSuffix >= $haikuVersion - boost_chrono$secondaryArchSuffix == $portVersion - boost_system$secondaryArchSuffix == $portVersion - boost_date_time$secondaryArchSuffix == $portVersion - boost_thread$secondaryArchSuffix == $portVersion + lib:libboost_chrono$secondaryArchSuffix == $portVersion + lib:libboost_filesystem$secondaryArchSuffix == $portVersion + lib:libboost_system$secondaryArchSuffix == $portVersion + lib:libboost_date_time$secondaryArchSuffix == $portVersion + lib:libboost_thread$secondaryArchSuffix == $portVersion " PROVIDES_math=" boost_math$secondaryArchSuffix = $portVersion + lib:libboost_math_c99$secondaryArchSuffix = $portVersion + lib:libboost_math_c99f$secondaryArchSuffix = $portVersion + lib:libboost_math_c99l$secondaryArchSuffix = $portVersion + lib:libboost_math_tr1$secondaryArchSuffix = $portVersion + lib:libboost_math_tr1f$secondaryArchSuffix = $portVersion + lib:libboost_math_tr1l$secondaryArchSuffix = $portVersion " REQUIRES_math=" @@ -231,6 +344,7 @@ REQUIRES_math=" PROVIDES_program_options=" boost_program_options$secondaryArchSuffix = $portVersion + lib:libboost_program_options$secondaryArchSuffix = $portVersion " REQUIRES_program_options=" @@ -239,6 +353,7 @@ REQUIRES_program_options=" PROVIDES_random=" boost_random$secondaryArchSuffix = $portVersion + lib:libboost_random$secondaryArchSuffix = $portVersion " REQUIRES_random=" @@ -247,14 +362,20 @@ REQUIRES_random=" PROVIDES_regex=" boost_regex$secondaryArchSuffix = $portVersion + lib:libboost_regex$secondaryArchSuffix = $portVersion " REQUIRES_regex=" haiku$secondaryArchSuffix >= $haikuVersion + lib:libicuuc$secondaryArchSuffix + lib:libicui18n$secondaryArchSuffix + lib:libicudata$secondaryArchSuffix " PROVIDES_serialization=" boost_serialization$secondaryArchSuffix = $portVersion + lib:libboost_serialization$secondaryArchSuffix = $portVersion + lib:libboost_wserialization$secondaryArchSuffix = $portVersion " REQUIRES_serialization=" @@ -263,6 +384,7 @@ REQUIRES_serialization=" PROVIDES_signals=" boost_signals$secondaryArchSuffix = $portVersion + lib:libboost_signals$secondaryArchSuffix = $portVersion " REQUIRES_signals=" @@ -271,6 +393,7 @@ REQUIRES_signals=" PROVIDES_system=" boost_system$secondaryArchSuffix = $portVersion + lib:libboost_system$secondaryArchSuffix = $portVersion " REQUIRES_system=" @@ -279,6 +402,8 @@ REQUIRES_system=" PROVIDES_test=" boost_test$secondaryArchSuffix = $portVersion + lib:libboost_prg_exec_monitor$secondaryArchSuffix = $portVersion +# lib:libboost_test_exec_monitor$secondaryArchSuffix = $portVersion " REQUIRES_test=" @@ -287,33 +412,44 @@ REQUIRES_test=" PROVIDES_thread=" boost_thread$secondaryArchSuffix = $portVersion + lib:libboost_thread$secondaryArchSuffix = $portVersion " REQUIRES_thread=" haiku$secondaryArchSuffix >= $haikuVersion - boost_system$secondaryArchSuffix == $portVersion - boost_chrono$secondaryArchSuffix == $portVersion + lib:libboost_system$secondaryArchSuffix == $portVersion " PROVIDES_timer=" boost_timer$secondaryArchSuffix = $portVersion + lib:libboost_timer$secondaryArchSuffix = $portVersion " REQUIRES_timer=" haiku$secondaryArchSuffix >= $haikuVersion - boost_chrono$secondaryArchSuffix == $portVersion - boost_system$secondaryArchSuffix == $portVersion + lib:libboost_chrono$secondaryArchSuffix == $portVersion + lib:libboost_system$secondaryArchSuffix == $portVersion + " + +PROVIDES_unit_test_framework=" + boost_unit_test_framework$secondaryArchSuffix = $portVersion + lib:libboost_unit_test_framework$secondaryArchSuffix = $portVersion + " + +REQUIRES_unit_test_framework=" + haiku$secondaryArchSuffix >= $haikuVersion " PROVIDES_wave=" boost_wave$secondaryArchSuffix = $portVersion + lib:libboost_wave$secondaryArchSuffix = $portVersion " REQUIRES_wave=" haiku$secondaryArchSuffix >= $haikuVersion - boost_chrono$secondaryArchSuffix == $portVersion - boost_date_time$secondaryArchSuffix == $portVersion - boost_filesystem$secondaryArchSuffix == $portVersion - boost_system$secondaryArchSuffix == $portVersion - boost_thread$secondaryArchSuffix == $portVersion + lib:libboost_chrono$secondaryArchSuffix == $portVersion + lib:libboost_date_time$secondaryArchSuffix == $portVersion + lib:libboost_filesystem$secondaryArchSuffix == $portVersion + lib:libboost_system$secondaryArchSuffix == $portVersion + lib:libboost_thread$secondaryArchSuffix == $portVersion "