0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-02 09:46:52 -05:00

guix: Pin Guix using guix time-machine

This commit is contained in:
Carl Dong 2020-01-15 12:16:08 -05:00
parent ceb789cf3a
commit e6050884fd
No known key found for this signature in database
GPG key ID: 0CC52153197991A5

View file

@ -13,6 +13,12 @@ make -C "${PWD}/depends" -j"$MAX_JOBS" download ${V:+V=1} ${SOURCES_PATH:+SOURCE
# Determine the reference time used for determinism (overridable by environment) # Determine the reference time used for determinism (overridable by environment)
SOURCE_DATE_EPOCH="${SOURCE_DATE_EPOCH:-$(git log --format=%at -1)}" SOURCE_DATE_EPOCH="${SOURCE_DATE_EPOCH:-$(git log --format=%at -1)}"
time-machine() {
guix time-machine --url=https://github.com/dongcarl/guix.git \
--commit=b3a7c72c8b2425f8ddb0fc6e3b1caeed40f86dee \
-- "$@"
}
# Deterministically build Bitcoin Core for HOSTs (overriable by environment) # Deterministically build Bitcoin Core for HOSTs (overriable by environment)
for host in ${HOSTS=i686-linux-gnu x86_64-linux-gnu arm-linux-gnueabihf aarch64-linux-gnu riscv64-linux-gnu}; do for host in ${HOSTS=i686-linux-gnu x86_64-linux-gnu arm-linux-gnueabihf aarch64-linux-gnu riscv64-linux-gnu}; do
@ -22,18 +28,18 @@ for host in ${HOSTS=i686-linux-gnu x86_64-linux-gnu arm-linux-gnueabihf aarch64-
# Run the build script 'contrib/guix/libexec/build.sh' in the build # Run the build script 'contrib/guix/libexec/build.sh' in the build
# container specified by 'contrib/guix/manifest.scm' # container specified by 'contrib/guix/manifest.scm'
# shellcheck disable=SC2086 # shellcheck disable=SC2086
guix environment --manifest="${PWD}/contrib/guix/manifest.scm" \ time-machine environment --manifest="${PWD}/contrib/guix/manifest.scm" \
--container \ --container \
--pure \ --pure \
--no-cwd \ --no-cwd \
--share="$PWD"=/bitcoin \ --share="$PWD"=/bitcoin \
${SOURCES_PATH:+--share="$SOURCES_PATH"} \ ${SOURCES_PATH:+--share="$SOURCES_PATH"} \
${ADDITIONAL_GUIX_ENVIRONMENT_FLAGS} \ ${ADDITIONAL_GUIX_ENVIRONMENT_FLAGS} \
-- env HOST="$host" \ -- env HOST="$host" \
MAX_JOBS="$MAX_JOBS" \ MAX_JOBS="$MAX_JOBS" \
SOURCE_DATE_EPOCH="${SOURCE_DATE_EPOCH:?unable to determine value}" \ SOURCE_DATE_EPOCH="${SOURCE_DATE_EPOCH:?unable to determine value}" \
${V:+V=1} \ ${V:+V=1} \
${SOURCES_PATH:+SOURCES_PATH="$SOURCES_PATH"} \ ${SOURCES_PATH:+SOURCES_PATH="$SOURCES_PATH"} \
bash -c "cd /bitcoin && bash contrib/guix/libexec/build.sh" bash -c "cd /bitcoin && bash contrib/guix/libexec/build.sh"
done done