summaryrefslogtreecommitdiff
path: root/etc/guix-install.sh
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-04-24 09:59:54 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-05-01 01:23:02 -0400
commit38aab0ea8b16373dcaa9976bfe82753ef8b5d2ac (patch)
tree0a1a143ffddced83515b8ef152c45de45c9e915e /etc/guix-install.sh
parent73b6660cd1c4f77132121ea9bce2672d108dfe22 (diff)
downloadguix-patches-38aab0ea8b16373dcaa9976bfe82753ef8b5d2ac.tar
guix-patches-38aab0ea8b16373dcaa9976bfe82753ef8b5d2ac.tar.gz
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.
Diffstat (limited to 'etc/guix-install.sh')
-rwxr-xr-xetc/guix-install.sh14
1 files changed, 11 insertions, 3 deletions
diff --git a/etc/guix-install.sh b/etc/guix-install.sh
index 949ef7719f..168bf7234e 100755
--- a/etc/guix-install.sh
+++ b/etc/guix-install.sh
@@ -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