pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

boost-libs-2017Q1: Patches for CentOS + Yum GCC, which cannot build fiber



Module Name:	pkgsrc-wip
Committed By:	Jason Bacon <bacon4000%gmail.com@localhost>
Pushed By:	outpaddling
Date:		Wed Jun 7 14:22:53 2017 -0500
Changeset:	6370a4d7f9620e13735eff2f396d000c36ffd1ca

Modified Files:
	Makefile
Added Files:
	boost-libs-2017Q1/DESCR
	boost-libs-2017Q1/Makefile
	boost-libs-2017Q1/PLIST
	boost-libs-2017Q1/buildlink3.mk
	boost-libs-2017Q1/hacks.mk

Log Message:
boost-libs-2017Q1: Patches for CentOS + Yum GCC, which cannot build fiber

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=6370a4d7f9620e13735eff2f396d000c36ffd1ca

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                        |  1 +
 boost-libs-2017Q1/DESCR         |  6 +++
 boost-libs-2017Q1/Makefile      | 78 ++++++++++++++++++++++++++++++++
 boost-libs-2017Q1/PLIST         | 99 +++++++++++++++++++++++++++++++++++++++++
 boost-libs-2017Q1/buildlink3.mk | 26 +++++++++++
 boost-libs-2017Q1/hacks.mk      | 14 ++++++
 6 files changed, 224 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index 1cec5a47a0..edab5b6b60 100644
--- a/Makefile
+++ b/Makefile
@@ -249,6 +249,7 @@ SUBDIR+=	bogomips
 SUBDIR+=	boinc-git
 SUBDIR+=	bonnie++-current
 SUBDIR+=	boo
+SUBDIR+=	boost-libs-2017Q1
 SUBDIR+=	boost-test-suite
 SUBDIR+=	boost-threadpool
 SUBDIR+=	bowtie
diff --git a/boost-libs-2017Q1/DESCR b/boost-libs-2017Q1/DESCR
new file mode 100644
index 0000000000..2040fe58af
--- /dev/null
+++ b/boost-libs-2017Q1/DESCR
@@ -0,0 +1,6 @@
+Boost is a set of free, peer-reviewed, C++ libraries.  The emphasis is on
+portable libraries which work well with the ISO C++ Standard Library.
+
+This package adds static and shared binary libraries for Boost.  All
+libraries are included here, except Boost.Python, which can be found in
+the py-boost package.
diff --git a/boost-libs-2017Q1/Makefile b/boost-libs-2017Q1/Makefile
new file mode 100644
index 0000000000..7df8771ee5
--- /dev/null
+++ b/boost-libs-2017Q1/Makefile
@@ -0,0 +1,78 @@
+# $NetBSD: Makefile,v 1.51.2.1 2017/04/16 14:55:01 bsiegert Exp $
+
+BOOST_PACKAGE=		libs
+BOOST_COMMENT=		(binary libraries)
+BOOST_CONFIG=		installed
+BOOST_INSTALL_LIBS=	yes
+
+.include "../../meta-pkgs/boost/Makefile.common"
+
+INSTALLATION_DIRS+=	lib
+
+BJAM_ARGS+=		--without-python
+PLIST_VARS+=		context fiber log long_double_math
+
+.if ${OPSYS} == "NetBSD" && ((${MACHINE_ARCH} == "i386") || (!empty(MACHINE_ARCH:Mearm*) && !empty(PKGSRC_COMPILER:Mgcc)))
+BJAM_ARGS+=		pch=off
+.endif
+
+.if !empty(MACHINE_ARCH:Malpha) || !empty(MACHINE_ARCH:Mm68k) || !empty(MACHINE_ARCH:Msparc64)
+BJAM_ARGS+=		--without-context
+BJAM_ARGS+=		--without-coroutine
+BJAM_ARGS+=		--without-coroutine2
+.else
+PLIST.context=		yes
+.endif
+
+# Darwin GCC is unable to build Boost.Log
+.if ${OPSYS} == "Darwin" && !empty(PKGSRC_COMPILER:Mgcc)
+BJAM_ARGS+=		--without-log
+.else
+PLIST.log=		yes
+.endif
+
+.include "../../mk/compiler.mk"
+
+# fiber requires thread_local support, unavailable in older compilers
+# (old darwin, netbsd <6, CentOS 6). if fiber becomes necessary, set GCC_REQD
+# on other boost-* packages, too.
+# fiber requires context, so also disable it where context cannot be built
+# Additionally fiber checks std::timed_mutex.
+.if ((${OPSYS} == "Darwin" && ${OS_VERSION:R} < 14) || \
+    !empty(MACHINE_PLATFORM:MNetBSD-[0-7]*-*)) || \
+    !empty(MACHINE_ARCH:Malpha) || !empty(MACHINE_ARCH:Mm68k) || \
+    !empty(MACHINE_ARCH:Msparc64) || \
+    (exists(/etc/redhat-release) && !empty(CC_VERSION:Mgcc-4.4.*)) || \
+    (${OPSYS} == "NetBSD" && !empty(PKGSRC_COMPILER:Mclang))
+BJAM_ARGS+=		--without-fiber
+.else
+PLIST.fiber=		yes
+.endif
+
+.if ${OPSYS} != "NetBSD" && ${OPSYS} != "FreeBSD"
+PLIST.long_double_math=	yes
+.endif
+
+UNLIMIT_RESOURCES+=	stacksize
+
+MAKE_ENV+=	BZIP2_INCLUDE=${BUILDLINK_PREFIX.bzip2}/include
+MAKE_ENV+=	BZIP2_LIBPATH=${BUILDLINK_PREFIX.bzip2}/lib
+MAKE_ENV+=	EXPAT_INCLUDE=${BUILDLINK_PREFIX.expat}/include
+MAKE_ENV+=	EXPAT_LIBPATH=${BUILDLINK_PREFIX.expat}/lib
+MAKE_ENV+=	ICU_PATH=${BUILDLINK_PREFIX.icu}
+MAKE_ENV+=	ZLIB_INCLUDE=${BUILDLINK_PREFIX.zlib}/include
+MAKE_ENV+=	ZLIB_LIBPATH=${BUILDLINK_PREFIX.zlib}/lib
+
+.include "../../devel/boost-jam/bjam.mk"
+
+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 "../../textproc/expat/buildlink3.mk"
+.include "../../textproc/icu/buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/boost-libs-2017Q1/PLIST b/boost-libs-2017Q1/PLIST
new file mode 100644
index 0000000000..aa215240e7
--- /dev/null
+++ b/boost-libs-2017Q1/PLIST
@@ -0,0 +1,99 @@
+@comment $NetBSD: PLIST,v 1.33 2017/01/02 09:41:50 ryoon Exp $
+lib/libboost_atomic.a
+lib/libboost_atomic.so
+lib/libboost_atomic.so.${BOOST_VERSION}
+lib/libboost_chrono.a
+lib/libboost_chrono.so
+lib/libboost_chrono.so.${BOOST_VERSION}
+lib/libboost_container.a
+lib/libboost_container.so
+lib/libboost_container.so.${BOOST_VERSION}
+${PLIST.context}lib/libboost_context.a
+${PLIST.context}lib/libboost_context.so
+${PLIST.context}lib/libboost_context.so.${BOOST_VERSION}
+${PLIST.context}lib/libboost_coroutine.a
+${PLIST.context}lib/libboost_coroutine.so
+${PLIST.context}lib/libboost_coroutine.so.${BOOST_VERSION}
+lib/libboost_date_time.a
+lib/libboost_date_time.so
+lib/libboost_date_time.so.${BOOST_VERSION}
+lib/libboost_exception.a
+${PLIST.fiber}lib/libboost_fiber.a
+${PLIST.fiber}lib/libboost_fiber.so
+${PLIST.fiber}lib/libboost_fiber.so.${BOOST_VERSION}
+lib/libboost_filesystem.a
+lib/libboost_filesystem.so
+lib/libboost_filesystem.so.${BOOST_VERSION}
+lib/libboost_graph.a
+lib/libboost_graph.so
+lib/libboost_graph.so.${BOOST_VERSION}
+lib/libboost_iostreams.a
+lib/libboost_iostreams.so
+lib/libboost_iostreams.so.${BOOST_VERSION}
+lib/libboost_locale.a
+lib/libboost_locale.so
+lib/libboost_locale.so.${BOOST_VERSION}
+${PLIST.log}lib/libboost_log.a
+${PLIST.log}lib/libboost_log.so
+${PLIST.log}lib/libboost_log.so.${BOOST_VERSION}
+${PLIST.log}lib/libboost_log_setup.a
+${PLIST.log}lib/libboost_log_setup.so
+${PLIST.log}lib/libboost_log_setup.so.${BOOST_VERSION}
+lib/libboost_math_c99.a
+lib/libboost_math_c99.so
+lib/libboost_math_c99.so.${BOOST_VERSION}
+lib/libboost_math_c99f.a
+lib/libboost_math_c99f.so
+lib/libboost_math_c99f.so.${BOOST_VERSION}
+${PLIST.long_double_math}lib/libboost_math_c99l.a
+${PLIST.long_double_math}lib/libboost_math_c99l.so
+${PLIST.long_double_math}lib/libboost_math_c99l.so.${BOOST_VERSION}
+lib/libboost_math_tr1.a
+lib/libboost_math_tr1.so
+lib/libboost_math_tr1.so.${BOOST_VERSION}
+lib/libboost_math_tr1f.a
+lib/libboost_math_tr1f.so
+lib/libboost_math_tr1f.so.${BOOST_VERSION}
+${PLIST.long_double_math}lib/libboost_math_tr1l.a
+${PLIST.long_double_math}lib/libboost_math_tr1l.so
+${PLIST.long_double_math}lib/libboost_math_tr1l.so.${BOOST_VERSION}
+lib/libboost_prg_exec_monitor.a
+lib/libboost_prg_exec_monitor.so
+lib/libboost_prg_exec_monitor.so.${BOOST_VERSION}
+lib/libboost_program_options.a
+lib/libboost_program_options.so
+lib/libboost_program_options.so.${BOOST_VERSION}
+lib/libboost_random.a
+lib/libboost_random.so
+lib/libboost_random.so.${BOOST_VERSION}
+lib/libboost_regex.a
+lib/libboost_regex.so
+lib/libboost_regex.so.${BOOST_VERSION}
+lib/libboost_serialization.a
+lib/libboost_serialization.so
+lib/libboost_serialization.so.${BOOST_VERSION}
+lib/libboost_signals.a
+lib/libboost_signals.so
+lib/libboost_signals.so.${BOOST_VERSION}
+lib/libboost_system.a
+lib/libboost_system.so
+lib/libboost_system.so.${BOOST_VERSION}
+lib/libboost_test_exec_monitor.a
+lib/libboost_thread.a
+lib/libboost_thread.so
+lib/libboost_thread.so.${BOOST_VERSION}
+lib/libboost_timer.a
+lib/libboost_timer.so
+lib/libboost_timer.so.${BOOST_VERSION}
+lib/libboost_type_erasure.a
+lib/libboost_type_erasure.so
+lib/libboost_type_erasure.so.${BOOST_VERSION}
+lib/libboost_unit_test_framework.a
+lib/libboost_unit_test_framework.so
+lib/libboost_unit_test_framework.so.${BOOST_VERSION}
+lib/libboost_wave.a
+lib/libboost_wave.so
+lib/libboost_wave.so.${BOOST_VERSION}
+lib/libboost_wserialization.a
+lib/libboost_wserialization.so
+lib/libboost_wserialization.so.${BOOST_VERSION}
diff --git a/boost-libs-2017Q1/buildlink3.mk b/boost-libs-2017Q1/buildlink3.mk
new file mode 100644
index 0000000000..cda3d2e51b
--- /dev/null
+++ b/boost-libs-2017Q1/buildlink3.mk
@@ -0,0 +1,26 @@
+# $NetBSD: buildlink3.mk,v 1.42 2017/01/01 15:32:47 adam Exp $
+
+BUILDLINK_TREE+=	boost-libs
+
+.if !defined(BOOST_LIBS_BUILDLINK3_MK)
+BOOST_LIBS_BUILDLINK3_MK:=
+
+# Use a dependency pattern that guarantees the proper ABI.
+BUILDLINK_API_DEPENDS.boost-libs+=	boost-libs-1.63.*
+BUILDLINK_ABI_DEPENDS.boost-libs?=	boost-libs>=1.63.0
+BUILDLINK_PKGSRCDIR.boost-libs?=	../../devel/boost-libs
+
+.include "../../mk/bsd.fast.prefs.mk"
+# Sync with meta-pkgs/boost/Makefile.common
+.if ${OPSYS} == "OpenBSD"
+GCC_REQD+=		4.6
+.elif ${LOWER_VENDOR} == "redhat"
+GCC_REQD+=		4.4
+.else
+GCC_REQD+=		4.5
+.endif
+
+.include "../../devel/boost-headers/buildlink3.mk"
+.endif # BOOST_LIBS_BUILDLINK3_MK
+
+BUILDLINK_TREE+=	-boost-libs
diff --git a/boost-libs-2017Q1/hacks.mk b/boost-libs-2017Q1/hacks.mk
new file mode 100644
index 0000000000..c3de68ef11
--- /dev/null
+++ b/boost-libs-2017Q1/hacks.mk
@@ -0,0 +1,14 @@
+# $NetBSD: hacks.mk,v 1.5 2014/12/15 11:46:34 jperkin Exp $
+
+.if !defined(BOOST_LIBS_HACKS_MK)
+BOOST_LIBS_HACKS_MK=	defined
+
+.include "../../mk/compiler.mk"
+
+# gcc 4 on sparc64 catches an illegal instruction when compiling graphml.cpp
+.if ${MACHINE_ARCH} == "sparc64" && !empty(CC_VERSION:Mgcc-4*)
+PKG_HACKS+=		optimisation
+BUILDLINK_TRANSFORM+=	opt:-O3:-O1
+.endif
+
+.endif  # BOOST_LIBS_HACKS_MK


Home | Main Index | Thread Index | Old Index