Fork and clone the following repos on host:
Clone the following repo:
https://github.com/bitcoin-core/bitcoin-detached-sigs
Checkout the branch you wish to build in bitcoin repo and detached-sigs repo
Full description on guix docker image: https://github.com/fanquake/core-review/tree/master/guix
Clone https://github.com/fanquake/core-review
cd guix
DOCKER_BUILDKIT=1 docker build --pull --no-cache -t alpine_guix - < Dockerfile
Run guix container
docker run --name alpine_guix --privileged alpine_guix
Looking at the version of the document for your current build download xcode and extract the SDK as per: https://github.com/bitcoin/bitcoin/tree/master/contrib/macdeploy#sdk-extraction
docker cp /tmp/Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers.tar.gz alpine_guix:/SDKs
Jump into container
docker exec -it alpine_guix /bin/bash
# In container
cd /SDKs
tar -xzf Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers.tar.gz
# In container
cd /
git clone https://github.com/bitcoin-core/guix.sigs
git clone https://github.com/bitcoin-core/bitcoin-detached-sigs
# In container
cd /bitcoin && git checkout v26.0
cd /bitcoin-detached-sigs && git checkout v26.x
# In container
export SIGNER="m3dwards"
export GUIX_SIGS_REPO="/guix.sigs"
export DETACHED_SIGS_REPO="/bitcoin-detached-sigs"
# In container
cd /bitcoin
time BASE_CACHE="/base_cache" SOURCE_PATH="/sources" SDK_PATH="/SDKs" ./contrib/guix/guix-build
# In container
./contrib/guix/guix-codesign
# In container
NO_SIGN=1 ./contrib/guix/guix-attest
# On host
cd [bitcoin dir]
mkdir guix-build-26.0
docker cp alpine_guix:/bitcoin/guix-build-26.0/output ./guix-build-26.0/output
# On host
cd [guix-sigs dir]
docker cp alpine_guix:/guix.sigs/26.0/m3dwards ./26.0/
export SIGNER="m3dwards"
export GUIX_SIGS_REPO="/Users/max/guix.sigs"
export DETACHED_SIGS_REPO="/Users/max/bitcoin-detached-sigs"
#On host
./contrib/guix/guix-attest
Add commit in guix.sigs repo and create a PR to add your attestations
./contrib/guix/guix-verify
hit this during build:
trying again running image with
--privileged