aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authormerge-script <fanquake@gmail.com>2024-07-25 13:58:34 +0100
committermerge-script <fanquake@gmail.com>2024-07-25 13:58:34 +0100
commitab8e05eb531f28fddf39ccb4d24ee54d0aa30dbe (patch)
tree8ce5e99128d00c4613d0c07b9106b15038fb4faa /contrib
parentbee23ce9ec3dc68def1eb9141a6be451e5053711 (diff)
parentd1592d2eee1913e734a4f92907e796eb3350c64a (diff)
Merge bitcoin/bitcoin#30511: guix: GCC 12 consolidation
d1592d2eee1913e734a4f92907e796eb3350c64a guix: use gcc-12 to compile winpthreads (fanquake) b23690e8216f2b47e8e2c21a9ff057b25c4083ae guix: use GCC 12.4.0 over 12.3.0 (fanquake) 8b41ede55ebbc6978deb3f4fad5e18b76b372506 guix: consolidate back to GCC 12 toolchain for all HOSTS (fanquake) Pull request description: This PR contains 3 changes: * Bump GCC in Guix from [12.3.0 to 12.4.0](https://gcc.gnu.org/gcc-12/). A patch was sent upstream, https://lists.gnu.org/archive/html/guix-patches/2024-06/msg01025.html, but has not landed. * Consolidate all build environments back to using a GCC 12 toolchain. After #21778, the macOS environment is no-longer pinned to 11 (12 would otherwise cause issues building cctools). So, instead of requiring all builders to compile an additional GCC toolchain, use 12. * Use GCC 12 to compile winpthreads. Currently, GCC 11 is used; which became apparent in https://github.com/bitcoin/bitcoin/pull/30452#issuecomment-2244715566. ACKs for top commit: TheCharlatan: ACK d1592d2eee1913e734a4f92907e796eb3350c64a hebasto: ACK d1592d2eee1913e734a4f92907e796eb3350c64a. Tree-SHA512: e3aa1fa3e69500c93180e07cb4684661247ec6bc45245f746538d81406ff1d8777131590307496dda3287a112b6633e4991168586ca4c2036fa3a57b1efa9c87
Diffstat (limited to 'contrib')
-rw-r--r--contrib/guix/manifest.scm32
1 files changed, 21 insertions, 11 deletions
diff --git a/contrib/guix/manifest.scm b/contrib/guix/manifest.scm
index 44fbfa1c0b..732f65da30 100644
--- a/contrib/guix/manifest.scm
+++ b/contrib/guix/manifest.scm
@@ -25,6 +25,7 @@
(guix build-system gnu)
(guix build-system python)
(guix build-system trivial)
+ (guix download)
(guix gexp)
(guix git-download)
((guix licenses) #:prefix license:)
@@ -91,7 +92,18 @@ chain for " target " development."))
(home-page (package-home-page xgcc))
(license (package-license xgcc)))))
-(define base-gcc gcc-12)
+(define base-gcc
+ (package
+ (inherit gcc-12) ;; 12.3.0
+ (version "12.4.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/gcc/gcc-"
+ version "/gcc-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0xcida8l2wykvvzvpcrcn649gj0ijn64gwxbplacpg6c0hk6akvh"))))))
+
(define base-linux-kernel-headers linux-libre-headers-6.1)
(define* (make-bitcoin-cross-toolchain target
@@ -119,7 +131,10 @@ desirable for building Bitcoin Core release binaries."
(define (make-mingw-pthreads-cross-toolchain target)
"Create a cross-compilation toolchain package for TARGET"
(let* ((xbinutils (binutils-mingw-patches (cross-binutils target)))
- (pthreads-xlibc mingw-w64-x86_64-winpthreads)
+ (machine (substring target 0 (string-index target #\-)))
+ (pthreads-xlibc (make-mingw-w64 machine
+ #:xgcc (cross-gcc target #:xgcc (gcc-mingw-patches base-gcc))
+ #:with-winpthreads? #t))
(pthreads-xgcc (cross-gcc target
#:xgcc (gcc-mingw-patches mingw-w64-base-gcc)
#:xbinutils xbinutils
@@ -500,6 +515,7 @@ inspecting signatures in Mach-O binaries.")
gzip
xz
;; Build tools
+ gcc-toolchain-12
cmake-minimal
gnu-make
libtool
@@ -515,22 +531,16 @@ inspecting signatures in Mach-O binaries.")
python-lief)
(let ((target (getenv "HOST")))
(cond ((string-suffix? "-mingw32" target)
- (list ;; Native GCC 12 toolchain
- gcc-toolchain-12
- zip
+ (list zip
(make-mingw-pthreads-cross-toolchain "x86_64-w64-mingw32")
nsis-x86_64
nss-certs
osslsigncode))
((string-contains target "-linux-")
- (list ;; Native GCC 12 toolchain
- gcc-toolchain-12
- (list gcc-toolchain-12 "static")
+ (list (list gcc-toolchain-12 "static")
(make-bitcoin-cross-toolchain target)))
((string-contains target "darwin")
- (list ;; Native GCC 11 toolchain
- gcc-toolchain-11
- clang-toolchain-18
+ (list clang-toolchain-18
lld-18
(make-lld-wrapper lld-18 #:lld-as-ld? #t)
python-signapple