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))
24
23
25
24
(define (make-ssp-fixed-gcc xgcc )
26
25
"Given a XGCC package, return a modified package that uses the SSP function
@@ -101,7 +100,7 @@ chain for " target " development."))
101
100
(license (package-license xgcc)))))
102
101
103
102
(define* (make-bitcoin-cross-toolchain target
104
- #:optional
103
+ #:key
105
104
(base-gcc-for-libc gcc-5)
106
105
(base-kernel-headers linux-libre-headers-4.19)
107
106
(base-libc glibc-2.27)
@@ -117,8 +116,7 @@ desirable for building Bitcoin Core release binaries."
117
116
118
117
(packages->manifest
119
118
(list ; ; The Basics
120
- bash
121
- tcsh
119
+ bash-minimal
122
120
which
123
121
coreutils
124
122
util-linux
@@ -145,11 +143,16 @@ desirable for building Bitcoin Core release binaries."
145
143
pkg-config
146
144
; ; Scripting
147
145
perl
148
- python
149
- ; ; Toolchains
146
+ python-3.7
147
+ ; ; Native gcc 9 toolchain targeting glibc 2.27
150
148
(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
153
150
(make-bitcoin-cross-toolchain " i686-linux-gnu" )
151
+ (make-bitcoin-cross-toolchain " x86_64-linux-gnu" )
154
152
(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