public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "David Seifert" <soap@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/boost/, dev-libs/boost/files/
Date: Sun,  3 Sep 2017 17:47:54 +0000 (UTC)	[thread overview]
Message-ID: <1504460856.f65bbbcd0e1907edd09f0dd53d51070ced5b482f.soap@gentoo> (raw)

commit:     f65bbbcd0e1907edd09f0dd53d51070ced5b482f
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sun Sep  3 17:45:27 2017 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sun Sep  3 17:47:36 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f65bbbcd

dev-libs/boost: Bump to 1.65.0

Closes: https://bugs.gentoo.org/show_bug.cgi?id=618182
Package-Manager: Portage-2.3.8, Repoman-2.3.3

 dev-libs/boost/Manifest                            |   1 +
 dev-libs/boost/boost-1.65.0.ebuild                 | 439 +++++++++++++++++++++
 dev-libs/boost/files/boost-1.65.0-fix-python.patch | 144 +++++++
 3 files changed, 584 insertions(+)

diff --git a/dev-libs/boost/Manifest b/dev-libs/boost/Manifest
index 2bed45d4d28..349a966ba48 100644
--- a/dev-libs/boost/Manifest
+++ b/dev-libs/boost/Manifest
@@ -1,2 +1,3 @@
 DIST boost_1_62_0.tar.bz2 84513338 SHA256 36c96b0f6155c98404091d8ceb48319a28279ca0333fba1ad8611eb90afb2ca0 SHA512 5385ae3d5255a433a704169ad454d8dc2b0b5bcae3fb23defd6570df4ff7d845cf9fcbeebccdc1c5db0eec9f82ee3d90040de9507c8167467c635d3b215463be WHIRLPOOL 49c4558d5e6d72084f083a76217e3d97b504f112d7e4d228eded72dc49fa7e675ba943a9fc52a3c27d296ee689aee27d4566796c6eae71cf647430285777c0fb
 DIST boost_1_63_0.tar.bz2 81984414 SHA256 beae2529f759f6b3bf3f4969a19c2e9d6f0c503edcb2de4a61d1428519fcb3b0 SHA512 c915c5f5778dee49b8e9d0a40f37f90f56fb1fdb1d8ce92d97bf48bc7bc462212487badfe4bbe30b06196d1149cfb221da12ac54e97499b0d4cb6466813bb4ad WHIRLPOOL 28c241785097272a1e0952e529eef082444e4ef35a8d738161e4a491a986d75359d3afe888b2ea91a4a81b6ec7a5772ebea337c9d09377b43f6eed66cac90378
+DIST boost_1_65_0.tar.bz2 82597718 SHA256 ea26712742e2fb079c2a566a31f3266973b76e38222b9f88b387e3c8b2f9902c SHA512 7142650fb8d61e3ef16ba066fc918e087f19e9bc2ad1d6a11fb10bf0d6b1b5ad05ab032f076a5233a1624b3669e952b2cc38b7dc074bbf53018e2970ee90fcdd WHIRLPOOL ca389eff2ffc4836b88688504c187e57f236a5967654e40377792d59dd2e4fc3d6ccb079174eae095ad610ccd683e795964c5011429845b27ab67166f8a82c19

diff --git a/dev-libs/boost/boost-1.65.0.ebuild b/dev-libs/boost/boost-1.65.0.ebuild
new file mode 100644
index 00000000000..031429c5de8
--- /dev/null
+++ b/dev-libs/boost/boost-1.65.0.ebuild
@@ -0,0 +1,439 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+
+inherit eutils flag-o-matic multiprocessing python-r1 toolchain-funcs versionator multilib-minimal
+
+MY_P="${PN}_$(replace_all_version_separators _)"
+MAJOR_V="$(get_version_component_range 1-2)"
+
+DESCRIPTION="Boost Libraries for C++"
+HOMEPAGE="http://www.boost.org/"
+SRC_URI="https://downloads.sourceforge.net/project/boost/${PN}/${PV}/${MY_P}.tar.bz2"
+
+LICENSE="Boost-1.0"
+SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt"
+
+IUSE="context debug doc icu +nls mpi python static-libs +threads tools"
+
+RDEPEND="icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
+	!icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
+	mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP},cxx,threads] )
+	python? ( ${PYTHON_DEPS} )
+	app-arch/bzip2[${MULTILIB_USEDEP}]
+	sys-libs/zlib[${MULTILIB_USEDEP}]
+	!app-admin/eselect-boost"
+DEPEND="${RDEPEND}
+	=dev-util/boost-build-${MAJOR_V}*"
+REQUIRED_USE="
+	mpi? ( threads )
+	python? ( ${PYTHON_REQUIRED_USE} )"
+
+S="${WORKDIR}/${MY_P}"
+
+# the tests will never fail because these are not intended as sanity
+# tests at all. They are more a way for upstream to check their own code
+# on new compilers. Since they would either be completely unreliable
+# (failing for no good reason) or completely useless (never failing)
+# there is no point in having them in the ebuild to begin with.
+RESTRICT="test"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch"
+	"${FILESDIR}/${PN}-1.55.0-context-x32.patch"
+	"${FILESDIR}/${PN}-1.56.0-build-auto_index-tool.patch"
+	"${FILESDIR}/${PN}-1.65.0-fix-python.patch"
+)
+
+python_bindings_needed() {
+	multilib_is_native_abi && use python
+}
+
+tools_needed() {
+	multilib_is_native_abi && use tools
+}
+
+create_user-config.jam() {
+	local compiler compiler_version compiler_executable
+
+	if [[ ${CHOST} == *-darwin* ]]; then
+		compiler="darwin"
+		compiler_version="$(gcc-fullversion)"
+		compiler_executable="$(tc-getCXX)"
+	else
+		compiler="gcc"
+		compiler_version="$(gcc-version)"
+		compiler_executable="$(tc-getCXX)"
+	fi
+	local mpi_configuration python_configuration
+
+	if use mpi; then
+		mpi_configuration="using mpi ;"
+	fi
+
+	if python_bindings_needed; then
+		# boost expects libpython$(pyver) and doesn't allow overrides
+		# and the build system is so creepy that it's easier just to
+		# provide a symlink (linker's going to use SONAME anyway)
+		# TODO: replace it with proper override one day
+		ln -f -s "$(python_get_library_path)" "${T}/lib${EPYTHON}$(get_libname)" || die
+
+		if tc-is-cross-compiler; then
+			python_configuration="using python : ${EPYTHON#python} : : ${SYSROOT:-${EROOT}}/usr/include/${EPYTHON} : ${SYSROOT:-${EROOT}}/usr/$(get_libdir) ;"
+		else
+			# note: we need to provide version explicitly because of
+			# a bug in the build system:
+			# https://github.com/boostorg/build/pull/104
+			python_configuration="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) : ${T} ;"
+		fi
+	fi
+
+	cat > "${BOOST_ROOT}/user-config.jam" << __EOF__ || die
+using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
+${mpi_configuration}
+${python_configuration}
+__EOF__
+}
+
+pkg_setup() {
+	# Bail out on unsupported build configuration, bug #456792
+	if [[ -f "${EROOT%/}/etc/site-config.jam" ]]; then
+		grep -q gentoorelease "${EROOT%/}/etc/site-config.jam" && grep -q gentoodebug "${EROOT%/}/etc/site-config.jam" ||
+		(
+			eerror "You are using custom ${EROOT%/}/etc/site-config.jam without defined gentoorelease/gentoodebug targets."
+			eerror "Boost can not be built in such configuration."
+			eerror "Please, either remove this file or add targets from ${EROOT%/}/usr/share/boost-build/site-config.jam to it."
+			die
+		)
+	fi
+}
+
+src_prepare() {
+	default
+
+	# Do not try to build missing 'wave' tool, bug #522682
+	# Upstream bugreport - https://svn.boost.org/trac/boost/ticket/10507
+	sed -i -e 's:wave/build//wave::' tools/Jamfile.v2 || die
+
+	multilib_copy_sources
+}
+
+ejam() {
+	local b2_opts=(
+		"--user-config=${BOOST_ROOT}/user-config.jam"
+		"$@"
+	)
+	echo b2 "${b2_opts[@]}"
+	b2 "${b2_opts[@]}"
+}
+
+src_configure() {
+	# Workaround for too many parallel processes requested, bug #506064
+	[[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64"
+
+	OPTIONS=(
+		$(usex debug gentoodebug gentoorelease)
+		"-j$(makeopts_jobs)"
+		-q
+		-d+2
+	)
+
+	if [[ ${CHOST} == *-darwin* ]]; then
+		# We need to add the prefix, and in two cases this exceeds, so prepare
+		# for the largest possible space allocation.
+		append-ldflags -Wl,-headerpad_max_install_names
+	elif [[ ${CHOST} == *-winnt* ]]; then
+		compiler=parity
+		if [[ $($(tc-getCXX) -v) == *trunk* ]]; then
+			compilerVersion=trunk
+		else
+			compilerVersion=$($(tc-getCXX) -v | sed '1q' \
+				| sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,')
+		fi
+		compilerExecutable=$(tc-getCXX)
+	fi
+
+	# bug 298489
+	if use ppc || use ppc64; then
+		[[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
+	fi
+
+	# Use C++14 globally as of 1.62
+	append-cxxflags -std=c++14
+
+	use icu && OPTIONS+=(
+			"-sICU_PATH=${EPREFIX}/usr"
+		)
+	use icu || OPTIONS+=(
+			--disable-icu
+			boost.locale.icu=off
+		)
+	use mpi || OPTIONS+=(
+			--without-mpi
+		)
+	use nls || OPTIONS+=(
+			--without-locale
+		)
+	use context || OPTIONS+=(
+			--without-context
+			--without-coroutine
+			--without-fiber
+		)
+	use threads || OPTIONS+=(
+			--without-thread
+		)
+
+	OPTIONS+=(
+		pch=off
+		--boost-build="${EPREFIX}"/usr/share/boost-build
+		--prefix="${ED%/}/usr"
+		--layout=system
+		# building with threading=single is currently not possible
+		# https://svn.boost.org/trac/boost/ticket/7105
+		threading=multi
+		link=$(usex static-libs shared,static shared)
+	)
+
+	[[ ${CHOST} == *-winnt* ]] && OPTIONS+=(
+			-sNO_BZIP2=1
+		)
+}
+
+multilib_src_compile() {
+	local -x BOOST_ROOT="${BUILD_DIR}"
+	PYTHON_DIRS=""
+	MPI_PYTHON_MODULE=""
+
+	building() {
+		create_user-config.jam
+
+		local PYTHON_OPTIONS
+		if python_bindings_needed; then
+			PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
+		else
+			PYTHON_OPTIONS=" --without-python"
+		fi
+
+		ejam \
+			"${OPTIONS[@]}" \
+			${PYTHON_OPTIONS} \
+			|| die "Building of Boost libraries failed"
+
+		if python_bindings_needed; then
+			if [[ -z "${PYTHON_DIRS}" ]]; then
+				PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
+			else
+				if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
+					die "Inconsistent structure of build directories"
+				fi
+			fi
+
+			local dir
+			for dir in ${PYTHON_DIRS}; do
+				mv ${dir} ${dir}-${EPYTHON} \
+					|| die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
+			done
+
+			if use mpi; then
+				if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
+					MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)"
+					if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
+						die "Multiple mpi.so files found"
+					fi
+				else
+					if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
+						die "Inconsistent structure of build directories"
+					fi
+				fi
+
+				mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
+					|| die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
+			fi
+		fi
+	}
+	if python_bindings_needed; then
+		python_foreach_impl building
+	else
+		building
+	fi
+
+	if tools_needed; then
+		pushd tools >/dev/null || die
+
+		ejam \
+			"${OPTIONS[@]}" \
+			${PYTHON_OPTIONS} \
+			|| die "Building of Boost tools failed"
+		popd >/dev/null || die
+	fi
+}
+
+multilib_src_install_all() {
+	if ! use python; then
+		rm -r "${ED%/}"/usr/include/boost/python* || die
+	fi
+
+	if ! use nls; then
+		rm -r "${ED%/}"/usr/include/boost/locale || die
+	fi
+
+	if ! use context; then
+		rm -r "${ED%/}"/usr/include/boost/context || die
+		rm -r "${ED%/}"/usr/include/boost/coroutine{,2} || die
+		rm "${ED%/}"/usr/include/boost/asio/spawn.hpp || die
+	fi
+
+	if use doc; then
+		# find extraneous files that shouldn't be installed
+		# as part of the documentation and remove them.
+		find libs/*/* \( -iname 'test' -o -iname 'src' \) -exec rm -rf '{}' + || die
+		find doc \( -name 'Jamfile.v2' -o -name 'build' -o -name '*.manifest' \) -exec rm -rf '{}' + || die
+		find tools \( -name 'Jamfile.v2' -o -name 'src' -o -name '*.cpp' -o -name '*.hpp' \) -exec rm -rf '{}' + || die
+
+		docinto html
+		dodoc *.{htm,html,png,css}
+		dodoc -r doc libs more tools
+
+		# To avoid broken links
+		dodoc LICENSE_1_0.txt
+
+		dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
+	fi
+}
+
+multilib_src_install() {
+	local -x BOOST_ROOT="${BUILD_DIR}"
+	installation() {
+		create_user-config.jam
+
+		local PYTHON_OPTIONS
+		if python_bindings_needed; then
+			local dir
+			for dir in ${PYTHON_DIRS}; do
+				cp -pr ${dir}-${EPYTHON} ${dir} \
+					|| die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
+			done
+
+			if use mpi; then
+				cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \
+					|| die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed"
+				cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \
+					|| die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
+			fi
+			PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
+		else
+			PYTHON_OPTIONS=" --without-python"
+		fi
+
+		ejam \
+			"${OPTIONS[@]}" \
+			${PYTHON_OPTIONS} \
+			--includedir="${ED%/}/usr/include" \
+			--libdir="${ED%/}/usr/$(get_libdir)" \
+			install || die "Installation of Boost libraries failed"
+
+		if python_bindings_needed; then
+			rm -r ${PYTHON_DIRS} || die
+
+			# Move mpi.so Python module to Python site-packages directory.
+			# https://svn.boost.org/trac/boost/ticket/2838
+			if use mpi; then
+				local moddir=$(python_get_sitedir)/boost
+				# moddir already includes eprefix
+				mkdir -p "${D}${moddir}" || die
+				mv "${ED%/}/usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die
+				cat << EOF > "${D}${moddir}/__init__.py" || die
+import sys
+if sys.platform.startswith('linux'):
+	import DLFCN
+	flags = sys.getdlopenflags()
+	sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
+	from . import mpi
+	sys.setdlopenflags(flags)
+	del DLFCN, flags
+else:
+	from . import mpi
+del sys
+EOF
+			fi
+
+			python_optimize
+		fi
+	}
+	if python_bindings_needed; then
+		python_foreach_impl installation
+	else
+		installation
+	fi
+
+	pushd "${ED%/}/usr/$(get_libdir)" >/dev/null || die
+
+	local ext=$(get_libname)
+	if use threads; then
+		local f
+		for f in *${ext}; do
+			dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
+		done
+	fi
+
+	popd >/dev/null || die
+
+	if tools_needed; then
+		dobin dist/bin/*
+
+		insinto /usr/share
+		doins -r dist/share/boostbook
+	fi
+
+	# boost's build system truely sucks for not having a destdir.  Because for
+	# this reason we are forced to build with a prefix that includes the
+	# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
+	# DESTROOT instread of the actual EPREFIX.  There is no way out of here
+	# but to do it the dirty way of manually setting the right install_names.
+	if [[ ${CHOST} == *-darwin* ]]; then
+		einfo "Working around completely broken build-system(tm)"
+		local d
+		for d in "${ED%/}"/usr/lib/*.dylib; do
+			if [[ -f ${d} ]]; then
+				# fix the "soname"
+				ebegin "  correcting install_name of ${d#${ED}}"
+				install_name_tool -id "/${d#${D}}" "${d}"
+				eend $?
+				# fix references to other libs
+				refs=$(otool -XL "${d}" | \
+					sed -e '1d' -e 's/^\t//' | \
+					grep "^libboost_" | \
+					cut -f1 -d' ')
+				local r
+				for r in ${refs}; do
+					ebegin "    correcting reference to ${r}"
+					install_name_tool -change \
+						"${r}" \
+						"${EPREFIX}/usr/lib/${r}" \
+						"${d}"
+					eend $?
+				done
+			fi
+		done
+	fi
+}
+
+pkg_preinst() {
+	# Yai for having symlinks that are nigh-impossible to remove without
+	# resorting to dirty hacks like these. Removes lingering symlinks
+	# from the slotted versions.
+	local symlink
+	for symlink in "${EROOT%/}/usr/include/boost" "${EROOT%/}/usr/share/boostbook"; do
+		if [[ -L ${symlink} ]]; then
+			rm -f "${symlink}" || die
+		fi
+	done
+
+	# some ancient installs still have boost cruft lying around
+	# for unknown reasons, causing havoc for reverse dependencies
+	# Bug: 607734
+	rm -rf "${EROOT%/}"/usr/include/boost-1_[3-5]? || die
+}

diff --git a/dev-libs/boost/files/boost-1.65.0-fix-python.patch b/dev-libs/boost/files/boost-1.65.0-fix-python.patch
new file mode 100644
index 00000000000..e960edb8703
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.65.0-fix-python.patch
@@ -0,0 +1,144 @@
+--- a/boostcpp.jam
++++ b/boostcpp.jam
+@@ -104,7 +104,7 @@
+ python-id = [ option.get "python-buildid" ] ;
+ if $(python-id)
+ {
+-    PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ;
++    PYTHON_ID = [ regex.replace $(python-id) [*\\/:\"\'] _ ] ;
+ }
+ 
+ 
+--- a/libs/python/build/Jamfile
++++ b/libs/python/build/Jamfile
+@@ -31,26 +31,23 @@
+         ;
+ }
+ 
+-py2-version = [ py-version 2 ] ;
+-py3-version = [ py-version 3 ] ;
+-
+ project boost/python
+   : source-location ../src
+   ;
+ 
+ rule cond ( test ? : yes * : no * ) { if $(test) { return $(yes) ; } else { return $(no) ; } }
+ rule unless ( test ? : yes * : no * ) { if ! $(test) { return $(yes) ; } else { return $(no) ; } }
+-local rule eq ( a : b ) { if $(a) = $(b) { return 1 ; } }
+-
+-lib_boost_python(2) = boost_python ;
+-lib_boost_python(3) = boost_python3 ;
+-
+-lib_boost_python($(py2-version)) = $(lib_boost_python(2)) ;
+-lib_boost_python($(py3-version)) = $(lib_boost_python(3)) ;
+ 
+-rule lib_boost_python ( version )
++rule lib_boost_python
+ {
+-    lib $(lib_boost_python($(version)))
++    local python_major_version = [ MATCH "^([^.]+)" : [ feature.values python ] ] ;
++    local python2 ;
++    if $(python_major_version) = 2
++    {
++        python2 = true ;
++    }
++
++    lib boost_python
+         : # sources
+         list.cpp
+         long.cpp
+@@ -96,7 +93,8 @@
+             # python_for_extensions is a target defined by Boost.Build to
+             # provide the Python include paths, and on Windows, the Python
+             # import library, as usage requirements.
+-            [ cond [ python.configured ] : <library>/python//python_for_extensions ]
++            [ cond $(python2) : <cxxflags>-fno-strict-aliasing ]
++            [ cond [ python.configured ] : <library>/python//python ]
+             
+             # we prevent building when there is no python available
+             # as it's not possible anyway, and to cause dependents to
+@@ -105,13 +103,10 @@
+             <dependency>config-warning
+ 
+             <python-debugging>on:<define>BOOST_DEBUG_PYTHON
+-            <python>$(version)
+ 
+             -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
+             <tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
+ 
+-            <conditional>@python.require-py
+-
+         :   # default build
+             <link>shared
+         :   # usage requirements
+@@ -120,68 +115,8 @@
+         ;
+ }
+ 
+-lib_boost_numpy(2) = boost_numpy ;
+-lib_boost_numpy(3) = boost_numpy3 ;
+-
+-lib_boost_numpy($(py2-version)) = $(lib_boost_numpy(2)) ;
+-lib_boost_numpy($(py3-version)) = $(lib_boost_numpy(3)) ;
+-
+-rule lib_boost_numpy ( version )
+-{
+-    numpy-include = [ python.numpy-include ] ;
+-    lib $(lib_boost_numpy($(version)))
+-        : # sources
+-        numpy/dtype.cpp
+-        numpy/matrix.cpp
+-        numpy/ndarray.cpp
+-        numpy/numpy.cpp
+-        numpy/scalars.cpp
+-        numpy/ufunc.cpp
+-        :   # requirements
+-            <link>static:<define>BOOST_NUMPY_STATIC_LIB 
+-            <define>BOOST_NUMPY_SOURCE
+-            [ cond [ python.numpy ] : <library>/python//python_for_extensions ]
+-            [ unless [ python.numpy ] : <build>no ]
+-            <include>$(numpy-include)
+-            <library>$(lib_boost_python($(version)))
+-            <python-debugging>on:<define>BOOST_DEBUG_PYTHON
+-            <python>$(version)
++libraries = boost_python ;
+ 
+-            -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
+-            <tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
+-
+-            <conditional>@python.require-py
+-
+-        :   # default build
+-            <link>shared
+-        :   # usage requirements
+-			<link>static:<define>BOOST_NUMPY_STATIC_LIB
+-            <python-debugging>on:<define>BOOST_DEBUG_PYTHON
+-        ;
+-}
+-
+-libraries = ;
+-
+-for local N in 2 3
+-{
+-    if $(py$(N)-version)
+-    {
+-        lib_boost_python $(py$(N)-version) ;
+-        libraries += $(lib_boost_python($(py$(N)-version))) ;
+-    }
+-    else
+-    {
+-        alias $(lib_boost_python($(N))) ;
+-    }
+-    if $(py$(N)-version) && [ python.numpy ]
+-    {
+-        lib_boost_numpy $(py$(N)-version) ;
+-        libraries += $(lib_boost_numpy($(py$(N)-version))) ;
+-    }
+-    else
+-    {
+-        alias $(lib_boost_numpy($(N))) ;
+-    }
+-}
++lib_boost_python ;
+ 
+ boost-install $(libraries) ;


             reply	other threads:[~2017-09-03 17:47 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-03 17:47 David Seifert [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-09-30 18:03 [gentoo-commits] repo/gentoo:master commit in: dev-libs/boost/, dev-libs/boost/files/ David Seifert
2024-07-16 23:04 Sam James
2024-06-03  1:31 Sam James
2024-02-17 14:27 David Seifert
2024-01-01 21:34 David Seifert
2023-10-08  4:22 Sam James
2023-05-20 16:38 David Seifert
2022-12-16  2:52 Sam James
2022-11-12  0:05 Sam James
2022-07-13 18:12 David Seifert
2022-02-03  4:25 Sam James
2021-12-01 17:24 Sam James
2021-06-20 16:54 Andreas Sturmlechner
2021-05-24 21:38 Sam James
2020-11-24 19:59 Andreas Sturmlechner
2020-08-02 10:09 David Seifert
2020-06-07 12:40 David Seifert
2020-05-02 14:26 David Seifert
2019-12-21 12:55 David Seifert
2019-12-07 21:43 David Seifert
2019-12-07 19:48 David Seifert
2019-04-21 19:18 David Seifert
2019-04-16 11:39 David Seifert
2019-04-16 11:39 David Seifert
2019-04-15  0:22 David Seifert
2018-02-11 17:07 Andreas Sturmlechner
2016-04-13 19:06 David Seifert
2016-03-30 22:50 David Seifert
2015-08-25 11:36 Sergey Popov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1504460856.f65bbbcd0e1907edd09f0dd53d51070ced5b482f.soap@gentoo \
    --to=soap@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox