--- eclass/meson.eclass +++ eclass/meson.eclass @@ -248,7 +248,7 @@ objcpp_args = $(_meson_env_array "${BUILD_OBJCXXFLAGS} ${BUILD_CPPFLAGS}") objcpp_link_args = $(_meson_env_array "${BUILD_OBJCXXFLAGS} ${BUILD_LDFLAGS}") needs_exe_wrapper = false - pkg_config_libdir = '${BUILD_PKG_CONFIG_LIBDIR:-${EPREFIX}/usr/$(get_libdir)/pkgconfig}' + pkg_config_libdir = '${BUILD_PKG_CONFIG_LIBDIR:-${EPREFIX}/usr/$(get_libdir $([[ $EAPI == 6 ]] || echo -b))/pkgconfig}' [build_machine] system = '${system}' --- /usr/lib/portage/python3.8/phase-helpers.sh +++ /usr/lib/portage/python3.8/phase-helpers.sh @@ -940,12 +940,25 @@ if ___eapi_has_get_libdir; then get_libdir() { - local libdir_var="LIBDIR_${ABI}" - local libdir="lib" + local -a cmd=() - [[ -n ${ABI} && -n ${!libdir_var} ]] && libdir=${!libdir_var} + if [[ $1 = -b ]]; then + ___eapi_best_version_and_has_version_support_-b_-d_-r || + die "${FUNCNAME[1]}: option -b is not supported with EAPI ${EAPI}" - echo "${libdir}" + if ___eapi_has_prefix_variables; then + cmd+=(env -i PORTAGE_CONFIGROOT="/${PORTAGE_OVERRIDE_EPREFIX#/}") + else + cmd+=(env -i PORTAGE_CONFIGROOT=/) + fi + fi + +# [[ -n $PORTAGE_IPC_DAEMON ]] && cmd+=("${PORTAGE_BIN_PATH}/ebuild-ipc") || + cmd+=("${PORTAGE_BIN_PATH}/ebuild-helpers/portageq") + + local abi=$("${cmd[@]}" envvar ABI 2>/dev/null) + local libdir_abi=$("${cmd[@]}" envvar "LIBDIR_${abi}" 2>/dev/null) + [[ -n ${abi} && -n ${libdir_abi} ]] && echo ${libdir_abi} || echo lib } fi