Allow to skip more options to update-walker in simple cases. Now just an URL can work if everything is set up in default way

+23 -1
+23 -1
pkgs/build-support/upstream-updater/update-walker.sh
··· 3 3 own_dir="$(cd "$(dirname "$0")"; pwd)" 4 4 5 5 CURRENT_URL= 6 + NEED_TO_CHOOSE_URL=1 6 7 7 8 url () { 8 9 CURRENT_URL="$1" ··· 45 46 46 47 link () { 47 48 CURRENT_URL="$(matching_links "$1" | position_choice "$2" "$3")" 49 + unset NEED_TO_CHOOSE_URL 48 50 echo "Linked by: $*" 49 51 echo "URL: $CURRENT_URL" >&2 50 52 } 51 53 52 54 version_link () { 53 55 CURRENT_URL="$(matching_links "$1" | version_sort | position_choice "$2" "$3")" 56 + unset NEED_TO_CHOOSE_URL 54 57 echo "Linked version by: $*" 55 58 echo "URL: $CURRENT_URL" >&2 56 59 } ··· 86 89 [ -z "$CURRENT_TARGET" ] && target default.nix 87 90 } 88 91 92 + ensure_name () { 93 + [ -z "$CURRENT_NAME" ] && name "$(basename "$CONFIG_DIR")" 94 + echo "Resulting name: $CURRENT_NAME" 95 + } 96 + 97 + ensure_choice () { 98 + [ -n "NEED_TO_CHOOSE_URL" ] && { 99 + version_link '[.]tar[.]([^./])+$' 100 + unset NEED_TO_CHOOSE_URL 101 + } 102 + [ -z "$CURRENT_URL" ] && { 103 + echo "Error: empty CURRENT_URL" 104 + echo "Error: empty CURRENT_URL" >&2 105 + exit 1 106 + } 107 + } 108 + 89 109 hash () { 90 110 CURRENT_HASH="$(nix-prefetch-url "$CURRENT_URL")" 91 111 } ··· 183 203 184 204 process_config () { 185 205 CONFIG_DIR="$(directory_of "$1")" 186 - source "$CONFIG_DIR/$(basename "$1")" 187 206 BEGIN_EXPRESSION='# Generated upstream information'; 207 + source "$CONFIG_DIR/$(basename "$1")" 208 + ensure_name 188 209 retrieve_version 210 + ensure_choice 189 211 ensure_version 190 212 ensure_target 191 213 update_found && do_overwrite "$CURRENT_TARGET"