From 189a97f73cfdde4301ca61b86e9f7de72ca03029 Mon Sep 17 00:00:00 2001 From: ryoon Date: Tue, 13 May 2014 18:48:49 +0000 Subject: Fix build of boost-libs under OpenBSD/amd64 5.5 * Add iconv dependency (fix build) * Add the patches for OpenBSD * gcc46 is required under OpenBSD 5.5 at least --- devel/boost-libs/Makefile | 3 +- devel/boost-libs/buildlink3.mk | 9 +++- meta-pkgs/boost/Makefile.common | 13 +++-- meta-pkgs/boost/distinfo | 9 ++-- meta-pkgs/boost/patches/patch-ab | 13 ++++- meta-pkgs/boost/patches/patch-aq | 23 ++++++++- .../patches/patch-boost_config_posix__features.hpp | 59 ++++++++++++++++++++++ .../boost/patches/patch-boost_regex_config.hpp | 15 ++++++ .../boost/patches/patch-libs_log_src_timestamp.cpp | 15 ++++++ 9 files changed, 146 insertions(+), 13 deletions(-) create mode 100644 meta-pkgs/boost/patches/patch-boost_config_posix__features.hpp create mode 100644 meta-pkgs/boost/patches/patch-boost_regex_config.hpp create mode 100644 meta-pkgs/boost/patches/patch-libs_log_src_timestamp.cpp diff --git a/devel/boost-libs/Makefile b/devel/boost-libs/Makefile index b730f7b4aac..b99a030e360 100644 --- a/devel/boost-libs/Makefile +++ b/devel/boost-libs/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.26 2013/12/11 17:01:06 jperkin Exp $ +# $NetBSD: Makefile,v 1.27 2014/05/13 18:48:49 ryoon Exp $ BOOST_PACKAGE= libs BOOST_COMMENT= (binary libraries) @@ -38,6 +38,7 @@ do-build: bjam-build do-install: boost-install-libs .include "../../archivers/bzip2/buildlink3.mk" +.include "../../converters/libiconv/buildlink3.mk" .include "../../devel/zlib/buildlink3.mk" .include "../../mk/pthread.buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/devel/boost-libs/buildlink3.mk b/devel/boost-libs/buildlink3.mk index de6e848f95c..58bb71d7780 100644 --- a/devel/boost-libs/buildlink3.mk +++ b/devel/boost-libs/buildlink3.mk @@ -1,4 +1,4 @@ -# $NetBSD: buildlink3.mk,v 1.31 2014/01/12 20:48:14 cheusov Exp $ +# $NetBSD: buildlink3.mk,v 1.32 2014/05/13 18:48:49 ryoon Exp $ BUILDLINK_TREE+= boost-libs @@ -10,6 +10,13 @@ BUILDLINK_API_DEPENDS.boost-libs+= boost-libs-1.55.* BUILDLINK_ABI_DEPENDS.boost-libs?= boost-libs>=1.55.0 BUILDLINK_PKGSRCDIR.boost-libs?= ../../devel/boost-libs +.include "../../mk/bsd.prefs.mk" +# OpenBSD's gcc 4.2.1 is not sufficient, and gcc46 is minimal pkgsrc gcc +# for OpenBSD. Avoid warning as error. +.if ${OPSYS} == "OpenBSD" +GCC_REQD+= 4.6 +.endif + .include "../../devel/boost-headers/buildlink3.mk" .endif # BOOST_LIBS_BUILDLINK3_MK diff --git a/meta-pkgs/boost/Makefile.common b/meta-pkgs/boost/Makefile.common index 108272c9847..e2e3d55866d 100644 --- a/meta-pkgs/boost/Makefile.common +++ b/meta-pkgs/boost/Makefile.common @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.common,v 1.43 2013/11/21 23:50:04 jmmv Exp $ +# $NetBSD: Makefile.common,v 1.44 2014/05/13 18:48:49 ryoon Exp $ # # used by devel/boost-build/Makefile # used by devel/boost-docs/Makefile @@ -34,9 +34,16 @@ CONFLICTS+= boost<1.36.0 DISTINFO_FILE= ${.CURDIR}/../../meta-pkgs/boost/distinfo PATCHDIR= ${.CURDIR}/../../meta-pkgs/boost/patches +.include "../../mk/bsd.prefs.mk" + USE_TOOLS+= pax USE_LANGUAGES= c c++ -GCC_REQD+= 3.2 # if using gcc; ignored otherwise +# GCC 4.5 or later is required to build, and GCC 4.5 is not provided for OpenBSD +.if ${OPSYS} == "OpenBSD" +GCC_REQD+= 4.6 +.else +GCC_REQD+= 4.5 +.endif PLIST_SUBST+= BOOST_VERSION="${BOOST_VERSION}" @@ -52,8 +59,6 @@ SUBST_MESSAGE.darwin= Fixing install_name for Darwin. SUBST_FILES.darwin= tools/build/v2/tools/*darwin.jam SUBST_SED.darwin= -e 's,-install_name ",-install_name "${PREFIX}/lib/,g' -.include "../../mk/bsd.prefs.mk" - # On SunOS, extract using pkgsrc nbtar to avoid warnings from native gtar. .if ${OPSYS} == "SunOS" TOOLS_PLATFORM.tar= #empty diff --git a/meta-pkgs/boost/distinfo b/meta-pkgs/boost/distinfo index 8deec2b6f9e..9907049321d 100644 --- a/meta-pkgs/boost/distinfo +++ b/meta-pkgs/boost/distinfo @@ -1,22 +1,25 @@ -$NetBSD: distinfo,v 1.65 2014/03/31 08:36:51 wiz Exp $ +$NetBSD: distinfo,v 1.66 2014/05/13 18:48:49 ryoon Exp $ SHA1 (boost_1_55_0.tar.bz2) = cef9a0cc7084b1d639e06cd3bc34e4251524c840 RMD160 (boost_1_55_0.tar.bz2) = de8ef647933a005119425326b59723aad4a6fd4f Size (boost_1_55_0.tar.bz2) = 58146647 bytes SHA1 (patch-aa) = 408a63a807aaa491130db018cd89bca6a427090d -SHA1 (patch-ab) = f1c95ae229465a4d2da76ce6ff88d76ace52fdd8 +SHA1 (patch-ab) = 37c61bcfc27f1533df21f4392f80df2d2dbe51ef SHA1 (patch-ac) = 32d14b50682dae1950ed927ecb9318ad6b07687a SHA1 (patch-ad) = 0e5dc31c3425de94444f97a9b7dec97ed5967733 SHA1 (patch-ae) = 2fb49c90bbb3fd797ccdfaaf44c93494a5988f52 SHA1 (patch-ag) = c406e9beb9260db7861b13a6eb4c386f23346eb1 -SHA1 (patch-aq) = e5c7b72ffa2942ce401f3d9bf05498fd761df17a +SHA1 (patch-aq) = 355a58864bf4d07617250d2587e0f7cf62a7b825 SHA1 (patch-ar) = 2fec2c51272cc4ee376e6538d8f1fd8561a7f0a3 SHA1 (patch-boost_archive_iterators_transform__width.hpp) = 5c08bac63fcc259997a8cf6fac1684f45ef7cd1a SHA1 (patch-boost_asio_detail_config.hpp) = b95ca6b0bb6c805624cb81c91c3f1b691a7425ca +SHA1 (patch-boost_config_posix__features.hpp) = b4b66f36d052092cfebfe7739bdee766ea7dedd0 SHA1 (patch-boost_config_stdlib_libcpp.hpp) = d243325d3aeb180e4ed7a1fd7d89782d832fa9fc SHA1 (patch-boost_config_stdlib_libstdcpp3.hpp) = 173271c60b3e2ba7bb1fe9390dcd864ce9742588 SHA1 (patch-boost_dynamic__bitset_dynamic__bitset.hpp) = e38ec618da58fdfc086e32ab2c184a0c02ba2ced SHA1 (patch-boost_math_tools_config.hpp) = 81402bc38dc858d0818ed91e204966c8382be4ff SHA1 (patch-boost_noncopyable.hpp) = 6567b5932c6bb48e8b2fcae48ff47e0f230fc1b9 +SHA1 (patch-boost_regex_config.hpp) = bf74a71ccd427bee0806f3005d8c1c0cca2f4765 SHA1 (patch-libs_config_configure) = e2f204d4fa4f1bd9b4131d28f9be0a1ac22bf711 SHA1 (patch-libs_filesystem_src_unique_path.cpp) = 4693ea11cf464d82168cecaa143b48affa94563b +SHA1 (patch-libs_log_src_timestamp.cpp) = 8b596b7973b3d05e5661bc0d800951bb97e0d69f diff --git a/meta-pkgs/boost/patches/patch-ab b/meta-pkgs/boost/patches/patch-ab index ef6dd16749c..98ced7bd9b6 100644 --- a/meta-pkgs/boost/patches/patch-ab +++ b/meta-pkgs/boost/patches/patch-ab @@ -1,4 +1,4 @@ -$NetBSD: patch-ab,v 1.5 2011/10/02 21:23:50 sbd Exp $ +$NetBSD: patch-ab,v 1.6 2014/05/13 18:48:49 ryoon Exp $ --- boost/config/platform/bsd.hpp.orig 2011-03-07 13:07:30.000000000 +0000 +++ boost/config/platform/bsd.hpp @@ -11,7 +11,16 @@ $NetBSD: patch-ab,v 1.5 2011/10/02 21:23:50 sbd Exp $ # define BOOST_HAS_PTHREADS #endif -@@ -62,7 +62,7 @@ +@@ -56,13 +56,15 @@ + #endif + + #if !((defined(__FreeBSD__) && (__FreeBSD__ >= 5)) \ +- || (defined(__NetBSD_GCC__) && (__NetBSD_GCC__ >= 2095003)) || defined(__DragonFly__)) ++ || (defined(__NetBSD_GCC__) && (__NetBSD_GCC__ >= 2095003)) \ ++ || defined(__DragonFly__) \ ++ || defined(__OpenBSD__)) + # define BOOST_NO_CWCHAR + #endif // // The BSD has macros only, no functions: // diff --git a/meta-pkgs/boost/patches/patch-aq b/meta-pkgs/boost/patches/patch-aq index b51d3aeae11..a2a376f3b5e 100644 --- a/meta-pkgs/boost/patches/patch-aq +++ b/meta-pkgs/boost/patches/patch-aq @@ -1,4 +1,4 @@ -$NetBSD: patch-aq,v 1.6 2010/11/26 20:47:01 adam Exp $ +$NetBSD: patch-aq,v 1.7 2014/05/13 18:48:49 ryoon Exp $ --- boost/test/impl/execution_monitor.ipp.orig 2009-11-28 09:19:18.000000000 +0000 +++ boost/test/impl/execution_monitor.ipp @@ -20,7 +20,26 @@ $NetBSD: patch-aq,v 1.6 2010/11/26 20:47:01 adam Exp $ switch( m_sig_info->si_code ) { case SI_USER: report_error( execution_exception::system_error, -@@ -608,6 +610,7 @@ system_signal_exception::report() const +@@ -341,14 +343,18 @@ system_signal_exception::report() const + report_error( execution_exception::system_error, + "signal: the expiration of a timer set by timer_settimer()" ); + break; ++#if defined(SI_ASYNCIO) + case SI_ASYNCIO: + report_error( execution_exception::system_error, + "signal: generated by the completion of an asynchronous I/O request" ); + break; ++#endif ++#if defined(SI_MESGQ) + case SI_MESGQ: + report_error( execution_exception::system_error, + "signal: generated by the the arrival of a message on an empty message queue" ); + break; ++#endif + default: + break; + } +@@ -608,6 +614,7 @@ system_signal_exception::report() const default: report_error( execution_exception::system_error, "unrecognized signal" ); } diff --git a/meta-pkgs/boost/patches/patch-boost_config_posix__features.hpp b/meta-pkgs/boost/patches/patch-boost_config_posix__features.hpp new file mode 100644 index 00000000000..1e8993d469d --- /dev/null +++ b/meta-pkgs/boost/patches/patch-boost_config_posix__features.hpp @@ -0,0 +1,59 @@ +$NetBSD: patch-boost_config_posix__features.hpp,v 1.1 2014/05/13 18:48:49 ryoon Exp $ + +* Add OpenBSD conditionals, fix build under OpenBSD 5.5 +* OpenBSD has no _POSIX_TIMERS + +--- boost/config/posix_features.hpp.orig 2005-10-14 14:16:26.000000000 +0000 ++++ boost/config/posix_features.hpp +@@ -18,12 +18,12 @@ + # include + + // XOpen has , but is this the correct version check? +-# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION >= 3) ++# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION >= 3) || defined(__OpenBSD__) + # define BOOST_HAS_NL_TYPES_H + # endif + + // POSIX version 6 requires +-# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 200100) ++# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 200100) || defined(__OpenBSD__) + # define BOOST_HAS_STDINT_H + # endif + +@@ -33,7 +33,7 @@ + # endif + + // POSIX version 3 requires to have sigaction: +-# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199506L) ++# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199506L) || defined(__OpenBSD__) + # define BOOST_HAS_SIGACTION + # endif + // POSIX defines _POSIX_THREADS > 0 for pthread support, +@@ -49,7 +49,8 @@ + // BOOST_HAS_NANOSLEEP: + // This is predicated on _POSIX_TIMERS or _XOPEN_REALTIME: + # if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) \ +- || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0)) ++ || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0) \ ++ || defined(__OpenBSD__)) + # define BOOST_HAS_NANOSLEEP + # endif + +@@ -57,7 +58,7 @@ + // This is predicated on _POSIX_TIMERS (also on _XOPEN_REALTIME + // but at least one platform - linux - defines that flag without + // defining clock_gettime): +-# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) ++# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0) || defined(__OpenBSD__)) + # define BOOST_HAS_CLOCK_GETTIME + # endif + +@@ -75,7 +76,7 @@ + // These are predicated on _XOPEN_VERSION, and appears to be first released + // in issue 4, version 2 (_XOPEN_VERSION > 500). + // Likewise for the functions log1p and expm1. +-# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION+0 >= 500) ++# if (defined(_XOPEN_VERSION) && (_XOPEN_VERSION+0 >= 500)) || defined(__OpenBSD__) + # define BOOST_HAS_GETTIMEOFDAY + # if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE+0 >= 500) + # define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE diff --git a/meta-pkgs/boost/patches/patch-boost_regex_config.hpp b/meta-pkgs/boost/patches/patch-boost_regex_config.hpp new file mode 100644 index 00000000000..82ecfb1a49f --- /dev/null +++ b/meta-pkgs/boost/patches/patch-boost_regex_config.hpp @@ -0,0 +1,15 @@ +$NetBSD: patch-boost_regex_config.hpp,v 1.1 2014/05/13 18:48:49 ryoon Exp $ + +* Fix OpenBSD build + +--- boost/regex/config.hpp.orig 2012-07-16 08:38:23.000000000 +0000 ++++ boost/regex/config.hpp +@@ -75,7 +75,7 @@ + * std::use_facet >.is(std::ctype_base::lower|std::ctype_base::upper, L'a'); + * returns *false*. + */ +-#ifdef __GLIBCPP__ ++#if defined(__GLIBCPP__) && !defined(__OpenBSD__) + # define BOOST_REGEX_BUGGY_CTYPE_FACET + #endif + diff --git a/meta-pkgs/boost/patches/patch-libs_log_src_timestamp.cpp b/meta-pkgs/boost/patches/patch-libs_log_src_timestamp.cpp new file mode 100644 index 00000000000..7cbdf2861ae --- /dev/null +++ b/meta-pkgs/boost/patches/patch-libs_log_src_timestamp.cpp @@ -0,0 +1,15 @@ +$NetBSD: patch-libs_log_src_timestamp.cpp,v 1.1 2014/05/13 18:48:49 ryoon Exp $ + +* OpenBSD 5.5 has no _POSIX_TIMES, fix build under OpenBSD 5.5 + +--- libs/log/src/timestamp.cpp.orig 2013-08-25 14:20:22.000000000 +0000 ++++ libs/log/src/timestamp.cpp +@@ -202,7 +202,7 @@ BOOST_LOG_API get_tick_count_t get_tick_ + + #endif // _WIN32_WINNT >= 0x0600 + +-#elif defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0 ++#elif (defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0) || defined(__OpenBSD__) + + BOOST_LOG_API int64_t duration::milliseconds() const + { -- cgit v1.2.3