# ignore sub_depends if not supported by sorcery declare -f sub_depends &> /dev/null || { function sub_depends() { : } function depends() { [[ $1 == "-sub" ]] && shift 2 real_depends "$@" } function optional_depends() { [[ $1 == "-sub" ]] && shift 2 real_optional_depends "$@" } } # ignore force_depends if not supported by sorcery declare -f force_depends &> /dev/null || function force_depends() { : } #------------------------------------------------------------------------- ## Grimoire gaze depends alternative ## Uses gaze depends if the internal sorcery function isn't available #------------------------------------------------------------------------- declare -f show_up_depends &> /dev/null || function show_up_depends() { gaze -q depends --fast "$@" } # fall back to optional_depends if suggest_depends isn't implemented # OR fall back to true - this is needed to avoid some circular dependencies # see #13244 for an example if declare -f suggest_depends &> /dev/null; then function suggest_depends_2() { suggest_depends "$@" } else function suggest_depends() { optional_depends "$@" } function suggest_depends_2() { true } fi # fall back to depends if runtime_depends isn't implemented declare -f runtime_depends &> /dev/null || function runtime_depends() { depends "$@" } declare -f is_depends_enabled &>/dev/null || function is_depends_enabled() { local dep_status if [[ $3 ]] ; then dep_status=$DEPENDS_STATUS else dep_status=$(hash_get uncommitted_hash $1) [[ $dep_status ]] || dep_status=$DEPENDS_STATUS fi grep -q "^[[:space:]]*$1:$2:on" $dep_status }