diff --git a/dev-libs/boost/boost-1.55.0.recipe b/dev-libs/boost/boost-1.55.0.recipe index 3269e6f00..b1a2daff6 100644 --- a/dev-libs/boost/boost-1.55.0.recipe +++ b/dev-libs/boost/boost-1.55.0.recipe @@ -12,10 +12,16 @@ CHECKSUM_MD5="d6eef4b4cacb2183f2bf265a5a03a354" REVISION="1" LICENSE="Boost v1.0" COPYRIGHT="1998-2013 Beman Dawes, David Abrahams, Rene Rivera, et al." -ARCHITECTURES="?x86_gcc2 ?x86" -SECONDARY_ARCHITECTURES="x86" +ARCHITECTURES="x86 ?x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86 ?x86_64" SOURCE_DIR="boost_1_55_0" -PATCHES="boost-1.55.0.patch" +PATCHES=" + boost-1.55.0.patch + type_traits.patch +" PROVIDES=" lib:boost = 1.55.0 @@ -29,60 +35,241 @@ BUILD_PREREQUIRES=" cmd:ld$secondaryArchSuffix cmd:jam cmd:iconv + cmd:make + binutils " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel >= $haikuVersion devel:libiconv + devel:libbz2 + devel:libz " REQUIRES=" lib:libiconv + lib:libbz2 + lib:libz " BUILD() { ./bootstrap.sh \ --without-icu \ - --prefix=`finddir B_SYSTEM_DIRECTORY` \ - --exec-prefix=`finddir B_SYSTEM_BIN_DIRECTORY` \ - --libdir=`finddir B_SYSTEM_LIB_DIRECTORY` \ - #--includedir=`finddir B_SYSTEM_HEADERS_DIRECTORY` + --prefix=$prefix \ + --exec-prefix=$binDir \ + --libdir=$libDir \ + --includedir=$includeDir ./bjam \ - -sICU_PATH=`finddir B_SYSTEM_DIRECTORY` \ - -sICONV_PATH=`finddir B_SYSTEM_DIRECTORY` \ + -sICU_PATH=$prefix \ + -sICONV_PATH=$prefix \ -d2 \ --without-mpi \ - --prefix=`finddir B_SYSTEM_DIRECTORY` \ - --exec-prefix=`finddir B_SYSTEM_BIN_DIRECTORY` \ - --libdir=`finddir B_SYSTEM_LIB_DIRECTORY` \ - #--includedir=`finddir B_SYSTEM_HEADERS_DIRECTORY` \ + --prefix=$prefix \ + --exec-prefix=$binDir \ + --libdir=$libDir \ + --includedir=$includeDir \ --enable-threads=posix \ --enable-thread-local-alloc \ - --enable-parallel-mark \ + --enable-parallel-mark \ inlining=on \ - linkflags=-L`finddir B_SYSTEM_LIB_DIRECTORY` \ + linkflags=-L$libDir \ threading=multi \ variant=release \ link=shared \ - runtime-link=shared + runtime-link=shared \ + --without-python \ + --disable-icu } INSTALL() { - ./bjam install \ - -d2 \ - --prefix=$prefix \ - #--exec-prefix=${DESTDIR}/`finddir B_SYSTEM_BIN_DIRECTORY` \ - #--libdir=${DESTDIR}/`finddir B_SYSTEM_LIB_DIRECTORY` \ - #--includedir=${DESTDIR}/`finddir B_SYSTEM_HEADERS_DIRECTORY` \ - inlining=on \ - --without-mpi + 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* } PROVIDES_devel=" - boost${secondaryArchSuffix} = $portVersion + boost_devel$secondaryArchSuffix = $portVersion " - REQUIRES_devel=" - boost${secondaryArchSuffix} == $portVersion base - " + haiku$secondaryArchSuffix >= $haikuVersion +" +PROVIDES_atomic=" + boost_atomic$secondaryArchSuffix = $portVersion +" +REQUIRES_atomic=" + haiku$secondaryArchSuffix >= $haikuVersion +" +PROVIDES_chrono=" + boost_chrono$secondaryArchSuffix = $portVersion +" +REQUIRES_chrono=" + haiku$secondaryArchSuffix >= $haikuVersion + boost_system$secondaryArchSuffix == $portVersion +" +PROVIDES_context=" + boost_context$secondaryArchSuffix = $portVersion +" +REQUIRES_context=" + haiku$secondaryArchSuffix >= $haikuVersion +" +PROVIDES_coroutine=" + boost_coroutine$secondaryArchSuffix = $portVersion +" +REQUIRES_coroutine=" + boost_context$secondaryArchSuffix == $portVersion +" +PROVIDES_date_time=" + boost_date_time$secondaryArchSuffix = $portVersion +" +REQUIRES_date_time=" + haiku$secondaryArchSuffix >= $haikuVersion +" +PROVIDES_exception=" + boost_exception$secondaryArchSuffix = $portVersion +" +REQUIRES_exception=" + haiku$secondaryArchSuffix >= $haikuVersion +" +PROVIDES_filesystem=" + boost_filesystem$secondaryArchSuffix = $portVersion +" +REQUIRES_filesystem=" + haiku$secondaryArchSuffix >= $haikuVersion + boost_system$secondaryArchSuffix == $portVersion + lib:libz$secondaryArchSuffix + lib:libbz2$secondaryArchSuffix +" +PROVIDES_graph=" + boost_graph$secondaryArchSuffix = $portVersion +" +REQUIRES_graph=" + haiku$secondaryArchSuffix >= $haikuVersion + boost_regex$secondaryArchSuffix == $portVersion +" +PROVIDES_iostreams=" + boost_iostreams$secondaryArchSuffix = $portVersion +" +REQUIRES_iostreams=" + haiku$secondaryArchSuffix >= $haikuVersion +" +PROVIDES_locale=" + boost_locale$secondaryArchSuffix = $portVersion +" +REQUIRES_locale=" + haiku$secondaryArchSuffix >= $haikuVersion + boost_chrono$secondaryArchSuffix == $portVersion + boost_system$secondaryArchSuffix == $portVersion + boost_thread$secondaryArchSuffix == $portVersion +" +PROVIDES_log=" + boost_log$secondaryArchSuffix = $portVersion +" +REQUIRES_log=" + haiku$secondaryArchSuffix >= $haikuVersion + boost_chrono$secondaryArchSuffix == $portVersion + boost_system$secondaryArchSuffix == $portVersion + boost_date_time$secondaryArchSuffix == $portVersion + boost_thread$secondaryArchSuffix == $portVersion +" +PROVIDES_math=" + boost_math$secondaryArchSuffix = $portVersion +" +REQUIRES_math=" + haiku$secondaryArchSuffix >= $haikuVersion +" +PROVIDES_program_options=" + boost_program_options$secondaryArchSuffix = $portVersion +" +REQUIRES_program_options=" + haiku$secondaryArchSuffix >= $haikuVersion +" +PROVIDES_random=" + boost_random$secondaryArchSuffix = $portVersion +" +REQUIRES_random=" + haiku$secondaryArchSuffix >= $haikuVersion +" +PROVIDES_regex=" + boost_regex$secondaryArchSuffix = $portVersion +" +REQUIRES_regex=" + haiku$secondaryArchSuffix >= $haikuVersion +" +PROVIDES_serialization=" + boost_serialization$secondaryArchSuffix = $portVersion +" +REQUIRES_serialization=" + haiku$secondaryArchSuffix >= $haikuVersion +" +PROVIDES_signals=" + boost_signals$secondaryArchSuffix = $portVersion +" +REQUIRES_signals=" + haiku$secondaryArchSuffix >= $haikuVersion +" +PROVIDES_system=" + boost_system$secondaryArchSuffix = $portVersion +" +REQUIRES_system=" + haiku$secondaryArchSuffix >= $haikuVersion +" +PROVIDES_test=" + boost_test$secondaryArchSuffix = $portVersion +" +REQUIRES_test=" + haiku$secondaryArchSuffix >= $haikuVersion +" +PROVIDES_thread=" + boost_thread$secondaryArchSuffix = $portVersion +" +REQUIRES_thread=" + haiku$secondaryArchSuffix >= $haikuVersion + boost_system$secondaryArchSuffix == $portVersion + boost_chrono$secondaryArchSuffix == $portVersion +" +PROVIDES_timer=" + boost_timer$secondaryArchSuffix = $portVersion +" +REQUIRES_timer=" + haiku$secondaryArchSuffix >= $haikuVersion + boost_chrono$secondaryArchSuffix == $portVersion + boost_system$secondaryArchSuffix == $portVersion +" +PROVIDES_wave=" + boost_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 +" diff --git a/dev-libs/boost/patches/type_traits.patch b/dev-libs/boost/patches/type_traits.patch new file mode 100644 index 000000000..02b4a07cb --- /dev/null +++ b/dev-libs/boost/patches/type_traits.patch @@ -0,0 +1,35 @@ +diff --git a/boost/config/platform/haiku.hpp b/boost/config/platform/haiku.hpp +index 1b15c7e..9a3becd 100644 +--- a/boost/config/platform/haiku.hpp ++++ b/boost/config/platform/haiku.hpp +@@ -9,18 +9,29 @@ + + #define BOOST_PLATFORM "Haiku" + +-#define BOOST_NO_INTRINSIC_WCHAR_T ++//#define BOOST_NO_INTRINSIC_WCHAR_T + #define BOOST_HAS_UNISTD_H ++#define BOOST_NO_AUTO_PTR ++#define GLIBC_HAVE_LONG_LONG ++#define BOOST_HAS_STDINT_H ++//#define BOOST_NOT_STD_WSTRING ++#define BOOST_HASH_NO_EXTENSIONS + + #define BOOST_HAS_BETHREADS + + #ifndef BOOST_DISABLE_THREADS + # define BOOST_HAS_THREADS + #endif ++#define BOOST_NO_CXX11_HDR_TYPE_TRAITS ++#define BOOST_NO_CXX11_ATOMIC_SMART_PTR ++#define BOOST_NO_CXX11_STATIC_ASSERT ++#define BOOST_NO_CXX11_VARIADIC_MACROS + + // + // thread API's not auto detected: + // ++#define BOOST_HAS_SCHED_YIELD ++#define BOOST_HAS_PTHREAD_YIELD + #define BOOST_HAS_GETTIMEOFDAY + + // boilerplate code: