~ruther/guix-local

38aab0ea8b16373dcaa9976bfe82753ef8b5d2ac — Maxim Cournoyer 5 years ago 73b6660
guix-install.sh: Allow overriding the Guix binary source.

This is useful for example for testing release candidates not yet uploaded to
the FTP, or for testing manually downloaded images from the CI.

* etc/guix-install.sh (main)[GUIX_BINARY_FILE_NAME]: When this variable is
defined, use it as the file name of a Guix binary, instead of automatically
retrieving the latest archive from the FTP.
1 files changed, 11 insertions(+), 3 deletions(-)

M etc/guix-install.sh
M etc/guix-install.sh => etc/guix-install.sh +11 -3
@@ 554,10 554,18 @@ main()
    umask 0022
    tmp_path="$(mktemp -t -d guix.XXX)"

    guix_get_bin_list "${GNU_URL}"
    guix_get_bin "${GNU_URL}" "${BIN_VER}" "$tmp_path"
    if [ -z "${GUIX_BINARY_FILE_NAME}" ]; then
        guix_get_bin_list "${GNU_URL}"
        guix_get_bin "${GNU_URL}" "${BIN_VER}" "$tmp_path"
        GUIX_BINARY_FILE_NAME=${BIN_VER}.tar.xz
    else
        if ! [[ $GUIX_BINARY_FILE_NAME =~ $ARCH_OS ]]; then
            _err "$ARCH_OS not in ${GUIX_BINARY_FILE_NAME}; aborting"
        fi
        _msg "Using manually provided binary ${GUIX_BINARY_FILE_NAME}"
    fi

    sys_create_store "${BIN_VER}.tar.xz" "${tmp_path}"
    sys_create_store "${GUIX_BINARY_FILE_NAME}" "${tmp_path}"
    sys_create_build_user
    sys_enable_guix_daemon
    sys_authorize_build_farms