Update to boost 1.55.0

switch back to normal library naming
Add a compat symlink for .so.5
Use compiler.mk to detect compiler
Use a modern compiler (doesn't work with base gcc)
This commit is contained in:
Baptiste Daroussin 2014-02-07 11:43:02 +00:00
parent cbe5b4aaff
commit 776c8a3824
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=343213
16 changed files with 5358 additions and 2288 deletions

View file

@ -16,8 +16,8 @@ LIBRARIES_DESC= Free portable C++ libraries
PYTHON_DESC= Boost.Python - interfacing Python and C++
NO_BUILD= yes
NO_MTREE= yes
NO_STAGE= yes
.include "common.mk"
LIBRARIES_RUN_DEPENDS= ${LOCALBASE}/lib/libboost_thread.so:${PORTSDIR}/devel/boost-libs

View file

@ -1,5 +1,5 @@
PORTVERSION= 1.52.0
PORTVERSION= 1.55.0
PORTVERSUFFIX= ${PORTVERSION:C/\.[0-9]+$//}
DISTNAME= boost_${PORTVERSION:S/./_/g}

View file

@ -1,15 +1,17 @@
USE_LDCONFIG= yes
BOOST_SHARED_LIB_VER= 5
PKGMESSAGE= ${WRKDIR}/pkg-message
BJAM= bjam
USES= compiler:c++11-lang
PLIST_SUB+= BOOST_SHARED_LIB_VER=${BOOST_SHARED_LIB_VER}
PLIST_SUB+= BOOST_SHARED_LIB_VER=${PORTVERSION} COMPAT_LIB_VER=5
PKG_MESSAGE_FILE_THREADS= ${PORTSDIR}/devel/boost-all/pkg-message.threads
PKG_MESSAGE_FILE_PYTHON= ${PORTSDIR}/devel/boost-all/pkg-message.python
.include <bsd.port.pre.mk>
BJAM_ARGS= --layout=system \
--prefix=${PREFIX}
--prefix=${PREFIX} \
.if ${ARCH} == amd64
BJAM_ARGS+= cxxflags=-fPIC
@ -20,26 +22,11 @@ BJAM_ARGS+= cxxflags=-fPIC
# of gcc/g++):
BJAM_ARGS+= cxxflags="${CXXFLAGS:N-O*}" cflags="${CFLAGS:N-O*}"
.if ${CC:T:Mgcc*}
BOOST_TOOLSET:= gcc
.elif ${CC:T:Mclang}
BOOST_TOOLSET:= clang
.else
_COMPILER_VERSION!= ${CC} --version
. if ${_COMPILER_VERSION:Mgcc}
BOOST_TOOLSET:= gcc
. elif ${_COMPILER_VERSION:M\(GCC\)}
BOOST_TOOLSET:= gcc
. elif ${_COMPILER_VERSION:Mclang}
BOOST_TOOLSET:= clang
. else
.error Unable to determine compiler type for ${CC}
. endif
. undef _COMPILER_VERSION
.endif
BOOST_TOOLSET= ${CHOSEN_COMPILER_TYPE}
BJAM_ARGS+= --toolset=${BOOST_TOOLSET} \
${_MAKE_JOBS}
.if ${PORT_OPTIONS:MVERBOSE_BUILD}
BJAM_ARGS+= -d2
.endif
@ -59,8 +46,6 @@ BJAM_ARGS+= inlining=full
.endif
post-patch:
@${REINPLACE_CMD} -e 's|${PORTVERSION}|${BOOST_SHARED_LIB_VER}|g' \
${WRKSRC}/Jamroot
.if ${BOOST_TOOLSET} == gcc
@${ECHO} "using gcc : : ${CXX} ;" >> ${WRKSRC}/tools/build/v2/user-config.jam
.endif

View file

@ -9,25 +9,21 @@ UNIQ= /usr/bin/uniq
NO_BUILD= yes
NO_STAGE= yes
.include "${.CURDIR}/..//boost-all/common.mk"
do-install:
# Documentation & examples
@${MKDIR} ${DOCSDIR}
@${MKDIR} ${STAGEDIR}${DOCSDIR}
@cd ${WRKSRC} &&\
${FIND} . -name "*.htm" -o -name "*.html" -o -name "*.css"\
-o -name "*.jp*g" -o -name "*.png" -o -name "*.gif"\
| ${PAX} -rw ${DOCSDIR}
| ${PAX} -rw ${STAGEDIR}${DOCSDIR}
@cd ${WRKSRC}/libs &&\
${FIND} . -name "example" -o -name "examples" -o -name "*example*.cpp"\
-o -name "*example*.c" -o -name "*example*.hpp" | ${UNIQ} |\
${GREP} -v "assign/test" | ${GREP} -v "iterator/test" | \
${GREP} -v "range/test" |\
${PAX} -rw ${DOCSDIR}/libs
@${FIND} ${DOCSDIR} -type f -exec ${CHMOD} 0444 {} \;
@${FIND} ${DOCSDIR} -type d -exec ${CHMOD} 0755 {} \;
${PAX} -rw ${STAGEDIR}${DOCSDIR}/libs
.include <bsd.port.mk>

View file

@ -1,2 +1,2 @@
SHA256 (boost_1_52_0.tar.bz2) = 222b6afd7723f396f5682c20130314a10196d3999feab5ba920d2a6bf53bac92
SIZE (boost_1_52_0.tar.bz2) = 54421709
SHA256 (boost_1_55_0.tar.bz2) = fff00023dd79486d444c8e29922f4072e1d451fc5a4d2b6075852ead7f2b7b52
SIZE (boost_1_55_0.tar.bz2) = 58146647

File diff suppressed because it is too large Load diff

View file

@ -4,8 +4,6 @@
PORTNAME= boost-jam
COMMENT= Build tool from the boost.org
PORTREVISION= 1
PLIST_FILES= bin/bjam
EXTRACT_AFTER_ARGS= ${DISTNAME}/tools/build/v2/engine

View file

@ -1,2 +1,2 @@
SHA256 (boost_1_52_0.tar.bz2) = 222b6afd7723f396f5682c20130314a10196d3999feab5ba920d2a6bf53bac92
SIZE (boost_1_52_0.tar.bz2) = 54421709
SHA256 (boost_1_55_0.tar.bz2) = fff00023dd79486d444c8e29922f4072e1d451fc5a4d2b6075852ead7f2b7b52
SIZE (boost_1_55_0.tar.bz2) = 58146647

View file

@ -4,8 +4,6 @@
PORTNAME= boost-libs
COMMENT= Free portable C++ libraries (without Boost.Python)
PORTREVISION= 2
BUILD_DEPENDS+= bjam:${PORTSDIR}/devel/boost-jam
OPTIONS_DEFINE= VERBOSE_BUILD DEBUG ICU OPTIMIZED_CFLAGS
@ -13,16 +11,14 @@ OPTIONS_DEFAULT= ICU
VERBOSE_BUILD_DESC= Show compiler messages
ICU_DESC= Boost.Regex with ICU unicode support
NO_STAGE= yes
.include "${.CURDIR}/../boost-all/common.mk"
.include <bsd.port.pre.mk>
.include "${.CURDIR}/../boost-all/compiled.mk"
BJAM_ARGS+= --without-python
.if ${PORT_OPTIONS:MICU}
LIB_DEPENDS+= icuuc:${PORTSDIR}/devel/icu
LIB_DEPENDS+= libicuuc.so:${PORTSDIR}/devel/icu
BJAM_ARGS+= -sICU_PATH=${LOCALBASE}
.else
USES+= iconv
@ -36,14 +32,15 @@ BROKEN= Does not compile on sparc64: invokes i386 assembler
do-build:
@cd ${WRKSRC} && \
${SETENV} ${MAKE_ENV} ${BJAM} ${BJAM_ARGS} stage
#Compatibility layer to avoid rebuilding everything this time
@cd ${WRKSRC}/stage/lib && \
( for l in lib*.so.*; do ${LN} -sf $${l} $${l%.*}; done )
( for l in lib*.so.*; do ${LN} -sf $${l} $${l%.${PORTVERSION}}.5; done )
do-install:
@cd ${WRKSRC} && \
${SETENT} ${MAKE_ENV} ${BJAM} ${BJAM_ARGS} install
${SETENT} ${MAKE_ENV} ${BJAM} --prefix=${STAGEDIR}${PREFIX} ${BJAM_ARGS} install
# For some reasons BJAM forget about the links
@cd ${WRKSRC}/stage/ && ${FIND} lib -type l | ${PAX} -rw -p p ${PREFIX}
@cd ${WRKSRC}/stage/ && ${FIND} lib -type l | ${PAX} -rw -p p ${STAGEDIR}${PREFIX}
# display pkg-message
post-install:
@ -58,8 +55,4 @@ post-install:
-e "s|%%PYTHON_LIBDIR%%|${PYTHON_LIBDIR}|g" \
-e "s|%%PYTHON_VERSION%%|${PYTHON_VERSION}|g" ${PKGMESSAGE}
@if [ -s ${PKGMESSAGE} ]; then \
${CAT} ${PKGMESSAGE}; \
fi
.include <bsd.port.post.mk>

View file

@ -1,2 +1,2 @@
SHA256 (boost_1_52_0.tar.bz2) = 222b6afd7723f396f5682c20130314a10196d3999feab5ba920d2a6bf53bac92
SIZE (boost_1_52_0.tar.bz2) = 54421709
SHA256 (boost_1_55_0.tar.bz2) = fff00023dd79486d444c8e29922f4072e1d451fc5a4d2b6075852ead7f2b7b52
SIZE (boost_1_55_0.tar.bz2) = 58146647

View file

@ -1,52 +0,0 @@
Index: boost/locale/utf.hpp
===================================================================
--- boost/locale/utf.hpp (revision 81589)
+++ boost/locale/utf.hpp (revision 81590)
@@ -219,16 +219,22 @@
if(BOOST_LOCALE_UNLIKELY(p==e))
return incomplete;
tmp = *p++;
+ if (!is_trail(tmp))
+ return illegal;
c = (c << 6) | ( tmp & 0x3F);
case 2:
if(BOOST_LOCALE_UNLIKELY(p==e))
return incomplete;
tmp = *p++;
+ if (!is_trail(tmp))
+ return illegal;
c = (c << 6) | ( tmp & 0x3F);
case 1:
if(BOOST_LOCALE_UNLIKELY(p==e))
return incomplete;
tmp = *p++;
+ if (!is_trail(tmp))
+ return illegal;
c = (c << 6) | ( tmp & 0x3F);
}
Index: libs/locale/test/test_codepage_converter.cpp
===================================================================
--- libs/locale/test/test_codepage_converter.cpp (revision 81589)
+++ libs/locale/test/test_codepage_converter.cpp (revision 81590)
@@ -140,6 +140,20 @@
TEST_TO("\xf8\x90\x80\x80\x80",illegal); // 400 0000
TEST_TO("\xfd\xbf\xbf\xbf\xbf\xbf",illegal); // 7fff ffff
+ std::cout << "-- Invalid trail" << std::endl;
+ TEST_TO("\xC2\x7F",illegal);
+ TEST_TO("\xdf\x7F",illegal);
+ TEST_TO("\xe0\x7F\x80",illegal);
+ TEST_TO("\xef\xbf\x7F",illegal);
+ TEST_TO("\xe0\x7F\x80",illegal);
+ TEST_TO("\xef\xbf\x7F",illegal);
+ TEST_TO("\xf0\x7F\x80\x80",illegal);
+ TEST_TO("\xf4\x7f\xbf\xbf",illegal);
+ TEST_TO("\xf0\x90\x7F\x80",illegal);
+ TEST_TO("\xf4\x8f\x7F\xbf",illegal);
+ TEST_TO("\xf0\x90\x80\x7F",illegal);
+ TEST_TO("\xf4\x8f\xbf\x7F",illegal);
+
std::cout << "-- Invalid length" << std::endl;
/// Test that this actually works

View file

@ -1,11 +0,0 @@
--- boost/math/tools/config.hpp.orig 2013-01-28 17:44:35.430492446 +0000
+++ boost/math/tools/config.hpp 2013-01-28 17:44:51.480492935 +0000
@@ -24,7 +24,7 @@
#include <boost/math/tools/user.hpp>
#include <boost/math/special_functions/detail/round_fwd.hpp>
-#if (defined(__CYGWIN__) || defined(__FreeBSD__) || defined(__NetBSD__) \
+#if (defined(__CYGWIN__) || defined(__NetBSD__) \
|| (defined(__hppa) && !defined(__OpenBSD__)) || (defined(__NO_LONG_DOUBLE_MATH) && (DBL_MANT_DIG != LDBL_MANT_DIG))) \
&& !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
# define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS

File diff suppressed because it is too large Load diff

View file

@ -9,10 +9,8 @@ USE_PYTHON= yes
OPTIONS_DEFINE= VERBOSE_BUILD DEBUG OPTIMIZED_CFLAGS
VERBOSE_BUILD_DESC= Show compiler messages
NO_STAGE= yes
.include "${.CURDIR}/../boost-all/common.mk"
.include <bsd.port.pre.mk>
.include "${PORTSDIR}/devel/boost-all/compiled.mk"
.if ${ARCH} == "sparc64"
@ -24,7 +22,7 @@ MAKE_ENV+= PYTHON_ROOT="${LOCALBASE}"\
PYTHON_INCLUDES="${PYTHON_INCLUDEDIR}"\
PYTHON_LIB_PATH="${PYTHON_LIBDIR}"
RUN_DEPENDS+= ${LOCALBASE}/lib/libboost_thread.so.${BOOST_SHARED_LIB_VER}:${PORTSDIR}/devel/boost-libs
LIB_DEPENDS+= libboost_thread.so:${PORTSDIR}/devel/boost-libs
BUILD_DEPENDS+= ${BJAM}:${PORTSDIR}/devel/boost-jam
@ -33,13 +31,14 @@ do-build:
# build the library
@cd ${WRKSRC} && \
${SETENV} ${MAKE_ENV} ${BJAM} ${BJAM_ARGS} --with-python stage
# do not break compat yet
@cd ${WRKSRC}/stage/lib && \
( for l in lib*.so.*; do ${LN} -sf $${l} $${l%.*}; done )
( for l in lib*.so.*; do ${LN} -sf $${l} $${l%.${PORTVERSION}}.5; done )
do-install:
@cd ${WRKSRC}/stage/lib && ${PAX} -rw -p p libboost* ${PREFIX}/lib
@cd ${WRKSRC}/stage/lib && ${PAX} -rw -p p libboost* ${STAGEDIR}${PREFIX}/lib
# For some reasons BJAM forget about the links
@cd ${WRKSRC}/stage/ && ${FIND} lib -type l | ${PAX} -rw -p p ${PREFIX}
@cd ${WRKSRC}/stage/ && ${FIND} lib -type l | ${PAX} -rw -p p ${STAGEDIR}${PREFIX}
post-install:
# display pkg-message
@ -53,8 +52,5 @@ post-install:
-e "s|%%PYTHON_INCLUDEDIR%%|${PYTHON_INCLUDEDIR}|g" \
-e "s|%%PYTHON_LIBDIR%%|${PYTHON_LIBDIR}|g" \
-e "s|%%PYTHON_VERSION%%|${PYTHON_VERSION}|g" ${PKGMESSAGE}
@if [ -s ${PKGMESSAGE} ]; then \
${CAT} ${PKGMESSAGE}; \
fi
.include <bsd.port.post.mk>

View file

@ -1,2 +1,2 @@
SHA256 (boost_1_52_0.tar.bz2) = 222b6afd7723f396f5682c20130314a10196d3999feab5ba920d2a6bf53bac92
SIZE (boost_1_52_0.tar.bz2) = 54421709
SHA256 (boost_1_55_0.tar.bz2) = fff00023dd79486d444c8e29922f4072e1d451fc5a4d2b6075852ead7f2b7b52
SIZE (boost_1_55_0.tar.bz2) = 58146647

View file

@ -1,3 +1,4 @@
lib/libboost_python.a
lib/libboost_python.so
lib/libboost_python.so.%%COMPAT_LIB_VER%%
lib/libboost_python.so.%%BOOST_SHARED_LIB_VER%%