- Update to Boost 1.33.0
* Boost.Regex now supports the ICU unicode library * Optionally build Boost with GCC 3.4 on FreeBSD 4.x [1] * For changes to the Boost libraries see their specific ChangeLogs in ${LOCALBASE}/share/doc/boost or at http://www.boost.org/ * Bump shared library version to 3 PR: ports/88014 [1] Submitted by: Václav Haisman [1]
This commit is contained in:
parent
964436c8b5
commit
443684d89b
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=147714
11 changed files with 1382 additions and 413 deletions
|
@ -5,7 +5,6 @@
|
|||
# $FreeBSD$
|
||||
#
|
||||
|
||||
MAINTAINER= barner@gmx.de
|
||||
COMMENT= Free portable C++ source libraries with Python bindings
|
||||
|
||||
MASTERDIR= ${.CURDIR}/../../devel/boost
|
||||
|
|
|
@ -6,8 +6,7 @@
|
|||
# $FreeBSD$
|
||||
|
||||
PORTNAME= boost
|
||||
PORTVERSION= 1.32.0
|
||||
PORTREVISION= 2
|
||||
PORTVERSION= 1.33.0
|
||||
CATEGORIES= devel
|
||||
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:S/$/:boost_site,spirit_site/}
|
||||
MASTER_SITE_SUBDIR=boost/:boost_site
|
||||
|
@ -25,18 +24,27 @@ MAKE_ENV+= GCC="${CC} ${CFLAGS}"\
|
|||
GXX="${CXX} ${CXXFLAGS}"\
|
||||
STLPORT_ROOT=/
|
||||
|
||||
.if defined(WITH_PYTHON) || defined (WITH_PYSTE)
|
||||
USE_PYTHON= 2.3+
|
||||
.endif
|
||||
|
||||
OPTIONS= VERBOSE_BUILD "Show compiler messages" off \
|
||||
DEBUG "Build debugging symbols" off \
|
||||
THREADS "Thread support" on \
|
||||
OPTIMIZED_CFLAGS "Enable -O3 optimization" off
|
||||
ICU "Boost.Regex with ICU unicode support" off \
|
||||
OPTIMIZED_CFLAGS "Enable -O3 optimization" off \
|
||||
GCC34 "Use GCC 3.4 (for FreeBSD 4.x only)" off
|
||||
|
||||
UNIQ= /usr/bin/uniq
|
||||
BOOST_LIBS= date_time filesystem prg_exec_monitor program_options \
|
||||
regex signals test_exec_monitor unit_test_framework
|
||||
BOOST_SHARED_LIB_VER= 2
|
||||
BOOST_LIBS= date_time filesystem iostreams prg_exec_monitor\
|
||||
program_options regex signals test_exec_monitor\
|
||||
unit_test_framework
|
||||
BOOST_SHARED_LIB_VER= 3
|
||||
|
||||
PKGMESSAGE= ${WRKDIR}/pkg-message
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
.if !defined(WITH_PYTHON) && defined(WITH_PYSTE)
|
||||
WITH_PYTHON= IMPLIED_BY_PYSTE
|
||||
.endif
|
||||
|
@ -54,7 +62,6 @@ WITH_PYTHON= IMPLIED_BY_PYSTE
|
|||
#
|
||||
.if defined(WITH_PYTHON)
|
||||
PKGNAMESUFFIX= -python
|
||||
USE_PYTHON= 2.3+
|
||||
PLIST_SUB+= BOOST_PYTHON=""
|
||||
MAKE_ENV+= PYTHON_ROOT="${LOCALBASE}"\
|
||||
PYTHON_VERSION="${PYTHON_VERSION}"\
|
||||
|
@ -74,18 +81,24 @@ PLIST_SUB+= BOOST_PYTHON="@comment "
|
|||
PLIST_SUB+= BOOST_PYSTE="@comment "
|
||||
.endif
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
SPIRIT_VERSION= 1.6.2
|
||||
|
||||
# FreeBSD 4:
|
||||
# WITHOUT_GCC34:
|
||||
# - no wchar support
|
||||
# - needs stlport
|
||||
# - spirit 1.6.x
|
||||
# - don't build wave
|
||||
# WITH_GCC34:
|
||||
# - no wchar support
|
||||
.if ${OSVERSION} < 500000
|
||||
USE_ZIP= yes
|
||||
EXTRA_PATCHES= ${FILESDIR}/FBSD4-patch-libs::serialization::build::Jamfile\
|
||||
${FILESDIR}/FBSD4-patch-boost::program_options::detail::utf8_codecvt_facet.hpp
|
||||
EXTRA_PATCHES= ${FILESDIR}/FBSD4-patch-boost_detail_utf8_codecvt_facet.hpp \
|
||||
${FILESDIR}/FBSD4-patch-libs_serialization_src_stl_port.cpp \
|
||||
${FILESDIR}/FBSD4-patch-libs::serialization::build::Jamfile \
|
||||
${FILESDIR}/FBSD4-patch-boost_test_impl_test_tools.ipp
|
||||
|
||||
.if !defined(WITH_GCC34)
|
||||
USE_ZIP= yes
|
||||
DISTFILES+= spirit-only-${SPIRIT_VERSION}.zip:spirit_site
|
||||
MASTER_SITE_SUBDIR+=spirit/:spirit_site
|
||||
BJAM_BUILD+= <stlport-iostream>on
|
||||
|
@ -93,24 +106,39 @@ BOOST_TOOLS= gcc-stlport
|
|||
|
||||
PLIST_SUB+= BOOST_WCHAR="@comment "\
|
||||
BOOST_SPIRIT_1.6=""\
|
||||
BOOST_SPIRIT_1.8="@comment "
|
||||
BOOST_SPIRIT_1.8="@comment "\
|
||||
BOOST_WAVE="@comment "
|
||||
|
||||
BOOST_STL_OPTS= "-sSTLPORT_INCLUDE_DIRECTORY=${LOCALBASE}/include/stlport"\
|
||||
"-sSTLPORT_LIB_DIRECTORY=${LOCALBASE}/lib"
|
||||
|
||||
RUN_DEPENDS+= ${LOCALBASE}/lib/libstlport_gcc.so:${PORTSDIR}/devel/stlport
|
||||
.else
|
||||
USE_GCC=3.4+
|
||||
BOOST_TOOLS= gcc
|
||||
|
||||
PLIST_SUB+= BOOST_WCHAR="@comment "\
|
||||
BOOST_SPIRIT_1.6="@comment "\
|
||||
BOOST_SPIRIT_1.8=""\
|
||||
BOOST_WAVE=""
|
||||
.endif
|
||||
|
||||
BUILD_DEPENDS+= ${RUN_DEPENDS}
|
||||
|
||||
# FreeBSD 5
|
||||
# FreeBSD 5 and above
|
||||
# - wchar support
|
||||
# - spirit 1.8.x
|
||||
# - wave 1.2
|
||||
.else
|
||||
BOOST_TOOLS= gcc
|
||||
EXTRA_PATCHES= ${FILESDIR}/FBSD5-patch-boost::python::detail::config.hpp
|
||||
|
||||
PLIST_SUB+= BOOST_WCHAR=""\
|
||||
BOOST_SPIRIT_1.6="@comment "\
|
||||
BOOST_SPIRIT_1.8=""
|
||||
BOOST_SPIRIT_1.8=""\
|
||||
BOOST_WAVE=""
|
||||
|
||||
BOOST_LIBS+= wserialization
|
||||
.endif
|
||||
|
||||
.if defined (WITH_VERBOSE_BUILD)
|
||||
|
@ -132,6 +160,11 @@ PLIST_SUB+= BOOST_THREADS=""
|
|||
BOOST_LIBS+= thread
|
||||
.endif
|
||||
|
||||
.if defined (WITH_ICU)
|
||||
LIB_DEPENDS+= icuuc.32:${PORTSDIR}/devel/icu
|
||||
BOOST_ICU_OPTS= "-sICU_PATH=${LOCALBASE}"
|
||||
.endif
|
||||
|
||||
.if defined (WITHOUT_OPTIMIZED_CFLAGS)
|
||||
BJAM_BUILD+= <optimization>off
|
||||
.else
|
||||
|
@ -188,9 +221,9 @@ do-extract:
|
|||
@${MKDIR} ${WRKDIR}
|
||||
@cd ${WRKDIR} && ${TAR} -xjpof ${DISTDIR}/${DISTNAME}.tar.bz2
|
||||
|
||||
# boost 1.32.0's spirit 1.8.x cannot be built with GCC 2.95.4,
|
||||
# boost 1.33.0's spirit 1.8.x cannot be built with GCC 2.95.4,
|
||||
# so we use spirit 1.6.x
|
||||
.if ${OSVERSION} < 500000
|
||||
.if ${OSVERSION} < 500000 && !defined(WITH_GCC34)
|
||||
@cd ${WRKDIR} && ${UNZIP_CMD} ${DISTDIR}/spirit-only-${SPIRIT_VERSION}.zip > /dev/null
|
||||
|
||||
# remove CRLF
|
||||
|
@ -201,6 +234,9 @@ do-extract:
|
|||
@${RM} -rf ${WRKSRC}/boost/spirit* ${WRKSRC}/libs/spirit
|
||||
@${MV} ${WRKDIR}/spirit_${SPIRIT_VERSION:S/./_/g}/boost/* ${WRKSRC}/boost
|
||||
@${MV} ${WRKDIR}/spirit_${SPIRIT_VERSION:S/./_/g}/libs/spirit ${WRKSRC}/libs
|
||||
|
||||
# remove wave
|
||||
@${RM} -rf ${WRKSRC}/boost/wave* ${WRKSRC}/libs/wave
|
||||
.endif
|
||||
|
||||
post-patch:
|
||||
|
@ -233,7 +269,7 @@ do-build:
|
|||
cd ${WRKSRC} && \
|
||||
${SETENV} ${MAKE_ENV} ${BJAM} ${BJAM_OPTIONS} --prefix=${PREFIX}\
|
||||
"-sTOOLS=${BOOST_TOOLS}" "-sBUILD=${BJAM_BUILD}"\
|
||||
${BOOST_STL_OPTS}
|
||||
${BOOST_STL_OPTS} ${BOOST_ICU_OPTS}
|
||||
|
||||
# Build pyste, the Boost.Python code generator
|
||||
.if defined(WITH_PYSTE)
|
||||
|
@ -250,13 +286,14 @@ do-install:
|
|||
-exec ${INSTALL_DATA} \{\} ${PREFIX}/lib \;
|
||||
|
||||
${FIND} ${WRKSRC}/bin/boost/libs -type f \
|
||||
-name "*.so.${BOOST_SHARED_LIB_VER}" \
|
||||
-name "*.so" \
|
||||
-exec ${INSTALL_DATA} \{\} ${PREFIX}/lib \;
|
||||
|
||||
# Create symlinks for shared libraries
|
||||
.for lib in ${BOOST_LIBS}
|
||||
cd ${PREFIX}/lib && ${RM} -f "libboost_${lib}.so" && \
|
||||
${LN} -s "libboost_${lib}.so.${BOOST_SHARED_LIB_VER}" "libboost_${lib}.so"
|
||||
cd ${PREFIX}/lib && \
|
||||
${MV} -f "libboost_${lib}.so" "libboost_${lib}.so.${BOOST_SHARED_LIB_VER}" && \
|
||||
${LN} -fs "libboost_${lib}.so.${BOOST_SHARED_LIB_VER}" "libboost_${lib}.so"
|
||||
.endfor
|
||||
|
||||
# Install headers
|
||||
|
@ -285,6 +322,7 @@ do-install:
|
|||
|
||||
${FIND} ${WRKSRC} -type f -exec ${CHMOD} 0444 {} \;
|
||||
${FIND} ${WRKSRC} -type d -exec ${CHMOD} 0555 {} \;
|
||||
${FIND} ${WRKSRC} -name ".cvsignore" -delete
|
||||
cd ${WRKSRC} &&\
|
||||
${FIND} . -name "*.htm" -o -name "*.html" -o -name "*.css"\
|
||||
-o -name "*.jp*g" -o -name "*.png" -o -name "*.gif"\
|
||||
|
@ -302,7 +340,7 @@ do-install:
|
|||
post-install:
|
||||
@${TOUCH} ${PKGMESSAGE}
|
||||
|
||||
.if ${OSVERSION} < 500000
|
||||
.if ${OSVERSION} < 500000 && !defined(WITH_GCC34)
|
||||
@${CAT} ${.CURDIR}/../boost/pkg-message.stlport >> ${PKGMESSAGE}
|
||||
@${ECHO_CMD} >> ${PKGMESSAGE}
|
||||
.endif
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
MD5 (boost_1_32_0.tar.bz2) = e1d1fc7b8fc8c51df4564c2188ca51cb
|
||||
SIZE (boost_1_32_0.tar.bz2) = 10181552
|
||||
MD5 (spirit-only-1.6.2.zip) = f6fe37e4dc32ac8a503d68f19c4fdd99
|
||||
SIZE (spirit-only-1.6.2.zip) = 1719158
|
||||
MD5 (boost_1_33_0.tar.bz2) = 43d87bbd827a8299f408df5efe5f0fd8
|
||||
SHA256 (boost_1_33_0.tar.bz2) = d6bcb5ad03da810c24703dde423b28aca49109591764dfe447e8a2ad5713be1d
|
||||
SIZE (boost_1_33_0.tar.bz2) = 11356417
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
--- boost/program_options/detail/utf8_codecvt_facet.hpp.orig Mon Dec 13 18:48:58 2004
|
||||
+++ boost/program_options/detail/utf8_codecvt_facet.hpp Mon Dec 13 18:49:51 2004
|
||||
@@ -67,7 +67,7 @@
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
typedef std::mbstate_t mbstate_t;
|
||||
namespace std{
|
||||
- using ::codecvt;
|
||||
+ using std::codecvt;
|
||||
} // namespace std
|
||||
#endif
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
{
|
||||
public:
|
||||
explicit utf8_codecvt_facet_wchar_t(std::size_t no_locale_manage=0)
|
||||
- : std::codecvt<wchar_t, char, mbstate_t>(no_locale_manage)
|
||||
+ : std::codecvt<wchar_t, char, mbstate_t>() // FIXME
|
||||
{}
|
||||
protected:
|
||||
virtual std::codecvt_base::result do_in(
|
|
@ -0,0 +1,11 @@
|
|||
--- boost/detail/utf8_codecvt_facet.hpp.orig Sun Aug 21 13:59:04 2005
|
||||
+++ boost/detail/utf8_codecvt_facet.hpp Sun Aug 21 13:59:34 2005
|
||||
@@ -117,7 +117,7 @@
|
||||
{
|
||||
public:
|
||||
explicit utf8_codecvt_facet(std::size_t no_locale_manage=0)
|
||||
- : std::codecvt<wchar_t, char, std::mbstate_t>(no_locale_manage)
|
||||
+ : std::codecvt<wchar_t, char, std::mbstate_t>() // FIXME
|
||||
{}
|
||||
protected:
|
||||
virtual std::codecvt_base::result do_in(
|
20
devel/boost/files/FBSD4-patch-boost_test_impl_test_tools.ipp
Normal file
20
devel/boost/files/FBSD4-patch-boost_test_impl_test_tools.ipp
Normal file
|
@ -0,0 +1,20 @@
|
|||
--- boost/test/impl/test_tools.ipp.orig Sun Aug 21 14:08:00 2005
|
||||
+++ boost/test/impl/test_tools.ipp Sun Aug 21 14:09:41 2005
|
||||
@@ -173,7 +173,7 @@
|
||||
unit_test_log << "difference between " << arg1_descr << "{" << arg1_val << "}"
|
||||
<< " and " << arg2_descr << "{" << arg2_val << "}"
|
||||
<< ( tl == PASS ? " doesn't exceed " : " exceeds " )
|
||||
- << toler_val << "%",
|
||||
+ << toler_val << "%";
|
||||
|
||||
va_end( args );
|
||||
|
||||
@@ -196,7 +196,7 @@
|
||||
|
||||
unit_test_log << "absolute value of " << arg1_descr << "{" << arg1_val << "}"
|
||||
<< ( tl == PASS ? " doesn't exceed " : " exceeds " )
|
||||
- << toler_val,
|
||||
+ << toler_val;
|
||||
|
||||
va_end( args );
|
||||
|
|
@ -1,15 +1,20 @@
|
|||
--- libs/serialization/build/Jamfile.orig Mon Dec 13 18:36:52 2004
|
||||
+++ libs/serialization/build/Jamfile Mon Dec 13 18:37:28 2004
|
||||
@@ -90,12 +90,10 @@
|
||||
|
||||
install serialization lib :
|
||||
<lib>boost_serialization
|
||||
- <lib>boost_wserialization
|
||||
;
|
||||
|
||||
stage stage/lib :
|
||||
--- libs/serialization/build/Jamfile.orig Sun Aug 21 13:39:37 2005
|
||||
+++ libs/serialization/build/Jamfile Sun Aug 21 13:40:18 2005
|
||||
@@ -123,17 +123,13 @@
|
||||
install serialization lib
|
||||
:
|
||||
<lib>boost_serialization
|
||||
- <lib>boost_wserialization
|
||||
<dll>boost_serialization
|
||||
- <dll>boost_wserialization
|
||||
;
|
||||
|
||||
stage stage/lib
|
||||
:
|
||||
<lib>boost_serialization
|
||||
- <lib>boost_wserialization
|
||||
<dll>boost_serialization
|
||||
- <dll>boost_wserialization
|
||||
:
|
||||
# copy to a path rooted at BOOST_ROOT:
|
||||
<locate>$(BOOST_ROOT)
|
||||
common-stage-tag
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
--- libs/serialization/src/stl_port.cpp.orig Sun Aug 21 14:03:45 2005
|
||||
+++ libs/serialization/src/stl_port.cpp Sun Aug 21 14:04:37 2005
|
||||
@@ -32,11 +32,6 @@
|
||||
const locale& __loc, boost::archive::codecvt_null<char> * __f
|
||||
);
|
||||
|
||||
-template
|
||||
-locale::locale(
|
||||
- const locale& __loc, boost::archive::codecvt_null<wchar_t> * __f
|
||||
-);
|
||||
-
|
||||
} // namespace std
|
||||
|
||||
#endif
|
|
@ -1,14 +0,0 @@
|
|||
--- boost/config/platform/bsd.hpp.orig Sat Feb 5 12:53:03 2005
|
||||
+++ boost/config/platform/bsd.hpp Sat Feb 5 12:53:46 2005
|
||||
@@ -41,8 +41,9 @@
|
||||
//
|
||||
// No wide character support in the BSD header files:
|
||||
//
|
||||
-#define BOOST_NO_CWCHAR
|
||||
-
|
||||
+#if !(defined(__FreeBSD__) && (__FreeBSD__ >= 5))
|
||||
+# define BOOST_NO_CWCHAR
|
||||
+#endif
|
||||
//
|
||||
// The BSD <ctype.h> has macros only, no functions:
|
||||
//
|
|
@ -1,11 +0,0 @@
|
|||
--- tools/build/v1/allyourbase.jam.orig Wed Feb 18 14:04:28 2004
|
||||
+++ tools/build/v1/allyourbase.jam Wed Feb 18 14:02:44 2004
|
||||
@@ -457,7 +457,7 @@
|
||||
SPLITPATH ?= ":" ; # dwa -- added missing SPLITPATH
|
||||
STDHDRS ?= /usr/include ;
|
||||
SUFEXE ?= "" ;
|
||||
-SUFDLL ?= .so ;
|
||||
+SUFDLL ?= .so.2 ;
|
||||
SUFLIB ?= .a ;
|
||||
SUFOBJ ?= .o ;
|
||||
PREDLL ?= lib ;
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue