RESTRICT="!test? ( test )"
RDEPEND="
- dev-libs/boost[static-libs]
+ ~dev-libs/boost-"${PV}"[static-libs]
context? ( dev-libs/boost[context] )
debug? ( dev-libs/boost[debug] )
doc? ( dev-libs/boost[doc] )
--includedir="${ED}"/usr/include \
--libdir="${ED}"/usr/$(get_libdir) \
"${OPTIONS[@]}" install || die "Installation of Boost libraries failed"
-
- # 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
- # these paths look like this:
- # bin.v2/libs/thread/build/gcc-12.1/gentoorelease/pch-off/
- # threadapi-pthread/threading-multi/visibility-hidden/
- # libboost_thread.dylib
- refs=$(otool -XL "${d}" | \
- sed -e '1d' -e 's/^\t//' | \
- grep "libboost_" | \
- cut -f1 -d' ')
- local r
- for r in ${refs}; do
- # strip path prefix from references, so we obtain
- # something like libboost_thread.dylib.
- local r_basename=${r##*/}
-
- ebegin " correcting reference to ${r_basename}"
- install_name_tool -change \
- "${r}" \
- "${EPREFIX}/usr/lib/${r_basename}" \
- "${d}"
- eend $?
- done
- fi
- done
- fi
}
multilib_src_install_all() {
RESTRICT="!test? ( test )"
RDEPEND="
- dev-libs/boost[static-libs]
+ ~dev-libs/boost-"${PV}"[static-libs]
context? ( dev-libs/boost[context] )
debug? ( dev-libs/boost[debug] )
doc? ( dev-libs/boost[doc] )
--includedir="${ED}"/usr/include \
--libdir="${ED}"/usr/$(get_libdir) \
"${OPTIONS[@]}" install || die "Installation of Boost libraries failed"
-
- # 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
- # these paths look like this:
- # bin.v2/libs/thread/build/gcc-12.1/gentoorelease/pch-off/
- # threadapi-pthread/threading-multi/visibility-hidden/
- # libboost_thread.dylib
- refs=$(otool -XL "${d}" | \
- sed -e '1d' -e 's/^\t//' | \
- grep "libboost_" | \
- cut -f1 -d' ')
- local r
- for r in ${refs}; do
- # strip path prefix from references, so we obtain
- # something like libboost_thread.dylib.
- local r_basename=${r##*/}
-
- ebegin " correcting reference to ${r_basename}"
- install_name_tool -change \
- "${r}" \
- "${EPREFIX}/usr/lib/${r_basename}" \
- "${d}"
- eend $?
- done
- fi
- done
- fi
}
multilib_src_install_all() {