diff options
Diffstat (limited to 'eclass/lua.eclass')
-rw-r--r-- | eclass/lua.eclass | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/eclass/lua.eclass b/eclass/lua.eclass index 07b1e7a..01f74de 100644 --- a/eclass/lua.eclass +++ b/eclass/lua.eclass @@ -436,16 +436,21 @@ lua_src_unpack() { # We don't support an each-unpack, it's either all or nothing! if type all_lua_unpack &>/dev/null; then _lua_invoke_environment all all_lua_unpack - elif [[ -n ${VCS} ]] && declare -f ${VCS}_src_unpack >/dev/null; then - _lua_invoke_environment all ${VCS}_src_unpack - elif declare -f unpacker_src_unpack >/dev/null; then - _lua_invoke_environment all unpacker_src_unpack - elif [[ -n ${A} ]]; then - unpack ${A} - elif [[ -z "${GITHUB_A}" && -z "${BITBUCKET_A}" ]]; then - eerror "Either GITHUB_A or BITBUCKET_A (author nick) should be set for magic SRC/REPO URI filling to work" - eerror "You should either set one of them, or fill the proper URI variable manually!" - die "See above eerror messages." + else + if [[ -n ${A} ]]; then + if declare -f unpacker_src_unpack >/dev/null; then + _lua_invoke_environment all unpacker_src_unpack + else + unpack ${A} + fi + fi + if [[ -n ${VCS} ]] && declare -f ${VCS}_src_unpack >/dev/null; then + _lua_invoke_environment all ${VCS}_src_unpack + elif [[ -z "${GITHUB_A}" && -z "${BITBUCKET_A}" && -z "${A}" ]]; then + eerror "Either GITHUB_A or BITBUCKET_A (author nick) should be set for magic SRC/REPO URI filling to work" + eerror "You should either set one of them, or fill the proper URI variable manually!" + die "See above eerror messages." + fi fi # hack for VCS-eclasses (darcs, for example) which defaults unpack dir to WD/P instead of S |