Info2: <<
Package: boost1.78-%type_pkg[python]
Version: 1.78.0
Revision: 2
Type: python (nopython python3.10), boost (78)
Description: Boost C++ Libraries: static and source libs
License: BSD
Maintainer: Hanspeter Niederstrasser <nieder@users.sourceforge.net>

Depends: %N-shlibs (= %v-%r)
BuildDepends: <<
	(%type_pkg[python] = nopython) bzip2-dev,
	fink (>= 0.34.4),
	fink-package-precedence,
	(%type_pkg[python] = nopython) libiconv-dev,
	(%type_pkg[python] = nopython) libicu72-dev,
	(%type_pkg[python] = nopython) liblzma5,
	(%type_pkg[python] = nopython) libzstd1-dev,
	(%type_num[python]) %type_pkg[python]
<<
BuildDependsOnly: True
#BuildConflicts: (%type_pkg[python] != nopython) python 
### Conflicts gets ALL variants for OTHER boost versions
### For same boost version, conditional all on " !nopython " BUT omit the nopython variant.
Conflicts: <<
	boost1.55-systempython,
	boost1.55-python27,
	boost1.55-python32,
	boost1.55-python33,
	boost1.55-nopython,
	boost1.58-systempython,
	boost1.58-python27,
	boost1.58-python34,
	boost1.58-nopython,
	boost1.63-systempython,
	boost1.63-python27,
	boost1.63-python36,
	boost1.63-nopython,
	boost1.68-systempython,
	boost1.68-python27,
	boost1.68-python37,
	boost1.68-nopython,
	(%type_pkg[python] != nopython) boost1.78-python310
<<
### Always include ALL boost variants in Replaces
Replaces: << 
	boost1.55-systempython,
	boost1.55-python27,
	boost1.55-python32,
	boost1.55-python33,
	boost1.55-nopython,
	boost1.58-systempython,
	boost1.58-python27,
	boost1.58-python34,
	boost1.58-nopython,
	boost1.63-systempython,
	boost1.63-python27,
	boost1.63-python36,
	boost1.63-nopython,
	boost1.68-systempython,
	boost1.68-python27,
	boost1.68-python37,
	boost1.68-nopython,
	boost1.78-python310,
	boost1.78-nopython
<<
CustomMirror: <<
	A: https://boostorg.jfrog.io/artifactory/main/release/%v/source/
	B: https://sourceforge.net/projects/boost/files/boost/%v/
<<
Source: mirror:custom:boost_1_%type_pkg[boost]_0.tar.bz2
Source-Checksum: SHA256(8681f175d4bdb26c52222665793eef08490d7758529330f98d3b29dd0735bccc)
#SourceDirectory: boost_1_%type_pkg[boost]_0
PatchFile: boost1.78.patch
PatchFile-MD5: 445ba483311b7113ce980089af59f944
PatchScript:<<
#!/bin/sh -ex
	sed -e 's|@FINK_PREFIX@|%p|g' -e 's|@BOOST_MINOR@|%type_pkg[boost]|g' <  %{PatchFile} | patch -p1
	### Real ugly hack because the python linking code ignores the 
	### absolute path install_name we try to give the libraries.
	### So we'll only keep the file name bit for the install_name.
	### We will give the python libraries a versioned absolute path 
	### during InstallScript.
	case %type_pkg[python] in
		nopython)
			;;
		*)
			perl -pi -e 's|-install_name \"\$\(LIB_INSTALL_DIR\)/|-install_name "|g' tools/build/src/tools/clang-darwin.jam
	esac
	# don't build numpy library when building python library
	perl -pi -e 's|import numpy|import numpy-fail|g' tools/build/src/tools/python.jam
	# don't add arch to library name:
	perl -pi -e 's|\<runtime\> \<arch-and-model\>|\<runtime\>|g' boostcpp.jam
<<

# unset MAKEFLAGS to make sure we only carry -jN
NoSetMAKEFLAGS: true
GCC: 4.0
CompileScript: <<
#!/bin/sh -ex
USEPYTHON='--with-python'
USEFIBER=''
UNDEFINED=''
### python3.[4-7] suffixes their directories w/ 'm', so need to deal with that in PYINC_SUFFIX
case %type_pkg[python] in 
	nopython) 
		UNDEFINED=''
		USEPYTHON='--without-python'
		USEFIBER='--without-fiber'
		export PYTHON=''
		LIBDIR='--libdir=%p/opt/boost-1_%type_pkg[boost]/lib' ;;
	systempython)
		echo "using python : 2.7 : /usr/bin/python2.7 : /usr/include/python2.7 : /usr/lib ; " >> tools/build/src/user-config.jam
		export PYTHON='/usr/bin/python2.7'
		LIBDIR='--libdir=%p/opt/boost-1_%type_pkg[boost]/lib' ;;
	python310)
		PYTHON_VERS=3.10
		PYINC_SUFFIX=""
		echo "using python : $PYTHON_VERS : %p/bin/%type_raw[python] : %p/include/%type_raw[python]$PYINC_SUFFIX : %p/lib ; " >> tools/build/src/user-config.jam
		export PYTHON='%p/bin/%type_raw[python]'
		export LIBDIR2='%p/lib/%type_raw[python]/site-packages'
		LIBDIR='--libdir=%p/lib/%type_raw[python]/site-packages' ;;
	*) ;;
esac

export ICONV_PATH=%p
export ICU_ROOT=%p
export PYTHON=$PYTHON

# don't build the boost_fiber library because it is Xcode dependent (>= 8)
./bootstrap.sh \
	--without-libraries=python \
	--without-libraries=mpi \
	--without-libraries=fiber \
	--prefix=%p/opt/boost-1_%type_pkg[boost] \
	--includedir=%p/opt/boost-1_%type_pkg[boost]/include/boost \
	--with-icu=%p

LIBDIR2=$LIBDIR2 ./b2 -d2 \
	cxxflags="-MD -I%p/include" \
	$MAKEFLAGS \
	$USEPYTHON \
	$USEFIBER \
	--prefix=%p \
	$LIBDIR \
	--includedir=%p/opt/boost-1_%type_pkg[boost]/include/boost \
	$UNDEFINED \
	--compatibility_version=1.%type_pkg[boost].0 \
	--current_version=1.%type_pkg[boost].0 \
	-sBZIP2_INCLUDE=%p/include \
	-sBZIP2_LIBPATH=%p/lib \
	-sZSTD_INCLUDE=%p/include \
	-sZSTD_LIBPATH=%p/lib \
	--build-type=complete \
	--layout=tagged \
	cxxstd=14 \
	variant=release \
	threading=single,multi \
	link=shared

# deal with file that messes up f-p-p
mv libs/contract/example/n1962/sqrt.d{,-moved}
fink-package-precedence --depfile-ext='\.d' --prohibit-bdep=boost1.78-nopython,boost1.78-python310 --no-libs .
mv libs/contract/example/n1962/sqrt.d{-moved,}
<<

InstallScript: <<
#!/bin/sh -ex
USEFIBER=''

case %type_pkg[python] in 
	nopython) 
		USEPYTHON='--without-python'
		USEFIBER='--without-fiber'
		export PYTHON=''
		LIBDIR='--libdir=%i/opt/boost-1_%type_pkg[boost]/lib' ;;
	systempython)
		USEPYTHON='--with-python'
		export PYTHON='/usr/bin/python2.7'
		LIBDIR='--libdir=%i/opt/boost-1_%type_pkg[boost]/lib' ;;
	python*)
		USEPYTHON='--with-python'
		export PYTHON='%p/bin/%type_raw[python]'
		# This is only to simplify the install phase.  File will go in pythonX.Y/site-packages.
		LIBDIR='--libdir=%i/opt/boost-1_%type_pkg[boost]/lib' ;;
	*) ;;
esac

./b2 -d2 \
	$USEPYTHON \
	$USEFIBER \
	--prefix=%i \
	$LIBDIR \
	--includedir=%i/opt/boost-1_%type_pkg[boost]/include \
	$UNDEFINED \
	--compatibility_version=1.%type_pkg[boost].0 \
	--current_version=1.%type_pkg[boost].0 \
	-sBZIP2_INCLUDE=%p/include \
	-sBZIP2_LIBPATH=%p/lib \
	-sZSTD_INCLUDE=%p/include \
	-sZSTD_LIBPATH=%p/lib \
	--build-type=complete \
	--layout=tagged \
	cxxstd=14 \
	variant=release \
	threading=single,multi \
	link=shared install

### Fix the install_name for the python libraries
if [ '%type_pkg[python]' == 'systempython' ]; then
	install_name_tool -id %p/opt/boost-1_%type_pkg[boost]/lib/libboost_python27-1_%type_pkg[boost].dylib %i/opt/boost-1_%type_pkg[boost]/lib/libboost_python27.dylib
	install_name_tool -id %p/opt/boost-1_%type_pkg[boost]/lib/libboost_python27-mt-1_%type_pkg[boost].dylib %i/opt/boost-1_%type_pkg[boost]/lib/libboost_python27-mt.dylib
fi
if [[ '%type_pkg[python]' == 'python310' ]]; then
	install_name_tool -id %p/lib/%type_raw[python]/site-packages/libboost_python%type_num[python]-1_%type_pkg[boost].dylib %i/opt/boost-1_%type_pkg[boost]/lib/libboost_python%type_num[python].dylib
	install_name_tool -id %p/lib/%type_raw[python]/site-packages/libboost_python%type_num[python]-mt-1_%type_pkg[boost].dylib %i/opt/boost-1_%type_pkg[boost]/lib/libboost_python%type_num[python]-mt.dylib
fi
### End of install_name hack

if [ '%type_pkg[python]' == 'nopython' ]; then
	LIBS="atomic chrono container context contract coroutine date_time filesystem graph iostreams json locale log log_setup math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l nowide prg_exec_monitor program_options random regex serialization system thread timer type_erasure unit_test_framework wave wserialization";
else
	case %type_pkg[python] in
		python3*)
			LIBS="python%type_num[python]"
			;;
		systempython)
			LIBS="python27"
			;;
	esac
fi
### dylibs are created with unversioned name.  mv to version name
### and create unversioned symlink
for LIB in $LIBS; do
	if [[ "$LIB" == "atomic" || "$LIB" == "context" || "$LIB" == "locale" || "$LIB" == "thread" ]]; then
		# these libraries don't build a non-mt version,
		# so point the non-mt unversioned link to -mt dylib
		ln -s libboost_${LIB}-mt.dylib %i/opt/boost-1_%type_pkg[boost]/lib/libboost_${LIB}.dylib
	else
		mv %i/opt/boost-1_%type_pkg[boost]/lib/libboost_${LIB}.dylib %i/opt/boost-1_%type_pkg[boost]/lib/libboost_${LIB}-1_%type_pkg[boost].dylib
		ln -s libboost_${LIB}-1_%type_pkg[boost].dylib %i/opt/boost-1_%type_pkg[boost]/lib/libboost_${LIB}.dylib
	fi # end of
	mv %i/opt/boost-1_%type_pkg[boost]/lib/libboost_${LIB}-mt.dylib %i/opt/boost-1_%type_pkg[boost]/lib/libboost_${LIB}-mt-1_%type_pkg[boost].dylib
	ln -s libboost_${LIB}-mt-1_%type_pkg[boost].dylib %i/opt/boost-1_%type_pkg[boost]/lib/libboost_${LIB}-mt.dylib
done
if [ -n '%type_num[python]' ]; then
	### Move versioned Fink python libs to site-packages directory to match otool -L
	### The unversioned python libs stay in %p/opt/boost-1_%type_pkg[boost]/lib
	mkdir -p %i/lib/%type_raw[python]/site-packages
	mv %i/opt/boost-1_%type_pkg[boost]/lib/libboost*1_%type_pkg[boost].dylib %i/lib/%type_raw[python]/site-packages
	### The unversioned python symlinks need to point to the site-package location
	rm %i/opt/boost-1_%type_pkg[boost]/lib/libboost_python%type_num[python]{,-mt}.dylib
	ln -s %p/lib/%type_raw[python]/site-packages/libboost_python%type_num[python]-1_%type_pkg[boost].dylib %i/opt/boost-1_%type_pkg[boost]/lib/libboost_python%type_num[python].dylib
	ln -s %p/lib/%type_raw[python]/site-packages/libboost_python%type_num[python]-mt-1_%type_pkg[boost].dylib %i/opt/boost-1_%type_pkg[boost]/lib/libboost_python%type_num[python]-mt.dylib
fi
# install the examples, docs, tools, etc by hand
	mkdir -p %i/opt/boost-1_%type_pkg[boost]/lib/boost-1_%type_pkg[boost]
	/bin/cp -pR boost-build.jam boost.css boost.png doc index.html libs more rst.css status tools %i/opt/boost-1_%type_pkg[boost]/lib/boost-1_%type_pkg[boost]/
	mkdir -p %i/opt/boost-1_%type_pkg[boost]/share/doc/%N
	sed -e 's|URL=index.html|URL=%p/opt/boost-1_%type_pkg[boost]/lib/boost-1_%type_pkg[boost]/index.html|' index.htm > %i/opt/boost-1_%type_pkg[boost]/share/doc/%N/index.html 
<<

Splitoff: <<
	Package: %N-shlibs
	Depends: <<
		(%type_pkg[python] = nopython) bzip2-shlibs,
		(%type_pkg[python] = nopython) libiconv,
		(%type_pkg[python] = nopython) libicu72-shlibs,
		(%type_pkg[python] = nopython) liblzma5-shlibs,
		(%type_pkg[python] = nopython) libzstd1-shlibs,
		( %type_num[python] ) %type_pkg[python]-shlibs
	<<
	Files: <<
		( %type_raw[python] = systempython ) opt/boost-1_%type_pkg[boost]/lib/libboost_python27-1_%type_pkg[boost].dylib
		( %type_raw[python] = systempython ) opt/boost-1_%type_pkg[boost]/lib/libboost_python27-mt-1_%type_pkg[boost].dylib
		( %type_num[python] ) lib/%type_raw[python]/site-packages/libboost_python%type_num[python]-1_%type_pkg[boost].dylib
		( %type_num[python] ) lib/%type_raw[python]/site-packages/libboost_python%type_num[python]-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_atomic-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_chrono-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_chrono-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_container-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_container-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_context-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_contract-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_contract-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_coroutine-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_coroutine-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_date_time-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_date_time-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_filesystem-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_filesystem-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_graph-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_graph-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_iostreams-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_iostreams-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_json-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_json-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_locale-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_log_setup-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_log_setup-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_log-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_log-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_math_c99-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_math_c99-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_math_c99f-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_math_c99f-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_math_c99l-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_math_c99l-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_math_tr1-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_math_tr1-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_math_tr1f-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_math_tr1f-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_math_tr1l-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_math_tr1l-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_nowide-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_nowide-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_prg_exec_monitor-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_prg_exec_monitor-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_program_options-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_program_options-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_random-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_random-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_regex-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_regex-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_serialization-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_serialization-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_system-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_system-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_thread-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_timer-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_timer-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_type_erasure-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_type_erasure-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_unit_test_framework-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_unit_test_framework-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_wave-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_wave-mt-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_wserialization-1_%type_pkg[boost].dylib
		( %type_raw[python] = nopython ) opt/boost-1_%type_pkg[boost]/lib/libboost_wserialization-mt-1_%type_pkg[boost].dylib
	<<
	Shlibs: <<
		( %type_raw[python] = systempython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_python27-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = systempython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_python27-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_num[python] ) %p/lib/%type_raw[python]/site-packages/libboost_python%type_num[python]-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_num[python] ) %p/lib/%type_raw[python]/site-packages/libboost_python%type_num[python]-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_atomic-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_chrono-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_chrono-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_container-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_container-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_context-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_contract-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_contract-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_coroutine-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_coroutine-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_date_time-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_date_time-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_filesystem-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_filesystem-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_graph-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_graph-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_iostreams-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_iostreams-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_json-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_json-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_locale-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_log_setup-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_log_setup-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_log-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_log-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_math_c99-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_math_c99-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_math_c99f-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_math_c99f-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_math_c99l-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_math_c99l-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_math_tr1-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_math_tr1-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_math_tr1f-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_math_tr1f-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_math_tr1l-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_math_tr1l-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_nowide-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_nowide-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_prg_exec_monitor-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_prg_exec_monitor-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_program_options-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_program_options-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_random-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_random-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_regex-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_regex-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_serialization-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_serialization-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_system-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_system-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_thread-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_timer-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_timer-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_type_erasure-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_type_erasure-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_unit_test_framework-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_unit_test_framework-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_wave-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_wave-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_wserialization-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
		( %type_raw[python] = nopython ) %p/opt/boost-1_%type_pkg[boost]/lib/libboost_wserialization-mt-1_%type_pkg[boost].dylib 1.78.0 %n (>= 1.78.0-1)
	<<
	DocFiles: LICENSE_1_0.txt 
	Description: Boost C++ Libraries (shared libs)
<<
DocFiles: LICENSE_1_0.txt index.html
Homepage: http://www.boost.org
DescDetail: <<
 The Boost web site provides free peer-reviewed portable C++ source 
 libraries.  The emphasis is on libraries which work well with the 
 C++ Standard Library.  The libraries are intended to be widely useful, 
 and are in regular use by thousands of programmers across a broad 
 spectrum of applications.

 A further goal is to establish "existing practice" and provide 
 reference implementations so that Boost libraries are suitable for 
 eventual standardization.  Ten Boost libraries will be included in 
 the C++ Standards Committee's upcoming C++ Standard Library Technical 
 Report as a step toward becoming part of a future C++ Standard.

 Although Boost was begun by members of the C++ Standards Committee 
 Library Working Group, participation has expanded to include thousands 
 of programmers from the C++ community at large.
<<
DescUsage: <<
 The libboost.python libraries are separated out into their own packages,
 with different package names according to the python version with which
 they are compatible. 

 The nopython variant contains all libraries except the python libraries,
 so if you want a complete set of boost libraries, install
 the nopython variant and one of the python variants.

 The systempython variant uses the system Python framework and installs 
 the libboost.python dylib into %p/opt/boost-1_%type_pkg[boost]/lib.
 The pythonXY variants use Fink's pythonXY packages and install the
 libboost.python dylib into %p/lib/pythonX.Y/site-packages.
 The static libraries and the compile-time dylib symlinks
 are installed into %p/opt/boost-1_%type_pkg[boost]/lib in all cases.

 To find this version of Boost, you may need to set the compiler flags 
 to contain:

 -I%p/opt/boost-1_%type_pkg[boost]/include

 ...and your linker flags to contain
 
 -L%p/opt/boost-1_%type_pkg[boost]/lib 

 This version installs the docs, tools, examples, etc into 
 %p/opt/boost-1_%type_pkg[boost]/lib/boost-1_%type_pkg[boost]/.
<<
DescPort: <<
 Patch to darwin.jam teaches ./b2 to use a proper install_name for
 the libraries. It also has the ability to pass --compatibility_version, 
 --current_version, and --undefined but are currently (1.57+) unused.

 These are transmitted on the ./b2 command line by the options
 --compatibility_version, --current_version and
 --undefined

 Setting "-flat_namespace -undefined dynamic_lookup" is no
 longer needed as in older versions for the python dylibs.
 However, keeping the ability to set the flags just in case.
 <<
DescPackaging: <<
 Earlier versions by Mark Treiber.
 Based on Martin Costabel's boost1.35.
 
 All the -shlibs splitoffs are compatible with each other.
 The other packages are BuildDependsOnly, and the nopython variant
 is compatible with any one of the python dev variants from the same
 boost version.
 The python dev variants all conflict with each other.  

 Beginning with boost1.55, the package is installed into %p/opt/boost-%v, with 
 the headers in the real directory ${boost_prefix}/include/boost.  Libraries are 
 in the parallel directory ${boost_prefix}/lib.  Earlier versions of boost had 
 ${boost_prefix}/include/boost as a symlink, and this caused havoc with dpkg. 
 The goal is to have future versions of boost in %p/opt until all older versions 
 using the %p/include/boost symlink have been end-of-lifed.  Once these previous 
 versions have been obsoleted, the next boost package can be moved back to %p and 
 a real %p/include/boost directory. Furthermore, the variants are now delimited 
 with a '-' hyphen, not a '.' period, to better match the standard for other 
 Fink packages.
 
 mpi-python is not enabled.  It builds several libraries, including 
 boost_serialization that already exists in the base 'nopython' package.  Would
 need to come up with some method to make them all coexist.

 boost_fiber needs thread_local from c++11, but that only made it to Apple
 systems at Xcode8. So we just axe the source so it is never built. Once we
 jettison 10.9 and 10.10, we can re-enable it and force Xcode8 as a
 BuildDepends.
<<
<<