From 392badcfca7fb0170ccd483267b64eb29617a0cf Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Sat, 13 Jul 2013 14:38:45 +0000 Subject: [PATCH] extra/boost to 1.54.0-2 --- extra/boost/PKGBUILD | 15 ++++---- ....54.0-Fix-macro-for-int128-detection.patch | 35 +++++++++++++++++++ 2 files changed, 44 insertions(+), 6 deletions(-) create mode 100644 extra/boost/boost-1.54.0-Fix-macro-for-int128-detection.patch diff --git a/extra/boost/PKGBUILD b/extra/boost/PKGBUILD index f873ac454..07388eded 100644 --- a/extra/boost/PKGBUILD +++ b/extra/boost/PKGBUILD @@ -12,7 +12,7 @@ pkgbase=boost pkgname=('boost-libs' 'boost') -pkgver=1.53.0 +pkgver=1.54.0 _boostver=${pkgver//./_} pkgrel=2 url="http://www.boost.org/" @@ -20,16 +20,19 @@ arch=('i686' 'x86_64') license=('custom') makedepends=('icu>=51.1' 'python' 'python2' 'bzip2' 'zlib') source=(http://downloads.sourceforge.net/${pkgbase}/${pkgbase}_${_boostver}.tar.gz - boost-1.53.0-python3.patch) -sha1sums=('0e4ef26cc7780c6bbc63987ef2f29be920e2395b' - '34026072a7cb2534164f20e77bb71a5c75093307') - -_stagedir="${srcdir}/stagedir" + boost-1.53.0-python3.patch + boost-1.54.0-Fix-macro-for-int128-detection.patch) +sha1sums=('069501636097d3f40ddfd996d29748bb23591c53' + '34026072a7cb2534164f20e77bb71a5c75093307' + 'bf5177694ab8a0df6bc13aa47b05727c40febebb') build() { + export _stagedir="${srcdir}/stagedir" local JOBS="$(sed -e 's/.*\(-j *[0-9]\+\).*/\1/' <<< ${MAKEFLAGS})" cd "${srcdir}/${pkgbase}_${_boostver}" + + patch -Np2 -i ../boost-1.54.0-Fix-macro-for-int128-detection.patch # Fix build errors with python 3 sed -i "/PYTHON_ROOT/s/print sys.prefix/print(sys.prefix)/g" bootstrap.sh diff --git a/extra/boost/boost-1.54.0-Fix-macro-for-int128-detection.patch b/extra/boost/boost-1.54.0-Fix-macro-for-int128-detection.patch new file mode 100644 index 000000000..1f337bedf --- /dev/null +++ b/extra/boost/boost-1.54.0-Fix-macro-for-int128-detection.patch @@ -0,0 +1,35 @@ +Index: /trunk/boost/lexical_cast.hpp +=================================================================== +--- /trunk/boost/lexical_cast.hpp (revision 84136) ++++ /trunk/boost/lexical_cast.hpp (revision 84965) +@@ -70,8 +70,8 @@ + #endif + +-#if (defined(BOOST_LCAST_HAS_INT128) && !defined(__GNUC__)) || GCC_VERSION > 40700 ++// GCC 4.6 has some issues with int128 and uint128. Issues were fixed in GCC 4.7 ++#if defined(BOOST_HAS_INT128) && (!defined(__GNUC__) || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 6)) + #define BOOST_LCAST_HAS_INT128 + #endif +- + + namespace boost +Index: /trunk/libs/conversion/test/lexical_cast_integral_types_test.cpp +=================================================================== +--- /trunk/libs/conversion/test/lexical_cast_integral_types_test.cpp (revision 83717) ++++ /trunk/libs/conversion/test/lexical_cast_integral_types_test.cpp (revision 84965) +@@ -49,5 +49,5 @@ + #endif + +-#if (defined(BOOST_LCAST_HAS_INT128) && !defined(__GNUC__)) || GCC_VERSION > 40700 ++#if defined(BOOST_HAS_INT128) && (!defined(__GNUC__) || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 6)) + #define BOOST_LCAST_HAS_INT128 + #endif +@@ -445,6 +445,6 @@ + + // Overflow test case from David W. Birdsall +- std::string must_owerflow_str = "160000000000000000000"; +- std::string must_owerflow_negative_str = "-160000000000000000000"; ++ std::string must_owerflow_str = (sizeof(T) < 16 ? "160000000000000000000" : "1600000000000000000000000000000000000000"); ++ std::string must_owerflow_negative_str = (sizeof(T) < 16 ? "-160000000000000000000" : "-1600000000000000000000000000000000000000"); + for (int i = 0; i < 15; ++i) { + BOOST_CHECK_THROW(lexical_cast(must_owerflow_str), bad_lexical_cast);