diff --git a/eclass/nim-utils.eclass b/eclass/nim-utils.eclass index b5ce4d6b00..fae8bb2929 100644 --- a/eclass/nim-utils.eclass +++ b/eclass/nim-utils.eclass @@ -61,6 +61,30 @@ enim() { "$@" || die -n "${*} failed" } +# @FUNCTION: ekoch +# @USAGE: [...] +# @DESCRIPTION: +# Call koch, passing the supplied arguments. Used only for building compilers +# that originate from Nim. +# This function dies if koch fails. +ekoch() { + debug-print-function ${FUNCNAME} "${@}" + + local koch + case "${CATEGORY}/${PN}" in + dev-lang/nim) + koch="./koch" + [[ -e ${koch} ]] || enim c koch + ;; + *) + eerror "${FUNCNAME} is not implemented for ${CATEGORY}/${PN}" ;; + esac + + set -- ${koch} "${@}" + echo "$@" >&2 + "$@" || die -n "${*} failed" +} + # @FUNCTION: etestament # @USAGE: [...] # @DESCRIPTION: