1- (define-module (bitcoin)
2- #:use-module (gnu)
3- #:use-module (gnu packages)
4- #:use-module (gnu packages autotools)
5- #:use-module (gnu packages base)
6- #:use-module (gnu packages bash)
7- #:use-module (gnu packages check)
8- #:use-module (gnu packages commencement)
9- #:use-module (gnu packages compression)
10- #:use-module (gnu packages cross-base)
11- #:use-module (gnu packages file)
12- #:use-module (gnu packages gawk)
13- #:use-module (gnu packages gcc)
14- #:use-module (gnu packages linux)
15- #:use-module (gnu packages perl)
16- #:use-module (gnu packages pkg-config)
17- #:use-module (gnu packages python)
18- #:use-module (gnu packages shells)
19- #:use-module (guix build-system trivial)
20- #:use-module (guix gexp)
21- #:use-module (guix packages)
22- #:use-module (guix profiles)
23- #:use-module (guix utils))
1+ (use-modules (gnu)
2+ (gnu packages)
3+ (gnu packages autotools)
4+ (gnu packages base)
5+ (gnu packages bash)
6+ (gnu packages check)
7+ (gnu packages commencement)
8+ (gnu packages compression)
9+ (gnu packages cross-base)
10+ (gnu packages file)
11+ (gnu packages gawk)
12+ (gnu packages gcc)
13+ (gnu packages linux)
14+ (gnu packages perl)
15+ (gnu packages pkg-config)
16+ (gnu packages python)
17+ (gnu packages shells)
18+ (guix build-system trivial)
19+ (guix gexp)
20+ (guix packages)
21+ (guix profiles)
22+ (guix utils))
2423
2524(define (make-ssp-fixed-gcc xgcc )
2625 "Given a XGCC package, return a modified package that uses the SSP function
@@ -101,7 +100,7 @@ chain for " target " development."))
101100 (license (package-license xgcc)))))
102101
103102(define* (make-bitcoin-cross-toolchain target
104- #:optional
103+ #:key
105104 (base-gcc-for-libc gcc-5)
106105 (base-kernel-headers linux-libre-headers-4.19)
107106 (base-libc glibc-2.27)
@@ -117,8 +116,7 @@ desirable for building Bitcoin Core release binaries."
117116
118117(packages->manifest
119118 (list ; ; The Basics
120- bash
121- tcsh
119+ bash-minimal
122120 which
123121 coreutils
124122 util-linux
@@ -145,11 +143,16 @@ desirable for building Bitcoin Core release binaries."
145143 pkg-config
146144 ; ; Scripting
147145 perl
148- python
149- ; ; Toolchains
146+ python-3.7
147+ ; ; Native gcc 9 toolchain targeting glibc 2.27
150148 (make-gcc-toolchain gcc-9 glibc-2.27)
151- (make-bitcoin-cross-toolchain " riscv64-linux-gnu" gcc-8)
152- (make-bitcoin-cross-toolchain " x86_64-linux-gnu" )
149+ ; ; Cross gcc 9 toolchains targeting glibc 2.27
153150 (make-bitcoin-cross-toolchain " i686-linux-gnu" )
151+ (make-bitcoin-cross-toolchain " x86_64-linux-gnu" )
154152 (make-bitcoin-cross-toolchain " aarch64-linux-gnu" )
155- (make-bitcoin-cross-toolchain " arm-linux-gnueabihf" gcc-6)))
153+ (make-bitcoin-cross-toolchain " arm-linux-gnueabihf" )
154+ ; ; The glibc 2.27 for riscv64 needs gcc 7 to successfully build (see:
155+ ; ; https://www.gnu.org/software/gcc/gcc-7/changes.html#riscv). The final
156+ ; ; toolchain is still a gcc 9 toolchain targeting glibc 2.27.
157+ (make-bitcoin-cross-toolchain " riscv64-linux-gnu"
158+ #:base-gcc-for-libc gcc-7)))
0 commit comments