commit: 5ffe0bed23563853d69d5b782167d1740efd1391 Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org> AuthorDate: Mon Aug 29 06:02:32 2022 +0000 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org> CommitDate: Mon Aug 29 06:52:42 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5ffe0bed
dev-util/mingw64-toolchain: use namerefs rather than eval Also simplified extra econf handling a bit. Still looks ugly, but well. Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org> .../mingw64-toolchain/mingw64-toolchain-10.0.0-r1.ebuild | 14 ++++++++------ .../mingw64-toolchain/mingw64-toolchain-10.0.0_p1.ebuild | 14 ++++++++------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/dev-util/mingw64-toolchain/mingw64-toolchain-10.0.0-r1.ebuild b/dev-util/mingw64-toolchain/mingw64-toolchain-10.0.0-r1.ebuild index 2ae2ce9b80cb..0bfc818d9698 100644 --- a/dev-util/mingw64-toolchain/mingw64-toolchain-10.0.0-r1.ebuild +++ b/dev-util/mingw64-toolchain/mingw64-toolchain-10.0.0-r1.ebuild @@ -199,12 +199,14 @@ src_compile() { # econf is not allowed in src_compile and its defaults are # mostly unused here, so use configure directly - eval ' - local conf=( "${WORKDIR}/${1}"/configure "${conf[@]}" ) - [[ ${conf_'${id}'@a} =~ a ]] && conf+=( "${conf_'${id}'[@]}" ) - [[ ${2} && ${conf_'${id}_${2}'@a} =~ a ]] && conf+=( "${conf_'${id}_${2}'[@]}" ) - conf+=( ${EXTRA_ECONF} ${MWT_'${id^^}'_CONF} ) - [[ ${2} ]] && conf+=( ${MWT_'${1^^}_${2^^}'_CONF} )' + local conf=( "${WORKDIR}/${1}"/configure "${conf[@]}" ) + + local -n conf_id=conf_${id} conf_id2=conf_${id}_${2} + [[ ${conf_id@a} == *a* ]] && conf+=( "${conf_id[@]}" ) + [[ ${2} && ${conf_id2@a} == *a* ]] && conf+=( "${conf_id2[@]}" ) + + local -n extra_id=MWT_${id^^}_CONF extra_id2=MWT_${id^^}_${2^^}_CONF + conf+=( ${EXTRA_ECONF} ${extra_id} ${2+${extra_id2}} ) einfo "Building ${id}${2+ ${2}} in ${build_dir} ..." diff --git a/dev-util/mingw64-toolchain/mingw64-toolchain-10.0.0_p1.ebuild b/dev-util/mingw64-toolchain/mingw64-toolchain-10.0.0_p1.ebuild index 2f07f8f08e07..b7092f3a3fac 100644 --- a/dev-util/mingw64-toolchain/mingw64-toolchain-10.0.0_p1.ebuild +++ b/dev-util/mingw64-toolchain/mingw64-toolchain-10.0.0_p1.ebuild @@ -200,12 +200,14 @@ src_compile() { # econf is not allowed in src_compile and its defaults are # mostly unused here, so use configure directly - eval ' - local conf=( "${WORKDIR}/${1}"/configure "${conf[@]}" ) - [[ ${conf_'${id}'@a} =~ a ]] && conf+=( "${conf_'${id}'[@]}" ) - [[ ${2} && ${conf_'${id}_${2}'@a} =~ a ]] && conf+=( "${conf_'${id}_${2}'[@]}" ) - conf+=( ${EXTRA_ECONF} ${MWT_'${id^^}'_CONF} ) - [[ ${2} ]] && conf+=( ${MWT_'${1^^}_${2^^}'_CONF} )' + local conf=( "${WORKDIR}/${1}"/configure "${conf[@]}" ) + + local -n conf_id=conf_${id} conf_id2=conf_${id}_${2} + [[ ${conf_id@a} == *a* ]] && conf+=( "${conf_id[@]}" ) + [[ ${2} && ${conf_id2@a} == *a* ]] && conf+=( "${conf_id2[@]}" ) + + local -n extra_id=MWT_${id^^}_CONF extra_id2=MWT_${id^^}_${2^^}_CONF + conf+=( ${EXTRA_ECONF} ${extra_id} ${2+${extra_id2}} ) einfo "Building ${id}${2+ ${2}} in ${build_dir} ..."