aboutsummaryrefslogtreecommitdiff
path: root/contrib/guix/guix-build
diff options
context:
space:
mode:
authorCarl Dong <contact@carldong.me>2021-05-25 22:27:37 -0400
committerCarl Dong <contact@carldong.me>2021-05-25 22:37:50 -0400
commit108a6be92adc1e80839d90b552e72b8142140f6c (patch)
tree88c8e60403400381b66b2bc1cabc3cfd6eb80fc4 /contrib/guix/guix-build
parentd7dec89091ee4a456ff64ad7ce675ae6813668f1 (diff)
downloadbitcoin-108a6be92adc1e80839d90b552e72b8142140f6c.tar.xz
guix: Check for disk space availability before building
Diffstat (limited to 'contrib/guix/guix-build')
-rwxr-xr-xcontrib/guix/guix-build22
1 files changed, 22 insertions, 0 deletions
diff --git a/contrib/guix/guix-build b/contrib/guix/guix-build
index 69c244a6fa..29d6701b25 100755
--- a/contrib/guix/guix-build
+++ b/contrib/guix/guix-build
@@ -139,6 +139,28 @@ for host in $HOSTS; do
done
################
+# VERSION_BASE should have enough space
+################
+
+avail_KiB="$(df -Pk "$VERSION_BASE" | sed 1d | tr -s ' ' | cut -d' ' -f4)"
+total_required_KiB=0
+for host in $HOSTS; do
+ case "$host" in
+ *darwin*) required_KiB=440000 ;;
+ *mingw*) required_KiB=7600000 ;;
+ *) required_KiB=6400000 ;;
+ esac
+ total_required_KiB=$((total_required_KiB+required_KiB))
+done
+
+if (( total_required_KiB > avail_KiB )); then
+ total_required_GiB=$((total_required_KiB / 1048576))
+ avail_GiB=$((avail_KiB / 1048576))
+ echo "Performing a Bitcoin Core Guix build for the selected HOSTS requires ${total_required_GiB} GiB, however, only ${avail_GiB} GiB is available. Please free up some disk space before performing the build."
+ exit 1
+fi
+
+################
# Check that we can connect to the guix-daemon
################