diff --git a/changes/new-When-installing-a-20250207-162721.md b/changes/new-When-installing-a-20250207-162721.md new file mode 100644 index 0000000..c9c6ede --- /dev/null +++ b/changes/new-When-installing-a-20250207-162721.md @@ -0,0 +1 @@ +When installing a `binary:` version, if the version isn't found in `nightlies.txt` cache, the cache is refreshed and it tries again. diff --git a/install-nim.sh b/install-nim.sh index 2f6f789..3482dd5 100755 --- a/install-nim.sh +++ b/install-nim.sh @@ -348,7 +348,7 @@ install_nightly() { # Install nightly prebuild binaries # from a version number. This relies on precompiling # a mapping of version number to nightly using -# `nim c -r getnightlies.nim` +# `bash getnightlies.sh` #------------------------------------------------ install_binary() { version=${1} @@ -362,8 +362,17 @@ install_binary() { echo "Found nightly URL for ${version}: ${URL}" install_nightly "$URL" else - echo "ERROR: no nightly found for ${version}" - exit 1 + echo "WARNING: no nightly found for ${version} in cached nightlies.txt" + echo "Refreshing nightlies.txt ..." + "${THISDIR}./getnightlies.sh" || echo "" + URL="$(grep "^$version" "${THISDIR}/nightlies.txt" | cut -d' ' -f2 | tail -n 1)" + if [ ! -z "$URL" ] && [ ! "$URL" == "none" ]; then + echo "Found nightly URL for ${version}: ${URL}" + install_nightly "$URL" + else + echo "ERROR: no nightly found for ${version}" + exit 1 + fi fi }